Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS5103 Software Engineering Lecture 06 Introduction to Project I Android Development I.

Similar presentations


Presentation on theme: "CS5103 Software Engineering Lecture 06 Introduction to Project I Android Development I."— Presentation transcript:

1 CS5103 Software Engineering Lecture 06 Introduction to Project I Android Development I

2 2 Last class  UML  Use case diagram  Identification of use cases  Object oriented approach for design  Class diagram  Legend  Class Relationships  Sequence diagram

3 3 Today’s class  Projects  Process and Evaluation  Requirements  Calendar  SMS Messenger  Contact Manager  Book Shelf  Android Development I  Android system & Emulator  Environment Setup

4 Introduction to Project: phase I  Process  Form a group  Pick a topic  Requirement Engineering  Design  Implementation  Testing and documentation

5 Form a group  Organization  4-5 people  Inform me by Thursday (Sept. 19th)  Inform me if you do not have a group  Work assignments  You decide the way to manage the group and assign work  There can be some people working only on some phase of the project, e.g., requirement, testing

6 Pick a topic  Predefined topic  Will introduce the topics later  Tell me by next Tuesday which one you choose  Other topics  You can choose other topics, but it should be still be an android project  Tell me by Thursday, if you want to work on other topics  We can schedule a time to talk about the details

7 Requirement Engineering  I am a customer  I will provide my requirements in natural language  It is not a specification, and no much details  Deliverable  Requirement Documents:  Use case diagrams  Natural language specification  Deadline: Oct. 1st  I may give you feedbacks after you hand in the documents

8 Design  Deliverable  Class diagram  Sequence diagrams for two classes  Deadline: Oct. 10 th  You may change you design after hand in your design documents

9 Implementation  Deliverable  Source Code  Binary Code  Deadline: Nov. 12 th  Note: unit test cases should be included in implementation  Presentation & Demo: Nov. 19 th and Nov. 21 th

10 Implementation  Presentation  All people should present part of their work  Talk about problems met during development  run major features of the app

11 Testing & Documentation  Testing  System testing  Test cases and results  Documentation  Test documents  API documents (using Javadoc)  User guide  Deadline: Nov. 19th

12 Evaluation  Project quality  Documentation  Process quality  Presentation  Teamwork & work assignments

13 Project quality  Evaluation base: code  Whether all features implemented  Bugs found  Coding style  Comments  Unit test case quality

14 Documentation Quality  Evaluation base: documents  Specification, design documents, API documents, test documents, user guide  Correctness  Whether go into details  Whether well structured

15 Process Quality  Evaluation base: version-control system commits  You must use a version control system: SVN is recommended, add me as a user  Reasonable progress  Size of code commit  Maturity of commit

16 Presentation  Evaluation base: demo & presentation  Show understanding of the project  Demo goes smoothly

17 Teamwork  Evaluation base: email record, svn commits, work assignments  Balanced workload  Interactions in email record and svn commits

18 18 Today’s class  Projects  Process and Evaluation  Requirements  Calendar  SMS Messenger  Contact Manager  Book Shelf  Android Development I  Android system & Emulator  Environment Setup

19 19 Calendar-requirements  Views  Monthly view: show event snippet for each day  Weekly view: show event snippet for each day  Daily view: show all events in a time line  Agenda view (optional): show all events in future as a list

20 20 Calendar-requirements  Events  Add events with time frame  Check conflicts  Add periodical events  Edit & delete events  Event alert (Optional)  Add/delete event categories  Color marking for different category of events

21 21 Calendar-requirements  Share (optional)  Send event to other calendar users (requiring their permission) through internet  Other  Colored holidays & weekends  Zoom in/out, and scroll support when necessary

22 22 SMS Messenger Requirements  Messages  View, edit, save as draft, delete  Send & receive  Reply & forward  Search messages  Send to multiple receivers (optional)  Scheduled message (optional)  Auto reply (optional)

23 23 SMS Messenger Requirements  Phone Numbers  Show contact name in message when the phone number is in the stock contact app  Save a new number to the stock contact app  When sending a message, a user can choose to select from contact or input a new number

24 24 SMS Messenger Requirements  Message organization  Categorize messages by phone number (contact name)  Conversation view: view all messages between you and a certain contact, sorted by sending/receiving time  Other  Zoom in/out and scroll whenever necessary

25 25 Contact Manager Requirements  Contacts  Add, view, edit, delete contacts  Support multiple phone numbers  Support adding a photo label to a contact  Search contacts  Blacklist (block SMS and Phones)  Directly make phone calls and send sms from contact

