1
Software Design
Lecture : 5
2
3
Introduction to Software Design
4
Software Design in a Nutshell
Ø
Structures are the most stable things in your
system
ü
•
They have to hold even after years.
System design
ü
Lays down a structure for the system
ü
Divides the future system in parts which can be
5
Importance of Software Design
6
Software Design Activities
Ø
Design
“The process of defining the architecture,
components, interfaces, and other
characteristics of a system or
component.”
7
Architectural design
“The process of defining a collection of hardware and
software components and their interfaces to establish
the framework for the development of a computer
system”
8
Preliminary design
“The process of analyzing design alternatives and
defining the architecture, components, interfaces,
and timing and sizing estimates for a system or
component.”
9
Detailed design
“ The process of refining and expanding the preliminary
design of a system or component to the extent that the
design is sufficiently complete to be implemented”
10
Overall Design Activities
High level Design / Architectural Design
ü
Hierarchical decomposition of the system into
subsystems
ü
Determine components and assign to subsystems
ü
Determine relationships between components
11
Software Architecture
“The software architecture of a program or computing
system is the structure or structures of the system, which
comprise software elements, the externally visible
properties of those elements, and the relationships among
them “
From :Bass, L., Clements, P., Kazmann, R. (2003): Software
Architecture in Practice, 2nd Edition, AddisonWesley
12
Lehman‘s First Law of Software
Evolution
Ø
“A program that is used as an implementation of
software specification reflects some reality,
undergoes continual change or becomes
progressively less useful.”
Result:
13
Bersoff‘s First Law of System
Engineering
Ø
“No matter where you are in the system life
cycle, the system will change and the desire to
change it will persist throughout the life cycle.”
Result:
14
Cost of Bad Design
15
Design Metaphor
16
17