SlideShare a Scribd company logo
1 of 33
DOMAIN MODEL
REFINEMENT
Presented by:
Anjan Kumar
DOMAIN MODEL (RECAP)
WHAT IS DOMAIN MODEL?
Why do a domain model?
o Gives a conceptual framework of the things in the problem
space .
o Helps you think-focus on semantics .
o Provides a glossary of terms-noun based.
o It is a static view - meaning it allows us convey time in variant
business rules.
o Foundation for use case/workflow modelling.
o Based on the defined structure, we can describe the state of
the problem domain at any time.
A simple domain model
Features of a domain model
Domain classes - each domain class denotes a type of object.
Attributes- an attribute is the description of a named slot of a specified
type in a domain class; each instance of the class separately holds a value.
Associations- an association is a relationship between two (or more)
domain classes that describes links between their object instances.
Associations can have roles, describing the multiplicity and participation of
a class in the relationship.
Additional rules - complex rules that cannot be shown with symbology can
be shown with attached notes.
DOMAIN MODEL
REFINEMENT
o Similar to the concepts in the Object Models
o Generalization and specialization
o Conceptual class hierarchies
o Association classes that capture information
about the association
o Time intervals
o Packages as a means of organization
Things not seen before in the Domain Model
Objectives
o Add association classes to the Domain Model.
o Add aggregation relationships.
o Model the time intervals of applicable information.
o Choose how to model roles.
o Organize the Domain Model into packages.
Association Classes
First attempt at
modeling the
merchantID problem.
The fact that both Store and AuthorizationService are related to ServiceContract is a clue
that it is dependent on the relationship between the two. The merchantID may be thought
of as an attribute related to the association between Store and AuthorizationService.
This leads to The notion of an association class ,in which we can add features to the
association itself.
Service Contract may be modeled as an association class related to the association
between Store and Authorization Service.
In the UML, this is illustrated with a dashed line from the association to the association
class.
It visually communicates the idea that a Service-Contract and its attributes are related
to the association between a Store and Authorization Service, and that the lifetime of
the Service Contract is dependent on the relationship.
Association class
 An attribute is related to an association.
 Instances of the association class have a life-time dependency on the association.
 There is a many-to-many association between two concepts, and information
associated with the association itself.
Guidelines For Adding Association Classes
examples of association classe.
Aggregation and Composition
Aggregation is a kind of association used to model whole-part relationships
between things.
The whole is called the composite.
Aggregation is shown in the UML with a hollow or filled diamond symbol at the
composite end of a whole-part association.
Aggregation is a property of an association role.
Aggregation
Composite
Aggregation.
Shared
Aggregation
Composite Aggregation
• Represented with filled diamond.
• Means that the part is a member of only one composite object, and that there is an existence and
disposition dependency of the part on the composite.
• Composition is signified with a filled diamond. It implies that the composite solely owns the part,
and that they are in a tree structure part hierarchy.
• it is the most common form of aggregation shown in models.
• Example Composition Aggregation
A finger is a part of at most one hand ,thus the aggregation diamond is filled to indicate
composite aggregation
For Example, in a human body domain model ,one thinks of the hand as including the
fingers, so if one says, A hand has come into existence, we understand this to also mean
that fingers have come into existence as well.
•If the multiplicity at the composite end is exactly one (1), the part may not exist
separate from some composite.
•For Example if the finger is removed from the hand, it must be immediately attached
to another composite object.
•If the multiplicity at the composite end is 0..1,then the part may be removed from the
composite, and still exist apart from membership in any composite.
•So in previous example if you want fingers floating around by themselves, use 0..1.
Multiplicity At Composite End
Shared Aggregation
• Represented with Hollow diamond.
• Means that the multiplicity at the composite end may be more than one.
• Implies that the part may be simultaneously in many composite instances.
• For instance, a UML package may be considered to aggregate its elements. But
• an element may be referenced in more than one package.
Qualified Associations
A qualifier may be used in an association; it distinguishes the set of objects at
the far end of the association based on the qualifier value. An association with a
qualifier is a qualified association.
For example, ProductSpecifications may be distinguished in a ProductCatalog
by their itemID,
an association to itself; this is
known as a reflexive association3
Reflexive Association
Aggregation in the POS Domain Model
In the POS domain, the SalesLineItems may be considered a part of a composite Sale;
Similarly ProductCatalog is an aggregate of Product-Specifications.
Time Intervals
If a SalesLineItem always retrieved the current price recorded in a
Product-Specification, then when the price was changed in the object, old sales
would refer to new prices, which is incorrect.
So we can use timeinterval class to solve this problem .
This is to associate a collection of ProductPrices with a ProductSpecification, each
with an associated applicable time interval. so that it can record all past prices
and also record future planned prices
Two ways to Model Human Roles
Roles in Associations
Roles as Concepts
Derived Elements
A derived element can be determined
from others. Attributes and associations
are the most common derived elements.
Association Role Names
Each end of an association is a role, which has various properties, such as:
• name
• multiplicity
A role name identifies an end of an association and ideally describes the role played by
objects in the association.
Role name usually starts with a lowercase letter.
Package Notation
• In UML package is shown as a tabbed folder.
• Subordinate packages may be shown within it.
• The package name is within the tab if the package
depicts its elements;
• otherwise, it is centered within the folder itself.
Ownership and References
• An element is owned by the package within it is defined, but may be referenced
in other packages.
• In that case, the element name is qualified by the package name using the
pathname format Package Name Element Name.
• A class shown in a foreign package may be modified with new associations, but
must otherwise remain unchanged.
Package Dependencies
• A package dependency indicates that elements of the dependent package in some
way know about or are coupled to elements in the target package.
• If a model element is in some way dependent on another, the dependency shown
with a dependency relationship, depicted with an arrowed line.
For example, if a package references an element owned by another, a dependency
Exists.
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement
Domain model Refinement

