Software Architecture

Back to UWaterloo

4+1 Architectural view

Describing a system from the point of view of different stakeholders

Architectural Styles

Architectural Patterns
1 Layered
2 Data Flow

Batch Sequential is a data-flow style

Pipe and Filter style

3 Shared Memory

blackboard style

rule-based style

4 Interpreter
5 Implicit Invocation
6 Peer-to-Peer style
Recovering style

Architecture Modeling



Non functional properites: confidentiality, integrity, availaiblity


Layered Architectures

Dependency Injection

Guice (Juice)

Motivation behind DI

Checker Framework

Java static analysis tool. Pluggable type systems all more expressiveness and allows for multiple type systems for differing needs

Hints for Computer system design