490 likes | 655 Views
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
E N D
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 Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 3
Introduction to Project: phase I • Process • Form a group • Pick a topic • Requirement Engineering • Design • Implementation • Testing and documentation
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
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
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
Design • Deliverable • Class diagram • Sequence diagrams for two classes • Deadline: Oct. 10th • You may change you design after hand in your design documents
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
Implementation • Presentation • All people should present part of their work • Talk about problems met during development • run major features of the app
Testing & Documentation • Testing • System testing • Test cases and results • Documentation • Test documents • API documents (using Javadoc) • User guide • Deadline: Nov. 19th
Evaluation • Project quality • Documentation • Process quality • Presentation • Teamwork & work assignments
Project quality • Evaluation base: code • Whether all features implemented • Bugs found • Coding style • Comments • Unit test case quality
Documentation Quality • Evaluation base: documents • Specification, design documents, API documents, test documents, user guide • Correctness • Whether go into details • Whether well structured
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
Presentation • Evaluation base: demo & presentation • Show understanding of the project • Demo goes smoothly
Teamwork • Evaluation base: email record, svn commits, work assignments • Balanced workload • Interactions in email record and svn commits
Today’s class Projects Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 18
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
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
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
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
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
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
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
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
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
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
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
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
Today’s class Projects Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 31
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
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.
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.
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
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
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
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
Android Development • Download Android ADT Bundle • http://developer.android.com/sdk/index.html • Extract the zip file • Start eclipse
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
Android Development • Install Eclipse ADT • Go to eclipse, Help - > Install New Software • Input • https://dl-ssl.google.com/android/eclipse/ • Install all components
Create An Android project • Go to new project • Select Android • Input a name for you project • Click next for all steps
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.
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!
Today’s class Projects Process and Evaluation Requirements Calendar SMS Messenger Contact Manager Book Shelf Android Development I Android system & Emulator Environment Setup 47
Next class UML Sequence Diagram Software Design Software architecture Software architecture styles MVC architecture 48
Thanks! 49