📚 Lecture Materials
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
Software Architecture Design Space
Static, Runtime & Management Structures
Conway's Law
Software Elements
Connectors & Communication
Proxy Pattern
Agile & Delayed Binding
Models for Software Architecture
UML for Architecture
Structural vs Behavioral Diagrams
4+1 View Model
Architecture Views
Scenario Validation
ADLs
Data Flow Architecture (DFA)
Application domain of DFA
Benefits and Limitations of DFA
Batch Sequential Architecture
Pipe-and-Filter Architecture
Data-Centered Software Architecture
Introduction to Data-Centered Architecture
Repository Architecture
Blackboard Architecture
Applicable Domains
Benefits and Limitations
Integration with Other Architectures
Hierarchical Software Architecture
Introduction of Hierarchical Style
Main and Subroutine Architectural Style
Master-Slave Architectural Style
Layered Architectural Style
Virtual Machine Architectural Style
Mid 1 Syllabus and Guide
- Syllabus
- Use Case Practice Question 1
- Use Case Practice Question 2
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
Structural and Behavioral Design Patterns
Adapter Pattern
Composite Pattern
Bridge Pattern
Decorator Pattern
Command Pattern
Iterator Pattern
Observer Pattern
Final Syllabus and Guide
- Syllabus
- Scenario Based Practice Question 2
- Use Case Practice Question 5