SlideShare a Scribd company logo
1 of 47
Download to read offline
Software Engineering
Design Concepts & Principles
Transition From
Analysis To Design
Data design
Architectural design
Interface design
Component-
level design
Data
dictionary
PSPEC
DFD
CSPEC
STD
ERD
DOD
ANALYSIS MODEL
DESIGN MODEL
Design Model
Transforms structural elements of the S/w
architecture into a procedural description of
SW components
Component-level
design
- How S/w communicates within itself, with
systems that interoperate with it, with
humans
- A flow of information & type of behavior
Interface design
- Defines relationship between structural
elements of the SW,
- Represents the framework of computer
based systems.
Architectural
design
Transforms information domain model into
data structures
Data design
Importance of Software Design
Quality
Representations
of SW
Translate
customer
requirements
Design Process
 SW design is an iterative process
 Requirements are translated 
“blueprint” for constructing the SW
A Model of the Design Process
External
requirements
1. Identify
nature of
requirement
2. Analyse
& build
model of
problem
3.postulate
a design
solution
4.validate
solution
5.refine
design
solution
6.implement
solution
Requirements
specification
Functional
specification
Functional
specification
Seek new
solution
Designer’s
model
Designer’s
model
Design
‘blueprints
’
Mismatches
between
model &
requirement
Design Guidelines
 A design should exhibit an architectural structure
 A design should be modular
 A design should contain distinct representations of
data, architecture, interfaces, & components
 A design should lead to data structures that are
appropriate for the objects to be implemented
 A design should lead to components that exhibit
independent functional characteristics
 A design should lead to interfaces that reduce the
complexity of connections between modules &
external environment
 A design should be derived using a repeatable
method , driven by information obtained during
SW requirement analysis
Design Guidelines
Design Principles
 The design process should not suffer from
‘tunnel vision’
 The design should be traceable to the analysis
model
 The design should not reinvent the wheel
 The design should ‘minimize the intellectual
distance” between the SW and the problem as it
exists in the real world
 The design should exhibit uniformity &
integration
Design Principles …cont.
 The design should be structured to
accommodate change
 The design should be structured to degrade
gently, even when aberrant data, events, or
operating conditions are encountered
 Design is not coding, coding is not design
 The design should be assessed for Quality as it
is being created, not after the fact
 The design should be reviewed to minimize
conceptual (semantic) errors
Fundamental SW Design Concepts
Abstraction –
data, procedure,
control
Refinement –
elaboration of detail
for all abstractions
Modularity –
compartmentalization
of data & function
Architecture – overall
structure of the SW
Procedure –
algorithms that
achieve function
Information
hiding– controlled
interfaces
Design Concepts
1. Abstraction
• concentrate on the essential features and
ignore details that are not relevant
 Procedural abstraction = a named sequence of
instructions that has a specific & limited function
 Data abstraction = a named collection of data that
describes a data object
 Control abstraction = implies a program control
mechanisms without specify internal details
Design Concepts…cont
2. Refinement
• stepwise refinement = top down strategy
• refine levels of procedural detail
• develop hierarchy by decompose a procedural
abstraction in a stepwise fashion until programming
languages are reached
• similar to the process of refinement & partitioning in
requirement analysis
• abstraction & refinement are complementary
concepts
Suppress low-
level details
Reveal
low-level
details
Design Concepts…cont
3. Modularity
• system is decomposed into a number of modules
• software architecture and design patterns embody modularity
• 5 criteria to evaluate a design method with respect to its ability to
define effective modular system [meyer,88]
i. modular decomposability
- provides a systematic approach for decomposing the problem
into subproblems
ii. modular composability
- enables existing(reusable) design components to be
assembled into a new system
o
Design Concepts…cont
 5 criteria to evaluate a design method with respect to its
