How do these 2 models relate and extend each other?
Which one comes first?
BABoK V3 definition of Concept model:
A concept model is used to organize the business vocabulary needed to consistently and thoroughly communicate the knowledge of a domain.
BABoK V3 definition of Data model:
A data model describes the entities, classes or data objects relevant to a domain, the attributes that are used to describe them, and the relationships among them to provide a common set of semantics for analysis and implementation.
Let’s look at the concept model for Adaptive RED, Adaptive’s Enterprise Requirements warehouse.
As we can see, Adaptive RED deals with 4 major concepts – Requirements engineer, Requirements warehouse, Requirements and Requirements history. These concepts are interrelated and depicts how information is managed within Adaptive RED .A data model is also represented in the form of diagrams supported by textual descriptions, but there’s a little more to it. It depicts elements which are important to the business, the attributes associated with those elements, and the significant relationships among them.
Data models are of several types:
Conceptual data model
Represents business information regardless of the solution or technology. Helps to establish a consistent vocabulary which describes business information and the relationships between them just like the concept model
Logical data model
More formal approach and incorporates rules. Used to design a solution
Physical data model
ER Diagram - RED
Describes physical data organization in a database. Addresses concerns like performance, concurrency and security.
In a data model, the organization keeps data on entities (or classes or data
objects). In relation to a database, an entity is a single person, place, or thing about which data can be stored. It contains attributes and has relationships to other entities in the model. The number of occurrences to which an entity may be related is known as cardinality. It can be zero, one or many.
Let’s see how the entity relationship diagram (ERD) for Adaptive RED looks like. Here, requirements is an entity with attributes such as requirements ID, description etc. The relationship between the entities requirements and requirements history is one to many.
In a class diagram, entities are referred to as classes. A class contains attributes and has associations (same as relationship in entity model) with other classes and also contains operations that describe what can be done with the class. Here, the term multiplicity is used instead of cardinality. In the Adaptive RED class diagram, let’s look at the requirements class. The attributes with regard to requirements are requirements ID, description, status etc. and the operations which can be carried upon it are add, update etc. which means a requirement can be added, updated, deleted and so on.
Class diagram - RED
To explain relationships between concepts
To describe entities/classes, attributes, and relationships
Entity relationship diagram (ERD)
Supports the expression of natural language statements
Business-friendly way to communicate with stakeholders
Represents logical design of data and requires knowledge of notations
Requires some IT background
Hope this clarifies the 2 techniques and their usage.