Software Engineering Software Design Notes
Software Engineering Software Design Notes
Software Engineering Software Design Notes
Interface
Design
Component
Design
Class
Design
Why is Design Important?
Should be complete
• A design should lead to data structures that are appropriate for the classes
to be implemented and are drawn from recognizable data patterns.
Independence is important –
• Easier to develop
• Easier to Test and maintain
• Error propagation is reduced
• Reusable module
Coupling and Cohesion
Coupling: is the degree of interdependence
between modules or software components
Cohesion: is the degree to which elements
in the module belongs together
Architecture Design