Software Design & Architecture

BS Software Engineering - IV - A

Instructor: Baber Sheikh

📚 Lecture Materials

WEEK 1

Introduction to Software Design & Architecture

What is Software Architecture?

Bridging Requirements & Implementation

High Cohesion & Loose Coupling

Architectural Styles Overview

Quality Attributes & Tradeoffs

Software Design Guidelines

Open Lecture
WEEK 2

Software Architecture Design Space

Static, Runtime & Management Structures

Conway's Law

Software Elements

Connectors & Communication

Proxy Pattern

Agile & Delayed Binding

Open Lecture
WEEK 3

Models for Software Architecture

UML for Architecture

Structural vs Behavioral Diagrams

4+1 View Model

Architecture Views

Scenario Validation

ADLs

Open Lecture
WEEK 4

Data Flow Architecture (DFA)

Application domain of DFA

Benefits and Limitations of DFA

Batch Sequential Architecture

Pipe-and-Filter Architecture

Open Lecture
WEEK 5

Data-Centered Software Architecture

Introduction to Data-Centered Architecture

Repository Architecture

Blackboard Architecture

Applicable Domains

Benefits and Limitations

Integration with Other Architectures

Open Lecture
WEEK 6

Hierarchical Software Architecture

Introduction of Hierarchical Style

Main and Subroutine Architectural Style

Master-Slave Architectural Style

Layered Architectural Style

Virtual Machine Architectural Style

Open Lecture
Midterm 1

Mid 1 Syllabus and Guide

  • Syllabus
  • Use Case Practice Question 1
  • Use Case Practice Question 2
Open Guide
WEEK 11

Introduction to Pattern Designing

Design patterns and Frameworks

Factory Method design pattern with example

Abstract Factory design pattern with example

Builder design pattern with example

Prototype design pattern with example

Singleton design pattern with example

Open Lecture
WEEK 12

Structural and Behavioral Design Patterns

Adapter Pattern

Composite Pattern

Bridge Pattern

Decorator Pattern

Command Pattern

Iterator Pattern

Observer Pattern

Open Lecture
Final

Final Syllabus and Guide

  • Syllabus
  • Scenario Based Practice Question 2
  • Use Case Practice Question 5
Open Lecture

📖 Course Resources

📘

Syllabus

Sana Fatima

Download PDF
📘

Software Architecture and Design Illuminated

K. Qian, J. Fu, X. Tao, C.W. Xu, L. Diaz-Herrera

Download PDF
📗

Dive Into Design Patterns

Alexander Shvets (2019)

Download PDF
📙

Design Patterns Explained Simply

Alexander Shvets

Download PDF
📕

Software Architecture in Practice

Len Bass, Paul Clements, Rick Kazman (2nd Ed.)

Download PDF
📕

Project Details

April 30 Deadline

Open Details
📕

Groups List

SDA Project

Download PDF