More Related Content

What's hot

Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxkumari36
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)Priya Tomar
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain modelVignesh Saravanan
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)REHMAT ULLAH
 
Levels of Virtualization.docx
Levels of Virtualization.docxLevels of Virtualization.docx
Levels of Virtualization.docxkumari36
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural ModelingAMITJain879
 

What's hot (20)

Unit 2
Unit 2Unit 2
Unit 2
 
UML
UMLUML
UML
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docx
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Prototype pattern
Prototype patternPrototype pattern
Prototype pattern
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain model
 
Unified process model
Unified process modelUnified process model
Unified process model
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
Underlying principles of parallel and distributed computing
Underlying principles of parallel and distributed computingUnderlying principles of parallel and distributed computing
Underlying principles of parallel and distributed computing
 
Ooad
OoadOoad
Ooad
 
Ooad
OoadOoad
Ooad
 
Levels of Virtualization.docx
Levels of Virtualization.docxLevels of Virtualization.docx
Levels of Virtualization.docx
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Virtual machine security
Virtual machine securityVirtual machine security
Virtual machine security
 
Memory virtualization
Memory virtualizationMemory virtualization
Memory virtualization
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 

Similar to Domain model Refinement

UML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.pptUML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.pptWorkDrive2
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented RelationshipsTaher Barodawala
 
06 class diagrams
06 class diagrams06 class diagrams
06 class diagramsBaskarkncet
 
08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagramskebsterz
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
UNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptxUNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptxanguraju1
 
SAD02 - Object Orientation
SAD02 - Object OrientationSAD02 - Object Orientation
SAD02 - Object OrientationMichael Heron
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4Ricardo Quintero
 
Slide 5 Class Diagram
Slide 5 Class DiagramSlide 5 Class Diagram
Slide 5 Class DiagramNiloy Rocker
 
Unit 2(advanced class modeling & state diagram)
Unit  2(advanced class modeling & state diagram)Unit  2(advanced class modeling & state diagram)
Unit 2(advanced class modeling & state diagram)Manoj Reddy
 

Similar to Domain model Refinement (20)

Ooad ch 4
Ooad ch 4Ooad ch 4
Ooad ch 4
 
UML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.pptUML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.ppt
 
UML-class_diagram.ppt
UML-class_diagram.pptUML-class_diagram.ppt
UML-class_diagram.ppt
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented Relationships
 
06 class diagrams
06 class diagrams06 class diagrams
06 class diagrams
 
08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
OO & UML
OO & UMLOO & UML
OO & UML
 
Jar chapter 2
Jar chapter 2Jar chapter 2
Jar chapter 2
 
Interfaces & Packages V2
Interfaces & Packages V2Interfaces & Packages V2
Interfaces & Packages V2
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Ooad ch 3
Ooad ch 3Ooad ch 3
Ooad ch 3
 
UNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptxUNIT II STATIC UML DIAGRAMS.pptx
UNIT II STATIC UML DIAGRAMS.pptx
 
SAD02 - Object Orientation
SAD02 - Object OrientationSAD02 - Object Orientation
SAD02 - Object Orientation
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4
 
Slide 5 Class Diagram
Slide 5 Class DiagramSlide 5 Class Diagram
Slide 5 Class Diagram
 
Unit 2(advanced class modeling & state diagram)
Unit  2(advanced class modeling & state diagram)Unit  2(advanced class modeling & state diagram)
Unit 2(advanced class modeling & state diagram)
 

Recently uploaded

ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxAnaBeatriceAblay2
 

Recently uploaded (20)

ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
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🔝
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
 

