SlideShare a Scribd company logo
Software Design
 Software Design is an iterative process through which
requirements are translated into a 'blueprint' for
constructing the Software.
 Software Design means Driving a Solution which satisfies
problem.
Initially, the blue print describes a collective view of the
Software.
.
Understanding the problem from different angles:-
Look at the problem from different angles to discover the desired required.
 Identify one or more solutions
Evaluate possible solution and choose the most appropriate depending on the
designers experience and available resources.
Describe solution Abstractions
Use graphical , formal and other discreptive notations to describe the components of
the design.
Phases in Design Process
Design Methods:-
 Structured methods are sets of notations for experessing a software design and
guidelines for creating a design.
 Well-known methods include Structured designs that helps to choose an
appropriate method for software development.
 Can be applied succesfully because the support standard notations and ensure
design follows a standard form.
Method Components:-
• Many methods support a comparable views of the system.
• A data flow view showing a data Transformation
• An entity-relation view describing the logical data Structure.
• A structural view showing system components and there
interactions.
Method Deficiencies:-
 Different Designers create quite a different system designs.
 They do not help much with the early, creative phase of Design
.Rather they help the Designer to structure his/her own design
ideas.
 Graphical notations:-Used to display component relationship
 Informal text:- Natural Language Description.
Software design
• Software Design Must Satisfy user and Developer.
The design needs to be
1. Correct & Complete.
2. Understandable.
3. Maintainable.
• Design Quality
Design quality is an elusive concept. Quality depends on specific
organizational properties.
A “good design” may be the most efficient, the cheapest ,the most
maintainabe ,the most reliable etc.
These attributes are concerned with the maintainability of the
design.
 Process of Design Engineering:-
 During the design process the software specifications are transformed into design
models.
 Models describe the details of the data Structure, system architecture, interface and
Components.
 Each design product is reviewed for quality before moving to the next phase of
software development.
 At the end of the design process a design model and specification module is
produced.
Design specification model:-
Data Design - created by transforming the analysis information model into data
strucures required to implement the software. Part of the data design may occur in
conjunction with the design of software architecture. more detailed data design
occurs as each software component is designed.
Architecture Design - defines the relationships among the major structural
elements of the software, the “design patterns” define for the system , and the
constraints that affect the way in which the architectural pattern can be applied. It
is delivered from the system specification, the analysis model, and the subsystem
interactions defined in the analysis model.
• .
Design Specification Model
Interface design - describes how the software elements
communicate with each other , with other systems and the uman users; the
data flow and control flow diagrams provide much of the neccessary
informatin required.
 Procedural/ Component-level design - created by transforming the
structural elements defined by the software architecture into procedural
descripion of software component using information obtained from the
process specification , control specification and State transitiondiagram.
• Design - Concepts
 Abstraction.
 Design Algorithms.
 Understandability.
 Architecture.
 Adaptability.
 Traceability.
 Patterns.
 Modularity.
 Information Hiding.
 Functional Independence.
 Cohession.
 Coupling.
 Refinement.
 Refactoring.
 Abstraction
 Data Abstraction. - A named collection of data that describes a data object
 Procedural Abstraction. - A sequence of instructions that have a specifi c and limited
functionality.
Design Algorithms.
Design different algorithms for different problems.
 Adaptability:-
 A design is Adaptable if:
-Its components are loosely coupled.
-It is well document and documentation is up to date.
-There is an obvious correspondence between design levels.
- Each component is a self contained entity.
Trace-Ability:-
 To adapt a design it must be possible to trace the links between the
design components so that change consequences can be analyzed.
.
Architecture
 The overall structure of the software and the ways in which the structure
provides conceptual inytegrity of the system.
 Establish the overall structure of the system.
 Consist of components , connectors and the relationship between them.
 Architectures are the technical interfaces between the customer and contractor
building the system.
 A bad architecture design for the building can not be rescued by good
construction.
 There are different styles for building a software architecture.
 Understandability:-
- Can the component be understood on it's own.
- Are meaningful/understandable names used.
- Is the Design well-documented.
- Are complex algorithms used.
High Complexity means many relationships between
different components of Design.
 Patterns
