Want to create interactive content? It’s easy in Genially!
The Story of Modular Design
Connor Tynan
Created on October 21, 2024
3_swarna_6
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Memories Presentation
View
Pechakucha Presentation
View
Decades Presentation
View
Color and Shapes Presentation
View
Historical Presentation
View
To the Moon Presentation
View
Projection Presentation
Transcript
Modular Design
3_swarna_6
01
*** Quick Review of Modular Design
WHAT IS MODULAR DESIGN?
Modular design means organizing code into modules, so that each module has high cohesion and that modules have low coupling between them.
What is Cohesion?
Cohesion is a measure of how focused or strongly-related the responsibilities of a single module are.An element with low cohesion does many unrelated things
If an element has low cohesion:
- Increased difficulty in understanding modules.
- Increased difficulty in maintaining a system, because logical changes in the domain affect multiple modules, and because changes in one module require changes in related modules.
- Increased difficulty in reusing a module because most applications won’t need the random set of operations provided by a module.
What is Low Coupling?
To have low coupling, modules interact with each other through a simple interface and don't need to know the other module's internal implementation
Why is Modular Design Important?
Allows for greater flexibility Cost-efficiency Ease of maintenance
How to know if design is modular?
identify
test
Modules
Modules independently of the rest of the code
02
Layered Design
Q1. What do you understand by layered design
Layering is a special case of modular design.Where modules are organized into layers.Modules in an upper layer are allowed to use the modules in the lower layer below it. It provides levels of abstraction to do complex tasks easier
Q2. Give two examples of Layered design in real-life complex software.
1. Networking Systems2. Operating Systems Design
Q3. What are a few outstanding benifits of using layered designs?
It is important tool for managing complexity. One can undertake understanding the functionality of one layer at a time. change in a layer can be hidden behind its interfacea layer can be substituted by another implementation of the layer.a layer can be reused in some other system.a blueprint for constructing the systemdevelopment can proceed a layer at a time.specialized teams can be assigned to layers (skilled GUI developers to GUI layer)
portability. maintainability. reusability.
The End
:)