Presentation is loading. Please wait.

Presentation is loading. Please wait.

Domain model: visualizing concepts

Similar presentations


Presentation on theme: "Domain model: visualizing concepts"— Presentation transcript:

1 Domain model: visualizing concepts
Chapter 10 Applying UML and Patterns -Craig Larman

2 Domain Model Relationships
Business Model Classes, attributes, associations Elaboration on some terms Use Case Model Domain objects Glossary Requirements Interaction Diagrams Design

3 A Domain Model illustrates meaningful conceptual classes in a problem domain. is a representation of real-world concepts, not software components. is NOT a set of diagrams describing software classes, or software objects and their responsibilities. It may show: 􀂉 concepts 􀂉 associations between concepts 􀂉 attributes of concepts

4 Domain Model UML Notation
Illustrated using a set of class diagrams for which no operations are defined. A Domain Model is a description of things in the real world. 􀂄 A Domain Model is not a description of the software design. 􀂄 A concept is an idea, thing, or object.

5 A Domain Model is not a Software Artifact
Software Artifacts: A Conceptual class: Sales Database Sale Date Time vs. Sale Date Time Print()

6 Identify Conceptual Classes by Noun Phrase:
Identify Nouns and Noun Phrases in textual descriptions of the domain. Fully dressed Use Cases are good for this type of linguistic analysis. It’s not strictly a mechanical process: Words may be ambiguous Different phrases may represent the same concepts.

7 Steps to create a Domain Model
Identify Candidate Conceptual classes Draw them in a Domain Model Add associations necessary to record the relationships that must be retained Add attributes necessary for information to be preserved Apply existing Analysis Patterns

8 Apply the Mapmaker Strategy
Use existing names for things, the vocabulary of the domain Exclude irrelevant features Do not add things that are not there

9 A Common Mistake - Classes as Attributes
Rule: If we do not think of a thing as a number or text in the real world, then it is probably a conceptual class. If it takes up space, then it is likely a conceptual class. Examples: A Store is not an attribute of a Sale A Destination is not an attribute of a flight

10 Specification or Description Conceptual Classes
A Class that records information about an item. Even if all Instances of the item are sold out, the description remains. Avoids duplication of recording the descriptive information with each instance of the item.

11 Description of a Service Example (Flight)
Date Time Number Airport Name Flies-to vs. Flight Date Time Flight Desc Date Time Airport Name Described -by Describes -flights-to

12 Monopoly Concepts (candidates)
Monopoly Game Player Piece Square Die Board

13 The NextGen POS (partial) Domain Model


Download ppt "Domain model: visualizing concepts"

Similar presentations


Ads by Google