SlideShare une entreprise Scribd logo
1  sur  23
ALPHA BREATHING
EVOCATION
DESIGN CONCEPTS
Badariah Solemon 2010
INTRODUCTION
 Design creates a representation or model of the
software
 Software design encompasses the set of principles,
concepts, and practices that lead to the
development of a high-quality system or product.
 Design concepts must be understood before the
mechanics of design practice are applied
1. ABSTRACTION
Procedural abstraction –
 Sequence of instructions that have a specific and limited
function
 Implies the function but specific details are suppressed
 Example – word “open” for a door
Data abstraction –
 Named collection of data that describes a data object.
 Example – open – “door”
DATA ABSTRACTION
door
manufacturer
model number
type
swing direction
type
number
Weight
Height
width
PROCEDURAL ABSTRACTION
open
details of enter
algorithm
2. ARCHITECTURE
The overall structure of the software and the ways in which that
structure provides conceptual integrity for a system
Structural properties. defines the components of a system (e.g.,
modules, objects, components, etc..) and the manner in which those
components are packaged and interact with one another.
Extra-functional properties. performance, capacity, reliability,
security, adaptability, and other system characteristics.
Families of related systems. Use of repeatable patterns that are
commonly encountered in the design of families of similar systems.
In essence, the design should have the ability to reuse architectural
building blocks.
3. PATTERNS
 A pattern is a named nugget of insight which conveys the
essence of a proven solution to a recurring problem
 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. SEPARATION OF CONCERNS
• Concern – feature or behavior that is specified as a part of
requirements model.
• By separating the concerns (dividing) into smaller pieces, they
can be easily managed/optimized or solved with a less effort.
5. MODULARITY
 Separately named and addressable components (i.e., modules)
that are integrated to satisfy requirements (divide and conquer
principle)
 In all instances, you should break the design into many
modules, hoping to make understanding easier and as a
consequence reduce the cost required to build the software
6. INFORMATION HIDING
 The designing of modules so that the algorithms and
local data contained within them are inaccessible to
other modules
 It is advantageous as the inadvertent errors introduced
during modification are less likely to propagate to other
locations within the software
7. FUNCTIONAL INDEPENDENCE
 Modules that have a "single-minded" function and an aversion to excessive
interaction with other modules
 Cohesion- relative functional strength of a module.
 Coupling- relative interdependence among modules.
 High cohesion – a module performs only a single task
 Low coupling – a module has the lowest amount of connection needed with
other modules
COHESION - the degree to which a
module performs one and only one
function.
COUPLING - the degree to which a
module is "connected" to other
modules in the system.
8. STEPWISE REFINEMENT
 Development of a program by successively refining levels of
procedure detail – process of elaboration
 Complements abstraction, which enables a designer to specify
procedure and data and yet suppress low-level details
open
walk to door;
reach for knob;
open door;
walk through;
close door.
repeat until door opens
turn knob clockwise;
if knob doesn't turn, then
take key out;
find correct key;
insert in lock;
endif
pull/push door
move out of way;
end repeat
9. REFACTORING
 A reorganization technique that simplifies the design (or
internal code structure) of a component without changing its
function or external behaviour
 Removes redundancy, unused design elements, inefficient or
unnecessary algorithms, poorly constructed or inappropriate
data structures, or any other design failures
10. ASPECTS
 Set of concerns is uncovered which includes
requirements, use cases, data structures, quality service
issues, etc.,.
 It is important to identify aspects so that the design can
properly accommodate them as refinement and
modularization to occur.
11. OO 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
12. DESIGN CLASSES
 User interface classes – define all abstractions necessary for
human-computer interaction.
 Business domain classes – refined from analysis classes; identify
attributes and services (methods) that are required to implement
some element of the business domain
 Process classes – implement business abstractions required to
fully manage the business domain classes
 Persistent classes – represent data stores (e.g., a database) that
will persist beyond the execution of the software
 System classes – implement software management and control
functions that enable the system to operate and communicate
within its computing environment and the outside world
CHARACTERISTICS OF “WELL-FORMED”
DESIGN CLASSES
 Complete and sufficient
 Contains the complete encapsulation of all attributes and
methods that exist for the class
 Contains only those methods that are sufficient to achieve the
intent of the class
 Primitiveness
 Each method of a class focuses on accomplishing one service
for the class
CHARACTERISTICS OF “WELL-FORMED”
DESIGN CLASSES
 High cohesion
 The class has a small, focused set of responsibilities and
single-mindedly applies attributes and methods to
implement those responsibilities
 Low coupling
 Collaboration of the class with other classes is kept to an
acceptable minimum
 Each class should have limited knowledge of other
classes in other subsystems
MIND MAP
SUMMARY • DesignConcepts
– Abstraction
– Architecture
– Patterns
– Separation of Concerns
– Modularity
– Information Hiding
– Functional Independence
– Refinement
– Aspects
– Refactoring
– Object-Oriented Design Concepts
• Types of design classes
• Characteristics of “well-formed” design class
Stimulating Question
• Suggest any three additional design concepts.

Contenu connexe

