Question 1 – Software Architecture – 80 marks

Given a case study, analyse the non-functional requirements of the proposed system, and define an architecture for the system. Illustrate the static structure of your architecture with logical and deployment views

Part 1 – Non-Functional Requirement (NFR) Analysis – 20 marks

Conduct an NFR analysis for the given case study using the provided checklist as a starting point. Add to the checklist as appropriate for the case study. Present the results in tabular form as follows:

NFR Question Benefits Costs Response Strategy Priority
Security Is security a concern?

What sort of different access levels might be necessary?

Protects the system from unintentional breaches of privacy.

etc

Makes the system harder to use, more expensive to build. May have performance implications. Yes, security is a concern, we don’t want customers seeing other customers data, and we don’t want staff access other staffs records. Authentication and Authorisation 2

Once you have considered all NFRs, rank them in priority from the stakeholder’s perspective. Do not allocate the same priority to any NFRs – make an executive subjective decision and rank them.

Produce a summary of your (at least) 5 most important NFRs. Explain and justify why these are the most important from the stakeholder’s point of view.

Part 2 – Architecture Notebook – 40 marks

Present this in the form of a Software Architecture Notebook with the following headings:

1. Goals and Philosophy – identify the key non-functional requirements (e.g. security, reliability, availability, maintainability, compatibility, etc.) that the system is attempting to satisfy.

2. Assumptions, Constraints and Dependencies – identify existing or proposed technology environments that will support or constrain the system. Identify external systems and databases with which the system will interact. Note: assumptions, constraints, and dependencies are pre-existing facts: they are observations, rather than the result of a choice.

3. Architecturally Significant Requirements – identify key functional/non-functional requirements that have important implications for the technical architecture of the system and say what the implications are for those requirements.

4. Decisions and Justifications – Identify the decisions made in determining the technical architecture and user interface technology. Justify these against the key goals and philosophies driving the architecture.

5. Architectural Mechanisms – Identify the key strategies that you will implement to achieve the NFRs critical to your application.

6. Architectural Style and Technological Framework – state the overall architectural style that you have chosen as the basis for your application and explain why it meets the goals of the architecture. Then identify the technical platform with which you will implement your design and explain why that platform is a suitable choice.

Part 3 – Architectural Views – 20 marks

Review the functional requirements for the system and identify a set of functional components. Review the system-wide services required by the system and identify a set of technical components. Illustrate your analysis with a component diagram showing logical or conceptual functional and technical components.

Analyse the hardware and network layout of your proposed system and produce a deployment diagram showing that layout. Identify execution environments in each of your hardware nodes. Then map the functional and technical components you previously identified into the various execution environments as deployable software components. You may need to divide the logical components identified previously into smaller deployable units representing both horizontal divisions (presentation, business logic, and data layers) and vertical divisions (e.g. customer view, staff view, management view etc).

Question 2 – Database Design- 20 Marks

Given a set of domain objects for the case study, define a set of database tables in 3rd normal form to represent those objects. Identify and discuss any new entity objects that perhaps should be recognised in the domain model.

Rationale

This assessment task will assess the following learning outcome/s:

  • be able to analyse and verify system requirements.
  • be able to produce and verify analysis and design models for a system.

Provide a mechanism to assess whether students have the required assumed knowledge to successfully complete the subject.

Marking criteria and standards

Question 1 Part 1:  NFR Analysis – 20 marks
Criteria High Distinction Distinction Credit Pass
Mark 17-20 15-16 13-14 10-12
LO2
How well does the NFR analysis reflect the concerns of stakeholders and consider the runtime and non-runtime system qualities necessary to make the system fit-for-purpose?
Insightful and thorough understanding of system quality requirements demonstrated through accurate and comprehensive consideration of almost all NFRs.

All NFRs clearly stated in problem domain terms. Consideration of NFRs closely reflects stakeholder concerns.

All critical and significant NFRs thoroughly considered. Both runtime and non-runtime quality characteristics considered. Consideration of NFRs detailed and context specific.

Costs and benefits of addressing all NFRs clearly identified and discussed in relation to specific needs of the case study.

Appropriate strategies identified for almost all critical and significant NFRs

Prioritisation of NFRs clearly and correctly justified against specific needs of the case study.

Thorough understanding of major system quality requirements demonstrated through accurate and thorough consideration of all key NFRs. Some minor requirements may have been overlooked.

Almost all NFRs stated in problem domain terms. Consideration of NFRs generally reflects stakeholder concerns.

Almost all critical and significant NFRs considered. Both runtime and non-runtime quality characteristics considered. Consideration of NFRs context specific.

Costs and benefits of addressing almost all NFRs identified and discussed in relation to specific needs of the case study.

Appropriate strategies identified for most key NFRs

Prioritisation of NFRs clearly justified against specific needs of the case study.

