Модели предметной области
Понимание контекста системы с помощью
Модель предметной области определяет наиболее важные типы объектов контекста
системы. Объекты предметной области представляют собой «предметы», которые
существуют, или события, которые происходят в той среде, в которой работает
система [34, 60].
Многие из объектов предметной области, или, используя более точную терминологию,
классов предметной области можно определить из технического задания
или в ходе опроса специалистов по проблемной области. Классы предметной области
можно разбить на три типовых категории:
О бизнес-объекты, которые описывают сущности, используемые в бизнесе, такие
как заявки, счета и контракты;
О объекты и понятия реального мира, которые система должна отслеживать, такие
как вражеские самолеты, ракеты и траектории;
О события, которые произойдут или произошли, например прибытие самолета,
отлет самолета или перерыв на обед.
Модель предметной области описывается диаграммами UML, главным образом
диаграммами классов.
Эти диаграммы дают клиентам, пользователям, рецензентам и другим разработчикам
информацию о классах предметной области и их ассоциативных связях.
Пример. Классы предметной области Заказ, Счет, Предмет и Банковский счет.
Система будет использовать Интернет для пересылки заказов, счетов и платежей
между покупателями и продавцами. Система должна помогать покупателю готовить
заказы, продавцу — рассчитывать стоимость заказов и рассылать счета и снова
покупателю — проверять правильность выписанных счетов и совершать платеж
продавцу с банковского счета покупателя.
Заказ — это запрос покупателя продавцу на поставку изделий. Каждое изделие
занимает «одну строку» в заказе. Заказ ршеет такие атрибуты, как дата выписки
и адрес поставки. Диаграмма класса изображена на рис. 6.3.
Счет — это запрос на оплату, посылаемый продавцом покупателю в ответ на
заказ товаров или услуг. Счет имеет такие атрибуты, как сумма к оплате, дата выписки
и максимальная отсрочка оплаты. На несколько заказов может быть выслан
один счет.__
Счет считается оплаченным, когда деньги с банковского счета покупателя перешли
на банковский счет продавца. Банковский счет имеет такие атрибуты, как
баланс и владелец. Атрибут «Владелец» идентифицирует лицо, владеющее банковским
счетом.
Рис. 6.3. Диаграмма классов в модели предметной области определяет
наиболее важные понятия в контексте системы
НОТАЦИЯ UML
На рис. 6.3 представлены классы (прямоугольники), атрибуты (текст в нижней половине
прямоугольников классов) и ассоциации (линии между прямоугольниками классов). Текст
в конце линий ассоциации объясняет роль одного класса по отношению к другому, то есть
роль ассоциации. Кратность — числа и звездочки в конце линии ассоциации — указывают,
сколько объектов данного класса связаны с одним объектом класса с другого конца линии
ассоциации. Так, ассоциация, соединяющая класс Счет и класс Заказ на рис. 6.3, имеет
кратность 1..*, проставленную со стороны класса Заказ. Это означает, что каждый объект
класса Счет может быть требованием на оплату одного или более Заказов, что обозначено
ролью ассоциации «Подлежащий оплате» (приложение А).