Software Architecture & Design¶
Notes from Software Architecture and Design Course. These contain links to Piazza forums, and private Google Drive. If you are not a student of this course during this duration, you won’t be able to access them.
If you find some link is exposed, which should not be, please report it.
- Introduction
- Text Browser Exercise (Analysis)
- Design Concepts
- Review of UML
- Clock Radio Exercise
- Modeling with Statecharts
- Clock Radio Description
- Percepts
- Percept States and Finite State Machines
- Events and External Controls
- Outermost Statechart Layer
- Setting the Time
- Stimulus-Response Table
- Timer Events and Internal States
- Coordination Mechanisms
- Validation
- Statechart Modeling Method Summary
- Conclusion
- Object Oriented Analysis Exercise
- UML Class Models
- Design Studies
- Library Exercise (UML)
- Formal Specification Exercise
- OCL
- Library Exercise (OCL)
- Behavior Modeling
- KWIC Exercise
- Guest Interview- LayerBlox
- Overview of Architectural Styles
- Architectural Views
- Text Browser Exercise (Arch)
- Non-Functional Reqs & Arch Styles
- Connectors
- Acme
- Refinement
- Middleware
- Components
- Coffee Maker Exercise
- Object Design
- Intermodel Consistency
- From Analysis to Design
- System Design Considerations
- Abstraction Mechanisms
- Collaboration-Based Design
- Sources for Methods
- New Classes in Design
- Implementing Generalization
- Implementing Associations
- Implementing Dependencies
- Implementing Control (StateCharts)
- Abstract Classes and Interfaces
- Summary
- Design Patterns
- Design Principles
- Foundational Concepts
- Design Principles Catalog
- Liskov Substitution Principle (LSP)
- Law of Demeter
- Hollywood Principle (Inversion of Control)
- Dependency Inversion Principle (DIP)
- Open-Closed Principle (OCP)
- Interface Segregation Principle (ISP)
- Reuse Principles
- Acyclic Dependency Principle
- Stable Dependency Principle
- Bad Smells (Refactoring Principles)
- Riel’s Design Heuristics
- Single Choice Principle
- Transparency
- Intentionality
- Summary
- Design Reviews
- Geeks in Black- The Code Review