CWM является моделированием данных
UML является объектным моделированием.
Кто-то может объяснить различие, которое может понять неспециалист?
Объектная модель: имеет дело с объектно-ориентированным "планом" вашей системы. Сюда входят диаграммы классов (классы, которые вы будете создавать), отношения между этими классами, методы в классах, свойства и т. Д.
Модель данных: имеет дело с сущностями на уровне базы данных. Например, как классы в OM будут храниться в базе данных, в каких таблицах и т. Д. Итак, DM имеет дело со схемой таблиц, отношениями между различными таблицами (PK, FK) и т. Д.
DM не имеет сложных объектно-ориентированных функций, таких как полиморфизм, наследование, перегрузка и т. д., которые обычно перечислены в OM.
В качестве грубого примера два класса в OM могут быть сохранены (отображены) в одну таблицу в DM, как и сотрудники и менеджеры могут быть сохранены в одной таблице БД.
Моделирование данных связано с проектированием и созданием структуры вашей базы данных, т. Е. как хранятся данные.
Объектное моделирование касается того, как приложение взаимодействует с информацией, полученной из внешнего источника, например конечный пользователь, база данных, веб-сервис и т. д.
Допустим, вы отслеживаете историю клиентов для отдела продаж. Отделу нужны имя клиента, адрес, телефон, адрес электронной почты и история покупок.
В модели данных вы определяете таблицы и поля, в которых будет храниться каждый отдельный фрагмент данных. В это определение вы можете включить такую информацию, как максимальная длина, тип данных или то, требуются ли данные.
В объектной модели, помимо применения правил, которые вы установили в модели данных, вы также можете добавить дополнительные варианты поведения, такие как проверка правильности формата адреса электронной почты или использование заглавной буквы в первой букве имени клиента. и фамилия. Правила такого типа обычно более сложные и подробные, чем правила, установленные в модели данных.
В любом случае цель объектной модели - упростить управление данными в самом приложении и выполнить проверку данных на более высоком уровне перед их отправкой в базу данных.