A correct understanding of major system quality requirements demonstrated through sound consideration of most key NFRs. Some important requirements may have been overlooked.

Most NFRs stated in problem domain but some stated in solution domain terms. Consideration of NFRs partially reflects stakeholder concerns but also displays analyst bias.

Most critical and significant runtime NFRs considered. Consideration of NFRs generalised.

Costs and benefits of addressing NFRs identified and discussed in general.

Strategies identified for some key NFRs

Prioritisation of NFRs justified against general needs of the case study.

Partially correct understanding of major system quality requirements demonstrated through shallow consideration of some key NFRs. Many important requirements may have been overlooked.

Some NFRs stated in problem domain but most stated in solution domain terms. Consideration of NFRs mainly reflects analyst bias.

Some critical and significant runtime NFRs addressed. Consideration of NFRs generalised.

Costs and benefits of addressing NFRs not discussed.

No strategies identified.

Prioritisation of NFRs justified against general considerations.

Question 1 Part 2:  Architectural Notebook – 40 marks
Criteria High Distinction Distinction Credit Pass
Mark 34-60 30-33 26-32 20-25
How well does the Architectural Notebook demonstrate the ability to evaluate a problem and determine the appropriate architectural style for the solution? All goals and philosophies well explained, and completely consistent with high priority NFRs.

Detailed and thorough consideration of all aspects of Architecture Notebook.

Framework/architectural style completely appropriate to the case study, with any adaptations, modifications or additions explained All NFRs addressed.

Architecture Notebook well presented and is free of errors in grammar, punctuation, and spelling.

Almost all goals and philosophies well explained, and almost completely consistent with high priority NFRs.

Detailed and thorough consideration of almost allaspects of Architecture Notebook.

Framework/architectural style appropriate to the case study, with some adaptations, modifications or additions explained. Most NFRs addressed.

Architecture Notebook generally error-free, but some errors in language or grammar may occur.

Several goals and philosophies identified and explained. Generallyconsistent with high priority NFRs.

General consideration of most aspects of Architecture Notebook.

Framework/architectural style generally appropriate to the case study. Most critical NFRs addressed.

Architecture Notebook may contain errors in style or grammar occur, but these are not particularly distracting.

Some goals and philosophies identified and explained. Partially consistent with high priority NFRs.

General consideration of some aspects of Architecture Notebook.

Framework/architectural style partially appropriate to the case study. Some critical NFRs addressed.

Architecture Notebook contains enough errors in style or grammar occur that they become distracting.

Question 1 Part 3:  Architectural Views – 20 marks
Criteria High Distinction Distinction Credit Pass
Mark 17-20 15-16 13-14 10-12
LO2 & LO3
How well do the architectural views reflect an ability to decompose a system into high-level logical components and then map these to deployable software components.
Fully correct understanding of functional and technical components consistent with case study requirements.

Almost completely correct understanding and depiction of hardware nodes and execution contexts, consistent with the chosen technical architecture.

Almost completely correct breakdown and mapping of software components to hardware nodes and execution contexts.

Well laid out, clear, syntactically correct presentation fully consistent with the environment, network and technical architecture chosen.

Mostly correct understanding and depiction of hardware and software components, consistent with the chosen technical architecture.

Mostly correct understanding and depiction of hardware nodes and execution contexts, consistent with the chosen technical architecture.

Mostly correct breakdown and mapping of software components to hardware nodes and execution contexts.

Clear, syntactically correct presentation mostly consistent with the environment, network and technical architecture chosen.

Generally correct understanding and depiction of hardware and software components. May only be partially consistent with chosen technical architecture.

Generally correct understanding and depiction of hardware nodes and execution contexts, consistent with the chosen technical architecture.

Generally correct breakdown and mapping of software components to hardware nodes and execution contexts.

Syntactically correct presentation generally consistent with the environment, network and technical architecture chosen.

Partially correct understanding and depiction of hardware and software components. May not be consistent with chosen technical architecture.

Partially correct understanding and depiction of hardware nodes and execution contexts.

Partially correct breakdown and mapping of software components to hardware nodes and execution contexts.

Understandable presentation generally consistent with the environment, network and technical architecture chosen.

Question 2:  Database Design – 20 marks
Criteria High Distinction Distinction Credit Pass
Mark 17-20 15-16 13-14 10-12
How well does the database design reflect an understanding of the concepts of object-relational mapping and the process of database normalization Completely correct mapping of domain model into relational tables.

Completely correct representation of all inheritance and compositional relationships.

Comprehensive and insightful identification and discussion of all useful and appropriate new domain objects.

Completely correct set of normalised tables that fully and minimally represent the domain model presented.

Nearly completely correct mapping of domain model into relational tables.

Nearly completely correct representation of most inheritance and compositional relationships.

Thorough identification and discussion of useful and appropriate new domain objects.

Nearly completely correct set of normalised tables that fully represent the domain model presented.

Leave a Reply