A design structure that solves a particular design problem with a specific context.
-It provides a description that enables the designer to determine whether the pattern is applicable ,
whether the pattern can be reused , and whether ythe pattern can serve as a guide for developing
similar patterns.
Modularity
Separately named and addresable copmponents that are integrated to satisfy requirements.
- It makes software intellectually manageable so as to grasp the control paths, number of variables
and overall complexity.
Information hiding
The designing of modules so that the algorithms and local data contained within them is
inaccessible to any other module
This inforces constraints to both proscedural details and local data Structures.
Functional Independence
Modules that have a single minded funtion and an aversiion to axcessive interactions with other
modules.
Cohession
A measure of how well a component “fits together”.
A component should implement a single logical entity or function.
Cohession is a desirable component attribute as when a change has to be made , it is
localized in a single cohessive part.
There are variable level of cohessions.
High Cohession- A module performs only a single task.
Low Cohession - A module has the lowest amount of connections needed with other
modules.
Coupling:-
 A measure of the strength of the inter-connections between system components.
 Loosely Coupling means that the components are unlikely to affect other
components.
 Shared variable are controlled information exchange leadto tight coupling.
 Loose coupling can be achieved by state decentralized and components
communication via parameter or message passing.
Refactoring:-
A recoganiztion technique that simplifies the design of a component without changing it's
functional or External behaviour.
Removes Redundancy.
unused design elements.
Insufficient or unneccessary Algorithms.
Poorly constructed or inappropriate data Structures
Any other design failure.
 Pattern based Software Design
Mature engineerring descipline use thousands of design patterns for such things as buildings,
highways , electric circuits, factories, weapon systems, vihicles and computers.
 Design patterns also serve a purpose in software engineering.
 Architectural Patterns:-
-Define the overall structure of the software.
-Indicate the relationship among the subsystems and software components
-Define the rule for specifying the relation-ships among software elements.
 Design Patterns:-
Address a specific element of the design such as an aggregation of components or solve some design
problems , relationship among components, or the mechanism for effecting the inter-component
Communication.
-Consists of creational , structural and behavioral patterns.
 Coding Patterns
Describe language specific patterns that implement an alogrithmic or data structure element of a
component, a specific interface protocol or mechanism for communication among components.
Software design

More Related Content

PPTX
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
PPTX
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
PPTX
Architecture business cycle
Himanshu
 
PPT
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
PDF
Dbms 3: 3 Schema Architecture
Amiya9439793168
 
PPTX
Chapter 1 2 - some size factors
NancyBeaulah_R
 
PPTX
Design Concept software engineering
Darshit Metaliya
 
PPT
UML
iQra Rafaqat
 
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
Architecture business cycle
Himanshu
 
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Dbms 3: 3 Schema Architecture
Amiya9439793168
 
Chapter 1 2 - some size factors
NancyBeaulah_R
 
Design Concept software engineering
Darshit Metaliya
 

What's hot (20)

PPT
Quality Management in Software Engineering SE24
koolkampus
 
PPTX
Software process
Jennifer Polack
 
PPTX
Software design
Syed Muhammad Hammad-ud-Din
 
PPTX
Design concept -Software Engineering
Varsha Ajith
 
PPT
Function Oriented Design
Sharath g
 
PPT
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
PPTX
Software Engineering by Pankaj Jalote
Golda Margret Sheeba J
 
PPT
Agile development, software engineering
Rupesh Vaishnav
 
PPTX
Software project estimation
inayat khan
 
PPTX
Designing Techniques in Software Engineering
kirupasuchi1996
 
PPTX
Importance & Principles of Modeling from UML Designing
ABHISHEK KUMAR
 
PPTX
Object model
James Wong
 
PPTX
Architectural styles and patterns
Himanshu
 
PPTX
Software Engineering
Zahoorali Khan
 
PPT
Object Oriented Design in Software Engineering SE12
koolkampus
 
PPTX
Software Architecture
Dharmalingam Ganesan
 
PDF
Software Architecture and Design Introduction
Usman Khan
 
PPTX
Unified process model
RyndaMaala
 
PPTX
Software requirements specification
lavanya marichamy
 
PPTX
Software design and Software engineering.pptx
DrTThendralCompSci
 
Quality Management in Software Engineering SE24
koolkampus
 
Software process
Jennifer Polack
 
Design concept -Software Engineering
Varsha Ajith
 
Function Oriented Design
Sharath g
 
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
Software Engineering by Pankaj Jalote
Golda Margret Sheeba J
 
Agile development, software engineering
Rupesh Vaishnav
 
Software project estimation
inayat khan
 
Designing Techniques in Software Engineering
kirupasuchi1996
 
Importance & Principles of Modeling from UML Designing
ABHISHEK KUMAR
 
Object model
James Wong
 
Architectural styles and patterns
Himanshu
 
Software Engineering
Zahoorali Khan
 
