В чем разница между моделью предметной области и моделью данных?
Моделирование предметной области UML
Ответы (4)
Модель данных — это дизайн модель, которая описывает только данные и их отношения. Модель содержит объекты, но они описываются с точки зрения того, какими данными они владеют, а не тем, как они действуют с этими данными или каковы их обязанности.
Модель предметной области, с другой стороны, представляет собой концептуальную модель, используемую при анализе предметной области. Он описывает домен с точки зрения сущностей, которые имеют отношения, данные и поведение. В нем описаны обязанности этих объектов, соответствующие пониманию предметной области.
Кстати, отличное и очень короткое введение в UML:
UML Distilled: краткое руководство по стандартному языку объектного моделирования а>
Модель данных ориентирована на определение схемы БД, включая таблицы, столбцы и отношения.
Модель предметной области ориентирована на предметную область, включая концепции (классы объектов), поведение (методы/логику) и отношения.
В обоих случаях количество элементов используется для отношений (например, 1:1, 1:много, 0:много, ...).
Тем не менее, в идеале вы хотели бы, чтобы модель данных и модель предметной области были тесно связаны, т. е. Person с именем,... и MailingAddress,... относятся к таблице PERSON со столбцом NAME, а FK — к таблице MAILING_ADDR. Вход. Вы должны решить, где размещается логика — в объектах программной системы или в БД через процедуры, триггеры и тому подобное.
Я думаю, что модель предметной области и модель данных теперь почти одинаковы с новыми технологиями моделирования сверху вниз. Я имею в виду, что вы можете моделировать диаграмму классов и добавлять в нее только стереотипы базы данных. Если вы используете инструмент, который использую я, ваша аннотация ejb3 будет немедленно синхронизирована с вашим кодом. Следующим шагом будет только использование картографа для создания вашей базы данных. Эта технология работает только с Java
Я думаю, здесь важно внести некоторую ясность для потомков.
Модель данных – это способ структурирования и представления информации. Под структурой я подразумеваю такие понятия, как «пятая нормальная форма». Под представлением я подразумеваю выбор компьютерной сериализации, такой как целое число, число с плавающей запятой или строка.
Термин модель предметной области на самом деле имеет два смешанных значения.
- Модель основных характеристик реальных или воображаемых вещей в мире. В такой модели классы представляют человеческие концепции, а экземпляры — это вещи в мире. Например, класс "Person" будет иметь экземпляры, включающие вас и меня, и важной характеристикой может быть то, что у каждого Person есть мать. Такую модель часто называют концептуальной онтологией или концептуальной моделью, и она предназначена для предоставления смысла.
- Модель необходимой информации о вещах в мире, обычно с учетом какой-либо системы. В такой модели классы представляют информацию, которая должна храниться о вещах в мире. Например, класс "Person" будет иметь экземпляры, представляющие необходимую информацию о вас и обо мне, такую как имя, фамилия, дата рождения, текущий рост и текущий вес. Эта информация часто не включает все основные характеристики, такие как наши матери, потому что для целей конкретной системы эта информация не требуется. Такой тип модели часто называют информационной моделью, концептуальной моделью данных или операционной онтологией.
Оба языка UML и OWL могут использоваться для представления любой модели предметной области. Обе модели можно считать моделями анализа, поскольку они используются для анализа предметной области. Один используется для понимания вещей в предметной области, другой используется для сбора требований для создания определенного программного обеспечения или системы баз данных для вещей в предметной области. И то, и другое необходимо, и, к сожалению, их обычно смешивают так, что люди, строящие модель анализа, сами не понимают, что они моделируют!