Актеры и варианты использования в UML
Программная система не функционирует сама по себе. Программная система функционирует под воздействием актеров (Actor) - пользователей, машин и других программ. При этом актер ожидает, что система ведет себя строго определенным образом. Актер оказывает воздействие - система выдает ожидаемый результат. В случае, если ожидаемого результата нет, требования пользователя не удовлетворены со всеми вытекающими отсюда результатами. Таким образом, актер в UML - человек, машина или программа, воздействует на систему, является внешним по отношению к ней. Модель того, как воздействие приводит к результату, называется Вариантом использования (Use case). Актеры и варианты использования имеют специальные обозначения в UML:

Рис. 3.5.
Актеры и варианты использования общаются посредством посылки сообщений. Сообщения могут идти в обе стороны. Стрелка показывает инициатора общения (актер на рисунке) и может быть опущена.

Рис. 3.6.
Выделим актеров и варианты использования в рассмотренном ранее примере с системой бронирования билетов (SRS). Анализ постановки задачи показывает наличие у системы двух актеров: "Пользователь" и "Администратор". Определимся с вариантами использования. Необходимо отметить, что выбор актеров и вариантов использования до некоторой степени условен и может отличаться у разных специалистов по анализу и проектированию. Принятые проектные решения определяют дальнейший выбор архитектуры системы и существенно влияют на успех всего процесса разработки. При этом "хороших" вариантов может быть несколько.
Перечень Вариантов использования для нашей задачи может быть, например, таким:
- Забронировать билет.
- Подобрать рейс.
- Работать с данными.
- Управлять рейсами.
- Работать с БД аэропорта.
Для визуального представления актеров, вариантов использования и отношений между ними в UML предусмотрена специальная диаграмма - диаграмма вариантов использования. Ниже приведена диаграмма для рассматриваемого примера:

Рис. 3.7.
Приведем некоторые дополнительные соображения [3.3]:
- При таком моделировании обращают внимание на поведение системы, а не на ее реализацию.
- Хорошая модель описывает основное поведение системы, не являясь слишком подробным.
- Подобная модель позволяет проверить, удовлетворит ли система требования заказчика.
- Система средних размеров может быть описана большим количеством вариантов использования.
- Варианты использования могут описываться разными сценариями.
На последнем пункте остановимся подробнее. Очевидно, название варианта использования не дает полного представления о том, как он претворяется в жизнь. Для описания сценария работы варианта использования UML содержит специальные средства. Основное из них - диаграмма действия.
Диаграмма действия это блок-схема, которая отображает динамику в поведении системы. Заметим, что эта диаграмма может использоваться не только для описания сценариев Варианта использования.
Приведем пример соответствующей диаграммы для варианта использования Бронирование билетов в системе SRS.

Рис. 3.8.