SlideShare a Scribd company logo
1 of 12
Download to read offline
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

More Related Content

What's hot

Software design principles
Software design principlesSoftware design principles
Software design principles
Ritesh Singh
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
Aman Jain
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
koolkampus
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
Vidhun T
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
vicci4041
 
Models of Interaction
Models of InteractionModels of Interaction
Models of Interaction
jbellWCT
 

What's hot (20)

Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software design
Software designSoftware design
Software design
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Software design
Software designSoftware design
Software design
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
 
Software design
Software designSoftware design
Software design
 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.
 
Models of Interaction
Models of InteractionModels of Interaction
Models of Interaction
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Ch 11-component-level-design
Ch 11-component-level-designCh 11-component-level-design
Ch 11-component-level-design
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 

Similar to Design concepts and design principles

Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa2
 

Similar to Design concepts and design principles (20)

Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Unit 3- Software Design.pptx
Unit 3- Software Design.pptxUnit 3- Software Design.pptx
Unit 3- Software Design.pptx
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
Design final
Design finalDesign final
Design final
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
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
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
06 fse design
06 fse design06 fse design
06 fse design
 
Design engineering
Design engineeringDesign engineering
Design engineering
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 

Recently uploaded (20)

fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Electromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxElectromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptx
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 

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