SlideShare a Scribd company logo
Unit โ€“ III
SOFTWARE DESIGN
Design process
Design Concepts (continued)
โ€ข Abstraction
โ€“ Procedural abstraction โ€“ a sequence of instructions that have a specific and
limited function
โ€“ Data abstraction โ€“ a named collection of data that describes a data object
โ€ข 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
โ€ข Patterns
โ€“ A design structure that solves a particular design problem within a specific
context
โ€“ It provides a description that enables a designer to determine whether the
pattern is applicable, whether the pattern can be reused, and whether the
pattern can serve as a guide for developing similar patterns
Design Concepts (continued)
โ€ข Modularity
โ€“ Separately named and addressable components (i.e., modules) that are
integrated to satisfy requirements (divide and conquer principle)
โ€“ Makes software intellectually manageable so as to grasp the control paths, span
of reference, number of variables, and overall complexity
โ€ข Information hiding
โ€“ The designing of modules so that the algorithms and local data contained within
them are inaccessible to other modules
โ€“ This enforces access constraints to both procedural (i.e., implementation) detail
and local data structures
โ€ข Functional independence
โ€“ Modules that have a "single-minded" function and an aversion to excessive
interaction with other modules
โ€“ High cohesion โ€“ a module performs only a single task
โ€“ Low coupling โ€“ a module has the lowest amount of connection needed with
other modules
Design Concepts
โ€ข Stepwise refinement
โ€“ Development of a program by successively refining levels of procedure
detail
โ€“ Complements abstraction, which enables a designer to specify procedure
and data and yet suppress low-level details
โ€ข Refactoring
โ€“ A reorganization technique that simplifies the design (or internal code
structure) of a component without changing its function or external
behavior
โ€“ Removes redundancy, unused design elements, inefficient or
unnecessary algorithms, poorly constructed or inappropriate data
structures, or any other design failures
โ€ข Design classes
โ€“ Refines the analysis classes by providing design detail that will enable the
classes to be implemented
โ€“ Creates a new set of design classes that implement a software
infrastructure to support the business solution
6
Data/Class Design
(Class-based model, Behavioral model)
Architectural Design
(Class-based model, Flow-oriented model)
User Interface Design
(Scenario-based model, Flow-oriented model
Behavioral model)
Component-level Design
(Class-based model, Flow-oriented model
Behavioral model)
Design Model
From Analysis Model to Design Model
8
โ€ข Each element of the analysis model provides information that is
necessary to create the four design models
โ€“ The data/class design transforms analysis classes into design
classes along with the data structures required to implement the
software
โ€“ The architectural design defines the relationship between major
structural elements of the software; architectural styles and
design patterns help achieve the requirements defined for the
system
โ€“ The user interface design describes how the software
communicates with systems that interoperate with it and with
humans that use it
โ€“ The component-level design transforms structural elements of
the software architecture into a procedural description of
software components
From Analysis Model to Design Model
Process Dimension (Progression)
AbstractionDimension
Data/Class
Elements
Interface
Elements
Architectural
Elements
Component-level
Elements
Deployment-level
Elements
Dimensions of the Design Model
Analysis model
Design model
Low
High
(continued)
Design Heuristic

More Related Content

What's hot

Software enginnering
Software enginneringSoftware enginnering
Software enginnering
Ishucs
ย 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
Jay Thakkar
ย 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
Sandeep Kumar Nayak
ย 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
Dr.Jayanthi ramasamy
ย 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
ย 
Ch09
Ch09Ch09
Ch09
guest50f28c
ย 
Software architecture
Software architectureSoftware architecture
Software architecture
Uri Meirav
ย 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
ย 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
ย 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
Hiren Selani
ย 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
IBM
ย 
Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5
SIMONTHOMAS S
ย 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
Preeti Mishra
ย 
Design notation
Design notationDesign notation
Design notation
ramya marichamy
ย 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and views
John Chou
ย 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principles
Dhruvin Nakrani
ย 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
Sudarshan Dhondaley
ย 
Power point for project
Power point for projectPower point for project
Power point for project
abdussalam taher
ย 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
IIUI
ย 
Design techniques
Design techniquesDesign techniques
Design techniques
Amit Debnath
ย 

What's hot (20)

Software enginnering
Software enginneringSoftware enginnering
Software enginnering
ย 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
ย 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
ย 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
ย 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
ย 
Ch09
Ch09Ch09
Ch09
ย 
Software architecture
Software architectureSoftware architecture
Software architecture
ย 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
ย 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
ย 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
ย 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
ย 
Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5
ย 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
ย 
Design notation
Design notationDesign notation
Design notation
ย 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and views
ย 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principles
ย 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
ย 
Power point for project
Power point for projectPower point for project
Power point for project
ย 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
ย 
Design techniques
Design techniquesDesign techniques
Design techniques
ย 

