Final Project Proposal
Your final project is to be a small application. Two to three
screens/activities would be fine, a complex game might be done in a single
screen/activity. The Honey, You Left Your Phone on Silent,
Again application has three screens/activities and a broadcast receiver.
Teams vs. Solo - The final project can be done individually
or as a group of 2-3 students. I will expect more out of a team than individuals,
i.e. two people should be able to build an application that is twice as
large/complex as an individual.
Write a project proposal (1 page is fine, 2 if you need it, 3 only if you
plan on not having a life between now and the end of the semester) that
explains the application that you will build.
The document should communicate the requirements and behaviors of the application,
not how it should be built. Imagine that you are writing this document from the
standpoint of a business client telling their development resources what they want. The
client should be relying on the development resources to determining the best
technologies and approaches to achieve the business goals.
Format - open. The key is to communicate what the
application will do, screens that the user will interact with, etc. See below
for an example that I wrote for the Honey, You Left Your Phone on Silent,
Again application. Notice that it does not mention the Broadcast Receiver,
that component is an implementation detail and not part of the business
requirements of the application.
Minimum information I want in the proposal
- Summary of what the application will do.
- Brief Use Case(s) of the various function(s) - see http://en.wikipedia.org/wiki/Use_case
- For Teams Only:
- list of team members
- planned break down of tasks indicating who is assigned.
Email me your project proposal by midnight, April 5th. I will not
wait until the due date to approve or suggest modifications.
Projects are due Monday, May 07th by 7 PM. I will import each
project into my workspace so it is ready for you to demo during the final period
- Wednesday, May 09th 5:30 - 8:30 PM in Room 2921.
Project Ideas
- RSS Reader - easy to medium
- Podcatcher - medium to hard
- Text Message Auto Responder - easy to medium
- Cooking / Kitchen Timer - easy to medium
- Mastermind game - medium to hard (might be able to be done in a single screen)
- 100 pushup app - easy to medium
- Media Player - easy to medium
- Garage Door Opener - really hard
Other Student Projects
Example Final Project Proposal
Summary
This Application is for installing on a phone so that a text message
containing a predetermined pass phrase will change the phone's settings such
that the volume is turned up to maximum and vibrate is enabled.
Logic
An eligible message is defined as a message that is received from an allowed
sender (as identified by phone number) and that it contains the pass phrase as
configured for that sender.
Screens
- list of phone numbers of allowed senders
- sender add/edit screen
- includes inputs for
- name
- phone number
- pass phrase
- preferences
- service on/off
- volume level settings (level to set the volume to when a matching text message arrives)
Use Cases
Actors
- Sender
- person sending the text message
- Receiver
- person receiving the text message
- owner of the device that has the application installed on it
Use Case Name
Activate Device
Event/Flow
- A text message from a Sender arrives on the Receiver's device.
- The Application has the Service turned on.
- The text message contains the predetermined pass phrase
Result
- the device settings are changed
- volume changed to settings level
- vibrate setting turned on
- device "chirps" as a notice that it has been activated
- an Android Notification is displayed
Use Case Name
Ignore Text Message
Event/Flow
- A text message arrives on the Receiver's device.
- The Application's service is turned off.
Result
- no action taken by the Application
Use Case Name
Ignore Text Message from Sender
Event/Flow
- A text message from a Sender arrives on the Receiver's device.
- The Application's service is turned on.
- The text message contains the predetermined pass phrase
Result
- no action taken by the Application
Use Case Name
Ignore Text Message from non-Sender
Event/Flow
- A text message from a non-Sender arrives in the Receiver's device
- The Application's service is turned on.
Result
- no action taken by the Application
Use Case Name
Add Sender
Event/Flow
- Assumption/Precondition - Receiver is on the List Senders screen
- Receiver pushes the device's Menu button causing the Application's Options Menu to appear
- Receiver selects the Add Sender Option Menu Item
- The Add Sender screen appears with empty text entry fields
- Receiver adds Sender's name, phone number and pass phrase
- Receiver pushes the Save button
Result
- new Sender is added to the Application's database and Receiver is returned to the List Senders screen
Use Case Name
Edit Sender
Event/Flow
- Assumption/Precondition - Receiver is on the List Senders screen
- Receiver selects a Sender (long press on the Sender in the list)
- Application transitions to the Edit Sender screen with the Sender's name, phone number and pass phrase populated in the text fields
- Receiver updates the Sender's name, phone number and/or pass phrase
- receiver pushes the Save button
Result
- Sender is updated in the Application's database and Receiver is returned to the List Senders screen
Use Case Name
Update Preferences
Event
- Assumption/Precondition - Receiver is on the List Senders screen
- Receiver pushes the device's Menu button causing the Application's Options Menu to appear
- Receiver selects the Preferences Option Menu Item
- the Preferences screen appears
- Receiver changes settings
Result
- settings are changed and persisted
Updated at:
March 18, 2012 9:06 pm