Want to create interactive content? It’s easy in Genially!

Get started free

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:

Transcript

Modular Design

3_swarna_6

*** Quick Review of Modular Design

01

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.

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 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

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

identify

How to know if design is modular?

Modules

test

Modules independently of the rest of the code

Layered Design

02

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

portability. maintainability. reusability.

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)

Q3. What are a few outstanding benifits of using layered designs?

The End

:)