Computer Science 290 Fall 2013
Gregory M. Kapfhammer
Software Architecture
What?
Not that!
Large and complex systems
Cannot go directly to ...
algorithms
data structures
Decompose the system
Key tasks
All possible cases
Even exceptional cases
Reference architectures
Compiler
Figure 5.3
Pipes and filters
Client-server
Peer-to-peer
Publish-subscribe
Repositories
Layering
Combining architectures
Performance
Response time
Throughput
Scalability
Case Study
This will be ...
Fun!
and
informative!
The structure of JUnit