Computer Science 290 Fall 2013
Gregory M. Kapfhammer
Software Design
Refactoring
Modularity
Coupling
Between modules
Tight
Loose
Uncoupled
Coupled according to ...
Control
Data
Cohesion
Within modules
Interfaces
Why?
Information Hiding
Good?
Bad?
Good!
UML
Static
Dynamic
Design Patterns
Visitor
Let's Try It! Fun!
Lessons?
Final Project
Other Design Considerations
Data Management
Databases
Exception Handling
Measurement
Status Update
Next?