Template for
PROBLEM STATEMENT


1. Problem domain

Give an overview of the problem you're trying to solve, making it accessible to someone who is not familiar with the subject matter. (~ 1/3 page)

Examples on pp. 94, 154


2. Scenarios

Provide a narrative description of what the user will do and experience as he uses the system.  There should be at least n-2 scenarios, where n is the number of students in your team (e.g., a 4-member team should have at least two scenarios).  (~ 2-3 pages)

Examples on pp. 133, 156, 94


3. Functional Requirements

Specify the potential interactions between the system and the environment (i.e., the user), independent of their implementation.  That is, list the things that the system must do.  E.g., "the user must be able to purchase tickets".  See p. 14.  There should be at least n functional requirements, where n is the number of students in your team (e.g., a 4-member team should have at least four functional requirements).  (~ 1/2 page)

Example on p. 154


4. Nonfunctional Requirements

Specify any constraints on the system that are not related to functionality, such as colors of the GUI, backward compatibility, extensibility, etc.  Depending upon your project, you may not have many of these.

Example on p. 155


5. Target Environment

Describe the deployment environment, including platform requirements, users, etc.  Depending upon your project, there may be little in this section.

Example on p. 155


6. Deliverables and Deadlines

List all client deliverables and deadlines.  Include all documents, milestones (provide a one-line description of each), and final demo.  (~ 1/3 page)