ability to define effective modular system [meyer,88]
iii. modular understandability
- module can be understood as a standalone unit (
no need to refer to other modules)
iv. modular continuity
- small changes to the system requirements result
in changes to individual modules
v. modular protection
- unexpected condition occurs within a module & its
effects are constrained within that module
Design Concepts…cont
4. Architecture
• is the structure and organization of program components
(modules)
• 5 different types of models are used to represent the architectural
design :
i. structural models : represent architecture as an organized collection
of program components
ii. framework models : identify repeatable architectural design
framework that similar to the types of applications
iii. dynamic models : behavioral aspects of the program architecture
iv. process models : design of the business or technical process of a
system
v. functional models : functional hierarchy of a system
Design Concepts…cont
SW architecture
Control
hierarchy
Structural
partitioning
Data
structure
SW Architecture-
Control Hierarchy
o also called program structure
o represent the organization of program components
o depth & width = no. of levels of control & overall span
of control
o fan-out = no. of. Modules that are directly controlled
by another module
o fan-in = how many modules directly control a given
module
o super ordinate = module that control another module
o subordinate = module controlled by another
SW Architecture - Structural Partitioning
o horizontal partitioning
§ defines separate branches of the modular
hierarchy for each major program function
§ defines 3 partition = Input, Process, Output
§ benefits :
· easy to test SW
· easy to maintain SW
· propagation of fewer side effects
· easy to extend SW
§ drawback: causes more data to be passed
across module interfaces, complicate overall
control of program flow
SW Architecture - Structural Partitioning
o vertical partitioning (factoring)
§ control (decision making) & work should
be distributed Top-Down in program structure
§ top level modules – do control function,
low level modules – do the works( input,
computation, output tasks )
§ a change in control module will effect the
subordinates.
§ a change in worker module will less likely
effect others.
SW Architecture - Data Structure
 representation of the logical relationship
among individual elements of data.
 the organization, methods of access,
degree of associatively & processing
alternatives for information.
Design Concepts…cont
5. Procedure
 focuses on the processing details of each
module
 a precise specification of processing
Design Concepts…cont
6. Information Hiding
 modules should be specified & designed so
that information (procedure & data) contained
within a module in inaccessible to other
modules that have no need for such
information
Effective Modular Design
 Concept of functional independence is a direct
outgrowth of :
 Functional independence measured by 2 criteria
:
modularity
Information
hiding
cohesion coupling
Terminology to
describe interactions
between modules
Effective Modular Design…cont
 A piece of SW divided into modules :
 There is a minimum interactions between modules
[low coupling] AND
 High degree of interaction within a module
[ high cohesion ]
achieved
Individual module can be :
DESIGNED, CODED,
TESTED OR CHANGED
Effective Modular Design…cont
 analogy : 2 SW system
many interactions
between modules
few within modules
strong coupling , weak
cohesion
Few interactions
between modules
many within modules
weak coupling , strong
cohesion
module
Effective Modular Design…cont
COHESION
 a cohesive module perform a single task.
 Describes the nature of interactions within a SW module
 Various types of cohesion :
 LOW cohesion(undesirable)  HIGH cohesion (desirable)
Types of cohesion
coincidental
logical
functional
communicational
temporal
Effective Modular Design…cont
• Coincidental :
 grouped into modules in a haphazard way
 no relationship between component
• Logical :
 Perform a set of logically similar functions
 Example : function => output anything
 Perform output operations :
 Output text to screen
 Output line to printer
 Output record to file
Design Concepts…cont
• Temporal :
 Performs a set of functions whose only
relationship is that they have to be carried out at
the same time
 Example : set of initialization operations
 Clear screen
 Open file
 Initialize total
Design Concepts…cont
• Communicational :
 Acting on common data are grouped together
 Example :
i) displays and logs temperature
ii) formats and prints total price
• Functional :
 Optimal type of cohesion
 Performs single, well-defined action
 Example :
i) calculate average
ii) print result
Effective Modular Design…cont
COUPLING
One module
making a
procedure call on
another
Important aspect
of interaction
between modules
 SIZE
Coupling
 If modules share common data,  it should be minimized
 Few parameters should be passed between modules in
procedure calls [recommended 2 – 4 parameters ]
 Types of coupling, from strongly coupled (least desirable )
weakly coupled (most desirable) :
1. Content coupling
2. Common coupling
3. External coupling
4. Control coupling
5. Stamp coupling
6. Data coupling
Types of coupling
1. Content coupling (should be avoided)
 module directly affects the working of
another module
 occurs when a module changes another
module’s data or when control is passed
from 1 module to the middle of another (as
in a jump)
Types of coupling…cont.
2. Common coupling
 2 modules have shared data
 occurs when a number of modules
reference a global data area
Types of coupling…cont.
3. External coupling
 Modules communicate through an
external medium (such as file)§
Types of coupling…cont.
4. Control coupling
 1 module directs the execution of another
module by passing the necessary control
information
 accomplished by means of flags that set by
one module and reacted upon by the
dependent module
Types of coupling…cont.
5. Stamp coupling
 Occurs when complete data
structures are passed from 1
module to another
 The precise format of the data
