Skip to Main Content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.

Software Design and Architecture: Course Outline

The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them.


Introduction to Software Design

  • Introduction to Software Architecture
  • Introduction to Software Design
  • Design Vs. Architecture

Software Architecture Core Concepts

  • Define Software Architecture
  • Architecture Address NFR
  • Architectures and Technologies

Software Architecture Business Cycle

  • Where do architecture comes from
  • Software process and architecture business cycle
  • What makes a good architecture

Software Architecture Business Cycle

  • Activities in software process and architecture business cycle
  • Architectural Structures and views

Quality Attributes in Software Architecture

  • Motivation
  • What are the different Quantity attributes
  • Performance, Scalability, Modifiability, Security, Availability, Robustness
  • How to Achieve quality attributes at architectural level

Software Architecture Process

  • Process Outline
  • Architecture Design
  • Validation

Case Study (solution)

  • Architecture Patterns
  • Structural View
  • Behavioural View
  • Implementation Issues


Documenting Software Architecture

  • Architecture Requirements
  • Solution
  • Architecture Analysis

Introduction to design

  • Introduction to Unified modelling language (UML)
  • Structural and behavioural diagrams

Introduction to design

  • Introduction to Unified modelling language (UML)
  • Structural and behavioural diagrams


  • Modeling structural (class diagram) and behavioral diagram (use case, sequence diagram and state machine diagram) of online shopping application

Introduction to Software Product Line engineering

  • Overview
  • What makes SPL works
  • Architectures for Product Lines

Aspect Oriented Architecture

  • Introduction to Aspect-Oriented Programming (basic concepts)
  • Aspect oriented architecture
  • Aspect oriented Modelling using UML
  • Aspect Oriented Modelling tools

Model-Driven Architecture

  • What is MDA?
  • Why MDA?
  • State of the Art Practices and Tools

Text Books

E-Books (Full Text)