5.software Design
5.software Design
5.software Design
Introduction
Design phase transforms SRS document:
into a form easily implementable in some
programming language.
Design Activities
SRS Document Design Documents
ELEMENTS OF A SYSTEM
1. module structure,
2. control relationship among the modules
d1 d2
d3 d1 d4
High-level design
The outcome of high-level design:
program structure (or software
architecture).
Detailed design
For each module, design:
1. data structure
2. algorithms
Understandability of a design is a
major issue:
determines goodness of design:
a design that is easy to understand:
also easy to maintain and change.
What Is Good Software Design?
functional
sequential
communicational Degree of
procedural cohesion
temporal
logical
coincidental
Coincidental cohesion
Functions:
Issue-book
create member
request librarian leave
Logical cohesion
The module contains functions that are related by the fact that all
the functions must be executed in the same time span.
display
Functional cohesion
data
stamp
control Degree of
coupling
common
content
Depth:
number of levels of control
Fan-out:
a measure of the number of modules
directly controlled by given module.
Module Structure
Fan out=2
Fan out=1
Fan in=2
Fan out=0
Goodness of Design
Function-oriented design
Object-oriented design
Function-Oriented Design
Each subfunction:
In OOD:
software is not developed by designing
functions such as:
1. update-employee-record,
2. get-employee-address, etc.