UML для моделирования предметной области

в чем разница между моделью домена и моделью данных?

4 ответов


datamodel-это конструкция модель, которая описывает только данные и отношений. Модель содержит сущности, но они описаны в терминах what данные они не владеют, как они действуют на этих данных или каковы их обязанности.

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

кстати отличное и очень короткое введение в UML:

UML Distilled: краткое руководство по стандартному языку объектного моделирования


A данные модель ориентирована на определение схемы БД, включая таблицы, столбцы и отношения.

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

в обоих случаях мощность используется для отношений (например, 1:1, 1:Много, 0: много, ...).

тем не менее, вы идеально хотели бы, чтобы модель данных и модель домена были тесно родственник, то есть человек с именем, ... и рассылки адрес, ... относится к таблице PERSON со столбцом NAME и FK к записи таблицы MAILING_ADDR. Вы должны решить, где размещается логика-в объектах в программной системе или в БД с помощью процедур, триггеров и т. д.


Я думаю, что модель домена и модель данных теперь в значительной степени одинаковы с новыми технологиями моделирования сверху вниз. Я имею в виду, что вы можете моделировать в диаграмме классов и добавлять только стереотипы базы данных в диаграмму. Если вы используете инструмент, который я использую, ваша аннотация ejb3 будет немедленно синхронизирована с вашим кодом. Следующий шаг - использовать только картограф для создания базы данных. Эта технология работает только с Java


Я думаю, что важно обеспечить некоторую ясность здесь для потомков.

A модель данных дизайн для, как структурировать и представлять информацию. Под структурой я имею в виду такие проблемы, как "пятая нормальная форма". Под представлением я подразумеваю выбор компьютерной сериализации, такой как integer, floating point или string.

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

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

оба языка UML и OWL могут использоваться для представления любого типа модели домена. Как можно считать анализ модели, так как они используются для анализа домене. Один используется для понимания вещей в домене, другой-для сбора требований к созданию определенного программного обеспечения или системы баз данных для вещей в домене. И то и другое необходимо, и, к сожалению, они обычно объединяются так, что люди, строящие аналитическую модель, сами путаются в том, что они моделируют!