Подтвердить что ты не робот

Какая разница между Data Modeling и Domain Modelling?

Кстати, со ссылкой на моделирование данных я имею в виду логические или концептуальные модели данных, а не физические.

Вопрос возник во время обсуждения на работе; естественно, я прыгнул в Википедию, чтобы получить некоторые основные определения на месте - надеясь, что они могут прояснить разницу - но они не...

Концептуальная схема или модель концептуальных данных - это карта понятий и их отношения.

Логические модели данных кажутся очень похожими (из этого определения):

A модель логических данных (LDM) в системах инжиниринг представляет собой данных организации, организованных в термины, сущности и отношения и не зависит от каких-либо конкретных данных технологии управления.

Где-а...

A модель домена или объектная модель домена (DOM) в решении проблем и программном обеспечении технику можно рассматривать как концептуальная модель системы, которая описывает различные объекты вовлеченных в эту систему и их отношения.

Различия между моделью модели и концептуальной моделью данных кажутся особенно мутными.

Одна из вещей, которая добавляет к этой путанице, заключается в том, что (из того, что я видел) модель домена обычно моделируется с использованием диаграммы классов UML - объект класса в диаграмме классов UML поддерживает методы - наш коллега утверждает, что модель домена не должна содержать "операции". Я могу понять модельеров домена, используя подмножество диаграммы классов UML - но разве не опасно предполагать, что люди будут воздерживаться от включения "операций", если инструмент, который они используют, поддерживает его?

4b9b3361

Ответ 1

Хороший вопрос, проблема в том, что это зависит от определения терминов, я думаю, что они немного отличаются от источников. Я бы согласился с предыдущим ответом - модели домена предназначены для описания проблемной области, по крайней мере той части, которая вам нужна для разработки решения. Вы описываете все различные сущности, их отношения и их поведение. Я думаю, что это также взгляд с точки зрения разработки домена. Модели данных, с другой стороны, используются для описания данных в вашей системе и отношений или ассоциаций между ними. Это полезно для описания того, что нужно хранить в системе, и также может дать подсказки. Я думаю, что модели данных будут применяться для вашего правила "без операций", потому что они не важны в этом отношении.

Ответ 2

Моделирование доменов (в смысле разработки, управляемой доменом) - это все о моделировании поведения концепций домена, тогда как Data Modeling фокусируется главным образом на... данных.

Это не означает, что Domain Modeling игнорирует структуры данных. Он просто уделяет больше внимания операциям и тому, как они могут использоваться для решения проблем.

Я не очень разбираюсь в других методах моделирования домена домена Dr Driven Design, но DDD включает (помимо моделирования данных и поведения) также явное моделирование границ согласованности (агрегатов).

Ответ 3

Это старый поток, но здесь немного улучшенный ответ, чтобы прояснить некоторые из опубликованных здесь.

Понятие "домен" (и другие типы моделей, такие как концептуальные, логические и физические) является ортогональным методу, используемому для представления модели (например, ERD, UML и т.д.). Модель домена по существу такая же, как концептуальная модель, но разные методологии проектирования могут иметь несколько иные термины и определения. Хотя распространять модели домена с использованием UML или ERD для описания сущностей и их отношений (или классов/методов в UML), это относится только к моделированию информации, которая должна управляться системно - логически, концепция моделирования домена (или концептуальная моделирование, логическое моделирование или физическое моделирование и т.д.) могут применяться к любой проблемной ситуации и решению. В зависимости от характера проблемы и подхода к решению проблем другие методы моделирования могут использоваться для достижения одной и той же цели.

Короче говоря, моделирование доменов и концептуальное моделирование - это в основном одно и то же, в отличие от деления волос. Эта концепция применяется к тому, что пытается использовать modeller. Концепция моделирования данных (например, ERD) или объектно-ориентированное моделирование (например, UML) относится к как, который передает об этом modeller.

Ответ 4

Я бы сказал, что модель домена описывает проблемы (что мы хотим управлять/решать) в данном домене. Модель данных описала бы решение (как мы его решаем) на проблему, описанную в модели домена.

Однако мы действительно находимся в мутных водах...