Want to create interactive content? It’s easy in Genially!
Get started free
WK9_MON_DESIGN
Nate Church
Created on October 21, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Puzzle Game
View
Scratch and Win
View
Microlearning: How to Study Better
View
Branching Scenarios Challenge Mobile
View
Branching Scenario Mission: Innovating for the Future
View
Piñata Challenge
View
Teaching Challenge: Transform Your Classroom
Transcript
Q1: Define Modular Design?
Organizing code into modules so that each module has high cohesion and low coupling between them
Q2: What is Cohesion?
This is a measure of how focused the responsibilities of a single modular are. Elements with low cohesion do many unrelated things
Q3.What does it mean for a module to have a low coupling?
Answer:Low coupling means not many interconnections (GOOD)
q4: What are the three main reasons that modular design is important?
1. You can keep to budget
- You can divide up the development and testing work
- Less time spent fixing bugs
- People don't need to rely on others finishing or how their parts are connected to begin work
2. System will be Maintainable
- Easier to pinpoint the cause of bugs to a module and then fix them
- Easier to isolate and test a module before integrating with other modules
- Easier to understand the entire systerm and how to modify it
- Easier to replace a module with a better version
3. System will be Reliable
- Modular design aids in understanding the entire design to identify and fix flaws and ensures each part can be tested individually for correct functionality.
Q5. How will you know if your design is modular?
Answer: You know your design is modular if you can identify modules and test each module independently of the rest of the code.
Q6. What do you understand by layered design?
Answer: This is a special case of modular design. The modules are organized into layers. Modules in an upper layer are allowed to use the modules in the lower layer below it.
Q7.GIve two examples of layered design in real-life complex software.
Answer:
1. Operating Systems: These are some of the most complicated systems. But, UG students can learn about quite a lot of details of O/S in a single course - because the design is layered and modular.
2. Networking Systems: These are some of the most complicated systems. But, UG students can learn about quite a lot of details of networking in a single course - because the design is layered and modular.
Q8. What are a few outstanding benefits of using layered design?
Answer:
Can help manage the complexity of the design by allowing a person to understand one layer at a time.
Portability. Maintainability. Reuseability.
- Change in a layer can be hidden behind its interface
- A layer can be substituted by another implementation of the layer.
- A layer can be reused in another system
It is a blueprint for constructing the system
- Too many modules etc -> laayering helps focus on a specific part
- Development can proceed a layer at a time
- Specialized teams can be assigned to layers (skilled GUI developers to GUI layer