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

Prerequisites
COS20007 Object Oriented Programming

AND

150 credit points

Teaching periods
Location
Start and end dates
Last self-enrolment date
Census date
Last withdraw without fail date
Results released date

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
TOTAL150

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
TOTAL150

Assessment

Type Task Weighting ULO's
AnalysisGroup 15 - 25% 
Design ProjectGroup 15 - 25% 2,3,4,5 
Design ProjectGroup 15 - 25% 2,3,4,5 
Final-Semester TestIndividual 20 - 40% 1,2,3,4,5 
Weekly Class TestsIndividual 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.