Unit 3
Design Modeling
What is Software Design?
1. Software Design is a critical phase in the software development life cycle that involves creating a
blueprint for the construction of a software system.
2. It encompasses the process of defining the architecture, components, modules, interfaces, and data
for a software application to ensure that it meets specified requirements and is maintainable,
scalable, and efficient.
3. The design phase of software development deals with transforming the customer requirements as
described in the SRS documents into a form implementable using a programming language.
4. The software design process can be divided into the following three levels or phases of design:
● Interface Design
● Architectural Design
● Detailed Design
Translating the requirements model into a design model
Design Framework
Objectives of Design
1. Correct and Complete
2. Understandable
3. At the right level
4. Maintainable, and to facilitate maintenance of the produced code.
Modularity
1. Modularity in software engineering means breaking complex software systems
down into smaller manageable modules or components that are tightly coupled
together.
2. They can also be constructed as independent subsystems designed and
executed individually apart from other system elements since each module
carries out a specific mission.
3. The aim, therefore, is to simplify by modularizing the program into units or
reusable building blocks that can be easily exchanged for one another.
Modularity and Software Cost
Module Coupling
Types of Coupling
Module Cohesion
Types of Cohesion
Relationship between cohesion and coupling
Design Strategies
1. Bottom-up Design
2. Top-Down Design
3. Hybrid Design
Function-oriented Design
1. DFD
2. Data Dictionary
3. Structure Charts
4. Pseudocode
Structure Chart
Structure Chart partitions the system into black boxes (functionality of the system is
known to the users, but inner details are unknown).
1. Inputs are given to the black boxes and appropriate outputs are generated.
2. Modules at the top level are called modules at low level.
3. Components are read from top to bottom and left to right.
4. When a module calls another, it views the called module as a black box, passing
the required parameters and receiving results.
Symbols in Structured Chart
It represents the process or task of the system. It is of three types:
1. Module
2. Conditional Call
3. Loop
4. Data Flow
5. Control Flow
6. Physical storage
Structure Chart Notations