Assignment title: Information
1. Non-Functional Requirements (30 marks)
a) Analysis of NFRs
Analyse 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. Consider the case study against the checklist provided in the Resources/Asg3 section of the subject website. Prioritise the identified relevant NFRs, and specifically identify the 5 most important in priority order. For each of these high priority NFRs justify its priority and identify both benefit it confers and the cost of supporting it.
b) System Wide Requirement Document
Document and expand your analysis of NFRs in a System Wide Requirement document. Use the System Wide Requirement Specification template provided in the Resources/Assignment 2 section of the subject Interact site. Make sure your SWRS document addresses:
i) System wide services (required system functionality not captured by a single use case) These are the 'F' of FURPS+: e.g. auditing, printing, authentication).
ii) Non-functional requirements (system qualities). These are the URPS of FURPS+. Identify the specific high priority NFRs you considered relevant from the checklist under the general URPS+ categories.
iii) Any required system interfaces with external systems.
iv) Any business rules that must be applied.
v) Any constraints that will affect the design of the system. (Interfaces and constraints are the '+' of FURPS+)
2. Architecture Notebook (40 marks)
Analyse the Case Study documents and develop a candidate architecture to meet the functional requirements you identified in previous assignments and in the high priority NFRs identified in Task 1. Document this candidate architecture in an Architectural Notebook. Use the template provided in the Resources/Assignment 2 section of the subject Interact site. Make sure the architectural notebook addresses:
i) The key concerns driving the overall architecture. (These should correspond with the 3-5 most important NFRs you identified.)
ii) Any assumptions and dependencies that affect the architecture.
iii) Any architecturally significant requirements. (E.g. a requirement for persistent data may require access to a database)
iv) Decisions, constraints, and justifications that shape the architecture.
v) Architectural mechanisms used to implement requirements (e.g a database or XML file to implement a persistence requirement)
vi) Any architectural frameworks or patterns that will be applied
Hint: if you start to make or justify decisions on grounds that do not appear in your analysis of NFRs - perhaps you should reconsider those NFRS in the light of the forces that are really driving the deisgn of your application.
3. Component Diagram (15 marks)
Document your proposed architecture with a high level logical view showing functional and technical components in a component diagram.
4. Deployment Diagram (15 marks)
Document how your proposed architecture maps to the intended deployment environment with a deployment diagram showing how your functional and technical components will be distributed over hardware nodes.
Rationale
This assignment is motivated by and related to the following subject learning outcomes:
• be able to produce and verify analysis and design models for a system;
• be able to demonstrate use of a Computer Aided Software Engineering (CASE) tool to document the models in a system.
• be able to evaluate a problem and determine the appropriate architectural style for the solution;
• be able to evaluate and choose appropriate software design patterns to compose the design of a software system;
The assignment is intended to articulate taught concepts and exercise skills related to the Architecture discipline.
Marking criteria
Non-Functional Requirements
Criteria High Distinction Pass Credit Distinction Fail
How well does the analysis of non-functional requirements and the system-wide requirement specification (SWRS) document demonstrate the ability to analyse and verify system requirements and to produce and verify analysis and design models in the context of analysing non-functional requirements for a system? All critical and significant NFRs addressed and related to prior analysis. Both runtime and non-runtime quality characteristics considered. Consideration of NFRs detailed and specific.
Prioritisation of NFRs clearly and correctly justified against specific needs of case study.
Costs and benefits of addressing all NFRs clearly identified and discussed in relation to specific needs of case study.
All system wide services identified in SWRS document.
All critical and significant NFRs addressed in SWRS and related to prior analysis.
All critical and significant external interfaces identified in SWRS document.
All critical and significant business rules identified in SWRS document.
All critical and significant system constraints identified in SWRS document.
Detailed and thorough consideration of all aspects of SWR document.
SWRS document is well presented, entirely correctly spelled, with no grammatical errors.
Almost all critical and significant NFRs addressed and related to prior analysis. Both runtime and non-runtime quality characteristics considered. Consideration of NFRs detailed and specific.
Prioritisation of NFRs clearly justified against specific needs of case study.
Costs and benefits of addressing almost all NFRs identified and discussed in relation to specific needs of case study.
Almost all system wide services identified in SWRS document.
Almost all l critical and significant NFRs addressed in SWRS and related to prior analysis.
Almost all critical and significant external interfaces identified in SWRS document.
Almost all critical and significant business rules identified in SWRS document.
Almost all critical and significant system constraints identified in SWRS document.
Detailed consideration of almost all aspects of SWRS document.
SWRS document is well presented, almost entirely correctly spelled, with few grammatical errors.
Most critical and significant NFRs addressed and related to prior analysis. Only runtime quality characteristics considered. Consideration of NFRs generalised.
Prioritisation of NFRs justified against general needs of case study.
Costs and benefits of addressing most NFRs identified and discussed in relation to general needs of case study.
Most system wide services identified in SWRS document.
Most critical and significant NFRs addressed in SWRS and related to prior analysis.
Most critical and significant external interfaces identified in SWRS document.
Most critical and significant business rules identified in SWRS document.
Most critical and significant system constraints identified in SWRS document.
Detailed consideration of most aspects of SWR document.
SWRS document is generally correctly spelled, and is written with generally correct grammar.
Some critical and significant NFRs addressed. Only runtime quality characteristics considered. Consideration of NFRs generalised.
Prioritisation of NFRs justified against general considerations.
Costs and benefits of addressing NFRs identified and discussed in general.
Some system wide services identified in SWRS document.
Some critical and significant NFRs addressed in SWRS and related to prior analysis.
Some critical and significant external interfaces identified in SWRS document.
Some critical and significant business rules identified in SWRS document.
Some critical and significant system constraints identified in SWRS document.
Generalised consideration of most aspects of SWR document.
SWRS document contains many spelling mistakes and grammatical errors.
No analysis of NFRs submitted or analysis of NFRS superficial and unrelated to case study.
No prioritisation of NFRs or prioritisation unrelated to needs of case study.
No costs or benefits of discussed.
No system wide services identified in SWRS document.
NFRs addressed in SWRS unrelated to prior analysis.
No critical and significant external interfaces identified in SWRS document.
No critical and significant business rules identified in SWRS document.
No system constraints identified in SWRS document.
Detailed and thorough consideration of all aspects of SWR document.
SWRS document is poorly presented, containing many spelling mistakes and generally poor grammar.
Architecture Notebook
Criteria High Distinction Distinction Credit Pass Fail
How well does the architecture notebook demonstrate the ability to evaluate a problem and determine an appropriate architectural style, and to evaluate and choose appropriate software design patterns to compose the design of a software system?
All goals and philosophies well explained, and completelyconsistent with high priority NFRs.
All critical architecturally significant requirements correctly identified and implications explained.
A comprehensive list (>4) of decisions and constraints identified. Decisions completely consistent with goals and philosophies, sensible, and well justified with reference to specific needs of case study.
A comprehensive list (>4) of architectural mechanisms identified. Mechanisms related to architecturally significant requirements.
Framework/architectural style sensible and completelyappropriate to case study. AllNFRs addressed.
Detailed and thoroughconsideration of all aspects of Architecture Notebook.
Architecture Notebook well presented, correctly spelled, with entirely correct grammar.
Almost all goals and philosophies well explained, and almost completelyconsistent with high priority NFRs.
Almost all critical architecturally significant requirements correctly identified and implications explained.
Many (>3) decisions and constraints identified. Decisions almost completely consistent with goals and philosophies, sensible, and justified with reference to specific needs of case study.
Many (>3) architectural mechanisms identified. Mechanisms related to architecturally significant requirements.
Framework/architectural style sensible and appropriate to case study. Almost all NFRs addressed.
Detailed and thoroughconsideration of almost allaspects of Architecture Notebook.
Architecture Notebook almost entirely correctly spelled, with mostly correct grammar.
Several goals and philosophies identified and explained.Generally consistent with high priority NFRs.
Most critical architecturally significant requirements correctly identified and implications explained.
Several (>2) decisions and constraints identified. Decisions generally consistent with goals and philosophies, sensible, and justified against general needs of case study.
Several (>2) architectural mechanisms identified. Mechanisms related to architecturally significant requirements.
Framework/architectural stylegenerally appropriate to case study. Most NFRs addressed.
General consideration of mostaspects of Architecture Notebook.
Architecture Notebook generally correctly spelled, with some incorrect grammar.
Some goals and philosophies identified and explained.Partially consistent with high priority NFRs.
Some critical architecturally significant requirements identified and implications explained.
Some (>1) decisions and constraints identified. Decisions somewhat consistent with goals and philosophies, and justified against general considerations.
Some (>1) architectural mechanisms identified. Mechanisms related to architecturally significant requirements.
Framework/architectural stylesomewhat appropriate to case study. Several NFRs notaddressed.
General consideration of someaspects of Architecture Notebook.
Architecture Notebook contains many spelling mistakes and several grammatical errors.
Very few or no goals and philosophies identified or explained, or inconsistent with high priority NFRs.
Very few or no critical architecturally significant requirements identified or any implications explained.
Very few or no decisions and constraints identified. Decisions inconsistent with goals and philosophies, silly, and not justified.
Very few or no architectural mechanisms identified. Mechanisms unrelated to architecturally significant requirements.
Framework/architectural style silly and inappropriate to case study. Very few or no NFRs addressed.
Generalised and superficial consideration of almost allaspects of Architecture Notebook.
Architecture Notebook poorly presented, and contains many spelling mistakes and frequent grammatical errors.
Component Diagram
Criteria High Distinction Distinction Credit Pass Fail
How well does the component diagram demonstrate competent use of a CASE tool and the ability to evaluate and choose appropriate software design patterns to compose the design of a software system in the context of designing and illustrating a software architecture? Functional and technical components completelyconsistent with functional and non-functional requirements of the case study.
Associations between components completelysupport communication needs of use case workflows.
Completely consistent with all other elements of the assignment.
Completely correct UML syntax and clear and well-presented diagram. Functional and technical components almost completely consistent with functional and non-functional requirements of the case study.
Associations between components almost completely support communication needs of use case workflows.
Almost completely consistent with almost all other elements of the assignment.
Completely correct UML syntax. Functional and technical components generallyconsistent with functional and non-functional requirements of the case study.
Associations between components generally support communication needs of use case workflows, some inconsistencies.
Generally consistent with other elements of the assignment.
Generally correct UML syntax. Functional and technical components somewhatconsistent with functional and non-functional requirements of the case study. Many requirements not addressed.
Associations between components showinconsistencies in supporting communication needs of use case workflows.
Partially consistent with other elements of the assignment.
Partially correct UML syntax. Functional and technical components inconsistent with functional and non-functional requirements of the case study.
Associations between components do not support communication needs of use case workflows.
Inconsistent with other elements of the assignment.
Incorrect UML syntax
Deployment Diagram
Criteria High Distinction Distinction Credit Pass Fail
How well does the deployment diagram demonstrate competent use of a CASE tool and the ability to evaluate and choose appropriate software design patterns to compose the design of a software system in the context of designing and illustrating a software architecture? Physical node layoutcompletely consistent with the case study.
All components shown in the component diagram are shown in the deployment diagram.
Design supports all functional and non-functional requirements of the case study.
All communication protocols between nodes correctly identified.
Consistent with all other elements of the assignment.
Fully correct UML syntax and a clear and well-presented diagram.
Physical node layout almost completely consistent with the case study.
Almost all components shown in the component diagram are shown in the deployment diagram.
Design supports almost allfunctional and non-functional requirements of the case study.
Almost all communication protocols between nodes correctly identified.
Consistent with almost allother elements of the assignment.
Fully correct UML syntax.
.
Physical node layout mostlyconsistent with the case study.
Most components shown in the component diagram are shown in the deployment diagram.
Design supports mostfunctional and non-functional requirements of the case study.
Most communication protocols between nodes correctly identified.
Consistent with most other elements of the assignment.
Generally correct UML syntax.
Physical node layoutsomewhat consistent with the case study.
Some components shown in the component diagram are shown in the deployment diagram.
Design supports somefunctional and non-functional requirements of the case study.
Some communication protocols between nodes correctly identified.
Consistent with some other elements of the assignment.
Partially correct UML syntax.
.
Physical node layoutinconsistent with the case study.
Very few or no components shown in the component diagram are shown in the deployment diagram.
Design supports very few or no functional and non-functional requirements of the case study.
No communication protocols between nodes identified.
Inconsistent with other elements of the assignment.
Incorrect UML syntax.
Presentation
You should submit:
a) A single Microsoft Word