The difference between a domain model, a conceptual model, and a business model, etc.

I have a question about some terminology that has been confusing me for ages, and I just can't understand it. Wikipedia tends to explain these things very formally, which is very difficult for me to understand ...

The terms I was trying to understand are as follows: problem domain , domain model , business model , business domain , business logic , domain logic , etc. Some of them mean the same thing, some of them are used interchangeably, some of them mean different things in different contexts. What I am asking is a high-level review , so I am not embarrassed about these conditions ...

Are these terms all part of domain design ? OO says? In what context should I post them?

This is what I understand so far :

  • A domain is an item (i.e. the world you are modeling), and the model is trying to explain the concept / item briefly.
  • Thus, the domain model (= conceptual model) tries to briefly explain this area.
  • Thus, the business model will explain what the business is doing, and therefore the business will be the same as the domain, except that the domain is wider, and this is not limited to the business only.

I have some experience modeling ER, and I understand from wikipedia that the ER model is one of many methods that are used to represent the conceptual model (domain model).

I may be mistaken, but he should show you where my confusion is ...

+6
source share
1 answer

I doubt that there is one comprehensive formal definition of these terms, but, in my experience, the following generally accepted definitions:

The domain is a matter of concern or, as you say, a subject. If the business is the concern, this will be the business domain. The term "problem area" is more general.

A conceptual model is an abstraction of concepts and relationships in a Domain: I would agree that the terms Domain Model and Conceptual Model are largely interchangeable. The only difference is that the term Conceptual Model emphasizes the fact that it is a conceptual model and does not reflect software design.

The terms Business Logic and Domain Logic tend to refer to rules that determine the correct behavior of objects in a domain. It may be possible to fix some of these rules in the domain model, for example, although there are restrictions on relationships or the use of state diagrams. If you think that Domain Logic is a necessary part of the domain model, it probably depends on how formal your modeling is and the domain in question.

+5
source

Source: https://habr.com/ru/post/975572/


All Articles