SlideShare a Scribd company logo
1 of 14
G.H.PATEL COLLEGE OF ENGINEERING &
TECHNOLOGY
Design Concept
Software Engineering
(2160701)
Prepared By::
Metaliya Darshit (130110107020)
Gujarat technological University
Faculty Guide:
Prof. Namrata Dave
DESIGN CONCEPT
“The beginning of wisdom for a software engineer is to recognize the
difference between getting a program to work, and getting it right“.
Fundamental software Design Concepts provide the necessary
framework for
"getting it right."
DESIGN CONCEPT
I. Abstraction
II. Refinement
III. Architecture
IV. Modularity
V. Information hiding
VI. Refactoring
VII.Structural Partitioning
ABSTRACTION
Abstraction allows designers to focus on solving a problem without being
concerned about irrelevant lower level details.
When we consider a modular solution to any problem, many levels of
abstraction can
be posed. At the highest level of abstraction, a solution is stated in broad
terms using
the language of the problem environment. At lower levels of abstraction, a
more procedural
orientation is taken.
There are two types of abstraction available,
 Procedural abstraction – a sequence of instructions that have a specific
REFINEMENT
Refinement is actually a process of elaboration. We begin with a statement
of function (or description of information) that is defined at a high level of
abstraction and reach at the lower level of abstraction.
In each step (of the refinement), one or several instructions of the given
program are decomposed into more detailed instructions.
This successive decomposition or refinement of specifications terminates
when all instructions are expressed in terms of any underlying computer
or programming language.
Abstraction and refinement are complementary concepts. Abstraction
enables a designer to specify procedure and data and yet suppress low-
level details. Refinement helps the designer to reveal low-level details as
design progresses.
ARCHITECTURE
The overall structure of the software and the ways in which the structure
provides conceptual integrity for a system.
Consists of components, connectors, and the relationship between them.
Some of the Architecture models are described below,
Structural models – architecture as organized collection of components
Framework models – attempt to identify repeatable architectural patterns
Dynamic models – indicate how program structure changes as a function of
external events
Process models – focus on the design of the business or technical process
that system must accommodate
Functional models – used to represent system functional hierarchy
MODULARITY
Software is divided into separately named and addressable
components, often called modules, that are integrated to satisfy
problem requirements.(divide and conquer principle).
This leads to a "divide and conquer" conclusion—it's easier to solve a
complex problem when you break it into manageable pieces.
It has been stated that "modularity is the single attribute of software
that allows a program to be intellectually manageable“.
MODULARITY
The effort (cost) to develop an
individual software module does
decrease as the total number of
modules increases. Given the same
set of requirements, more modules
means smaller individual size.
However, as the number of
modules grows, the effort (cost)
associated with integrating the
modules also grows.
MODULARITY
These characteristics lead to a
total cost or effort curve shown in
the figure. There is a number, M,
of modules that would result in
minimum development cost, but
we do not have the necessary
sophistication to predict M with
assurance.
INFORMATION HIDING
Modules should be specified and designed so that information
(procedure and data) contained within a module is inaccessible to other
modules that have no need for such information.
Hiding implies that effective modularity can be achieved by defining a
set of independent modules that communicate with one another only
that information necessary to achieve software function.
This enforces access constraints to both procedural (i.e.,
implementation) detail and local data structures.
REFACTORING
Refactoring is a reorganization technique that simplifies the
design (or internal code structure) of a component without
changing its function or external behaviour.
It removes redundancy, unused design elements, inefficient or
unnecessary algorithms, poorly constructed or inappropriate data
structures, or any other design failures.
STRUCTURAL PARTITIONING
If the architectural style of a
system is hierarchical, the
program structure can be
partitioned both horizontally and
vertically.
Horizontal Partitioning:
It defines separate branches of the
modular hierarchy for each major
program function.
STRUCTURAL PARTITIONING
Vertical partitioning :
Vertical partitioning often called
factoring, suggests that control
(decision making) and work
should be distributed top-down in
the program structure.
Top level modules should
perform control functions and do
little actual processing work.
THANK YOU 
14

More Related Content

What's hot

Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
koolkampus
 

What's hot (20)

Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Design notation
Design notationDesign notation
Design notation
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Interface specification
Interface specificationInterface specification
Interface specification
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Software design
Software designSoftware design
Software design
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 

Viewers also liked

Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
saurabhshertukde
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
Piyush Gogia
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
Slideshare
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
Cliftone Mullah
 
Design & Engineering proces Development
Design & Engineering proces DevelopmentDesign & Engineering proces Development
Design & Engineering proces Development
Jan Koskenmäki
 
The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.
Nareshkumar Kannathasan
 

Viewers also liked (20)

Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
5 software design
5 software design5 software design
5 software design
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
 
Design process
Design processDesign process
Design process
 
Software design methodologies
Software design methodologiesSoftware design methodologies
Software design methodologies
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
Goals Of Software Design - The main goals
Goals Of Software Design - The main goalsGoals Of Software Design - The main goals
Goals Of Software Design - The main goals
 
Design final
Design finalDesign final
Design final
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
 
Involve your Engineering team in the recruitment proces
Involve your Engineering team in the recruitment procesInvolve your Engineering team in the recruitment proces
Involve your Engineering team in the recruitment proces
 
Sample Ecommerce - Website Report v2
Sample Ecommerce - Website Report v2Sample Ecommerce - Website Report v2
Sample Ecommerce - Website Report v2
 
