|
CSE/ISE 308 Fall 2004 Stony Brook |
Software Engineering
Annie Liu Assignment 7 |
Handout A7 Oct. 12, 2004 Due Oct. 21 |
This assignment has two parts.
Part 1. Group Project Object Design
Each group is asked to do object design. The goal is to produce the Object Design Document (ODD) as outlined in Figure 9-15 on page 376 of the textbook, but with revisions as described below. Please read Chapters 8 and 9 of the textbook, and follow the steps and examples described in the textbook when doing the assignment.
1. You are asked to identify and apply design patterns that are appropriate for your system, and refine or revise your class diagrams to reflect them. You should write a description of the design patterns you used and of how your class diagrams are refined or revised to reflect them. You are required to use at least one design pattern, or alternatively write a description of how you tried all of the design patterns discussed and why none of them applies. Include the description in section 3 of ODD before you describe the class interfaces.
2. You are also asked to identify and include other classes or operations that are missing from your class diagrams, and also include a description of them in section 3 of ODD before you describe the class interfaces.
3. For the sake of clarity and completeness, include your complete, updated class diagrams before you describe the class interfaces. Note that, as part of the diagrams, for all classes and operations you must have clear description of what they represent and what their functionalities are, respectively, in English.
For interface specifications, you are asked to describe all of them in English and to write OCL for at least one set of contracts, i.e., contracts between two classes, about 3 or more methods. You are not asked to use Javadoc.
As before, you are asked to draw the UML diagrams using UML tools. Rational Rose 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.
Finally, you are asked to continue (or start if you have not already started) using the CVS server set up for the course.
Part 2. What I did
Describe what you did for the course this week, as in Part 3 of Assignment 1.
Bonus
1. Of course, the object design part needs to be based on the RAD from the requirements elicitation and analysis part. You can see now that if you have done a good job before, then you have an easier time this week. If you do want to improve your RAD, then please do and include the improved document in the handin; to receive extra credits, at the end of the RAD, you should explicitly state your problems from before and refer to your fixes in the improved document.
Note that improvements in RAD must be about requirements from the problem domain, not about designs from the solution domain (which are the tasks of the previous and this assignments).
2. As in the Bonus part of Assignment 1.
Handins
For Part 1, each group is asked to hand in a printout (or a handwritten solution, if you didn't succeed in using tools) in class. For Part 2, each person is asked to hand in a separate printout in class.
Grading
This assignment is worth about 4% of the course grade. Each of the two parts is worth 90 and10% of the grade, respectively.