Artifact: Logical Data Model
Logical Data Model represents business-domain concepts.
Domains: Rule Discovery
Work Product Kinds: Agile Rule Discovery
Purpose
Data modeling is the act of exploring data-oriented structures.  Like other modeling artifacts data models can be used for a variety of purposes, from high-level conceptual models to physical data models.
Relationships
Description
Main Description

From the point of view of an object-oriented developer data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with class modeling you identify classes.  Data attributes are assigned to entity types just as you would assign attributes and operations to classes. Traditional data modeling is different from class modeling because it focuses solely on data – class models allow you to explore both the behavior and data aspects of your domain, with a data model you can only explore data issues.



We use UML simple class diagram to represent a Logical Data Model but by applying Agile's principle of multiple models, it is possible to use other diagram.



Logical Data Models are used to explore the domain concepts, and their relationships, of the problem domain.  This could be done for the scope of a single project or for the entire enterprise.  LDMs depict the logical entity types, typically referred to simply as entity types, the data attributes describing those entities, and the relationships between the entities. 



A Fact Model represents structured business vocabulary with true statement like: A customer places an order. The fact model looks like the Object Role Model described by Halpin (2001). When the model starts to grow the notation become quickly invisible and no more helpful, so we do not encourage to follow the notation.



A Fact Model should always include elementary (atomic) fact type:

          Noun:  Customer, Order, Product

          Verb:  places, briefs



We may use Object Role Models to explore the domain with project stakeholders but later replace them with a more traditional artifact such as an LDM, a class diagram, or even a PDM



Illustrations