Project 2: Requirements and Design

The first step of the project is to produce a set of user stories for the software system that you described in your project proposal. Recall that user stories should be written from the perspective of the end-user.

Structure of Project

You will have three 2-week iterations to complete this project. The project is due by Thursday, April 30th for in-class students; April 30th is the last day of class for classes that meet on Tuesdays and Thursdays this semester. The last class will consist of presentations of the software prototypes being developed for this semester project. This is the 9th week of class and it will be used to develop a set of user stories and an iteration plan that will guide your activities over the three iterations of the project. The first iteration will occur during weeks 10 and 11 (which are split across the week of Spring Break). The second iteration will occur during weeks 12 and 13. And the final iteration will occur during weeks 14 and 15.


Your team must create a requirements document by Monday, March 16th at 11:55 PM. Your document should consist of the following sections:

  • An introduction that describes the proposed system and provides any background information needed to understand its application domain. Think of this section as your "project proposal on steroids."
  • A set of user stories complete with estimates and priorities. You should follow the textbook's recommendation and split these user stories into tasks to help you create estimates. Be sure to list the tasks associated with each user story along with their estimates.
  • An iteration plan that demonstrates how the user stories will be split across the three iterations. Document your procedure for producing this plan, including what value you used for the concept of "team velocity" in your calculations. Due to the constraints of your team members having other classes and part-time or full-time jobs, you will want to be realistic in your estimates of how productive the team will be.
  • A UML class diagram that represents your initial view of the key application concepts and relationships for your problem domain.
  • An initial attempt to model the concurrent behaviors expected of your final system via a set of FSP specifications and structure diagrams. If the finite state machines associated with your FSP specifications are small enough to be graphed by the LTSA tool, please include their diagrams in your document. If LTSA indicates a problem with any of your specifications (deadlock, progress, etc.) be sure to highlight this and discuss how you plan to address those problems as you move forward with the design and implementation of your system.
  • A list of any non-functional concerns you intend to address while designing and/or implementing your system.
  • (For teams with more than one person): A description of how work for this project was divided among the team members.

Individual Participation

25 points of this assignment is based on an evaluation of your work and participation by your other team members. Once the requirements document has been submitted, each team member should mail Professor Anderson an evaluation of the participation and work performed by the other team members. If all of your team members give you a good review, you will receive all 25 points for this portion of the assignment. Otherwise, you will receive a percentage of the 25 points based on the positive/negative reviews that you received.

Note: If team members indicate that a student did nothing for this portion of the project, that student is in danger of losing more than just the 25 points allocated to individual participation.

Points and Due Dates

This assignment is worth up to 100 points, depending on the score you receive for individual participation.

Please submit your requirements document via e-mail as a PDF document to Prof. Anderson by 11:55 PM on Monday, March 16th.


All deadlines for CAETE students are one week behind those listed above. That is, the requirements document for CAETE students is due on Monday, March 23rd and the final project will be due on Thursday, May 7th.


Contact Professor Anderson if you have any questions or concerns about this assignment.

Kenneth M. Anderson, 2009