# 1DV607 Notes
### Domain model
Use cases are an important requirements analysis artifact, but are not object-oriented. They emphasize an activity view.
The quintessential object-oriented analysis step is the decomposition of a domain into noteworthy concepts or objects.
Visar klasser vars relationer är meningsfulla att notera.
Applying UML notation, a domain model is illustrated with a set of class diagrams in which no operations (method signatures) are defined. It provides a conceptual perspective. It may show:
domain objects or conceptual classes associations between conceptual classes attributes of conceptual classes
A UP Domain Model, as shown in Figure 9.3, is a visualization of things in a real-situation domain of interest, not of software objects such as Java or C# classes, or software objects with responsibilities (see Figure 9.4). Therefore, the following elements are not suitable in a domain model:
Software artifacts, such as a window or a database, unless the domain being modeled is of software concepts, such as a model of graphical user interfaces.
Responsibilities or methods.
**What are Conceptual Classes?**
The domain model illustrates conceptual classes or vocabulary in the domain. Informally, a conceptual class is an idea, thing, or object. More formally, a conceptual class may be considered in terms of its symbol, intension, and extension [MO95] (see Figure 9.5).
**Symbol** words or images representing a conceptual class.
**Intension** the definition of a conceptual class.
**Extension** the set of examples to which the conceptual class applies.
---------------

If we do not think of some conceptual class X as a number or text in the real world, X is probably a conceptual class, not an attribute.
--------------
---------------

Name an association based on a ClassName-VerbPhrase-ClassName format where the verb phrase creates a sequence that is readable and meaningful.
Simple association names such as "Has" or "Uses" are usually poor, as they seldom enhance our understanding of the domain.
For example,
good example: Sale Paid-by CashPayment
bad example: (doesn't enhance meaning): Sale Uses CashPayment
--------------