SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principleMohammad Hafiz-Al-Masud
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - StaffingTanishqRongta1
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- designLilia Sfaxi
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.pptbhadjaashvini1
 
software cost factor
software cost factorsoftware cost factor
software cost factorAbinaya B
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSaravanan Manoharan
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and ModularityDanyal Ahmad
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)REHMAT ULLAH
 

La actualidad más candente (20)

Software design
Software designSoftware design
Software design
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
software cost factor
software cost factorsoftware cost factor
software cost factor
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 

Similar a 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
 
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
 

Similar a 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
 
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
 
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
 

Último

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 

Último (20)

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 

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.