SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Domain Model Dzenan Ridjanovic 2009-03-08
Domain Model Domain model is a semantic network of concepts and their relationships in a certain domain. Example of a domain: Education. Example of a model: PersonalLibrary. Example of concepts: Book, Person. Example of a relationship: a person may borrow several books; a book may be lent to a person.
Model Concept A concept often represents an organization, a product, a service, a person, a transaction, a thing, an event, ... A concept may have many entities in a real world. Book is a concept. There may be many books that share the same attributes.
Concept Descriptors A concept has structure (properties, neighbors) and behavior  (methods). A concept may have an identifier. An identifier gives a unique identity to each entity of the same concept.
Book Concept Book properties: title, author. Book neighbor: person. Book identifier: title. Book methods: isCataloged, isAvailable, checkOutTo, checkIn, catalog, discard.
Person Concept Person properties: firstName, lastName, maxNumberOfBooks. Person neighbor: books. Person identifier: firstName, lastName. Person methods: isMember, isWithoutBooks, register, unregister.
Concept Property A property is a characteristic of its concept. A property of an entity may be null. A property of an entity usually carries a single value. A property value comes from a type of possible values.
Book Property Book property: title. The title property is a characteristic of the Book concept. A book must have a title. A title of a book carries a text value. A title text comes from String values.
Person Property Person property: maxNumberOfBooks. A maxNumberOfBooks is a characteristic of the Person concept. A person may have a default value for maxNumberOfBooks. A maxNumberOfBooks of a person carries an integer value.
Concept Neighbor A neighbor is a relationship characteristic of its concept. A neighbor of an entity usually references a single entity (parent neighbor) or a collection of entities (child neighbor). A parent neighbor of an entity may be optional (null). A child neighbor may be an empty collection of entities.
Book Neighbor Book neighbor: person. The person neighbor is a relationship characteristic of the Book concept. A book may not be related to a person and in that case is available. A book that references a person is not available.
Person Neighbor Person neighbor: books. The books neighbor is a relationship characteristic of the Person concept. A person may have an empty collection of books.
Entry Concepts Some concepts in a model are declared as entry points to the model. Non-entry concepts are reachable only from entry concepts by following neighbors. Concepts with only child neighbors are good candidates for entry points.
Personal Library Entries Person Book
Personal Library Model
Eclipse Project Eclipse project in the modelibra space at Assembla: modelibra.beginner src: source code test: test code mm: model files
Java Packages One package for model. One package for concepts (for a small model). One package per concept (for larger models).
Java Classes One class for model. Two classes for each concept: Concept, Concepts.
Model Class Create entry points in the model's constructor.
Concept Class First do Concept classes for entry points. Model parent property, properties for parent concepts, properties for child concepts. Create child entities in the concepts's constructor. Private set methods (or not at all) for setting parents or children. Public attach and detach methods for relationships.
Concepts Class Add an entity. Get an entity based on its identifier. Select and order methods.

Weitere ähnliche Inhalte

Andere mochten auch

Improving application design with a rich domain model (springone 2007)
Improving application design with a rich domain model (springone 2007)Improving application design with a rich domain model (springone 2007)
Improving application design with a rich domain model (springone 2007)Chris Richardson
 
003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]Erol Bozkurt
 
Building Rich Domain Models
Building Rich Domain ModelsBuilding Rich Domain Models
Building Rich Domain ModelsChris Richardson
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Leonardo Proietti
 
Okul otomasyon rapor
Okul otomasyon raporOkul otomasyon rapor
Okul otomasyon raporEnes Caglar
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design ConceptSharath g
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software EngineeringAli Haider
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Domain Modeling in a Functional World
Domain Modeling in a Functional WorldDomain Modeling in a Functional World
Domain Modeling in a Functional WorldDebasish Ghosh
 
User Experience Deliverables
User Experience DeliverablesUser Experience Deliverables
User Experience DeliverablesJenna Yim
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
A presentation on ms office
A presentation on ms officeA presentation on ms office
A presentation on ms officeVijayraj Daksh
 

Andere mochten auch (16)

Improving application design with a rich domain model (springone 2007)
Improving application design with a rich domain model (springone 2007)Improving application design with a rich domain model (springone 2007)
Improving application design with a rich domain model (springone 2007)
 
003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]
 
Building Rich Domain Models
Building Rich Domain ModelsBuilding Rich Domain Models
Building Rich Domain Models
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5
 
Okul otomasyon rapor
Okul otomasyon raporOkul otomasyon rapor
Okul otomasyon rapor
 
