Что означает домен в модели домена?

У меня есть задание для школы, где я должен создать доменную модель определенного сайта электронной коммерции, который доставляет готовые пакеты с продуктами на дом людям. (http://www.linasmatkasse.se/)

Это довольно просто. Выбрал сумку, создал аккаунт (с информацией), оплатил.

У меня вопрос, что именно должно быть включено в модель (в общем)? Другими словами, где заканчиваются строки домена? Например, должны ли быть включены доставка и поставщики? Технически они не являются частью самого веб-сайта, но по-прежнему играют определенную роль.

Заранее спасибо!


person Andorius    schedule 04.02.2014    source источник


Ответы (3)


Что такое домен

Давайте возьмем какую-нибудь тему/предмет. Это может быть доставка продуктов, спутники, наблюдения за ласточками, что угодно. Назовем эту тему "ААА"

модель предметной области для AAA — это слово, обозначающее модель для AAA, используемое в ИТ-специалистах. Это все.

Все элементы, характерные для AAA, которые вы зададите в своей модели, принадлежат домену. Не знаю, почему старое доброе слово тема не используется. Жаль. Но термин уже принят.

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

Домен устанавливает ваш словарный запас. И это действительно важно - вы должны использовать словарный запас, используемый вашими клиентами, а не изобретать новые слова, такие как «домен» для «темы» :-)

И сначала вы должны определить свою диаграмму вариантов использования, затем диаграмму конечного автомата, диаграмму развертывания, диаграмму компонентов, диаграмму связи, диаграммы обзора последовательности/действия/времени/взаимодействия и, наконец, класс , диаграммы объектов и составных структур. Вам не нужно делать их все, но НЕКОТОРЫЕ необходимы.

person Gangnus    schedule 04.02.2014
comment
К чему именно относится ААА? - person Andorius; 04.02.2014
comment
Любая тема. Доставка продуктов, спутники, наблюдения за ласточками, что угодно. - person Gangnus; 04.02.2014

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

person Diana Amza    schedule 04.02.2014

О субъектах, не входящих в ИТ-систему

Не игнорируйте чисто человеческие операции. Напротив. Ставьте их сюда, только их варианты использования будут связывать не актор-(под)систему, а актор-актор. И видеть их очень полезно для лучшего планирования системы в целом. При их игнорировании невозможно создать систему, удобную пользователю. ИТ-система является неотъемлемым компонентом более крупной системы, и мы действительно создаем более крупную систему, планируя поддержку, процессы, обмен информацией, подразделения и зависимости.

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

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

person Gangnus    schedule 04.02.2014
comment
Не могли бы вы порекомендовать для этого конкретного задания также добавить обобщение конкретных элементов? Нравятся различные типы продуктовых сумок? Будет ли это излишним при представлении домена? - person Andorius; 04.02.2014
comment
Мне очень жаль, но я не понимаю, что вы имеете в виду под продуктовым пакетом. Это корзина для покупок на сайте? Или что-то продаете? В обоих случаях они являются частью ИТ-модели, а не человеческой частью предметной области. - person Gangnus; 04.02.2014
comment
Нет, сумка для продуктов — это тип товара. Предмет -› пакет для продуктов -› пакет для фруктов. Это вообще что-то добавляет к модели? Или это немного лишнее? - person Andorius; 04.02.2014