尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
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 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

What's hot

Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
asimnawaz54
 
Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software Architectures
Munazza-Mah-Jabeen
 
Software estimation
Software estimationSoftware estimation
Software estimation
Md Shakir
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
M.E. at GTU- PG School
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
Indu Sharma Bhardwaj
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
akash250690
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
TharuniDiddekunta
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
Dhivyaa C.R
 
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
 
UML
UMLUML
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
koolkampus
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
Software design
Software designSoftware design
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
Muhammad Asim
 
Component level design
Component   level designComponent   level design
Component level design
Midhula Chandren
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
Muhammed Afsal Villan
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Mohammad Faizan
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Unified process model
Unified process modelUnified process model
Unified process model
RyndaMaala
 

What's hot (20)

Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software Architectures
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
 
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
 
UML
UMLUML
UML
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Software design
Software designSoftware design
Software design
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Component level design
Component   level designComponent   level design
Component level design
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Unified process model
Unified process modelUnified process model
Unified process model
 

Similar to Software design

CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
MangeshKetkar1
 
Software design
Software designSoftware design
Software design
Inocentshuja Ahmad
 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
taxegap762
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
Preeti Mishra
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
Vivek Kumar Sinha
 
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
Ramandeep Singh
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptx
Dr.Shweta
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
Satyanandaram Nandigam
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
Shagufta shaheen
 
06 fse design
06 fse design06 fse design
06 fse design
Mohesh Chandran
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
VigneshSridhar17
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa2
 

Similar to Software design (20)

CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
 
Software design
Software designSoftware design
Software design
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
 
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
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptx
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
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
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 

Recently uploaded

AI Based Testing - A Comprehensive Guide.pdf
AI Based Testing - A Comprehensive Guide.pdfAI Based Testing - A Comprehensive Guide.pdf
AI Based Testing - A Comprehensive Guide.pdf
kalichargn70th171
 
Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...
Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...
Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...
sapnasaifi408
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
manji sharman06
 
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
Shane Coughlan
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
michniczscribd
 
Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...
ns9201415
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
vickythakur209464
 
Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...
Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...
Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...
simmi singh$A17
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
1 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 20241 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 2024
Alberto Brandolini
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
VictoriaMetrics
 
NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024
Bert Jan Schrijver
 
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx PolandExtreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Alberto Brandolini
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)
wonyong hwang
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Chad Crowell
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
Accelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAIAccelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAI
Ahmed Okour
 

Recently uploaded (20)

AI Based Testing - A Comprehensive Guide.pdf
AI Based Testing - A Comprehensive Guide.pdfAI Based Testing - A Comprehensive Guide.pdf
AI Based Testing - A Comprehensive Guide.pdf
 
Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...
Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...
Independent Call Girls In Bangalore 💯Call Us 🔝 7426014248 🔝Independent Bangal...
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
 
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
 
Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Ahmedabad ✔ 7737669865 ✔ Hi I Am Divya Vip Call Girl Servic...
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
 
Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...
Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...
Independent Call Girls In Kolkata ✔ 7014168258 ✔ Hi I Am Divya Vip Call Girl ...
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
1 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 20241 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 2024
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
 
NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024
 
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx PolandExtreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
 
Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
Happy Birthday Kubernetes, 10th Birthday edition of Kubernetes Birthday in Au...
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
Accelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAIAccelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAI
 

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.
  • 8.
  • 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.
  翻译: