Design concepts and design principles

GANDHINAGAR INSTITUTE OF TECHNOLOGY
Computer Engineering Department
Software Engineering
(2160701)
Design concepts & design principles
Prepared By:
Nakrani Dhruvinkumar Janakbhai
(160120107066)
Guided By:
Prof. Kiran Shah
Contents
§ Design
§ Design concepts
§ Design Principles
§ References
Design :
▪ A meaningful representation of something to be built
▪ It's a process by which requirements are translated into blueprint for constructing
a software
▪ Blueprint gives us the holistic view of a software
SRS
Design
Process
Software
Design
Problem Domain Solution Domain
Design Concepts
§ Software process is characterized by basic concepts
§ Using methods concepts are applied
§ Abstracion
§ Architecture
§ Patterns
§ Modularity
§ Information Hiding
§ Stepwise Refinement
§ Refactoring
§ Structural Partitioning
§ Concurrency
Abstraction
§ Refers to a powerful design tool
§ A view of a problem
§ Functional Abstraction
§ Use of parameterized subprograms
§ Data Abstraction
§ Specifies data that describes a data object
§ Control Abstraction
§ States the desired effect
Architecture
§ Refers to the structure of the system
§ Enables to analyze the software design efficiently
§ Helps in decision-making and handling risks
The software architecture does the following.
§ Provides an insight to all the interested stakeholders that enable them to communicate
with each other
§ Highlights early design decisions, which have great impact on the software
engineering activities that follow the design phase
§ Creates intellectual models of how the system is organized into components and how
these components interact with each other
Patterns
§ Provides a description of the solution to a recurring design problem of some specific
domain in such a way that the solution can be used again and again
§ Types of Design Patterns :
1) Architectural : These patterns are high-level strategies that refer to the
overall structure and organization of a software system
2) Design : These patterns are medium-level strategies that are used to solve design
problems
3) Idioms : These patterns are low-level patterns, which are programming -
language specific
Modularity
§ Modularity is achieved by dividing the software into uniquely named and addressable
components, which are also known as modules
§ After developing the modules, they are integrated together to meet the software
requirements
§ The larger the number of modules, the greater will be the effort required to integrate
the modules
Information Hiding
§ The way of hiding unnecessary details is referred to as information hiding
§ The technique of encapsulating software design decisions in modules in such a way
that the module's interfaces reveal as little as possible about the module's inner
workings; thus each module is a 'black box' to the other modules in the system
§ Advantages associated with information hiding are :
1) Leads to low coupling
2) Emphasizes communication through controlled interfaces
3) Decreases the probability of adverse effects
4) Restricts the effects of changes in one component on others
5) Results in higher quality software
Design Principles
1. Software design should correspond to the analysis model
2. Choose the right programming paradigm
3. Software design should be uniform and integrated
4. Software design should be flexible
5. Software design should ensure minimal conceptual errors
6. Software design should be structured to degrade gently
7. Software design should represent correspondence between the software and real-
world problem
8. Software reuse
9. Designing for testability
10. Prototyping
References
§ http://ecomputernotes.com/software-engineering
§ Beginning Software Engineering - By Rod Stephens
Design concepts and design principles
1 de 12

Recomendados

Software Design Concepts por
Software Design ConceptsSoftware Design Concepts
Software Design ConceptsMohammed Fazuluddin
7K visualizações27 slides
Software design principles por
Software design principlesSoftware design principles
Software design principlesRitesh Singh
1.7K visualizações64 slides
Architectural Styles and Case Studies, Software architecture ,unit–2 por
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Sudarshan Dhondaley
11.2K visualizações13 slides
Component level design por
Component   level designComponent   level design
Component level designMidhula Chandren
38.4K visualizações37 slides
Software Requirements in Software Engineering SE5 por
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
10.8K visualizações53 slides
Software design por
Software designSoftware design
Software designSyed Muhammad Hammad-ud-Din
69K visualizações30 slides

Mais conteúdo relacionado

Mais procurados

Architecture design in software engineering por
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
67.8K visualizações50 slides
Software design por
Software designSoftware design
Software designBenazir Fathima
854 visualizações115 slides
Software process por
Software processSoftware process
Software processJennifer Polack
9K visualizações51 slides
Function Oriented and Object Oriented Design,Modularization techniques por
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
1.6K visualizações49 slides
Unit 4- Software Engineering System Model Notes por
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
7.7K visualizações69 slides
Component based software engineering por
Component based software engineeringComponent based software engineering
Component based software engineeringCharotar University Of Science And Technology,Gujrat
31.5K visualizações25 slides

Mais procurados(20)

Architecture design in software engineering por Preeti Mishra
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra67.8K visualizações
Software design por Benazir Fathima
Software designSoftware design
Software design
Benazir Fathima854 visualizações
Software process por Jennifer Polack
Software processSoftware process
Software process
Jennifer Polack9K visualizações
Function Oriented and Object Oriented Design,Modularization techniques por nimmik4u
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u1.6K visualizações
Unit 4- Software Engineering System Model Notes por arvind pandey
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
arvind pandey7.7K visualizações
Software Engineering : Requirement Analysis & Specification por Ajit Nayak
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak11.4K visualizações
Software engineering a practitioners approach 8th edition pressman solutions ... por Drusilla918
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla9189.9K visualizações
Unit 7 performing user interface design por Preeti Mishra
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
Preeti Mishra5.8K visualizações
Slides chapter 10 por Priyanka Shetty
Slides chapter 10Slides chapter 10
Slides chapter 10
Priyanka Shetty2.8K visualizações
Software Engineering - chp3- design por Lilia Sfaxi
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
Lilia Sfaxi11.7K visualizações
Requirements analysis por asimnawaz54
Requirements analysisRequirements analysis
Requirements analysis
asimnawaz5446.8K visualizações
Design Pattern in Software Engineering por Manish Kumar
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
Manish Kumar7K visualizações
Software Process Models por Atul Karmyal
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal34.7K visualizações
SRS(software requirement specification) por Akash Kumar Dhameja
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja31.2K visualizações
Design concept -Software Engineering por Varsha Ajith
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith8.2K visualizações
Design Concepts & Principles por cyberns_
Design Concepts & PrinciplesDesign Concepts & Principles
Design Concepts & Principles
cyberns_1.6K visualizações
Software Development Life Cycle por Slideshare
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
Slideshare4.7K visualizações
Software architecture por Ahmad Raza Aslam
Software architectureSoftware architecture
Software architecture
Ahmad Raza Aslam9.4K visualizações
Software architecture and software design por Mr. Swapnil G. Thaware
Software architecture and software designSoftware architecture and software design
Software architecture and software design
Mr. Swapnil G. Thaware2.8K visualizações

Similar a Design concepts and design principles

Ch 9-design-engineering por
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineeringSHREEHARI WADAWADAGI
679 visualizações26 slides
Unit_4_Software_Design.pptx por
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
7 visualizações59 slides
Chapter 08 por
Chapter 08Chapter 08
Chapter 08Nazir Ahmed
52 visualizações30 slides
Unit 3- Software Design.pptx por
Unit 3- Software Design.pptxUnit 3- Software Design.pptx
Unit 3- Software Design.pptxLSURYAPRAKASHREDDY
10 visualizações135 slides
Pressman_ch_9_design_engineering.ppt por
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptMotherTheresa2
4 visualizações19 slides
Design final por
Design finalDesign final
Design finalIndu Sharma Bhardwaj
1.2K visualizações88 slides

Similar a Design concepts and design principles(20)