Design & Engineering proces Development
Design & Engineering proces DevelopmentDesign & Engineering proces Development
Design & Engineering proces Development
 
The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.
 
Ch 4 CED (Concept in Engineering Design)
Ch 4 CED (Concept in Engineering Design)Ch 4 CED (Concept in Engineering Design)
Ch 4 CED (Concept in Engineering Design)
 
Huffman
HuffmanHuffman
Huffman
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
 
Design concepts and principle,
Design concepts and principle, Design concepts and principle,
Design concepts and principle,
 
Dijksatra
DijksatraDijksatra
Dijksatra
 

Similar to Design Concept software engineering

Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
Dhairya Joshi
 

Similar to Design Concept software engineering (20)

Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Unit 3
Unit 3Unit 3
Unit 3
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
06 fse design
06 fse design06 fse design
06 fse design
 
Software design
Software designSoftware design
Software design
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
 
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
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
Software design
Software designSoftware design
Software design
 
Software design
Software designSoftware design
Software design
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
data design and component design.pptx
data design and component design.pptxdata design and component design.pptx
data design and component design.pptx
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptx
 
Designing PrinciplesOf Software
Designing PrinciplesOf Software Designing PrinciplesOf Software
Designing PrinciplesOf Software
 

Recently uploaded

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
chumtiyababu
 
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
 

Recently uploaded (20)

Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
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
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
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
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
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
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 

Design Concept software engineering

  • 1. G.H.PATEL COLLEGE OF ENGINEERING & TECHNOLOGY Design Concept Software Engineering (2160701) Prepared By:: Metaliya Darshit (130110107020) Gujarat technological University Faculty Guide: Prof. Namrata Dave
  • 2. DESIGN CONCEPT “The beginning of wisdom for a software engineer is to recognize the difference between getting a program to work, and getting it right“. Fundamental software Design Concepts provide the necessary framework for "getting it right."
  • 3. DESIGN CONCEPT I. Abstraction II. Refinement III. Architecture IV. Modularity V. Information hiding VI. Refactoring VII.Structural Partitioning
  • 4. ABSTRACTION Abstraction allows designers to focus on solving a problem without being concerned about irrelevant lower level details. When we consider a modular solution to any problem, many levels of abstraction can be posed. At the highest level of abstraction, a solution is stated in broad terms using the language of the problem environment. At lower levels of abstraction, a more procedural orientation is taken. There are two types of abstraction available,  Procedural abstraction – a sequence of instructions that have a specific
  • 5. REFINEMENT Refinement is actually a process of elaboration. We begin with a statement of function (or description of information) that is defined at a high level of abstraction and reach at the lower level of abstraction. In each step (of the refinement), one or several instructions of the given program are decomposed into more detailed instructions. This successive decomposition or refinement of specifications terminates when all instructions are expressed in terms of any underlying computer or programming language. Abstraction and refinement are complementary concepts. Abstraction enables a designer to specify procedure and data and yet suppress low- level details. Refinement helps the designer to reveal low-level details as design progresses.
  • 6. ARCHITECTURE The overall structure of the software and the ways in which the structure provides conceptual integrity for a system. Consists of components, connectors, and the relationship between them. Some of the Architecture models are described below, Structural models – architecture as organized collection of components Framework models – attempt to identify repeatable architectural patterns Dynamic models – indicate how program structure changes as a function of external events Process models – focus on the design of the business or technical process that system must accommodate Functional models – used to represent system functional hierarchy
  • 7. MODULARITY Software is divided into separately named and addressable components, often called modules, that are integrated to satisfy problem requirements.(divide and conquer principle). This leads to a "divide and conquer" conclusion—it's easier to solve a complex problem when you break it into manageable pieces. It has been stated that "modularity is the single attribute of software that allows a program to be intellectually manageable“.
  • 8. MODULARITY The effort (cost) to develop an individual software module does decrease as the total number of modules increases. Given the same set of requirements, more modules means smaller individual size. However, as the number of modules grows, the effort (cost) associated with integrating the modules also grows.
  • 9. MODULARITY These characteristics lead to a total cost or effort curve shown in the figure. There is a number, M, of modules that would result in minimum development cost, but we do not have the necessary sophistication to predict M with assurance.
  • 10. INFORMATION HIDING Modules should be specified and designed so that information (procedure and data) contained within a module is inaccessible to other modules that have no need for such information. Hiding implies that effective modularity can be achieved by defining a set of independent modules that communicate with one another only that information necessary to achieve software function. This enforces access constraints to both procedural (i.e., implementation) detail and local data structures.
  • 11. REFACTORING Refactoring is a reorganization technique that simplifies the design (or internal code structure) of a component without changing its function or external behaviour. It removes redundancy, unused design elements, inefficient or unnecessary algorithms, poorly constructed or inappropriate data structures, or any other design failures.
  • 12. STRUCTURAL PARTITIONING If the architectural style of a system is hierarchical, the program structure can be partitioned both horizontally and vertically. Horizontal Partitioning: It defines separate branches of the modular hierarchy for each major program function.
  • 13. STRUCTURAL PARTITIONING Vertical partitioning : Vertical partitioning often called factoring, suggests that control (decision making) and work should be distributed top-down in the program structure. Top level modules should perform control functions and do little actual processing work.