Similar to Unit iii(part a- design process model)

Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa2
ย 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
Preeti Mishra
ย 
Design engineering
Design engineeringDesign engineering
Design engineering
Preeti 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 representation
Ramandeep Singh
ย 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
ย 
Software design
Software designSoftware design
Software design
Zulqarnaintayyab
ย 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
Ahmad sohail Kakar
ย 
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
KarthigaiSelviS3
ย 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
ย 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
RakeshPatel583282
ย 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
VigneshSridhar17
ย 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
ย 
architectural design
 architectural design architectural design
architectural design
Preeti Mishra
ย 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
ย 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
ย 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.ppt
THARUNS44
ย 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
ย 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
rabiyathulbachiriyar
ย 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
SHREEHARI WADAWADAGI
ย 
Software Architectural & Data Design
Software Architectural & Data DesignSoftware Architectural & Data Design
Software Architectural & Data Design
Gaurav Bisht
ย 

Similar to Unit iii(part a- design process model) (20)

Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
ย 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
ย 
Design engineering
Design engineeringDesign engineering
Design engineering
ย 
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, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
ย 
Software design
Software designSoftware design
Software design
ย 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
ย 
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
ย 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
ย 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
ย 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
ย 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
ย 
architectural design
 architectural design architectural design
architectural design
ย 
Design engineering
Design engineeringDesign engineering
Design engineering
ย 
Design engineering
Design engineeringDesign engineering
Design engineering
ย 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.ppt
ย 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
ย 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
ย 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
ย 
Software Architectural & Data Design
Software Architectural & Data DesignSoftware Architectural & Data Design
Software Architectural & Data Design
ย 

Recently uploaded

Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
ย 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
ย 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
ย 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
Chevonnese Chevers Whyte, MBA, B.Sc.
ย 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
ย 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ssuser13ffe4
ย 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
ย 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
ย 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
ย 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
ย 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
MJDuyan
ย 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
ย 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
ย 
ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
dot55audits
ย 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
ย 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
iammrhaywood
ย 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
ย 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
ย 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
ย 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
ย 

Recently uploaded (20)

Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
ย 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
ย 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
ย 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
ย 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
ย 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ย 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
ย 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
ย 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
ย 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
ย 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
ย 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
ย 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ย 
ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
ย 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
ย 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
ย 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
ย 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
ย 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
ย 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
ย 

Unit iii(part a- design process model)

  • 3. Design Concepts (continued) โ€ข Abstraction โ€“ Procedural abstraction โ€“ a sequence of instructions that have a specific and limited function โ€“ Data abstraction โ€“ a named collection of data that describes a data object โ€ข 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 โ€ข Patterns โ€“ A design structure that solves a particular design problem within a specific context โ€“ It provides a description that enables a designer to determine whether the pattern is applicable, whether the pattern can be reused, and whether the pattern can serve as a guide for developing similar patterns
  • 4. Design Concepts (continued) โ€ข Modularity โ€“ Separately named and addressable components (i.e., modules) that are integrated to satisfy requirements (divide and conquer principle) โ€“ Makes software intellectually manageable so as to grasp the control paths, span of reference, number of variables, and overall complexity โ€ข Information hiding โ€“ The designing of modules so that the algorithms and local data contained within them are inaccessible to other modules โ€“ This enforces access constraints to both procedural (i.e., implementation) detail and local data structures โ€ข Functional independence โ€“ Modules that have a "single-minded" function and an aversion to excessive interaction with other modules โ€“ High cohesion โ€“ a module performs only a single task โ€“ Low coupling โ€“ a module has the lowest amount of connection needed with other modules
  • 5. Design Concepts โ€ข Stepwise refinement โ€“ Development of a program by successively refining levels of procedure detail โ€“ Complements abstraction, which enables a designer to specify procedure and data and yet suppress low-level details โ€ข Refactoring โ€“ A reorganization technique that simplifies the design (or internal code structure) of a component without changing its function or external behavior โ€“ Removes redundancy, unused design elements, inefficient or unnecessary algorithms, poorly constructed or inappropriate data structures, or any other design failures โ€ข Design classes โ€“ Refines the analysis classes by providing design detail that will enable the classes to be implemented โ€“ Creates a new set of design classes that implement a software infrastructure to support the business solution
  • 6. 6 Data/Class Design (Class-based model, Behavioral model) Architectural Design (Class-based model, Flow-oriented model) User Interface Design (Scenario-based model, Flow-oriented model Behavioral model) Component-level Design (Class-based model, Flow-oriented model Behavioral model) Design Model
  • 7. From Analysis Model to Design Model
  • 8. 8 โ€ข Each element of the analysis model provides information that is necessary to create the four design models โ€“ The data/class design transforms analysis classes into design classes along with the data structures required to implement the software โ€“ The architectural design defines the relationship between major structural elements of the software; architectural styles and design patterns help achieve the requirements defined for the system โ€“ The user interface design describes how the software communicates with systems that interoperate with it and with humans that use it โ€“ The component-level design transforms structural elements of the software architecture into a procedural description of software components From Analysis Model to Design Model