structures is a common property of
those modules
Types of coupling…cont.
6. Data coupling (low coupling)
 Only simple data is passed between
modules
 1 to 1 correspondence of items exists
Types of coupling [pressman]
a
c
b
d
h
g
f
e
k
j
i
Data
structure
Data
(Var)
Control
flag
No direct
coupling
Global data
area
Structure Chart (SC)
 also called a hierarchy chart or program structure chart
 a design technique that employs functional decomposition
to specify the functions of an application program
A method for designing the
detailed structure of
individual programs or
modules
Is a ‘top-down’ method
- it starts with the overall
task of the program
Also called ‘stepwise
refinement ‘
Structure Chart (SC)…cont
 A structure chart differs from a physical DFD
 Transform a physical DFD into a structure chart
by performing 2 forms of analysis :
 Transform analysis : used to segment sequential DFD
processes into input, processing & output functions
 Transaction analysis : used to segment DFD
processes into alternate flows of control depending on
a condition or user selection
 Each DFD process will appear as a structure
chart module
A few guidelines to use structure charts effectively
:
 Level 1 of a SC may have only 1 module ( the
boss module, executive module or main module )
 Each module should perform only 1 function
 Modules at each level should be arranged in
sequential order (Left – Right). [ exception to :
modules that represent alternative functions
selected by higher-level module ]
 Selection symbol used to indicate that not all
modules at the next lower level will be performed
A few guidelines to use structure charts effectively
:
 Loop symbol used to indicate that some or all of
the modules at the next lower level will be
performed repeatedly until a specified condition
is met
 Data elements passed between modules should
be specified by labeling each data flow symbol
with the name assigned to each element in the
physical DB design
A few guidelines to use structure charts effectively
:
 Control flows used to indicate a control flag
or other value that is direct the flow of
control or to report the status of a
condition
 Each program structure chart should be
reviewed & evaluated  to ensure the
design works before coding begins
~The End~
Source of Materials :
 Pressman, R. (2003). Software Engineering: A
Practitioner's Approach. 6th & 5th edition. New
York: McGraw-Hill.
 Somerville I. (2001). Software Engineering. 6th
edition. Addison Wesley

More Related Content

Similar to rEFUP.pdf

software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptxDr.Shweta
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software designSandeep Kumar Nayak
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16Rajes Wari
 
Software Design
Software Design Software Design
Software Design Anas Bilal
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptesrabilgic2
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptMotherTheresa2
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
A software design creates meaningful engineering representation
A software design creates meaningful engineering representationA software design creates meaningful engineering representation
A software design creates meaningful engineering representationRamandeep Singh
 

Similar to rEFUP.pdf (20)

software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Software design
Software designSoftware design
Software design
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
06 fse design
06 fse design06 fse design
06 fse design
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptx
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16
 
Software Design
Software Design Software Design
Software Design
 
Design final
Design finalDesign final
Design final
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
A software design creates meaningful engineering representation
A software design creates meaningful engineering representationA software design creates meaningful engineering representation
A software design creates meaningful engineering representation
 

Recently uploaded

Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 

