larman chapter 10
TRANSCRIPT
-
8/12/2019 Larman Chapter 10
1/13
1
Domain model: visualizingconcepts
Chapter 10
Applying UML and Patterns
-Craig Larman
-
8/12/2019 Larman Chapter 10
2/13
2
Domain Model Relationships
Domain Model
Use Case Model
Interaction Diagrams
Glossary
Design
Requirements
Business Model
Classes, attributes, associations
Domain
objects
Elaboration on some terms
-
8/12/2019 Larman Chapter 10
3/13
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
-
8/12/2019 Larman Chapter 10
4/13
4
Domain Model
UML Notation
Illustrated using a set of class diagrams for which no operationsare defined.
A Domain Model is a description of things
in the real world.
A Domain Model is not a description ofthe software design.
A concept is an idea,
thing, or object.
-
8/12/2019 Larman Chapter 10
5/13
5
A Domain Model is not a
Software Artifact
Sale
Date
Time
Sales Database
Sale
DateTime
Print()
A Conceptual class: Software Artifacts:
vs.
-
8/12/2019 Larman Chapter 10
6/13
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 thistype of linguistic analysis.
Its not strictly a mechanical process:
Words may be ambiguous Different phrases may represent the same
concepts.
-
8/12/2019 Larman Chapter 10
7/13
7
Steps to create a
Domain Model
Identify Candidate Conceptual classes
Draw them in a Domain Model
Add associations necessary to record therelationships that must be retained
Add attributes necessary for information to
be preservedApply existing Analysis Patterns
-
8/12/2019 Larman Chapter 10
8/13
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
-
8/12/2019 Larman Chapter 10
9/13
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
-
8/12/2019 Larman Chapter 10
10/13
10
Specification or Description
Conceptual Classes
A Class that records information about an
item.
Even if all Instances of the item are soldout, the description remains.
Avoids duplication of recording the
descriptive information with each instanceof the item.
-
8/12/2019 Larman Chapter 10
11/13
-
8/12/2019 Larman Chapter 10
12/13
12
Monopoly Concepts
(candidates)
Monopoly Game Player Piece
Die Board Square
-
8/12/2019 Larman Chapter 10
13/13
13
The NextGen POS (partial) Domain
Model