Создание доменной модели - PullRequest
1 голос
/ 07 апреля 2020

Я борюсь с созданием модели предметной области для класса. У меня есть базовое c понимание моделей предметной области и их цели, однако я действительно не знаю, с чего начать.

"Рассмотрим следующее описание правил проведения собраний в компании:

  • Встреча организована в заранее установленную дату и время.
  • Встреча имеет уникальный идентификатор.
  • Встреча имеет несколько пунктов повестки дня, которые были предложены и подлежат обсуждению.
  • Имя и описание сохраняются для каждого пункта повестки дня.
  • Имя и идентификационный номер известны для каждого человека.
  • Человек должен записаться на собрание как минимум за неделю до собрания.
  • Для некоторых пунктов повестки дня может потребоваться голосование.
  • Участник собрания может голосовать по пунктам повестки дня. Голосование может быть "да", "нет" или "воздержаться". Msgstr "Нам нужно сохранить голос каждого человека."

Может ли кто-нибудь помочь с созданием модели домена, представляющей эту информацию?

1 Ответ

1 голос
/ 07 апреля 2020

В принципе (!) Это очень просто. В двух словах:

  • Просто выясните, какие бизнес-объекты упоминаются.
  • Дайте каждому объекту осмысленное имя.
  • Соотнесите объекты соответствующим образом.
  • Добавление атрибутов к объектам.
  • Поиск и перечисление бизнес-правил.

Говорят об объектах, потому что вы анализируете бизнес-домен с конкретными объектами. Вы моделируете их как классы, чтобы абстрагировать их.

Сложность заключается в деталях. Вам нужно проводить встречи с заинтересованными сторонами, чтобы найти все объекты и выжать из них детали. Возьмите, например, адрес или человека. Очень распространенные бизнес-объекты. Кажется, все знают об этом все. Но затем вы обнаружите такие детали, как: мы ведем бизнес в Америке и Китае, и у них совершенно другой способ обратиться к кому-либо. Есть даже местные различия. Или второе имя распространено в Америке, в то время как в Германии его нет. И т. Д. И т. П.

Итак, подробно для вашей простой доменной модели:

  • у вас есть Встреча, Повестка дня и Персона в качестве бизнес-объектов.
  • атрибуты, такие как Встреча имеет уникальный идентификатор . Может ли этот идентификатор также быть объектом, можно обсудить. Вероятно, я бы это сделал и в конце концов просто закончил с созданием простой строки.
  • Чтобы связать объекты, нужно немного подумать. Я оставляю это вам.
  • Бизнес-правила, такие как Голосование может быть "за" может быть добавлено как ограничения, прикрепленные к объектам, или вы создаете таблицу с именами каждого правила в соответствии со схемой.
...