Domain model Refinement

  • 2. DOMAIN MODEL (RECAP) WHAT IS DOMAIN MODEL?
  • 3. Why do a domain model? o Gives a conceptual framework of the things in the problem space . o Helps you think-focus on semantics . o Provides a glossary of terms-noun based. o It is a static view - meaning it allows us convey time in variant business rules. o Foundation for use case/workflow modelling. o Based on the defined structure, we can describe the state of the problem domain at any time.
  • 5. Features of a domain model Domain classes - each domain class denotes a type of object. Attributes- an attribute is the description of a named slot of a specified type in a domain class; each instance of the class separately holds a value. Associations- an association is a relationship between two (or more) domain classes that describes links between their object instances. Associations can have roles, describing the multiplicity and participation of a class in the relationship. Additional rules - complex rules that cannot be shown with symbology can be shown with attached notes.
  • 7. o Similar to the concepts in the Object Models o Generalization and specialization o Conceptual class hierarchies o Association classes that capture information about the association o Time intervals o Packages as a means of organization Things not seen before in the Domain Model
  • 8. Objectives o Add association classes to the Domain Model. o Add aggregation relationships. o Model the time intervals of applicable information. o Choose how to model roles. o Organize the Domain Model into packages.
  • 9. Association Classes First attempt at modeling the merchantID problem. The fact that both Store and AuthorizationService are related to ServiceContract is a clue that it is dependent on the relationship between the two. The merchantID may be thought of as an attribute related to the association between Store and AuthorizationService.
  • 10. This leads to The notion of an association class ,in which we can add features to the association itself. Service Contract may be modeled as an association class related to the association between Store and Authorization Service. In the UML, this is illustrated with a dashed line from the association to the association class. It visually communicates the idea that a Service-Contract and its attributes are related to the association between a Store and Authorization Service, and that the lifetime of the Service Contract is dependent on the relationship. Association class
  • 11.  An attribute is related to an association.  Instances of the association class have a life-time dependency on the association.  There is a many-to-many association between two concepts, and information associated with the association itself. Guidelines For Adding Association Classes examples of association classe.
  • 12. Aggregation and Composition Aggregation is a kind of association used to model whole-part relationships between things. The whole is called the composite. Aggregation is shown in the UML with a hollow or filled diamond symbol at the composite end of a whole-part association. Aggregation is a property of an association role. Aggregation Composite Aggregation. Shared Aggregation
  • 13. Composite Aggregation • Represented with filled diamond. • Means that the part is a member of only one composite object, and that there is an existence and disposition dependency of the part on the composite. • Composition is signified with a filled diamond. It implies that the composite solely owns the part, and that they are in a tree structure part hierarchy. • it is the most common form of aggregation shown in models. • Example Composition Aggregation A finger is a part of at most one hand ,thus the aggregation diamond is filled to indicate composite aggregation For Example, in a human body domain model ,one thinks of the hand as including the fingers, so if one says, A hand has come into existence, we understand this to also mean that fingers have come into existence as well.
  • 14. •If the multiplicity at the composite end is exactly one (1), the part may not exist separate from some composite. •For Example if the finger is removed from the hand, it must be immediately attached to another composite object. •If the multiplicity at the composite end is 0..1,then the part may be removed from the composite, and still exist apart from membership in any composite. •So in previous example if you want fingers floating around by themselves, use 0..1. Multiplicity At Composite End
  • 15. Shared Aggregation • Represented with Hollow diamond. • Means that the multiplicity at the composite end may be more than one. • Implies that the part may be simultaneously in many composite instances. • For instance, a UML package may be considered to aggregate its elements. But • an element may be referenced in more than one package.
  • 16. Qualified Associations A qualifier may be used in an association; it distinguishes the set of objects at the far end of the association based on the qualifier value. An association with a qualifier is a qualified association. For example, ProductSpecifications may be distinguished in a ProductCatalog by their itemID,
  • 17. an association to itself; this is known as a reflexive association3 Reflexive Association Aggregation in the POS Domain Model In the POS domain, the SalesLineItems may be considered a part of a composite Sale; Similarly ProductCatalog is an aggregate of Product-Specifications.
  • 18. Time Intervals If a SalesLineItem always retrieved the current price recorded in a Product-Specification, then when the price was changed in the object, old sales would refer to new prices, which is incorrect. So we can use timeinterval class to solve this problem . This is to associate a collection of ProductPrices with a ProductSpecification, each with an associated applicable time interval. so that it can record all past prices and also record future planned prices
  • 19. Two ways to Model Human Roles Roles in Associations Roles as Concepts
  • 20. Derived Elements A derived element can be determined from others. Attributes and associations are the most common derived elements. Association Role Names Each end of an association is a role, which has various properties, such as: • name • multiplicity A role name identifies an end of an association and ideally describes the role played by objects in the association. Role name usually starts with a lowercase letter.
  • 21. Package Notation • In UML package is shown as a tabbed folder. • Subordinate packages may be shown within it. • The package name is within the tab if the package depicts its elements; • otherwise, it is centered within the folder itself. Ownership and References • An element is owned by the package within it is defined, but may be referenced in other packages. • In that case, the element name is qualified by the package name using the pathname format Package Name Element Name. • A class shown in a foreign package may be modified with new associations, but must otherwise remain unchanged.
  • 22. Package Dependencies • A package dependency indicates that elements of the dependent package in some way know about or are coupled to elements in the target package. • If a model element is in some way dependent on another, the dependency shown with a dependency relationship, depicted with an arrowed line. For example, if a package references an element owned by another, a dependency Exists.