Fall 2010
Stony Brook
Software Engineering
Annie Liu
Assignment 3
Handout A3
Feb. 8, 2010
Due Feb. 15

Requirement Specification

Each group writes a requirement specification document for the group project. The document has two parts, explained below. It is due before class on Monday Feb. 15.

Part 1. Group Project Use Case Modeling

Each group does requirement gathering, specifies use cases, and builds UML use case diagrams for the group project. This has 3 steps, where the third step is for extra credit.

1. Write the set of requirements for your project, starting with your project description but elaborating the requirements explicitly, in the form of: the system shall keep so and so data, the system shall support search of so and so, and so on, as discussed in Section 2.2. of the textbook.

2. Write the set of use cases of the form: actor, capability and goal, and use-case name, and draw use case diagrams for the use cases, as discussed in Sections 2.3.1-3 of the textbook. You must include use case text for the use case diagrams.

You should avoid drawing all actors and all use cases in one diagram, especially when the lines get tangled: you may present separate smaller diagrams, grouping closer related use cases in each diagram.

Ideally, you should draw use case diagrams for all use cases. If you estimate that this will take more than say 8-10 pages, you may pick the most important uses cases (most important for understanding the behavior of the system being built) that fit in this range.

3. Draw system sequence diagrams for the use cases, one for each main flow or exceptional flow.

You are asked to draw UML diagrams using UML tools. Rational Rose Enterprise Suite 2003 is installed on the machines in the Transaction Lab. You may use other UML tools if you prefer, but you need to specify exactly which tools you used and why you prefer it.

Part 2. Group Project Domain Modeling

Each group does requirement analysis, and builds a domain model for the group project, as discussed in Section 2.4 of the textbook. This has 3 steps, where the third step is for extra credit.

1. Identify the set of concepts in the requirements gathered, express them as noun phrases describing responsibilities, and separate them into two kinds: knowing and doing.

2. Determine associations between pairs of concepts, as well as attributes of individual concepts.

3. Determine preconditions and postconditions of operations and express them as precise conditions on the attributes.

Requirements on giving credit

For anything in your submission that is not a creation of your group, explicitly include a section or sections containing references and acknowledgments giving credits to the sources.

For any part of your submission that is a creation of your group, indicate who in the group did it; for shared work on a part, indicate who did what percentage. Describe this explicitly in a separate section at the end of your document.

Extra credit suggestions

As in the extra credit part of Assignment 1, Step 3 of Part 1 above, and Step 3 of Part 2 above.


Before class on the due date, each group should submit their assignment through blackboard, and include a link to it on the project web page.


The two parts are worth 60% and 40% of the grade (Part 1: 20% for Step 1, 40% for Step 2, and bonus 20% for Step 3; Part 2: 20% for Step 1, 20% for Step 2, and bonus 10% for Step 3). Submissions missing the part on giving credit will lose 30%. Exceptionally well thought-out and well written homeworks will receive appropriate extra credit.