The assignment also revolves around the same Case Study as Assignment 1. This may be found as a separate PDF document in the Resources/Assignment 2 section of the subject Interact site.
The objective of this assignment is to apply and consolidate skills acquired in the analysis, architecture, and design disciplines through analysis of a simple case study, and to express the results through the relevant UML diagrams.
Part A – Non Functional Requirements (20 marks)
1. Analyze the Case Study documents and determine the non-functional requirements (NFRs) or system quality attributes necessary to meet the needs identified in the Case Study. Document your analysis with a System Wide Requirement document. Make sure your document addresses:
a) Required system functionality not captured by a single use case (e.g. auditing, printing, authentication).
b) The FURPS+ categories of system attributes.
c) Any required system interfaces with external systems.
d) Any business rules that must be applied.
e) Any constraints that will affect the design of the system.
Use the System Wide Requirement Specification template provided in the Resources/Assignment 2 section of the subject Interact site. (20 marks)
Part B – System Architecture (40 marks)
2. Analyze the Case Study documents and develop a candidate architecture to meet the functional and non-functional requirements you have identified in Assignment 1 and Part A of Assignment 2. Document this candidate architecture with:
i. An Architectural Notebook. Make sure this notebook addresses:
a) The key concerns driving the overall architecture.
b) Assumptions and dependencies
c) Architecturally significant requirements
d) Decisions, constraints, and justifications that shape the architecture
e) Architectural mechanisms to be applied
f) Key abstractions
g) Any architectural frameworks or patterns that will be applied
Use the Architectural Notebook template provided in the Resources/Assignment 2 section of the subject Interact site. (20 marks)
ii. A high level Logical View of the architecture in the form of a UML component diagram. (10 marks)
iii. A Physical View of the architecture showing how components will be deployed on hardware in the form of a UML Deployment Diagram. (10 marks)
Part C – Detailed Design (30 marks)
3. Show how your architecture will support the critical core use case for the system by developing a detailed design to support that use case. Your design should be consistent with your architecture and respect any component and hardware boundaries. Document your design with:
i. A UML Communication Diagram showing the interaction between user interface, control, and domain object classes for the critical core use case. (10 marks)
ii. A UML Sequence Diagram showing the interaction between user interface, control, and domain object classes for the critical core use case. (10 marks)
iii. A UML Design Class Diagram showing all classes, attributes, methods, and relationships required to support the critical core use case. (10 marks)
Part D – Reflection on Object Oriented Design (10 marks)
4. Reflect on the design principles you have employed in your architecture and design in a written text of between 200 to 1000 words (between 1 and 5 pages). Make sure your reflection addresses:
a) A discussion of any issues you encountered in deciding on a particular architectural framework or pattern.
b) Identifies and discusses any object oriented design principles you applied in your detailed design.
c) Identifies and discusses any software design patterns you applied in your detailed design.