SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Domain Model
1
OOAD
OOAD 2
Conceptual Models - Association
 Objective
 Identify associations within a conceptual model
 Identify attributes
OOAD 3
Associations
 Associations imply knowledge of a relationship
that needs to be preserved over time
– could be milliseconds or years!
– such associations are need-to-know assocs.
 Associations derived from the Common
Associations List (Pg 155-156, Larman).
 Represented as a solid line between objects
– the association is inherently bi-directional
– may contain a cardinality or multiplicity value
– optionally contains an arrow for easy reading
Common Associations
OOAD 4
OOAD 5
Associations
 Association - a relationship between concepts that indicates some
meaningful and interesting connection
For example, do we need to remember what SalenLineItem instances
are associated with a Sale instance? Definitely, otherwise it would not
be possible to reconstruct a sale, print a receipt, or calculate a sale total.
OOAD 6
Finding Associations
 High priority associations
 A is a physical or logical part of B
 A is physically or logically contained in/on B
 A is recorded in B
 Other associations
 A uses or manages or controls B (Pilot -airplane)
 A owns B (Airline -airplane) or (Register-Store)
 A is event related to B (Customer-Sale)
OOAD 7
Association Guidelines
 Focus on those associations for which knowledge of the
relationship needs to be preserved for some duration (need-to-
know associations)
 More important to identify concepts than associations
 Too many associations tend to confuse the conceptual model
 Avoid showing redundant or derivable associations
OOAD 8
Regarding Associations
 Associations are real-world relationships, which may or
may not be implemented in the final system.
 Conversely, we may discover associations that need to be
implemented but were missed in analysis. The conceptual
model should be updated!
 Usually, associations are implemented by placing an
instance variable which “points to” (references) an instance
of the associated class.
 Only add associations (or concepts) to the model that aid
in the comprehension(understanding) of the system by
others.
 Remember, conceptual models are communication tools,
used to express concepts in the problem domain.
Partial Domain Model of POST
OOAD 9
OOAD 10
Conceptual Model - Attributes
 Objectives
 identify attributes in a conceptual model
 distinguish between correct and incorrect attributes
It is useful to identify those attributes of conceptual classes
that are needed to satisfy the information requirements of
the current scenarios under development.
OOAD 11
Attributes [1]
 Attribute - is a logical data value of an object.
 Include the following attributes in a domain model
 those for which the requirements suggest or imply a need to
remember information
 For example, a sale receipt normally includes a date and time
attribute
It is a named property of a class describing values
held by each object of the class
 Attribute Type: A specification of the external behavior
and/or the implementation of the attribute
Attribute Name:attribute Type
OOAD 12
UML Attribute Notation
 Attributes reside in the 2nd compartment of
a concept box
 Format is name: type
 Attributes should be pure data values
OOAD 13
Attributes [2]
 Attributes in a conceptual model should preferably be
simple attributes or pure data values
 Common simple attribute types include
 boolean, date, number, string, time
OOAD 14
Attributes: Examples
Relate two items with associations, not attributes, in
conceptual model. Avoid representing complex domain
concepts as attributes; use associations.
worse Cashier
name
currentPost
not a
"simple” attribute
better Cashier
name
POST
number
1
1
uses
1
OOAD 15
Complex Attributes
 Pure data values - expressed as attributes; they do not
illustrate specific behaviors;
 Example - Phone number
 A Person can have many Phone numbers
 Non-primitive attribute types
 represent attributes as non-primitive types (concepts or
objects) if
 it is composed of separate sections (name of a person)
 there are operations associated with it such as validation
 it is a quantity with a unit (payment has a unit of
currency)
Non-primitive Data Type Classes
OOAD 16
Non-primitive Data Type
Classes
 The type of an attribute may be expressed as a non-
primitive class in its own right in a domain model.
 Example: The item identifier in POST is an
abstraction of various common coding schemes,
including UPC-A, UPC-E, and the family of EAN
schemes. These numeric coding schemes have
subparts identifying the manufacturer, product,
country (for EAN), and a check-sum digit for
validation. Therefore, there should be a non-primitive
ItemID class
OOAD 17
Where to Illustrate Data Type
Classes?
 Should the ItemID class be shown as a separate conceptual
class in a domain model?
 It depends on what you want to emphasize in the diagram.
Since ItemID is a data type (unique identity of instances is not
important), it may be shown in the attribute compartment of
the class box. But since it is a non-primitive class, with its own
attributes an associations, it may be interesting to show it as a
conceptual class in its own box. There is no correct answer; it
depends on how the domain model is being used as a tool of
communication, and the significance of the concept in the
domain.
OOAD 18
Example
OOAD 19
Non-primitive Data Type Classes
 The price and amount attributes should be non-
primitive Quantity or Money classes because they are
quantities in a unit of currency.
 The address attribute should be a non-primitive
Address class because it has separate sections.
 The classes ItemID, Address, and Quantity are data