Object Oriented Design in Software Engineering SE12
koolkampus
 
Software Architecture
Dharmalingam Ganesan
 
Software Architecture and Design Introduction
Usman Khan
 
Unified process model
RyndaMaala
 
Software requirements specification
lavanya marichamy
 
Software design and Software engineering.pptx
DrTThendralCompSci
 
Ad

Similar to Software design (20)

PPTX
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
PPT
design-concept.ppt
MangeshKetkar1
 
PPT
Software design
Inocentshuja Ahmad
 
PPT
Design engineering
Vikram Dahiya
 
PPT
Design engineering
Vikram Dahiya
 
PPT
Slides chapter 9
Priyanka Shetty
 
PPTX
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
PPTX
Unit_4_Software_Design.pptx
taxegap762
 
PPT
software engineering unit-3 in software engineering
terala1
 
PDF
rEFUP.pdf
RakeshPatel583282
 
PPT
Design Concepts software engineering.ppt
RohanMalik45
 
PPT
Software design, software engineering
Rupesh Vaishnav
 
PPTX
Unit 5 design engineering ssad
Preeti Mishra
 
PPTX
Chapter 08
Nazir Ahmed
 
DOCX
Software engg unit 3
Vivek Kumar Sinha
 
DOCX
A software design creates meaningful engineering representation
Ramandeep Singh
 
PPTX
software design: design fundamentals.pptx
Dr.Shweta
 
PPT
software Design.ppt
Satyanandaram Nandigam
 
PDF
SDTpresentaion on testingand sofware all required materials
forexsun599
 
PPTX
How to design a Software with methods and steps
dilmimalsha25
 
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
design-concept.ppt
MangeshKetkar1
 
Software design
Inocentshuja Ahmad
 
Design engineering
Vikram Dahiya
 
Design engineering
Vikram Dahiya
 
Slides chapter 9
Priyanka Shetty
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
Unit_4_Software_Design.pptx
taxegap762
 
software engineering unit-3 in software engineering
terala1
 
Design Concepts software engineering.ppt
RohanMalik45
 
Software design, software engineering
Rupesh Vaishnav
 
Unit 5 design engineering ssad
Preeti Mishra
 
Chapter 08
Nazir Ahmed
 
Software engg unit 3
Vivek Kumar Sinha
 
A software design creates meaningful engineering representation
Ramandeep Singh
 
software design: design fundamentals.pptx
Dr.Shweta
 
software Design.ppt
Satyanandaram Nandigam
 
SDTpresentaion on testingand sofware all required materials
forexsun599
 
How to design a Software with methods and steps
dilmimalsha25
 
Ad

Recently uploaded (20)

PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Exploring AI Agents in Process Industries
amoreira6
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Immersive experiences: what Pharo users do!
ESUG
 
Presentation about variables and constant.pptx
kr2589474
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 

