Lecture 4A: Modular Design IT 202—Internet Applications Based on notes developed by Morgan Benton
For Today A brief discussion of Modular Design
What is Modularity? A module refers to a self-contained unit which is part of some larger system Sometimes a module is complete enough to stand alone, but more often it is only useful when coupled with other modules Modularity refers to a style of thinking which breaks down systems into modules Modular Design is the practice of designing systems specifically to be composed of modules
What is Coupling? The term coupling refers to the degree of interdependence of two objects or modules The greater the coupling, the more difficult it is for a module to stand alone Generally speaking, good designs minimize coupling (dependence) between objects or modules
Benefits of Modularity Reduced complexity Ease of development Ease of maintenance Better security Increased chances for reuse of code
Use Case Diagrams Let’s try this together