Proposal Phase 2

This section of the proposal will add more detail as well as Storyboard Sketches (You should revise the previous sections if needed and add storyboard sketches)

User Experience: Input/Output and Wireframes

  • Hand drawn or rough wireframe sketches and UI flow diagram.
  • Any user input/output that is needed to control your application including mouse and keyboard interaction (should be part of wireframe flow as well)

Detailed Schedule

Revise your weekly goals with a new Task schedule that includes at least 3-5 subtasks for each week.

This is an ordered list of major pieces of functionality created in an intentional order to help you incrementally create a larger project that works. Each deliverable is a significant piece of functionality that should be completed before the next deliverable starts. While it is often true that one deliverable must be delivered before another can be accomplished, deliverables do not have to have dependencies on one another. This means that two deliverables can be developed in parallel by different members of a team.

Recall how we developed projects during the first semester. The table below is an example set of deliverables for the Shunting Yard GUI calculator. You should replace it with your own set of deliverables.

Oftentimes we will discover more deliverables along the way. This is fine. It is difficult (sometimes impossible) to know everything at the start of a project. Discovered work will be added to the Task Worksheet.

You should take your previous weekly schedule and add sub-tasks that are well defined, with time estimates and assigned to each team member. Following are some examples of the level of detail needed. These would be sub-elements of the previous weekly schedule.

Deliverable Notes
A GUI with functional buttons and text display (provided for you) No calculations necessary. Event handlers hooked up.
Event handlers implemented basic calculator functionality. No order of operations. Changes display with calculated values.
Post-Fix evaluator class that calculates the value of an expression in post-fix. Unit Tests included. Uses Stacks/Queues.
Shunting yard class that implements the algorithm to convert in-fix to post-fix. Unit Tests included. Uses Stacks/Queues.
Full Shunting Yard Calculator. All components are integrated together to make a fully functional calculator.
Extra operators. If time, more buttons and operations are added. Example: modulus, square root, log, exponentiation.

User Stories

As part of your detailed task list, you should add user stories to a separate tab in your spreadsheet. It should be a table mapping a ID number to the user story.

But what are ‘user stories’? They describe features of a software from a user or developer’s perspective, which helps developers identify what they need to implement, and more important, WHY they need to implement it.

The general format is as follows:

As a who I want to behavior so that I can benefit.

  • who provides the customer: context and perspective
  • behavior describes what is to be delivered
  • benefit helps define why want to do it, as well as what “done” means. It allows us to validate that we achieved it.

The user stories tab in your spreadsheet might look like the following:

ID User Story
1 As a Developer, I want to have my game board saved in a file so that I can be data driven and design multiple boards that work without having to change the code.
2 As a Player, I want the avatar character to respond to the arrow keys so that I can move my avatar on the screen.

In your main task list, you should fill out the User Story IDs column with the IDs of the user stories that match to it. For example, if I have a task about saving the game board to a file, I would put “1” in the User Story IDs column. You must have each task map to at least one user story, but they can map to multiple.

Approval

You must receive teacher approval to continue to Phase 3.

Students Signatures: ______________________

Date: _________________

Teacher Approval: ______________________

Date: _________________