Software design

  • 2.  Software Design is an iterative process through which requirements are translated into a 'blueprint' for constructing the Software.  Software Design means Driving a Solution which satisfies problem. Initially, the blue print describes a collective view of the Software.
  • 3. . Understanding the problem from different angles:- Look at the problem from different angles to discover the desired required.  Identify one or more solutions Evaluate possible solution and choose the most appropriate depending on the designers experience and available resources. Describe solution Abstractions Use graphical , formal and other discreptive notations to describe the components of the design.
  • 5. Design Methods:-  Structured methods are sets of notations for experessing a software design and guidelines for creating a design.  Well-known methods include Structured designs that helps to choose an appropriate method for software development.  Can be applied succesfully because the support standard notations and ensure design follows a standard form.
  • 6. Method Components:- • Many methods support a comparable views of the system. • A data flow view showing a data Transformation • An entity-relation view describing the logical data Structure. • A structural view showing system components and there interactions.
  • 7. Method Deficiencies:-  Different Designers create quite a different system designs.  They do not help much with the early, creative phase of Design .Rather they help the Designer to structure his/her own design ideas.  Graphical notations:-Used to display component relationship  Informal text:- Natural Language Description.
  • 9. • Software Design Must Satisfy user and Developer.
  • 10. The design needs to be 1. Correct & Complete. 2. Understandable. 3. Maintainable.
  • 11. • Design Quality Design quality is an elusive concept. Quality depends on specific organizational properties. A “good design” may be the most efficient, the cheapest ,the most maintainabe ,the most reliable etc. These attributes are concerned with the maintainability of the design.
  • 12.  Process of Design Engineering:-  During the design process the software specifications are transformed into design models.  Models describe the details of the data Structure, system architecture, interface and Components.  Each design product is reviewed for quality before moving to the next phase of software development.  At the end of the design process a design model and specification module is produced.
  • 13. Design specification model:- Data Design - created by transforming the analysis information model into data strucures required to implement the software. Part of the data design may occur in conjunction with the design of software architecture. more detailed data design occurs as each software component is designed. Architecture Design - defines the relationships among the major structural elements of the software, the “design patterns” define for the system , and the constraints that affect the way in which the architectural pattern can be applied. It is delivered from the system specification, the analysis model, and the subsystem interactions defined in the analysis model. • .
  • 14. Design Specification Model Interface design - describes how the software elements communicate with each other , with other systems and the uman users; the data flow and control flow diagrams provide much of the neccessary informatin required.  Procedural/ Component-level design - created by transforming the structural elements defined by the software architecture into procedural descripion of software component using information obtained from the process specification , control specification and State transitiondiagram.
  • 15. • Design - Concepts  Abstraction.  Design Algorithms.  Understandability.  Architecture.  Adaptability.  Traceability.  Patterns.  Modularity.  Information Hiding.  Functional Independence.  Cohession.  Coupling.  Refinement.  Refactoring.
  • 16.  Abstraction  Data Abstraction. - A named collection of data that describes a data object  Procedural Abstraction. - A sequence of instructions that have a specifi c and limited functionality. Design Algorithms. Design different algorithms for different problems.  Adaptability:-  A design is Adaptable if: -Its components are loosely coupled. -It is well document and documentation is up to date. -There is an obvious correspondence between design levels. - Each component is a self contained entity.
  • 17. Trace-Ability:-  To adapt a design it must be possible to trace the links between the design components so that change consequences can be analyzed.
  • 18. . Architecture  The overall structure of the software and the ways in which the structure provides conceptual inytegrity of the system.  Establish the overall structure of the system.  Consist of components , connectors and the relationship between them.  Architectures are the technical interfaces between the customer and contractor building the system.  A bad architecture design for the building can not be rescued by good construction.  There are different styles for building a software architecture.
  • 19.  Understandability:- - Can the component be understood on it's own. - Are meaningful/understandable names used. - Is the Design well-documented. - Are complex algorithms used. High Complexity means many relationships between different components of Design.
  • 20.  Patterns A design structure that solves a particular design problem with a specific context. -It provides a description that enables the designer to determine whether the pattern is applicable , whether the pattern can be reused , and whether ythe pattern can serve as a guide for developing similar patterns. Modularity Separately named and addresable copmponents that are integrated to satisfy requirements. - It makes software intellectually manageable so as to grasp the control paths, number of variables and overall complexity.
  • 21. Information hiding The designing of modules so that the algorithms and local data contained within them is inaccessible to any other module This inforces constraints to both proscedural details and local data Structures. Functional Independence Modules that have a single minded funtion and an aversiion to axcessive interactions with other modules.
  • 22. Cohession A measure of how well a component “fits together”. A component should implement a single logical entity or function. Cohession is a desirable component attribute as when a change has to be made , it is localized in a single cohessive part. There are variable level of cohessions. High Cohession- A module performs only a single task. Low Cohession - A module has the lowest amount of connections needed with other modules.
  • 23. Coupling:-  A measure of the strength of the inter-connections between system components.  Loosely Coupling means that the components are unlikely to affect other components.  Shared variable are controlled information exchange leadto tight coupling.  Loose coupling can be achieved by state decentralized and components communication via parameter or message passing.
  • 24. Refactoring:- A recoganiztion technique that simplifies the design of a component without changing it's functional or External behaviour. Removes Redundancy. unused design elements. Insufficient or unneccessary Algorithms. Poorly constructed or inappropriate data Structures Any other design failure.
  • 25.  Pattern based Software Design Mature engineerring descipline use thousands of design patterns for such things as buildings, highways , electric circuits, factories, weapon systems, vihicles and computers.  Design patterns also serve a purpose in software engineering.  Architectural Patterns:- -Define the overall structure of the software. -Indicate the relationship among the subsystems and software components -Define the rule for specifying the relation-ships among software elements.  Design Patterns:- Address a specific element of the design such as an aggregation of components or solve some design problems , relationship among components, or the mechanism for effecting the inter-component Communication. -Consists of creational , structural and behavioral patterns.  Coding Patterns Describe language specific patterns that implement an alogrithmic or data structure element of a component, a specific interface protocol or mechanism for communication among components.