Unit_4_Software_Design.pptx por taxegap762
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
taxegap7627 visualizações
Chapter 08 por Nazir Ahmed
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed52 visualizações
Unit 3- Software Design.pptx por LSURYAPRAKASHREDDY
Unit 3- Software Design.pptxUnit 3- Software Design.pptx
Unit 3- Software Design.pptx
LSURYAPRAKASHREDDY10 visualizações
Pressman_ch_9_design_engineering.ppt por MotherTheresa2
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa24 visualizações
Software engg unit 3 por Vivek Kumar Sinha
Software engg unit 3 Software engg unit 3
Software engg unit 3
Vivek Kumar Sinha92 visualizações
Design concepts por JoshuaU1
Design conceptsDesign concepts
Design concepts
JoshuaU1176 visualizações
Design Concepts in Software Engineering-1.pptx por KarthigaiSelviS3
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS31.3K visualizações
Design engineering por Preeti Mishra
Design engineeringDesign engineering
Design engineering
Preeti Mishra5.9K visualizações
Software design por Zulqarnaintayyab
Software designSoftware design
Software design
Zulqarnaintayyab389 visualizações
CHAPTER12.ppt por CharenReposposa
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
CharenReposposa10 visualizações
Different approaches to software design por Sandeep Kumar Nayak
Different approaches to software designDifferent approaches to software design
Different approaches to software design
Sandeep Kumar Nayak126 visualizações
CS8494 SOFTWARE ENGINEERING Unit-3 por SIMONTHOMAS S
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S386 visualizações
Slides chapter 9 por Priyanka Shetty
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty3.9K visualizações
06 fse design por Mohesh Chandran
06 fse design06 fse design
06 fse design
Mohesh Chandran838 visualizações
Design engineering por Vikram Dahiya
Design engineeringDesign engineering
Design engineering
Vikram Dahiya590 visualizações
Design engineering por Vikram Dahiya
Design engineeringDesign engineering
Design engineering
Vikram Dahiya11.6K visualizações
DESIGN CONCEPTS por VigneshSridhar17
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
VigneshSridhar177 visualizações

Último

Update 42 models(Diode/General ) in SPICE PARK(DEC2023) por
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Tsuyoshi Horigome
23 visualizações16 slides
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L... por
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...Anowar Hossain
12 visualizações34 slides
Investor Presentation por
Investor PresentationInvestor Presentation
Investor Presentationeser sevinç
24 visualizações26 slides
Machine Element II Course outline.pdf por
Machine Element II Course outline.pdfMachine Element II Course outline.pdf
Machine Element II Course outline.pdfodatadese1
8 visualizações2 slides
Proposal Presentation.pptx por
Proposal Presentation.pptxProposal Presentation.pptx
Proposal Presentation.pptxkeytonallamon
17 visualizações36 slides
Final Year Presentation por
Final Year PresentationFinal Year Presentation
Final Year PresentationComsat Universal Islamabad Wah Campus
6 visualizações29 slides

Último(20)

Update 42 models(Diode/General ) in SPICE PARK(DEC2023) por Tsuyoshi Horigome
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Tsuyoshi Horigome23 visualizações
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L... por Anowar Hossain
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
Anowar Hossain12 visualizações
Investor Presentation por eser sevinç
Investor PresentationInvestor Presentation
Investor Presentation
eser sevinç24 visualizações
Machine Element II Course outline.pdf por odatadese1
Machine Element II Course outline.pdfMachine Element II Course outline.pdf
Machine Element II Course outline.pdf
odatadese18 visualizações
Proposal Presentation.pptx por keytonallamon
Proposal Presentation.pptxProposal Presentation.pptx
Proposal Presentation.pptx
keytonallamon17 visualizações
Quality Manual Chaity Group.pdf por Mizan Rahman
Quality Manual Chaity Group.pdfQuality Manual Chaity Group.pdf
Quality Manual Chaity Group.pdf
Mizan Rahman5 visualizações
Machine learning in drug supply chain management during disease outbreaks: a ... por IJECEIAES
Machine learning in drug supply chain management during disease outbreaks: a ...Machine learning in drug supply chain management during disease outbreaks: a ...
Machine learning in drug supply chain management during disease outbreaks: a ...
IJECEIAES12 visualizações
Digital Watermarking Of Audio Signals.pptx por AyushJaiswal781174
Digital Watermarking Of Audio Signals.pptxDigital Watermarking Of Audio Signals.pptx
Digital Watermarking Of Audio Signals.pptx
AyushJaiswal78117411 visualizações
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ... por AltinKaradagli
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
AltinKaradagli9 visualizações
Instrumentation & Control Lab Manual.pdf por NTU Faisalabad
Instrumentation & Control Lab Manual.pdfInstrumentation & Control Lab Manual.pdf
Instrumentation & Control Lab Manual.pdf
NTU Faisalabad 5 visualizações
Activated sludge process .pdf por 8832RafiyaAltaf
Activated sludge process .pdfActivated sludge process .pdf
Activated sludge process .pdf
8832RafiyaAltaf9 visualizações
DevOps-ITverse-2023-IIT-DU.pptx por Anowar Hossain
DevOps-ITverse-2023-IIT-DU.pptxDevOps-ITverse-2023-IIT-DU.pptx
DevOps-ITverse-2023-IIT-DU.pptx
Anowar Hossain9 visualizações
An approach of ontology and knowledge base for railway maintenance por IJECEIAES
An approach of ontology and knowledge base for railway maintenanceAn approach of ontology and knowledge base for railway maintenance
An approach of ontology and knowledge base for railway maintenance
IJECEIAES12 visualizações
START Newsletter 3 por Start Project
START Newsletter 3START Newsletter 3
START Newsletter 3
Start Project5 visualizações
What is Unit Testing por Sadaaki Emura
What is Unit TestingWhat is Unit Testing
What is Unit Testing
Sadaaki Emura23 visualizações
K8S Roadmap.pdf por MaryamTavakkoli2
K8S Roadmap.pdfK8S Roadmap.pdf
K8S Roadmap.pdf
MaryamTavakkoli26 visualizações
Advances in micro milling: From tool fabrication to process outcomes por Shivendra Nandan
Advances in micro milling: From tool fabrication to process outcomesAdvances in micro milling: From tool fabrication to process outcomes
Advances in micro milling: From tool fabrication to process outcomes
Shivendra Nandan5 visualizações
Taking out the Trash (And the Recyclables]: RFID and the Handling of Municipa... por ijseajournal
Taking out the Trash (And the Recyclables]: RFID and the Handling of Municipa...Taking out the Trash (And the Recyclables]: RFID and the Handling of Municipa...
Taking out the Trash (And the Recyclables]: RFID and the Handling of Municipa...
ijseajournal5 visualizações