Similaire à 3.1 The design concepts.ppt

Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
A software design creates meaningful engineering representation
A software design creates meaningful engineering representationA software design creates meaningful engineering representation
A software design creates meaningful engineering representationRamandeep Singh
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and ModularityDanyal Ahmad
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfputtipavan23022023
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptMotherTheresa2
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 

Similaire à 3.1 The design concepts.ppt (20)

Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Software design
Software designSoftware design
Software design
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software 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 and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Software design
Software designSoftware design
Software design
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
06 fse design
06 fse design06 fse design
06 fse design
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Software design
Software designSoftware design
Software design
 

Dernier

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 

Dernier (20)

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 

3.1 The design concepts.ppt

  • 4. INTRODUCTION  Design creates a representation or model of the software  Software design encompasses the set of principles, concepts, and practices that lead to the development of a high-quality system or product.  Design concepts must be understood before the mechanics of design practice are applied
  • 5. 1. ABSTRACTION Procedural abstraction –  Sequence of instructions that have a specific and limited function  Implies the function but specific details are suppressed  Example – word “open” for a door Data abstraction –  Named collection of data that describes a data object.  Example – open – “door”
  • 6. DATA ABSTRACTION door manufacturer model number type swing direction type number Weight Height width
  • 8. 2. ARCHITECTURE The overall structure of the software and the ways in which that structure provides conceptual integrity for a system Structural properties. defines the components of a system (e.g., modules, objects, components, etc..) and the manner in which those components are packaged and interact with one another. Extra-functional properties. performance, capacity, reliability, security, adaptability, and other system characteristics. Families of related systems. Use of repeatable patterns that are commonly encountered in the design of families of similar systems. In essence, the design should have the ability to reuse architectural building blocks.
  • 9. 3. PATTERNS  A pattern is a named nugget of insight which conveys the essence of a proven solution to a recurring problem  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
  • 10. 4. SEPARATION OF CONCERNS • Concern – feature or behavior that is specified as a part of requirements model. • By separating the concerns (dividing) into smaller pieces, they can be easily managed/optimized or solved with a less effort.
  • 11. 5. MODULARITY  Separately named and addressable components (i.e., modules) that are integrated to satisfy requirements (divide and conquer principle)  In all instances, you should break the design into many modules, hoping to make understanding easier and as a consequence reduce the cost required to build the software
  • 12. 6. INFORMATION HIDING  The designing of modules so that the algorithms and local data contained within them are inaccessible to other modules  It is advantageous as the inadvertent errors introduced during modification are less likely to propagate to other locations within the software
  • 13. 7. FUNCTIONAL INDEPENDENCE  Modules that have a "single-minded" function and an aversion to excessive interaction with other modules  Cohesion- relative functional strength of a module.  Coupling- relative interdependence among modules.  High cohesion – a module performs only a single task  Low coupling – a module has the lowest amount of connection needed with other modules COHESION - the degree to which a module performs one and only one function. COUPLING - the degree to which a module is "connected" to other modules in the system.
  • 14. 8. STEPWISE REFINEMENT  Development of a program by successively refining levels of procedure detail – process of elaboration  Complements abstraction, which enables a designer to specify procedure and data and yet suppress low-level details open walk to door; reach for knob; open door; walk through; close door. repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat
  • 15. 9. REFACTORING  A reorganization technique that simplifies the design (or internal code structure) of a component without changing its function or external behaviour  Removes redundancy, unused design elements, inefficient or unnecessary algorithms, poorly constructed or inappropriate data structures, or any other design failures
  • 16. 10. ASPECTS  Set of concerns is uncovered which includes requirements, use cases, data structures, quality service issues, etc.,.  It is important to identify aspects so that the design can properly accommodate them as refinement and modularization to occur.
  • 17. 11. OO 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
  • 18. 12. DESIGN CLASSES  User interface classes – define all abstractions necessary for human-computer interaction.  Business domain classes – refined from analysis classes; identify attributes and services (methods) that are required to implement some element of the business domain  Process classes – implement business abstractions required to fully manage the business domain classes  Persistent classes – represent data stores (e.g., a database) that will persist beyond the execution of the software  System classes – implement software management and control functions that enable the system to operate and communicate within its computing environment and the outside world
  • 19. CHARACTERISTICS OF “WELL-FORMED” DESIGN CLASSES  Complete and sufficient  Contains the complete encapsulation of all attributes and methods that exist for the class  Contains only those methods that are sufficient to achieve the intent of the class  Primitiveness  Each method of a class focuses on accomplishing one service for the class
  • 20. CHARACTERISTICS OF “WELL-FORMED” DESIGN CLASSES  High cohesion  The class has a small, focused set of responsibilities and single-mindedly applies attributes and methods to implement those responsibilities  Low coupling  Collaboration of the class with other classes is kept to an acceptable minimum  Each class should have limited knowledge of other classes in other subsystems
  • 22. SUMMARY • DesignConcepts – Abstraction – Architecture – Patterns – Separation of Concerns – Modularity – Information Hiding – Functional Independence – Refinement – Aspects – Refactoring – Object-Oriented Design Concepts • Types of design classes • Characteristics of “well-formed” design class
  • 23. Stimulating Question • Suggest any three additional design concepts.