CMPSCI 520/620

Fall 2003

Project II

Assigned: October 20, 2003

Revised/Updated: November 17, 2003

Due: November 24, 3003

 

 

Goal - Develop a Software Requirements Specification (SRS) using the RUP template

1.      Pick a subset of the UMass RFB

    1. Email to Adrion [done]

2.      Develop questionnaires

    1. Email to Adrion [done]

3.      Plan and carry out interviews

    1. OIT, CMPSCI front office, Bursar, Registrar, others [In Progress]

4.      For selected subset, create a Vision Document [you may use the OpenCms-Struts template* or the IEEE standard]

5.      For selected subset, create the SRS

a.       Introduction Section 1: Purpose, Scope, Definitions, Acronyms and Abbreviations, and provide References

b.      Overall Description Section 2: a list of names and brief descriptions of all use cases and actors, along with applicable diagrams and relationships (you may use Rational Rose or some other drawing package, but note that you will be required to use Rose in Project III)

c.       In Section 3, for each use case diagram in Section 2 define a use-case report, making sure that each feature or requirement is clearly labeled and traceable to the Vision document.

    1. Appendices, including: a) Table of contents, b) Index, and c) use-case storyboards or user-interface prototypes, if needed.

 

* http://opencmsstruts.sourceforge.net/vision.html


CMPSCI 520/620

Fall 2003

Project III

Assigned: November 17, 2003

Due: December 18, 2003

 

Goal Ð For your chosen subset of the Student Information System (as derived from the UMass RFB), complete a design of a system using the Rational Unified Process (or any similar UML-based OOAD method) and employing Rational Rose for creating diagrams and documentation.

1.      Follow these steps (or describe the steps if you use another process):

a.      Identify classes that are part of your subset of the SIS. Beginning with the Use-Case Diagrams and specifications in your SRS and using some method or methods (Noun Phrase Approach, Common Class Patterns, Class-Responsibility-Collaboration, etc.) identify initial classes, attributes, associations, and operations.

b.      Define the responsibilities and relationships for each class.

c.       Construct the domain class diagram and capture all identified use case and class definitions in Rational Rose

d.      Identify the major risk factors, and prioritize the most architecturally significant use cases and scenarios; partition the major use cases/scenarios across the planned iterations

e.      Iterate the design (e-i). Merge the functional flow in the use cases and scenarios with the classes in the domain class diagram by constructing analysis-level interaction diagrams (i.e., sequence diagrams or collaboration diagrams) for each scenario in the iteration. Identify, define, modify, and/or merge analysis (boundary, control and entity) classes, associations, attributes, and operations based on analysis of the sequence diagrams or collaboration diagrams. Create analysis class diagrams. Develop all diagrams in Rational Rose

f.         Develop analysis-level statechart diagrams for each class with significant state in Rational Rose

g.      Enhance class diagrams, sequence diagrams and statechart diagrams with design-level content.

h.      For each iteration, conduct a review of all diagrams and documents and update the diagrams in Rational Rose.

i.         Repeat steps e-i until you have analyzed all of the significant use cases and have reached some Òstopping criteriaÓ for your design.

j.         Develop deployment diagrams. Define a deployment architecture by analyzing the UMass RFB and from the interviews, and develop deployment diagrams using Rose.

2.      Schedule and carry out a final review of your design with Professor Adrion.

3.      Provide a short report of your design process, describing the steps, iterations and, particularly, the reviews and Òstopping criteriaÓ. Include all diagrams and documents as an appendix.