На этом шаге рассмотрим типичные приемы моделирования контекста системы в UML.
Какую бы систему мы ни обсуждали, легко заметить, что некоторые элементы находятся внутри нее, а некоторые – снаружи. Например, в системе проверки кредитных карт вы обнаружите такие сущности, как счета, транзакции и агенты предотвращения мошенничеств, а за ее пределами – такие сущности, как владельцы кредитных карт и системы розничной торговли, предусматривающие оплату по картам. Те элементы, которые находятся внутри системы, отвечают за поведение, которое от нее ожидается. Все, что находится вне системы и взаимодействует с ней, составляет ее контекст (context). Контекст определяет среду, в которой живет система.
В UML вы можете моделировать контекст системы с помощью диаграммы вариантов использования, изображающей действующие лица, окружающие систему. Решение о том, что именно включить в диаграмму в качестве действующих лиц, важно постольку, поскольку вы таким образом специфицируете класс сущностей, взаимодействующих с системой. Решение о том, что не включать в качестве действующих лиц, в равной степени (если не более) важно, ибо оно ограничивает окружающую среду системы с тем, чтобы включить лишь действующие лица, действительно необходимые для ее жизни.
Чтобы смоделировать контекст системы, необходимо:
Наполните диаграмму вариантов использования этими действующими лицами и опишите пути взаимодействия каждого из них с вариантами использования системы. В примере на рис. 1 показан контекст системы проверки кредитных карт (Credit Card Validation System), с описанием действующих лиц, окружающих ее.
Рис.1. Моделирование контекста системы
Вы видите клиентов (Customers), которые подразделяются на две группы: Individual customer (Частный клиент) и Corporate customer (Корпоративный клиент). Эти действующие лица представляют роли, которые играют люди при взаимодействии с системой. В данном контексте показаны также действующие лица, представляющие другие учреждения, – такие как Retail Institution (Предприятие розничной торговли), с которым Customer взаимодействует посредством карточной транзакции, приобретая товар или услугу, и Sponsoring financial Institution (Институт финансового спонсирования) – депозитный центр для карточных счетов. В действительности последние два, скорее всего, будут представлены программными системами.
Те же приемы применимы для моделирования контекста подсистем. То, что является системой на одном уровне абстракции, часто предстает составляющей частью более крупной системы на другом, более высоком. Поэтому моделирование контекста подсистем полезно, когда вы разрабатываете систему с "вложениями".
На следующем шаге рассмотрим типичные приемы моделирования требований к системе в UML.