Object-Oriented Analysis and Design


CSCI 311


Course Project Description and Deliverables

Note: This course component constitutes 40% of your course grade.

Purpose: The purpose of this assignment is to familiarize you with the employment of object-oriented analysis and design techniques to an application sized appropriately for a one semester course.

Choice of Application : Pick an application in an area in of interest to you. This should be an area that either you are quite familiar with, or for which you can obtain detailed information via interviews, documentation, etc.

Requirements: Begin your project by defining the requirements and scope of the project. Use OMT (or a variant, such as UML) to develop the object, dynamic and functional models of the system. For the functional models, you do not have to stick to Data Flow Diagrams if you have a viable alternative to operation refinement. This should be translated into a design (covered in Chapter 9 of Rumbaugh). You do not have to implement the design.

Project Phases:

Proposal Phase : (5 % of course grade) This is the first step of the project. You will turn in by Thursday, February 27, a proposal with 4 parts: 1) general background and description of the application area , 2) a preliminary requirements definition in narrative form, 3) a preliminary set of use cases, and 4) a preliminary object model. Note: for TV students, either email me your proposal on February 27, or have it land mailed on that date. This proposal phase is to establish a 'first cut' at your design model. It is expected to change significantly through the iterations of Version 1 and Version 2.

Version 1 Phase: ( 10 % of course grade) You will turn in by Thursday, April 3, your Version 1 of the design project to include a 1) general background statement, 2) a preliminary requirements (including any modifications to those in proposal phase) and explanation of how your model has changed since the proposal phase , 3) a set of use cases, 4) an object model with narrative explanations attached which justify any uses of inheritance, aggregation and association, 5) a set of (at least 2) simple scenarios and event traces and 6) the preliminary dynamic model in state transition diagram form. Again, this version is not expected to be perfect. Your model is expected to change again in Version 2.

Version 2 and Final Phase: (25% of course grade) You will turn in on the last day of classes, Thursday, May 15, all 6 of the deliverables described above in Version 1 plus the 2 additional deliverables that follow. Explain any changes since the previous version within each deliverable. Also include a 7 ) functional model for those project components for which it is appropriate. Be sure to add any design classes necessary for implementing associations and aggregations ( see Rumbaugh, Ch. 9). Include 8) a summary of your findings regarding application of OMT to this project. What lessons have been learned?