SlideShare a Scribd company logo
@3
A software design creates meaningful engineering representation (or model) of some
software product that is to be built. Designers must strive to acquire a repertoire of
alternative design information and learn to choose the elements that best match the
analysis model. A design model can be traced to the customer's requirements and can
be assessed for quality against predefined criteria. During the design process the
software requirements model (data, function, behavior) is transformed into design
models that describe the details of the data structures, system architecture, interfaces,
and components necessary to implement the system. Each design product is reviewed
for quality (i.e. identify and correct errors, inconsistencies, or omissions, whether better
alternatives exist, and whether the design model can be implemented within the project
constraints) before moving to the next phase of software development.
Abstraction – allows designers to focus on solving a problem without being
concerned about irrelevant lower level details (procedural abstraction - named
sequence of events and data abstraction – named collection of data objects)
Software Architecture – overall structure of the software components and the ways
in which that structure provides conceptual integrity for a system
o Structural models – architecture as organized collection of components
o Framework models – attempt to identify repeatable architectural patterns
o Dynamic models – indicate how program structure changes as a function of
external events
o Process models – focus on the design of the business or technical process that
system must accommodate
o Functional models – used to represent system functional hierarchy
Design Patterns – description of a design structure that solves a particular design
problem within a specific context and its impact when applied
Separation of concerns – any complex problem is solvable by subdividing it into
pieces that can be solved independently
Modularity - the degree to which software can be understood by examining its
components independently of one another
Information Hiding – information (data and procedure) contained within a module is
inaccessible to modules that have no need for such information
Functional Independence – achieved by developing modules with single-minded
purpose and an aversion to excessive interaction with other models
o Cohesion - qualitative indication of the degree to which a module focuses on just
one thing
o Coupling - qualitative indication of the degree to which a module is connected to
other modules and to the outside world
Refinement – process of elaboration where the designer provides successively more
detail for each design component
Aspects – a representation of a cross-cutting concern that must be accommodated
as refinement and modularization occur
Refactoring – process of changing a software system in such a way internal
structure is improved without altering the external behavior or code design
A software design creates meaningful engineering representation

More Related Content

What's hot

Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
 
Software Architecture Design Patterns
Software Architecture Design PatternsSoftware Architecture Design Patterns
Software Architecture Design Patterns
Stanislav
 
Software architecture in practice unit1 1
Software architecture in practice unit1 1Software architecture in practice unit1 1
Software architecture in practice unit1 1
sush-sushma
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
Arun Shukla
 
Ch09
Ch09Ch09
Architectural design
Architectural designArchitectural design
Architectural design
KiranStha
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
Tawhidur Rahman Bhuiyan
 
Se lec5
Se lec5Se lec5
Se lec5
Huda Alameen
 
Architectural styles 2
Architectural styles   2Architectural styles   2
Architectural styles 2
Dr Reeja S R
 
Importance of software architecture 1
Importance of software architecture 1Importance of software architecture 1
Importance of software architecture 1
Dr Reeja S R
 
Reconstructing Software Architecture
Reconstructing Software ArchitectureReconstructing Software Architecture
Reconstructing Software Architecture
Himanshu
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
Animesh Chaturvedi
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
Yohan Gunathilaka
 
The process and stages of system design
The process and stages of system designThe process and stages of system design
The process and stages of system design
Jahidul Islam
 
Sda 7
Sda   7Sda   7
M azhar
M azharM azhar
M azhar
Mazhar Saleem
 
Architecture business cycle ( abc )
Architecture business cycle ( abc )Architecture business cycle ( abc )
Architecture business cycle ( abc )
Dr Reeja S R
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
Sudarshan Dhondaley
 
System Design and Analysis 1
System Design and Analysis 1System Design and Analysis 1
System Design and Analysis 1
Boeun Tim
 

What's hot (20)

Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Software Architecture Design Patterns
Software Architecture Design PatternsSoftware Architecture Design Patterns
Software Architecture Design Patterns
 
Software architecture in practice unit1 1
Software architecture in practice unit1 1Software architecture in practice unit1 1
Software architecture in practice unit1 1
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Ch09
Ch09Ch09
Ch09
 
Architectural design
Architectural designArchitectural design
Architectural design
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Se lec5
Se lec5Se lec5
Se lec5
 
Architectural styles 2
Architectural styles   2Architectural styles   2
Architectural styles 2
 
Importance of software architecture 1
Importance of software architecture 1Importance of software architecture 1
Importance of software architecture 1
 
Reconstructing Software Architecture
Reconstructing Software ArchitectureReconstructing Software Architecture
Reconstructing Software Architecture
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 
The process and stages of system design
The process and stages of system designThe process and stages of system design
The process and stages of system design
 
Sda 7
Sda   7Sda   7
Sda 7
 
M azhar
M azharM azhar
M azhar
 
Architecture business cycle ( abc )
Architecture business cycle ( abc )Architecture business cycle ( abc )
Architecture business cycle ( abc )
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
 
System Design and Analysis 1
System Design and Analysis 1System Design and Analysis 1
System Design and Analysis 1
 

Viewers also liked

Sen educational software design and development model
Sen educational software design and development modelSen educational software design and development model
Sen educational software design and development model
Теменужка Зафирова-Малчева
 
Understanding The Special Needs Child
Understanding The Special Needs ChildUnderstanding The Special Needs Child
Understanding The Special Needs Child
childrensministry
 
Instructional materials for sped
Instructional materials for spedInstructional materials for sped
Instructional materials for sped
candice santiago
 
