Software Architectures and Design
Overview
The unit aims to facilitate an in-depth study of state-of-the-art approaches and techniques for system design with a special focus on the relationship between non-functional requirements and software architectures.
Requisites
Learning outcomes
Students who successfully complete this unit will be able to:
- Given a set of user goals and priorities, identify, formulate and analyse the requirements and constraints of a software system under consideration (K3, K6, S1, A2, A4, A5)
- Identify, construct and justify design abstractions at suitable levels for given user goals and system constraints (K3, K6, S1, S2, S3, A4, A6)
- Analyse a given system design in terms of the common design patterns used, and its benefits, limitations and appropriateness for the given user goals and priorities (K3, S1, A2, A4)
- Given a system’s specification, formulate and document architectural decisions in terms of common patterns, and analyse the benefits and limitations of these decisions (K3, S1, S3, A4, A5)
- Record and describe their design decisions and structures using a contemporary modelling language (K3, S1, S3, A4, A5)
Teaching methods
Hawthorn
Type | Hours per week | Number of weeks | Total (number of hours) |
---|---|---|---|
Live Online Lecture | 2.00 | 12 weeks | 24 |
On-campus Class | 1.00 | 12 weeks | 12 |
Online Directed Online Learning and Independent Learning | 2.00 | 12 weeks | 24 |
Unspecified Activities Independent Learning | 7.50 | 12 weeks | 90 |
TOTAL | 150 |
Sarawak
Type | Hours per week | Number of weeks | Total (number of hours) |
---|---|---|---|
On-campus Lecture | 2.00 | 12 weeks | 24 |
On-campus Class | 1.00 | 12 weeks | 12 |
Online Directed Online Learning and Independent Learning | 2.00 | 12 weeks | 24 |
Unspecified Activities Independent Learning | 7.50 | 12 weeks | 90 |
TOTAL | 150 |
Assessment
Type | Task | Weighting | ULO's |
---|---|---|---|
Analysis | Group | 15 - 25% | 1 |
Design Project | Group | 15 - 25% | 2,3,4,5 |
Design Project | Group | 15 - 25% | 2,3,4,5 |
Final-Semester Test | Individual | 20 - 40% | 1,2,3,4,5 |
Weekly Class Tests | Individual | 10 - 20% | 1,2,3,4,5 |
Hurdle
As the minimum requirements of assessment to pass a unit and meet all ULOs to a minimum standard, an undergraduate student must have achieved:
(i) An aggregate mark of 50% or more, and(ii) At least 40% in the final assessment test, and(iii) At least 40% of the possible marks for the weekly questions and answers.Students who do not successfully achieve hurdle requirements (ii) and (iii) will receive a total mark for the unit of at most 45%.
Content
Specifications
- User goals
- Constraints
- Priorities
- Validation
- Analysis
Abstractions and Patterns
- Abstractions in software
- Levels of abstraction
- Object-oriented abstractions
- Common patterns (structural and behavioural)
- Pattern recognition and identification
- Pattern systems
Software Architectures
- Decisions vs. structures
- Architectural patterns
- Documentation and communication
Architectural Styles
- Message-driven architectures
- Client-server architectures
- Layered Architectures
Study resources
Reading materials
A list of reading materials and/or required textbooks will be available in the Unit Outline on Canvas.