CYBR 4650 Advanced Software Architecture

Year
Year 4
Semester
Second Semester
Credit
3
Program Description

Design patterns and structural strategies for complex systems.

Course overview

This course moves beyond basic coding to explore the structural foundations of large-scale software. You will learn how to design systems that are scalable, secure, and easy to maintain. The curriculum focuses on design patterns and structural strategies that professional software architects use to solve complex problems.

You will work on real-world scenarios where you must choose the right architectural style for a given set of requirements. The course emphasises documentation and communication, ensuring you can justify your design choices to technical and non-technical stakeholders alike.

Who takes this course

This course is a required component for students in the Bachelor of Applied Technology — Software Development program. It prepares you for senior development roles and technical leadership positions in the software industry.

Credits: 3 · Hours: 45

Prerequisites

Learning outcomes

  • Evaluate and select appropriate design patterns for complex software requirements.
  • Architect scalable and maintainable system structures using industry-standard frameworks.
  • Analyze trade-offs between different architectural styles such as microservices and monoliths.
  • Apply refactoring techniques to improve existing codebases without altering external behaviour.
  • Document architectural decisions and system constraints for stakeholder review.

Evaluation

Component Weight (%)
Mid-term architectural design project 30
Final system architecture portfolio 40
Peer code review and participation 15
Final written examination 15