Copyright © Craig Larman All Rights Reserved The Domain Model
Copyright © Craig Larman All Rights Reserved 2 Introduction n Partitions and illustrates the important domain concepts. n A classic object-oriented analysis activity. n What are the objects of interest in the this domain? – their attributes? – their relationships? n IMPORTANT: Not software objects, but a “visual dictionary” of domain concepts.
Copyright © Craig Larman All Rights Reserved 3 A Domain Model Does Not Represent Software Objects n A model of domain concepts, not of software objects. – A “visual dictionary” of important words in the domain. n Uses UML static structure diagram notation.
Copyright © Craig Larman All Rights Reserved 4 Terminology n UP domain model = book conceptual model
Copyright © Craig Larman All Rights Reserved 5 Partitioning the Domain Model n Although this is conceptually accurate, a person will not actually draw package boxes around groups as in this example. Rather, a CASE tool will allow “drill down”.
Copyright © Craig Larman All Rights Reserved 6 Finding Domain Concepts n Candidate lists n “Abbott” Analysis n Existing analysis patterns – Analysis Patterns, Fowler – Data Model Patterns, Hay – The Data Model Resource Book, Silverston
Copyright © Craig Larman All Rights Reserved 7 Associations
Copyright © Craig Larman All Rights Reserved 8 Multiplicity
Copyright © Craig Larman All Rights Reserved 9 Focus on Important Associations
Copyright © Craig Larman All Rights Reserved 10 Attributes n Show only “simple” relatively primitive types as attributes. n Connections to other concepts are to be represented as associations, not attributes.
Copyright © Craig Larman All Rights Reserved 11 Do Not Use Attributes To Relate Concepts n Why not?
Copyright © Craig Larman All Rights Reserved 12 An Example