SlideShare a Scribd company logo
1 of 26
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 Blueprint

More Related Content

What's hot

Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design ConceptSharath g
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software ArchitectureRahimLotfi
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 
software design principles
software design principlessoftware design principles
software design principlesCristal Ngo
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
RAD MODEL.pptx
RAD MODEL.pptxRAD MODEL.pptx
RAD MODEL.pptxsuchita74
 
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
 
Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & PatternsInocentshuja Ahmad
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxNwabueze Obioma
 

What's hot (20)

Artifacts
ArtifactsArtifacts
Artifacts
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design Concept
 
System design
System designSystem design
System design
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Design notation
Design notationDesign notation
Design notation
 
software design principles
software design principlessoftware design principles
software design principles
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Project Scheduling
Project SchedulingProject Scheduling
Project Scheduling
 
RAD MODEL.pptx
RAD MODEL.pptxRAD MODEL.pptx
RAD MODEL.pptx
 
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
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & Patterns
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 

Similar to Software Design Blueprint

CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3SIMONTHOMAS S
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfputtipavan23022023
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssadPreeti Mishra
 
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
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptxDr.Shweta
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptMotherTheresa2
 
Software enginnering
Software enginneringSoftware enginnering
Software enginneringIshucs
 

Similar to Software Design Blueprint (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
 
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
 
Software enginnering
Software enginneringSoftware enginnering
Software enginnering
 

Recently uploaded

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Recently uploaded (20)

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

Software Design Blueprint

  • 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.