rEFUP.pdf

  • 3. Data design Architectural design Interface design Component- level design Data dictionary PSPEC DFD CSPEC STD ERD DOD ANALYSIS MODEL DESIGN MODEL
  • 4.
  • 5. Design Model Transforms structural elements of the S/w architecture into a procedural description of SW components Component-level design - How S/w communicates within itself, with systems that interoperate with it, with humans - A flow of information & type of behavior Interface design - Defines relationship between structural elements of the SW, - Represents the framework of computer based systems. Architectural design Transforms information domain model into data structures Data design
  • 6. Importance of Software Design Quality Representations of SW Translate customer requirements
  • 7. Design Process  SW design is an iterative process  Requirements are translated  “blueprint” for constructing the SW
  • 8. A Model of the Design Process External requirements 1. Identify nature of requirement 2. Analyse & build model of problem 3.postulate a design solution 4.validate solution 5.refine design solution 6.implement solution Requirements specification Functional specification Functional specification Seek new solution Designer’s model Designer’s model Design ‘blueprints ’ Mismatches between model & requirement
  • 9. Design Guidelines  A design should exhibit an architectural structure  A design should be modular  A design should contain distinct representations of data, architecture, interfaces, & components  A design should lead to data structures that are appropriate for the objects to be implemented
  • 10.  A design should lead to components that exhibit independent functional characteristics  A design should lead to interfaces that reduce the complexity of connections between modules & external environment  A design should be derived using a repeatable method , driven by information obtained during SW requirement analysis Design Guidelines
  • 11. Design Principles  The design process should not suffer from ‘tunnel vision’  The design should be traceable to the analysis model  The design should not reinvent the wheel  The design should ‘minimize the intellectual distance” between the SW and the problem as it exists in the real world  The design should exhibit uniformity & integration
  • 12. Design Principles …cont.  The design should be structured to accommodate change  The design should be structured to degrade gently, even when aberrant data, events, or operating conditions are encountered  Design is not coding, coding is not design  The design should be assessed for Quality as it is being created, not after the fact  The design should be reviewed to minimize conceptual (semantic) errors
  • 13. Fundamental SW Design Concepts Abstraction – data, procedure, control Refinement – elaboration of detail for all abstractions Modularity – compartmentalization of data & function Architecture – overall structure of the SW Procedure – algorithms that achieve function Information hiding– controlled interfaces
  • 14. Design Concepts 1. Abstraction • concentrate on the essential features and ignore details that are not relevant  Procedural abstraction = a named sequence of instructions that has a specific & limited function  Data abstraction = a named collection of data that describes a data object  Control abstraction = implies a program control mechanisms without specify internal details
  • 15. Design Concepts…cont 2. Refinement • stepwise refinement = top down strategy • refine levels of procedural detail • develop hierarchy by decompose a procedural abstraction in a stepwise fashion until programming languages are reached • similar to the process of refinement & partitioning in requirement analysis • abstraction & refinement are complementary concepts Suppress low- level details Reveal low-level details
  • 16. Design Concepts…cont 3. Modularity • system is decomposed into a number of modules • software architecture and design patterns embody modularity • 5 criteria to evaluate a design method with respect to its ability to define effective modular system [meyer,88] i. modular decomposability - provides a systematic approach for decomposing the problem into subproblems ii. modular composability - enables existing(reusable) design components to be assembled into a new system o
  • 17. Design Concepts…cont  5 criteria to evaluate a design method with respect to its ability to define effective modular system [meyer,88] iii. modular understandability - module can be understood as a standalone unit ( no need to refer to other modules) iv. modular continuity - small changes to the system requirements result in changes to individual modules v. modular protection - unexpected condition occurs within a module & its effects are constrained within that module
  • 18. Design Concepts…cont 4. Architecture • is the structure and organization of program components (modules) • 5 different types of models are used to represent the architectural design : i. structural models : represent architecture as an organized collection of program components ii. framework models : identify repeatable architectural design framework that similar to the types of applications iii. dynamic models : behavioral aspects of the program architecture iv. process models : design of the business or technical process of a system v. functional models : functional hierarchy of a system
  • 20. SW Architecture- Control Hierarchy o also called program structure o represent the organization of program components o depth & width = no. of levels of control & overall span of control o fan-out = no. of. Modules that are directly controlled by another module o fan-in = how many modules directly control a given module o super ordinate = module that control another module o subordinate = module controlled by another
  • 21. SW Architecture - Structural Partitioning o horizontal partitioning § defines separate branches of the modular hierarchy for each major program function § defines 3 partition = Input, Process, Output § benefits : · easy to test SW · easy to maintain SW · propagation of fewer side effects · easy to extend SW § drawback: causes more data to be passed across module interfaces, complicate overall control of program flow
  • 22. SW Architecture - Structural Partitioning o vertical partitioning (factoring) § control (decision making) & work should be distributed Top-Down in program structure § top level modules – do control function, low level modules – do the works( input, computation, output tasks ) § a change in control module will effect the subordinates. § a change in worker module will less likely effect others.
  • 23. SW Architecture - Data Structure  representation of the logical relationship among individual elements of data.  the organization, methods of access, degree of associatively & processing alternatives for information.
  • 24. Design Concepts…cont 5. Procedure  focuses on the processing details of each module  a precise specification of processing
  • 25. Design Concepts…cont 6. Information Hiding  modules should be specified & designed so that information (procedure & data) contained within a module in inaccessible to other modules that have no need for such information
  • 26. Effective Modular Design  Concept of functional independence is a direct outgrowth of :  Functional independence measured by 2 criteria : modularity Information hiding cohesion coupling Terminology to describe interactions between modules
  • 27. Effective Modular Design…cont  A piece of SW divided into modules :  There is a minimum interactions between modules [low coupling] AND  High degree of interaction within a module [ high cohesion ] achieved Individual module can be : DESIGNED, CODED, TESTED OR CHANGED
  • 28. Effective Modular Design…cont  analogy : 2 SW system many interactions between modules few within modules strong coupling , weak cohesion Few interactions between modules many within modules weak coupling , strong cohesion module
  • 29. Effective Modular Design…cont COHESION  a cohesive module perform a single task.  Describes the nature of interactions within a SW module  Various types of cohesion :  LOW cohesion(undesirable)  HIGH cohesion (desirable) Types of cohesion coincidental logical functional communicational temporal
  • 30. Effective Modular Design…cont • Coincidental :  grouped into modules in a haphazard way  no relationship between component • Logical :  Perform a set of logically similar functions  Example : function => output anything  Perform output operations :  Output text to screen  Output line to printer  Output record to file
  • 31. Design Concepts…cont • Temporal :  Performs a set of functions whose only relationship is that they have to be carried out at the same time  Example : set of initialization operations  Clear screen  Open file  Initialize total
  • 32. Design Concepts…cont • Communicational :  Acting on common data are grouped together  Example : i) displays and logs temperature ii) formats and prints total price • Functional :  Optimal type of cohesion  Performs single, well-defined action  Example : i) calculate average ii) print result
  • 33. Effective Modular Design…cont COUPLING One module making a procedure call on another Important aspect of interaction between modules  SIZE
  • 34. Coupling  If modules share common data,  it should be minimized  Few parameters should be passed between modules in procedure calls [recommended 2 – 4 parameters ]  Types of coupling, from strongly coupled (least desirable ) weakly coupled (most desirable) : 1. Content coupling 2. Common coupling 3. External coupling 4. Control coupling 5. Stamp coupling 6. Data coupling
  • 35. Types of coupling 1. Content coupling (should be avoided)  module directly affects the working of another module  occurs when a module changes another module’s data or when control is passed from 1 module to the middle of another (as in a jump)
  • 36. Types of coupling…cont. 2. Common coupling  2 modules have shared data  occurs when a number of modules reference a global data area
  • 37. Types of coupling…cont. 3. External coupling  Modules communicate through an external medium (such as file)§
  • 38. Types of coupling…cont. 4. Control coupling  1 module directs the execution of another module by passing the necessary control information  accomplished by means of flags that set by one module and reacted upon by the dependent module
  • 39. Types of coupling…cont. 5. Stamp coupling  Occurs when complete data structures are passed from 1 module to another  The precise format of the data structures is a common property of those modules
  • 40. Types of coupling…cont. 6. Data coupling (low coupling)  Only simple data is passed between modules  1 to 1 correspondence of items exists
  • 41. Types of coupling [pressman] a c b d h g f e k j i Data structure Data (Var) Control flag No direct coupling Global data area
  • 42. Structure Chart (SC)  also called a hierarchy chart or program structure chart  a design technique that employs functional decomposition to specify the functions of an application program A method for designing the detailed structure of individual programs or modules Is a ‘top-down’ method - it starts with the overall task of the program Also called ‘stepwise refinement ‘
  • 43. Structure Chart (SC)…cont  A structure chart differs from a physical DFD  Transform a physical DFD into a structure chart by performing 2 forms of analysis :  Transform analysis : used to segment sequential DFD processes into input, processing & output functions  Transaction analysis : used to segment DFD processes into alternate flows of control depending on a condition or user selection  Each DFD process will appear as a structure chart module
  • 44. A few guidelines to use structure charts effectively :  Level 1 of a SC may have only 1 module ( the boss module, executive module or main module )  Each module should perform only 1 function  Modules at each level should be arranged in sequential order (Left – Right). [ exception to : modules that represent alternative functions selected by higher-level module ]  Selection symbol used to indicate that not all modules at the next lower level will be performed
  • 45. A few guidelines to use structure charts effectively :  Loop symbol used to indicate that some or all of the modules at the next lower level will be performed repeatedly until a specified condition is met  Data elements passed between modules should be specified by labeling each data flow symbol with the name assigned to each element in the physical DB design
  • 46. A few guidelines to use structure charts effectively :  Control flows used to indicate a control flag or other value that is direct the flow of control or to report the status of a condition  Each program structure chart should be reviewed & evaluated  to ensure the design works before coding begins
  • 47. ~The End~ Source of Materials :  Pressman, R. (2003). Software Engineering: A Practitioner's Approach. 6th & 5th edition. New York: McGraw-Hill.  Somerville I. (2001). Software Engineering. 6th edition. Addison Wesley