types (unique identity of instances is not meaningful)
but they are worth considering as separate classes
because of their qualities.
OOAD 20
OOAD 21
Example
 It is desirable to show non-primitive attributes as concepts in a
conceptual model
Flight Airport
1
1
Flies-to
Flight
destination
Destination a
Complex concept
Partial Domain Model
OOAD 22
OOAD 23
Recording terms in Glossary
 Define all terms that need clarification in a glossary or model
dictionary.
Domain Model v/s Design
Model
OOAD 24

Más contenido relacionado

Similar a Lecture-OO_Analysis-III.pptx

Sadcw 7e chapter04(1)
Sadcw 7e chapter04(1)Sadcw 7e chapter04(1)
Sadcw 7e chapter04(1)LamineKaba6
 
Sadcw 7e chapter04_recorded
Sadcw 7e chapter04_recordedSadcw 7e chapter04_recorded
Sadcw 7e chapter04_recordedLamineKaba6
 
ObjectOrientedSystems.ppt
ObjectOrientedSystems.pptObjectOrientedSystems.ppt
ObjectOrientedSystems.pptChishaleFriday
 
3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptxRokaKaram
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPTTrinath
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineeringMuhammadTalha436
 
Conceptual Data Modelling Using ER-models
Conceptual Data Modelling Using ER-modelsConceptual Data Modelling Using ER-models
Conceptual Data Modelling Using ER-modelsShailaja Jayaprakash
 
software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt064ChetanWani
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modelingAnanthiP8
 
2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptx2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptxSKCTCSE
 
2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptx2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptxSKCTCSE
 
CHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.pptCHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.pptNgoHuuNhan1
 

Similar a Lecture-OO_Analysis-III.pptx (20)

CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Sadcw 7e chapter04(1)
Sadcw 7e chapter04(1)Sadcw 7e chapter04(1)
Sadcw 7e chapter04(1)
 
Sadcw 7e chapter04_recorded
Sadcw 7e chapter04_recordedSadcw 7e chapter04_recorded
Sadcw 7e chapter04_recorded
 
ObjectOrientedSystems.ppt
ObjectOrientedSystems.pptObjectOrientedSystems.ppt
ObjectOrientedSystems.ppt
 
3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx
 
Unit-2.pptx
Unit-2.pptxUnit-2.pptx
Unit-2.pptx
 
Sq lite module3
Sq lite module3Sq lite module3
Sq lite module3
 
domain model.ppt
domain model.pptdomain model.ppt
domain model.ppt
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPT
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Conceptual Data Modelling Using ER-models
Conceptual Data Modelling Using ER-modelsConceptual Data Modelling Using ER-models
Conceptual Data Modelling Using ER-models
 
software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt
 
Sadcw 6e chapter4
Sadcw 6e chapter4Sadcw 6e chapter4
Sadcw 6e chapter4
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptx2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptx
 
2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptx2.6 Associations, Attributes.pptx
2.6 Associations, Attributes.pptx
 
CHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.pptCHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.ppt
 

Último

Create Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comCreate Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comjakyjhon00
 
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdfBuilding+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdfsaidbilgen
 
High-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillHigh-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillCre8iveskill
 
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...Amil baba
 
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Ed Orozco
 
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxWCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxHasan S
 
Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...khushisharma298853
 
Mike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy ShirtMike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy ShirtTeeFusion
 
Designing for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsDesigning for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsBlock Party
 
Cold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptxCold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptxSamKuruvilla5
 
How to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTHow to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTThink 360 Studio
 
The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024Alan Dix
 
LRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfLRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfHctorFranciscoSnchez1
 
UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024mikailaoh
 
Construction Documents Checklist before Construction
Construction Documents Checklist before ConstructionConstruction Documents Checklist before Construction
Construction Documents Checklist before ConstructionResDraft
 
Embroidery design from embroidery magazine
Embroidery design from embroidery magazineEmbroidery design from embroidery magazine
Embroidery design from embroidery magazineRivanEleraki
 
Production of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptxProduction of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptxb2kshani34
 
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Ted Drake
 
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLMath Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLkenzukiri
 

Último (19)

Create Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comCreate Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.com
 
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdfBuilding+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
 
High-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillHigh-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkill
 
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
 
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
 
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxWCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
 
Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...
 
Mike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy ShirtMike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy Shirt
 
Designing for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsDesigning for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teams
 
Cold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptxCold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptx
 
How to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTHow to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPT
 
The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024
 
LRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfLRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdf
 
UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024
 
Construction Documents Checklist before Construction
Construction Documents Checklist before ConstructionConstruction Documents Checklist before Construction
Construction Documents Checklist before Construction
 
Embroidery design from embroidery magazine
Embroidery design from embroidery magazineEmbroidery design from embroidery magazine
Embroidery design from embroidery magazine
 
Production of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptxProduction of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptx
 
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
 
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLMath Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
 

