COMPUTING SCIENCE 220
Software Engineering and Human-Computer Interfaces
Domain Model: Visualizing Concepts
Domain Model
Figure 9.1. Partial domain model - a visual dictionary
Conceptual Classes
Figure 9.5. Symbol, intension, and extension
Perspectives
The same diagramming notation may be used for three perspectives and types of models:
- Essential or conceptual perspective
- Specification perspective
- Implementation perspective
UML notation applied in different perspectives and models
Representational or Semantic Gap
Using names and information from the real world domain when creating software classes
results in a low representational gap (semantic gap).
Figure 9.6. Low representational gap
Conceptual Class Identification
- use a conceptual class category list (see Table 10.1, pp. 134-5)
- identify noun phrases in textual description of a domain
(e.g., fully dressed use cases)
- use analysis patterns
(e.g., Analysis Patterns: Reusable Object Models by Martin Fowler [QA 76.9 O35 F69 1997])
See mapmaker strategy, p. 145.
Concept or Attribute
Store as concept or attribute
Specification or Description Conceptual Classes
Figure 9.9. Specifications or descriptions about other things - ProductSpecification
Figure 9.10. Another example - FlightDescription
Example: The NextGen POS Initial Domain Model
Figure 9.17. Initial (names-only) domain model for the NextGen POS domain
Copyright © 2003, 2005 Jonathan Mohr