20-ECES-495--Software Engineering Lab---Fall 2011---Quarter Project

(Initial Description for developing requirements)

Using the document by Berezin as a guide, and acting as the nontechnical customer, develop requirements for a project which meets the skeleton requirements described below.

The project. A "Serious Game".

The project for this quarter is to develop a user-friendly discrete event simulation to simulate a "serious" problem. The product will allow the users to simulate problems relevant to their field and to try out various strategies for dealing with these problems. Given the short timeframe for this project, it is not expected that the "game" will have incredible graphics, but it should at least have a GUI which will display the history of the simulation so far and will allow the user to make decisions about what to do next.

Basicproject:

The news these days is full of articles dealing with various real or potential disasters—oil spills, ecological disasters such as hurricanes, economic disasters, political conflicts, epidemics. For example, there is currently a debate going on in this country about how to lower the unemployment rate and to help people who are having trouble paying their home mortgages. There have been several natural disasters, including wildfires in Texas, a hurricane, and even an earthquake in the D.C. area, and questions arise about how best to provide disaster relief. The news is also full of stories about the sad state of the economy. And there are ongoing political conflicts in many parts of the world, especially in the Middle East.

Your company's goal is to enable a better understanding of some aspect of a current problem or type of problem. For example, you might decide that your company:

  • will market software to city, state, or national governments to enable them to try out various ways of handling potential epidemics or natural or man-made disasters
  • will enable governments or agencies to do general disaster planning, for events such as epidemics, floods, tornados, etc.
  • will allow medical researchers or response teams to try out various techniques for combating an illness, such as quarantine, development of drugs with a predicted level of effectiveness, etc. or for dealing with some other type of disaster
  • will enable government agencies to study different methods for delivering health care to their citizens
  • will develop an educational game for a particular age group (kindergarten, elementary school, middle school, high school, university, older people,…)
  • …………(your team idea here)

Customer role: Your first step is to decide on the type of product you want to sell and then to hire a team of talented software developers to develop the product, while you work on the marketing aspects. In order to attract a high-quality technical team, you need to provide a well-structured and complete REQUIREMENTS DOCUMENT. This must be produced by Friday, October 7.

Developer role: Your team will be hired by one of the customer teams. Your developer team must complete and document a project, following the guidelines listed below, which meets the customer's stated requirements.

Outline for Chapter 2 of Quarter Project report, Product Requirements

This is the team assignment due on October 7.

Your document should have the following format:

The title of this chapter is "Chapter 2, Product Requirements".

Give the name you have chosen for the product.

Give the name of your team and the team members.

Include the date your document was completed.

Include a version number (version 1.0).

Include the delivery date (date of final exam).

Give the amount you are willing to "pay" for this product (based on 10 hours / week / person for the team you will be "hiring".)

Give the name and contact information of the person on your team who will be the main "on-site customer representative" during development (this person does not need to make all decisions but will ensure contact between your "company" and the developing "company").

Give the requirements for the project. They must include as a subset the skeleton requirements below. These requirements need to be divided into the following sections, which are described in the paper Writing a Software Requirements Document by Berezin (note that not all requirements are relevant, for example, there are no "legacy systems". You need to explicitly address each type of requirement listed by Berezin and note those that are not relevant for this project and why they are not relevant).

Part 1—Application Overview, see pages 10-12 of article by Berezin.

Part 2—Functional Requirements, see pages 12-15.

Part 3—Appendix, see pages 15-16.

Also be sure to number all requirements so they can later be traced (see page 21 of Berezin's document).

Skeleton requirements which must be included (to be made more specific by your team). Your planned system must meet at least the following requirements.

  • The product must be a "serious game".
  • The product must model anyrelevant geographic location for your scenario (or part of it) and any significant features for this location, e.g., weather, contact with surrounding entities, population groups, etc.
  • You must make sure the company you hire provides an attractive GUI.
  • The users of your program must be able to revise decisions while the program is running.
  • There can be any number of user assistants represented in the program to collect information and carry out tasks.
  • The program must keep logs and statistics for important data represented in the system. These must be kept in a file or files which can be accessed at the conclusion of the program. Relevant data should also be displayed while the program is running.
  • The program must be well-documented and user-friendly.
  • The program must be reasonably efficient.
  • The program must be realizable, with a reasonable amount of effort, by the developer team—otherwise you will not be able to hire any team.
  • The program must be sufficiently robust and useful to be purchased by your company.
  • The program must be ready to demonstrate in Baldwin 550 by the scheduled lab exam day at the end of the quarter.
  • The program must be delivered with the developer documentation AND with your cover document explaining how well the project requirements have been met.
  • The program must be accepted by the instructor, by any outside evaluators brought in by the instructor, and by your company.