Language teaching materials
Language teaching materialsLanguage teaching materials
Language teaching materials
Carlos Mayora
 
USING AND EVALUATING INSTRUCTIONAL MATERIALS
USING AND EVALUATING INSTRUCTIONAL MATERIALSUSING AND EVALUATING INSTRUCTIONAL MATERIALS
USING AND EVALUATING INSTRUCTIONAL MATERIALS
janehbasto
 
Types of Disabilities
Types of DisabilitiesTypes of Disabilities
Types of Disabilities
Stefy Angel
 
Special needs education powerpoint educ100
Special needs education powerpoint educ100Special needs education powerpoint educ100
Special needs education powerpoint educ100
randeepsohal
 
Kinds of instructional materials
Kinds of instructional materialsKinds of instructional materials
Kinds of instructional materials
KJoy Jadormio
 
Preparation and evaluation of instructional materials
Preparation and evaluation of instructional materialsPreparation and evaluation of instructional materials
Preparation and evaluation of instructional materials
Jhun Ar Ar Ramos
 
Different Types of Instructional Materials
Different Types of Instructional MaterialsDifferent Types of Instructional Materials
Different Types of Instructional Materials
Roy Capangpangan
 

Viewers also liked (10)

Sen educational software design and development model
Sen educational software design and development modelSen educational software design and development model
Sen educational software design and development model
 
Understanding The Special Needs Child
Understanding The Special Needs ChildUnderstanding The Special Needs Child
Understanding The Special Needs Child
 
Instructional materials for sped
Instructional materials for spedInstructional materials for sped
Instructional materials for sped
 
Language teaching materials
Language teaching materialsLanguage teaching materials
Language teaching materials
 
USING AND EVALUATING INSTRUCTIONAL MATERIALS
USING AND EVALUATING INSTRUCTIONAL MATERIALSUSING AND EVALUATING INSTRUCTIONAL MATERIALS
USING AND EVALUATING INSTRUCTIONAL MATERIALS
 
Types of Disabilities
Types of DisabilitiesTypes of Disabilities
Types of Disabilities
 
Special needs education powerpoint educ100
Special needs education powerpoint educ100Special needs education powerpoint educ100
Special needs education powerpoint educ100
 
Kinds of instructional materials
Kinds of instructional materialsKinds of instructional materials
Kinds of instructional materials
 
Preparation and evaluation of instructional materials
Preparation and evaluation of instructional materialsPreparation and evaluation of instructional materials
Preparation and evaluation of instructional materials
 
Different Types of Instructional Materials
Different Types of Instructional MaterialsDifferent Types of Instructional Materials
Different Types of Instructional Materials
 

Similar to A software design creates meaningful engineering representation

Software design
Software designSoftware design
Software design
Zulqarnaintayyab
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa2
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
Preeti Mishra
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
MangeshKetkar1
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
VigneshSridhar17
 
Software design
Software designSoftware design
Software design
Inocentshuja Ahmad
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
Satyanandaram Nandigam
 
Design engineering
Design engineeringDesign engineering
Design engineering
Preeti Mishra
 
Design final
Design finalDesign final
Design final
Indu Sharma Bhardwaj
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
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
KarthigaiSelviS3
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
Dr VISU P
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
itadmin33
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
Purvik Rana
 

Similar to A software design creates meaningful engineering representation (20)

Software design
Software designSoftware design
Software design
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Software design
Software designSoftware design
Software design
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design final
Design finalDesign final
Design final
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
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
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 

A software design creates meaningful engineering representation

  • 1. @3 A software design creates meaningful engineering representation (or model) of some software product that is to be built. Designers must strive to acquire a repertoire of alternative design information and learn to choose the elements that best match the analysis model. A design model can be traced to the customer's requirements and can be assessed for quality against predefined criteria. During the design process the software requirements model (data, function, behavior) is transformed into design models that describe the details of the data structures, system architecture, interfaces, and components necessary to implement the system. Each design product is reviewed for quality (i.e. identify and correct errors, inconsistencies, or omissions, whether better alternatives exist, and whether the design model can be implemented within the project constraints) before moving to the next phase of software development. Abstraction – allows designers to focus on solving a problem without being concerned about irrelevant lower level details (procedural abstraction - named sequence of events and data abstraction – named collection of data objects) Software Architecture – overall structure of the software components and the ways in which that structure provides conceptual integrity for a system o Structural models – architecture as organized collection of components o Framework models – attempt to identify repeatable architectural patterns o Dynamic models – indicate how program structure changes as a function of external events o Process models – focus on the design of the business or technical process that system must accommodate o Functional models – used to represent system functional hierarchy Design Patterns – description of a design structure that solves a particular design problem within a specific context and its impact when applied Separation of concerns – any complex problem is solvable by subdividing it into pieces that can be solved independently Modularity - the degree to which software can be understood by examining its components independently of one another Information Hiding – information (data and procedure) contained within a module is inaccessible to modules that have no need for such information Functional Independence – achieved by developing modules with single-minded purpose and an aversion to excessive interaction with other models o Cohesion - qualitative indication of the degree to which a module focuses on just one thing o Coupling - qualitative indication of the degree to which a module is connected to other modules and to the outside world Refinement – process of elaboration where the designer provides successively more detail for each design component Aspects – a representation of a cross-cutting concern that must be accommodated as refinement and modularization occur Refactoring – process of changing a software system in such a way internal structure is improved without altering the external behavior or code design