ISTS4201 - Architecture and Design
Overview
This course introduces principles and practices of software architecture and design for building maintainable, scalable, secure, and sustainable software systems. Students learn how to transform requirements into architectural decisions, select appropriate architectural styles, define components and interfaces, document designs, reason about trade-offs, and evaluate architecture against quality attributes. The curriculum covers stakeholder needs, functional and non-functional requirements, abstraction, modularity, separation of concerns, architectural views, C4 model, UML modeling, layered architecture, client-server, microservices, event-driven architecture, domain-driven design concepts, API design, data architecture, deployment architecture, security and privacy by design, architecture decision records, technical debt, architecture evaluation, and professional design communication. Through a semester-long project, students produce an architecture and design portfolio for a realistic software system case.
Pre-requisites:
Learning Hours Composition:
- 42 hours face to face, consisting of 14 sessions of lecturing, tutorial or workshop.
- 28 hours of Structured Learning and Guided Group Discussions
- 65 hours of Independent, Project-Based Learning
Managing Faculty:
Credit Point:
3 Credit(s)
Learning Hours:
45 hours x 3 CPs = 135 hours

