CSci 435/535: Software Engineering

Homework 5: Requirements

Due Wednesday, Feb 21st by 11am

Work in pairs on this assignment. Make sure the names of both students appear in the document.

Summary

Beginning with the product vision document created by the managers and the use cases document for our project, create a detailed requirements document. Be sure to address:

To get an idea of the level of detail you should address, you may find it very useful to look at the requirements document from previous years:

You may also find it useful to take a look at the requirements for voting systems, developed by the Technical Guidelines Development Committee (TGDC) and presented to the U.S. Election Assistance Commission (http://www.epic.org/privacy/voting/eac_foia/).

Format

As before, use the documentation template located in the Website project in subversion. Copy it to a file called requirements.php. You must use this template to get credit. In addition, you must submit html validated by http://validator.w3.org/. (You can just click the Valid HTML icon at the bottom of your webpage to validate it.)

The overall structure is up to you. You could have sections corresponding to the types of requirements, or have sections corresponding to major areas of concern in the software.

You should also have an additional section in which you do some analysis of your requirements. How do the different requirements interact with each other? Are there dependencies? Can your requirements be easily verified? Do you anticipate any particularly difficult requirements? Are there options that you want to give the customer? What is the rationale for your requirements? Are there high-risk requirements?

Requirements should be numbered to allow for traceability. You must format your requirements using the sample box in the template. You may also want to embed the rationale into the main sections instead of putting it in the analysis section.

Where to Get Requirements

First, your requirements should be in line with the product vision, use cases, and the discussions in class to date. While working on this homework, you may want to clarify certain requirements. You can do some "market analysis" by looking at what "competitors" have done.

You can also ask the customer (me) what they want. You may want to prepare your questions for the Friday project discussion.

Requirements Selection

After this homework has been graded, I will select a few of the best, or portions thereof, to constitute the "official" requirements document for the project. You will receive a bonus depending upon how much of your requirements document becomes part of the official document.

Submission

You must email a .zip file containing your main validated HTML/PHP file, as well as any supporting images or other files, to coppit@cs.wm.edu

Grading

Make sure that you address requirements issues, and not specification or design issues. This is a fuzzy request, since the client might characterize specification and design issues as requirements issues. For example, the use of Java has been made a requirements issue by the customer. Similarly, the user interface is really a design issue, but is so important that it must be addressed at the requirements stage. For anything that is not technically a requirement, be sure to highlight it in some way in your document. When in doubt, ask!

200 points total. Both team members earn the same grade. You will lose points for at least the following:

Back Back to the CSci 435/535 Homepage.

Last changed February 14 2007 09:53:00. David Coppit, coppit@cs.wm.edu

There have been 1232057 hits since Thu Jun 9 14:49:55 2005

Valid CSS!
Valid HTML 4.01!