UML ile Modelleme
UML ile ModellemeUML ile Modelleme
UML ile Modelleme
 
Hastane Poliklinik Otomasyonu
Hastane Poliklinik OtomasyonuHastane Poliklinik Otomasyonu
Hastane Poliklinik Otomasyonu
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design Concept
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Domain Modeling in a Functional World
Domain Modeling in a Functional WorldDomain Modeling in a Functional World
Domain Modeling in a Functional World
 
User Experience Deliverables
User Experience DeliverablesUser Experience Deliverables
User Experience Deliverables
 
Use case-diagrams
Use case-diagramsUse case-diagrams
Use case-diagrams
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
A presentation on ms office
A presentation on ms officeA presentation on ms office
A presentation on ms office
 

Ähnlich wie Domain Model

Greek Mythology Webquest
Greek Mythology WebquestGreek Mythology Webquest
Greek Mythology Webquestecgiacom
 
Schema handout by deb smith
Schema handout by deb smithSchema handout by deb smith
Schema handout by deb smithJennifer Evans
 
Ecology RICA & Graphic Organizers
Ecology RICA & Graphic OrganizersEcology RICA & Graphic Organizers
Ecology RICA & Graphic Organizersmadwhistler
 
Blogs
BlogsBlogs
Blogsadris
 
Grakn academy | Knowledge Modelling Principles
Grakn academy | Knowledge Modelling PrinciplesGrakn academy | Knowledge Modelling Principles
Grakn academy | Knowledge Modelling PrinciplesDaniel Crowe
 
Secondary sources workshop
Secondary sources workshopSecondary sources workshop
Secondary sources workshopdalwritingcentre
 
Using analogies to teach english language learners
Using analogies to teach english language learnersUsing analogies to teach english language learners
Using analogies to teach english language learnersEika Matari
 
Teaching the Classics in the Inclusive Classroom.mcknight
Teaching the Classics in the Inclusive Classroom.mcknightTeaching the Classics in the Inclusive Classroom.mcknight
Teaching the Classics in the Inclusive Classroom.mcknightKatie McKnight
 
Unit One Assignment / English102 / Shearer
Unit One Assignment / English102 / ShearerUnit One Assignment / English102 / Shearer
Unit One Assignment / English102 / ShearerClare Shearer
 
Shearer / Unit One Assignment / English102
Shearer / Unit One Assignment / English102Shearer / Unit One Assignment / English102
Shearer / Unit One Assignment / English102Clare Shearer
 
EFL class: Choosing the right material
EFL class: Choosing the right materialEFL class: Choosing the right material
EFL class: Choosing the right materialWilmer Quiros
 
Picture book literature circles
Picture book literature circlesPicture book literature circles
Picture book literature circlesEmily Kissner
 
Compare and contrast (1)
Compare and contrast (1)Compare and contrast (1)
Compare and contrast (1)Tracy Mccleskey
 
Reading and Writing Paragraph in Reading and Writing Skills.pptx
Reading and Writing Paragraph in Reading and Writing Skills.pptxReading and Writing Paragraph in Reading and Writing Skills.pptx
Reading and Writing Paragraph in Reading and Writing Skills.pptxBernardLacambra1
 
224 Responses from Last Class
224 Responses from Last Class224 Responses from Last Class
224 Responses from Last ClassMiami University
 

Ähnlich wie Domain Model (20)

Greek Mythology Webquest
Greek Mythology WebquestGreek Mythology Webquest
Greek Mythology Webquest
 
Compare and contrast
Compare and contrastCompare and contrast
Compare and contrast
 
Schema handout by deb smith
Schema handout by deb smithSchema handout by deb smith
Schema handout by deb smith
 
Ecology RICA & Graphic Organizers
Ecology RICA & Graphic OrganizersEcology RICA & Graphic Organizers
Ecology RICA & Graphic Organizers
 
Blogs
BlogsBlogs
Blogs
 
Making Text Connections
Making Text ConnectionsMaking Text Connections
Making Text Connections
 
Grakn academy | Knowledge Modelling Principles
Grakn academy | Knowledge Modelling PrinciplesGrakn academy | Knowledge Modelling Principles
Grakn academy | Knowledge Modelling Principles
 
Secondary sources workshop
Secondary sources workshopSecondary sources workshop
Secondary sources workshop
 
Using analogies to teach english language learners
Using analogies to teach english language learnersUsing analogies to teach english language learners
Using analogies to teach english language learners
 
Discourse
DiscourseDiscourse
Discourse
 
