Upload
charissa-boone
View
23
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
CS5103 Software
EngineeringLecture 06
Introduction to Project IAndroid 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
3
Today’s class
Projects Process and Evaluation
Requirements Calendar
SMS Messenger Contact Manager Book Shelf
Android Development I Android system & Emulator
Environment Setup
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 next class
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 Thursday which one you choose
Other topics You can choose other topics, but it should be still be an
android project
Tell me by Next Tuesday, 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: Sept. 22nd
I may give you feedbacks after you hand in the documents
Design
Deliverable Class diagram
Sequence diagrams for two classes
Deadline: Oct. 6th
You may change you design after hand in your design documents
Implementation
Deliverable Source Code
Binary Code
Deadline: Nov. 10th
Note: unit test cases should be included in implementation
Presentation & Demo: Nov. 17th and Nov. 19th
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. 20th
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 or Git are 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
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
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
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
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
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
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
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
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
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
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
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
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
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
Today’s class
Projects Process and Evaluation
Requirements Calendar
SMS Messenger Contact Manager Book Shelf
Android Development I Android system & Emulator
Environment Setup
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 execute
d on the Dalvik virtual machine Dalvik VM: a variant of JVM Why? Smaller code size.
Android Development I
Android stock apps
Also called built-in apps Apps included in the android system / sdk Like IE in windows Including: phone, sms messenger, contact manage
r, 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 looks like…
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 emu
lator and the host system Telnet to 5554 to control the emulator (provid
ing a shell of the emulator) Emulators can interact with each other
Android Development
Download Android Studio https://developer.android.com/sdk/index.html Extract the zip file Start
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!
Accelerated Emulator
http://stackoverflow.com/questions/2662650/making-the-android-emulator-run-faster
Enable Intel virtual machine support: http://stackoverflow.com/questions/
21635504/error-during-installing-haxm-vt-x-notworking
46
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!
Android Development
Install Eclipse ADT Go to eclipse, Help - > Install New Software
Input https://dl-ssl.google.com/android/eclipse/
Install all components
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 upd
ates) Start eclipse