Lecture-OO_Analysis-III.pptx

  • 2. OOAD 2 Conceptual Models - Association  Objective  Identify associations within a conceptual model  Identify attributes
  • 3. OOAD 3 Associations  Associations imply knowledge of a relationship that needs to be preserved over time – could be milliseconds or years! – such associations are need-to-know assocs.  Associations derived from the Common Associations List (Pg 155-156, Larman).  Represented as a solid line between objects – the association is inherently bi-directional – may contain a cardinality or multiplicity value – optionally contains an arrow for easy reading
  • 5. OOAD 5 Associations  Association - a relationship between concepts that indicates some meaningful and interesting connection For example, do we need to remember what SalenLineItem instances are associated with a Sale instance? Definitely, otherwise it would not be possible to reconstruct a sale, print a receipt, or calculate a sale total.
  • 6. OOAD 6 Finding Associations  High priority associations  A is a physical or logical part of B  A is physically or logically contained in/on B  A is recorded in B  Other associations  A uses or manages or controls B (Pilot -airplane)  A owns B (Airline -airplane) or (Register-Store)  A is event related to B (Customer-Sale)
  • 7. OOAD 7 Association Guidelines  Focus on those associations for which knowledge of the relationship needs to be preserved for some duration (need-to- know associations)  More important to identify concepts than associations  Too many associations tend to confuse the conceptual model  Avoid showing redundant or derivable associations
  • 8. OOAD 8 Regarding Associations  Associations are real-world relationships, which may or may not be implemented in the final system.  Conversely, we may discover associations that need to be implemented but were missed in analysis. The conceptual model should be updated!  Usually, associations are implemented by placing an instance variable which “points to” (references) an instance of the associated class.  Only add associations (or concepts) to the model that aid in the comprehension(understanding) of the system by others.  Remember, conceptual models are communication tools, used to express concepts in the problem domain.
  • 9. Partial Domain Model of POST OOAD 9
  • 10. OOAD 10 Conceptual Model - Attributes  Objectives  identify attributes in a conceptual model  distinguish between correct and incorrect attributes It is useful to identify those attributes of conceptual classes that are needed to satisfy the information requirements of the current scenarios under development.
  • 11. OOAD 11 Attributes [1]  Attribute - is a logical data value of an object.  Include the following attributes in a domain model  those for which the requirements suggest or imply a need to remember information  For example, a sale receipt normally includes a date and time attribute It is a named property of a class describing values held by each object of the class  Attribute Type: A specification of the external behavior and/or the implementation of the attribute Attribute Name:attribute Type
  • 12. OOAD 12 UML Attribute Notation  Attributes reside in the 2nd compartment of a concept box  Format is name: type  Attributes should be pure data values
  • 13. OOAD 13 Attributes [2]  Attributes in a conceptual model should preferably be simple attributes or pure data values  Common simple attribute types include  boolean, date, number, string, time
  • 14. OOAD 14 Attributes: Examples Relate two items with associations, not attributes, in conceptual model. Avoid representing complex domain concepts as attributes; use associations. worse Cashier name currentPost not a "simple” attribute better Cashier name POST number 1 1 uses 1
  • 15. OOAD 15 Complex Attributes  Pure data values - expressed as attributes; they do not illustrate specific behaviors;  Example - Phone number  A Person can have many Phone numbers  Non-primitive attribute types  represent attributes as non-primitive types (concepts or objects) if  it is composed of separate sections (name of a person)  there are operations associated with it such as validation  it is a quantity with a unit (payment has a unit of currency)
  • 16. Non-primitive Data Type Classes OOAD 16
  • 17. Non-primitive Data Type Classes  The type of an attribute may be expressed as a non- primitive class in its own right in a domain model.  Example: The item identifier in POST is an abstraction of various common coding schemes, including UPC-A, UPC-E, and the family of EAN schemes. These numeric coding schemes have subparts identifying the manufacturer, product, country (for EAN), and a check-sum digit for validation. Therefore, there should be a non-primitive ItemID class OOAD 17
  • 18. Where to Illustrate Data Type Classes?  Should the ItemID class be shown as a separate conceptual class in a domain model?  It depends on what you want to emphasize in the diagram. Since ItemID is a data type (unique identity of instances is not important), it may be shown in the attribute compartment of the class box. But since it is a non-primitive class, with its own attributes an associations, it may be interesting to show it as a conceptual class in its own box. There is no correct answer; it depends on how the domain model is being used as a tool of communication, and the significance of the concept in the domain. OOAD 18
  • 20. Non-primitive Data Type Classes  The price and amount attributes should be non- primitive Quantity or Money classes because they are quantities in a unit of currency.  The address attribute should be a non-primitive Address class because it has separate sections.  The classes ItemID, Address, and Quantity are data types (unique identity of instances is not meaningful) but they are worth considering as separate classes because of their qualities. OOAD 20
  • 21. OOAD 21 Example  It is desirable to show non-primitive attributes as concepts in a conceptual model Flight Airport 1 1 Flies-to Flight destination Destination a Complex concept
  • 23. OOAD 23 Recording terms in Glossary  Define all terms that need clarification in a glossary or model dictionary.
  • 24. Domain Model v/s Design Model OOAD 24