COMP 3700: Group Project - Phase #2: Design Maximum points: 100 Note: Submit a single pdf document on behalf of the team, including information listed below for your assigned project topic. Embed all diagrams and text in the word document and create the pdf. Use the tool of your choice to generate UML diagrams. Possible options are PlantUML, ARGOUML, Visio, Word, draw.io, or any other UML development tool. 1. (2 Points) Cover Page (with Project title and team member names). 2. (2 Points) Table of Contents (with page numbers). 3. (6 Points) Phase #1 Documentation: This part constitutes the analysis artifacts produced during the first phase of the project. Highlight and/or provide a description of changes, if any, made to the analysis models, in this phase. 4. (15 Points) Architectural Design: This section should include a high-level architecture model of the system depicting subsystems and their interconnections. The style of the architecture, the rationale for its selection, and its pros/cons need to be explicitly discussed in one or more paragraphs. 5. (75 Points) Detailed Design: For each subsystem in the architecture perform a detailed design as follows. Select two use cases from analysis phase that represent the primary purpose of the system. Limit the design to the functionality comprising the two selected use cases. a. Interaction Design: i. (5 Points) Identify at least two system operations for each use case. ii. (5 Points) Operation contracts: For the selected system operations of each use case, develop operation contract. iii. (15 Points) Collaboration Diagrams: For each selected system operation, develop a detailed UML collaboration diagram that realizes this operation in terms of collaboration among multiple objects. iv. (10 Points) Design Patterns: For each collaboration diagram, state in one paragraph, which GRASP patterns were used, along with an appropriate reasoning, to assign responsibilities to objects in the collaboration diagram. b. Class Design: i. (10 Points) Design Class Diagram: Using the collaboration diagrams, develop a comprehensive UML design class diagram (DCD). Make sure the classes, associations, attributes, navigability, and dependency information are captured in the DCD. Use at least one design pattern in your design class diagram and discuss why it is used. c. Behavioral Design: Choose two classes that have state-dependent behavior from the DCD, and for each class provide the following. i. (10 Points) Pre/Post conditions for each method of the class. ii. (10 Points) UML State chart that defines the states, events, guard conditions, and activities for the class. (Note: The events refer to methods. The guard conditions are the preconditions of methods. The activities are the procedural logic of respective methods (events) that trigger the transition.) iii. (10 Points) Procedural Behavioral Specification of Methods: For each method of the class, specify its control flow in terms of the UML activity diagram or pseudo code.
欢迎咨询51作业君