The assignment revolves around the Case Study, which may be found as a separate PDF document in the Resources section of the subject Interact site.
Objective
To apply and consolidate skills acquired in the requirement and analysis disciplines through analysis of a simple case study, and to express the results through the relevant UML diagrams.
Tasks
Part A – Use Cases (25 marks)
- Perform a requirements analysis for the Case Study. Express the results using the following artefacts:
- A use case diagram for the functional requirements of the entire system, accompanied by:
- Short use case descriptions for all use cases.
- Select the most essential (critical core) use case in the system, and produce a full use case description for it .
- Produce an activity diagram that expresses the workflow for that use case.
Part B – System-wide/Non-functional Requirements (15 marks)
- Produce a system-wide (non-functional) requirement document that documents the architectural requirements the system must address.
Part C – Use Case Realization (30 marks)
- Develop a domain model for the Case Study. Express your model with a class diagram, showing any inheritance and compositional relationships.
- Develop a use case realization showing the sequence of messages involved for the use case selected for the full description in Part A. Express this use case realization in a communication diagrams. Use the GRASP concept of a Controller class to coordinate the use case.
- Translate the communication diagram produced for Task 6 into an equivalent sequence diagram.
Part D – Analysis Classes(10 marks)
- Prepare a summary analysis class diagram showing the attributes and methods required by problem domain classes involved in the use case realized in Part C.
Part E – Object Interactions (10 marks)
- Prepare operation specifications for the two most complex methods contained in one of the nominated objects specified for the Case Study.
Part F – Object State (10 marks)
- Create a state diagram for the object chosen for Part E. Nominated objects will be listed in the Case Study.
Rationale
This assignment elicits performance of taught skills in the architecture and design areas relevant to the following learning objectives:
- be able to analyse and validate system requirements;
- be able to produce and validate analysis and design models for a system;
- be able to demonstrate use of a CASE tool to document the models in a system.
Marking criteria
Use Cases
- Is a correct concept of use cases demonstrated?
- Are sensible use cases identified?
- Are all use cases identified?
- Are any extraneous use cases included?
- Is correct UML syntax used (system box, actors,use cases, extends/includes)?
- Are all use cases described briefly?
- Do use cases have sensible names (identifies intent with verb)?
- Are the short use case descriptions sensible/correct?
- Are the most critical and important use cases correctly identified?
- Are normal and alternate flows identified in the full use case description?
- Are pre-conditions and post-conditions identified in the full use case description?
- Is the full use case description consistent with the case study?
- Is the activity diagram consistent with full use case descriptions?
- Does the activity diagram use correct UML syntax?
System-wide/Non-functional Requirements
- Are all system-wide/non-functional requirements identified?
- Are sensible inferences from the system-wide requirements discussed?
- Are business rules identified and described?
- Are all domain objects identified?
- Are any extraneous objects included?
- Are inheritance relationships correctly identified?
- Are composition/aggregation relationships correctly identified?
Use Case Realizations
- Is there a coherent sequence of messages?
- Are the messages consistent with Domain model?
- Does the message sequence support the use case as described?
- Does the communication diagram use correct UML syntax?
- Is the sequence diagram consistent with the communication diagram?
- Is there a coherent sequence of messages (no miracles)?
- Is the sequence diagram consistent with the domain model?
- Does the sequence diagram support the use case as described?
- Does the sequence diagram use correct UML syntax?
Summary Analysis Class Diagram
- Is the summary analysis class diagram consistent with the use case realization?
- Is the summary analysis class diagram consistent with the domain model?
- Are all methods required by use case realizations identified?
- Are all attributes necessary to support methods identified?
- Does the summary analysis class diagram use correct UML syntax?
Operation Specification
- Is the operation specification consistent with the use case realization?
- Is the operation specification consistent with the domain model?
- Are pre-conditions identified and specified?
- Are post-conditions identified and specified?
- Are parameter types and rangesspecified?
- Is business logic specified?
State Diagram
- Is a correct concept of states and transitions displayed?
- Is the state diagram consistent with the use case realization?
- Are sensible additional transitions identified?