1 / 49

CS5103 Software Engineering

CS5103 Software Engineering. Lecture 06 Introduction to Project I Android Development I. Last class. UML Use case diagram Identification of use cases Object oriented approach for design Class diagram Legend Class Relationships Sequence diagram. 2. Today’s class. Projects

Download Presentation

CS5103 Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  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. 10th • You may change you design after hand in your design documents

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

  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. Today’s class Projects Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 18

  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 19

  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 20

  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 21

  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) 22

  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 23

  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 24

  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 25

  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 26

  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 27

  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 28

  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) 29

  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 30

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

  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.html • Extract the zip file • Start eclipse

  42. Android Development • Download Android SDK • http://developer.android.com/sdk/index.html#ExistingIDE • 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/ • 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. Today’s class Projects Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 47

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

  49. Thanks! 49

More Related