Teaching the Classics in the Inclusive Classroom.mcknight
Teaching the Classics in the Inclusive Classroom.mcknightTeaching the Classics in the Inclusive Classroom.mcknight
Teaching the Classics in the Inclusive Classroom.mcknight
 
Unit One Assignment / English102 / Shearer
Unit One Assignment / English102 / ShearerUnit One Assignment / English102 / Shearer
Unit One Assignment / English102 / Shearer
 
Shearer / Unit One Assignment / English102
Shearer / Unit One Assignment / English102Shearer / Unit One Assignment / English102
Shearer / Unit One Assignment / English102
 
EFL class: Choosing the right material
EFL class: Choosing the right materialEFL class: Choosing the right material
EFL class: Choosing the right material
 
Picture book literature circles
Picture book literature circlesPicture book literature circles
Picture book literature circles
 
Compare and contrast (1)
Compare and contrast (1)Compare and contrast (1)
Compare and contrast (1)
 
Scholarly Book Recommendation
Scholarly Book RecommendationScholarly Book Recommendation
Scholarly Book Recommendation
 
Reading and Writing Paragraph in Reading and Writing Skills.pptx
Reading and Writing Paragraph in Reading and Writing Skills.pptxReading and Writing Paragraph in Reading and Writing Skills.pptx
Reading and Writing Paragraph in Reading and Writing Skills.pptx
 
224 Responses from Last Class
224 Responses from Last Class224 Responses from Last Class
224 Responses from Last Class
 
Intro to UML
Intro to UMLIntro to UML
Intro to UML
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Domain Model

  • 1. Domain Model Dzenan Ridjanovic 2009-03-08
  • 2. Domain Model Domain model is a semantic network of concepts and their relationships in a certain domain. Example of a domain: Education. Example of a model: PersonalLibrary. Example of concepts: Book, Person. Example of a relationship: a person may borrow several books; a book may be lent to a person.
  • 3. Model Concept A concept often represents an organization, a product, a service, a person, a transaction, a thing, an event, ... A concept may have many entities in a real world. Book is a concept. There may be many books that share the same attributes.
  • 4. Concept Descriptors A concept has structure (properties, neighbors) and behavior (methods). A concept may have an identifier. An identifier gives a unique identity to each entity of the same concept.
  • 5. Book Concept Book properties: title, author. Book neighbor: person. Book identifier: title. Book methods: isCataloged, isAvailable, checkOutTo, checkIn, catalog, discard.
  • 6. Person Concept Person properties: firstName, lastName, maxNumberOfBooks. Person neighbor: books. Person identifier: firstName, lastName. Person methods: isMember, isWithoutBooks, register, unregister.
  • 7. Concept Property A property is a characteristic of its concept. A property of an entity may be null. A property of an entity usually carries a single value. A property value comes from a type of possible values.
  • 8. Book Property Book property: title. The title property is a characteristic of the Book concept. A book must have a title. A title of a book carries a text value. A title text comes from String values.
  • 9. Person Property Person property: maxNumberOfBooks. A maxNumberOfBooks is a characteristic of the Person concept. A person may have a default value for maxNumberOfBooks. A maxNumberOfBooks of a person carries an integer value.
  • 10. Concept Neighbor A neighbor is a relationship characteristic of its concept. A neighbor of an entity usually references a single entity (parent neighbor) or a collection of entities (child neighbor). A parent neighbor of an entity may be optional (null). A child neighbor may be an empty collection of entities.
  • 11. Book Neighbor Book neighbor: person. The person neighbor is a relationship characteristic of the Book concept. A book may not be related to a person and in that case is available. A book that references a person is not available.
  • 12. Person Neighbor Person neighbor: books. The books neighbor is a relationship characteristic of the Person concept. A person may have an empty collection of books.
  • 13. Entry Concepts Some concepts in a model are declared as entry points to the model. Non-entry concepts are reachable only from entry concepts by following neighbors. Concepts with only child neighbors are good candidates for entry points.
  • 16. Eclipse Project Eclipse project in the modelibra space at Assembla: modelibra.beginner src: source code test: test code mm: model files
  • 17. Java Packages One package for model. One package for concepts (for a small model). One package per concept (for larger models).
  • 18. Java Classes One class for model. Two classes for each concept: Concept, Concepts.
  • 19. Model Class Create entry points in the model's constructor.
  • 20. Concept Class First do Concept classes for entry points. Model parent property, properties for parent concepts, properties for child concepts. Create child entities in the concepts's constructor. Private set methods (or not at all) for setting parents or children. Public attach and detach methods for relationships.
  • 21. Concepts Class Add an entity. Get an entity based on its identifier. Select and order methods.