Design concepts and design principles

  • 1. GANDHINAGAR INSTITUTE OF TECHNOLOGY Computer Engineering Department Software Engineering (2160701) Design concepts & design principles Prepared By: Nakrani Dhruvinkumar Janakbhai (160120107066) Guided By: Prof. Kiran Shah
  • 2. Contents § Design § Design concepts § Design Principles § References
  • 3. Design : ▪ A meaningful representation of something to be built ▪ It's a process by which requirements are translated into blueprint for constructing a software ▪ Blueprint gives us the holistic view of a software SRS Design Process Software Design Problem Domain Solution Domain
  • 4. Design Concepts § Software process is characterized by basic concepts § Using methods concepts are applied § Abstracion § Architecture § Patterns § Modularity § Information Hiding § Stepwise Refinement § Refactoring § Structural Partitioning § Concurrency
  • 5. Abstraction § Refers to a powerful design tool § A view of a problem § Functional Abstraction § Use of parameterized subprograms § Data Abstraction § Specifies data that describes a data object § Control Abstraction § States the desired effect
  • 6. Architecture § Refers to the structure of the system § Enables to analyze the software design efficiently § Helps in decision-making and handling risks The software architecture does the following. § Provides an insight to all the interested stakeholders that enable them to communicate with each other § Highlights early design decisions, which have great impact on the software engineering activities that follow the design phase § Creates intellectual models of how the system is organized into components and how these components interact with each other
  • 7. Patterns § Provides a description of the solution to a recurring design problem of some specific domain in such a way that the solution can be used again and again § Types of Design Patterns : 1) Architectural : These patterns are high-level strategies that refer to the overall structure and organization of a software system 2) Design : These patterns are medium-level strategies that are used to solve design problems 3) Idioms : These patterns are low-level patterns, which are programming - language specific
  • 8. Modularity § Modularity is achieved by dividing the software into uniquely named and addressable components, which are also known as modules § After developing the modules, they are integrated together to meet the software requirements § The larger the number of modules, the greater will be the effort required to integrate the modules
  • 9. Information Hiding § The way of hiding unnecessary details is referred to as information hiding § The technique of encapsulating software design decisions in modules in such a way that the module's interfaces reveal as little as possible about the module's inner workings; thus each module is a 'black box' to the other modules in the system § Advantages associated with information hiding are : 1) Leads to low coupling 2) Emphasizes communication through controlled interfaces 3) Decreases the probability of adverse effects 4) Restricts the effects of changes in one component on others 5) Results in higher quality software
  • 10. Design Principles 1. Software design should correspond to the analysis model 2. Choose the right programming paradigm 3. Software design should be uniform and integrated 4. Software design should be flexible 5. Software design should ensure minimal conceptual errors 6. Software design should be structured to degrade gently 7. Software design should represent correspondence between the software and real- world problem 8. Software reuse 9. Designing for testability 10. Prototyping