Download Lecture 06 Project Introduction and Android Development I

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Windows Phone wikipedia , lookup

Windows Phone 8.1 wikipedia , lookup

Android (operating system) wikipedia , lookup

Mobile operating system wikipedia , lookup

Android software development wikipedia , lookup

Transcript
CS5103
Software Engineering
Lecture 06
Introduction to Project I
Android Development I
Last class

UML

Use case diagram


Object oriented approach for design

Class diagram

2
Identification of use cases

Legend

Class Relationships
Sequence diagram
Today’s class


3
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
Today’s class


18
Projects

Process and Evaluation

Requirements

Calendar

SMS Messenger

Contact Manager

Book Shelf
Android Development I

Android system & Emulator

Environment Setup
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

19
Agenda view (optional): show all events in future
as a list
Calendar-requirements

20
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
Calendar-requirements

Share (optional)


21
Send event to other calendar users (requiring
their permission) through internet
Other

Colored holidays & weekends

Zoom in/out, and scroll support when necessary
SMS Messenger Requirements

22
Messages

View, edit, save as draft, delete

Send & receive

Reply & forward

Search messages

Send to multiple receivers (optional)

Scheduled message (optional)

Auto reply (optional)
SMS Messenger Requirements

Phone Numbers



23
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
SMS Messenger Requirements

Message organization


24
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
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)

25
Directly make phone calls and send sms from
contact
Contact Manager Requirements


26
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
Contact Manager Requirements


Extract contacts (optional)

Extract contacts from stock contact app

Extract contacts from social media websites
Other


27
Show contact name when making / receiving calls
& sending / receiving messages using stock app
Zoom in/out and scroll whenever necessary
Bookshelf requirements

Book management

28
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
Bookshelf requirements

Book reading



29
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)
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

30
Zoom in/out and scroll whenever necessary
Today’s class


31
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
executed 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 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 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
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 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
Today’s class


46
Projects

Process and Evaluation

Requirements

Calendar

SMS Messenger

Contact Manager

Book Shelf
Android Development I

Android system & Emulator

Environment Setup
Next class

UML


47
Sequence Diagram
Software Design

Software architecture

Software architecture styles

MVC architecture
Thanks!
48
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#Existi
ngIDE



Extract the zip file
Open SDK Manager.exe for update (usually no
updates)
Start eclipse