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

  1. Summary of what the application will do.
  2. Brief Use Case(s) of the various function(s) - see http://en.wikipedia.org/wiki/Use_case
  3. For Teams Only:
    1. list of team members
    2. 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

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

  1. list of phone numbers of allowed senders
  2. sender add/edit screen
    1. includes inputs for
      1. name
      2. phone number
      3. pass phrase
  3. preferences
    1. service on/off
    2. volume level settings (level to set the volume to when a matching text message arrives)

Use Cases

Actors

  1. Sender
    1. person sending the text message
  2. Receiver
    1. person receiving the text message
    2. owner of the device that has the application installed on it

Use Case Name

Activate Device

Event/Flow

  1. A text message from a Sender arrives on the Receiver's device.
  2. The Application has the Service turned on.
  3. The text message contains the predetermined pass phrase

Result

  1. the device settings are changed
    1. volume changed to settings level
    2. vibrate setting turned on
    3. device "chirps" as a notice that it has been activated
    4. an Android Notification is displayed

Use Case Name

Ignore Text Message

Event/Flow

  1. A text message arrives on the Receiver's device.
  2. The Application's service is turned off.

Result

  1. no action taken by the Application

Use Case Name

Ignore Text Message from Sender

Event/Flow

  1. A text message from a Sender arrives on the Receiver's device.
  2. The Application's service is turned on.
  3. The text message contains the predetermined pass phrase

Result

  1. no action taken by the Application

Use Case Name

Ignore Text Message from non-Sender

Event/Flow

  1. A text message from a non-Sender arrives in the Receiver's device
  2. The Application's service is turned on.

Result

  1. no action taken by the Application

Use Case Name

Add Sender

Event/Flow

  1. Assumption/Precondition - Receiver is on the List Senders screen
  2. Receiver pushes the device's Menu button causing the Application's Options Menu to appear
  3. Receiver selects the Add Sender Option Menu Item
  4. The Add Sender screen appears with empty text entry fields
  5. Receiver adds Sender's name, phone number and pass phrase
  6. Receiver pushes the Save button

Result

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

  1. Assumption/Precondition - Receiver is on the List Senders screen
  2. Receiver selects a Sender (long press on the Sender in the list)
  3. Application transitions to the Edit Sender screen with the Sender's name, phone number and pass phrase populated in the text fields
  4. Receiver updates the Sender's name, phone number and/or pass phrase
  5. receiver pushes the Save button

Result

  1. Sender is updated in the Application's database and Receiver is returned to the List Senders screen

Use Case Name

Update Preferences

Event

  1. Assumption/Precondition - Receiver is on the List Senders screen
  2. Receiver pushes the device's Menu button causing the Application's Options Menu to appear
  3. Receiver selects the Preferences Option Menu Item
  4. the Preferences screen appears
  5. Receiver changes settings

Result

  1. settings are changed and persisted

Valid XHTML 1.0! Valid CSS!

Updated at: March 18, 2012 9:06 pm