+ All Categories
Home > Documents > CS5103 Software Engineering Lecture 06 Introduction to Project I Android Development I.

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

Date post: 24-Dec-2015
Category:
Upload: felix-clarke
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
49
CS5103 Software Engineering Lecture 06 Introduction to Project I Android Development I
Transcript

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

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 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 upd

ates) 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!

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

Next class

UML Sequence Diagram

Software Design Software architecture

Software architecture styles

MVC architecture

49

Thanks!


Recommended