26 26 Contact Manager Requirements  Contacts Organization  Add contact groups  Manage contact groups (add/remove contacts)  Sort contacts by name / group name  Contacts Storage (optional)  Export contacts to file on SD card  Load contacts from file on SD card

27 27 Contact Manager Requirements  Extract contacts (optional)  Extract contacts from stock contact app  Extract contacts from social media websites  Other  Show contact name when making / receiving calls & sending / receiving messages using stock app  Zoom in/out and scroll whenever necessary

28 28 Bookshelf requirements  Book management  Load books: support.txt and.pdf (.epub optional) from SD card and Download folder  Delete books  Add category of books  Manage categories (add/remove books)  Search books

29 29 Bookshelf requirements  Book reading  Swipe to go to next/previous page  Extract chapters and directly go to certain chapters (optional)  Bookmark page and go to the bookmark page (optional for.pdf)  Change font and size (optional)  Day & night mode (optional for.pdf)  Search for word and go to the word (optional for.pdf)

30 30 Bookshelf requirements  Book notations (optional)  Add notation to certain page  View notations on page with notations  Edit notations  View all notations for a book  Delete notations  Other  Zoom in/out and scroll whenever necessary

31 31 Today’s class  Projects  Process and Evaluation  Requirements  Calendar  SMS Messenger  Contact Manager  Book Shelf  Android Development I  Android system & Emulator  Environment Setup

32 Android Development I  History of android  An open source mobile operating system  Oct 2003: Palo Alto  Andy Rubin, and 3 other colleagues  A digital camera system at beginning  Aug 2005: acquired by Google  Oct. 2008: HTC dream, the first android phone  Most popular mobile system (market share 50%+)  1 million plus apps

33 Android Development I  Introduction to Android  Based on Linux system  The programming language is Java  Jar files are transformed to app  Apps are installed to the system, and then executed on the Dalvik virtual machine  Dalvik VM: a variant of JVM  Why? Smaller code size.

34 Android Development I

35 Android stock apps  Also called built-in apps  Apps included in the android system / sdk  Like IE in windows  Including: phone, sms messenger, contact manager, web browser, clock, etc.

36 Emulator  People do not want to develop software using mobile device directly, why?  Too slow  Hardware incompatibilities  Handling of multiple devices  Emulator  A virtual android mobile phone running on the host machine

37 Emulator looks like…

38 Emulator  Simulates almost everything about a mobile phone  Run apps  Time  Make/receive phone calls, send/receive messages  Phone rotation  Battery level, AC on / off  GPS locations  Audio recording

39 Emulator  Something it currently cannot do  Take pictures / record video (Just have it with web camera)  Most Sensors  Other Positions (except for portrait and landscape)  Light  Phone specific devices, such as infrared emitter

40 Interactions between emulator and your host system  The emulator can access internet  Adb tool set to transfer data between the emulator and the host system  Telnet to 5554 to control the emulator (providing a shell of the emulator)  Emulators can interact with each other

41 Android Development  Download Android ADT Bundle  http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/index.html  Extract the zip file  Start eclipse

42 Android Development  Download Android SDK  http://developer.android.com/sdk/index.html#Exist ingIDE http://developer.android.com/sdk/index.html#Exist ingIDE  Extract the zip file  Open SDK Manager.exe for update (usually no updates)  Start eclipse

43 Android Development  Install Eclipse ADT  Go to eclipse, Help - > Install New Software  Input  https://dl-ssl.google.com/android/eclipse/ https://dl-ssl.google.com/android/eclipse/  Install all components

44 Create An Android project  Go to new project  Select Android  Input a name for you project  Click next for all steps

45 Create a new virtual device  Go to virtual device manager  Add a device  Give a name to the virtual device  Select memory, SD card, etc.

46 Compile and Run  Create the hello world android project  Run as an android project  Wait for the system to start and go to the app hello world  And that’s it!

47 47 Today’s class  Projects  Process and Evaluation  Requirements  Calendar  SMS Messenger  Contact Manager  Book Shelf  Android Development I  Android system & Emulator  Environment Setup

48 48 Next class  UML  Sequence Diagram  Software Design  Software architecture  Software architecture styles  MVC architecture

49 49 Thanks!


Download ppt "CS5103 Software Engineering Lecture 06 Introduction to Project I Android Development I."

Similar presentations


Ads by Google