UML доменное моделирование - PullRequest
       16

UML доменное моделирование

9 голосов
/ 01 октября 2010

В чем разница между моделью предметной области и моделью данных?

Ответы [ 4 ]

8 голосов
/ 01 октября 2010

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

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

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

1 голос
/ 01 октября 2010
Модель

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

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

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

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

0 голосов
/ 19 марта 2016

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

A модель данных - это структура структурирования и представления информации. Под структурой я имею в виду «пятую нормальную форму». Под представлением я подразумеваю выбор сериализации компьютера, такой как целое число, число с плавающей запятой или строка.

Термин модель домена на самом деле имеет два смежных значения.

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

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

0 голосов
/ 01 октября 2010

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

...