В качестве примера (взят из книги Якобсона Унифицированный процесс)
Пример. Пути варианта использования Оплатить Счет. Заметьте, пожалуйста, как изменился этот текст по сравнению с предварительным вариантом, приведенным ранее в этой главе, когда у нас был только набросок описания варианта
использования (см. подраздел «Краткое описание каждого варианта использования »). Это изменение показывает, как мы детализируем варианты использования посредством моделирования. Реальные полные описания вариантов использования
имеют больший размер и содержат описание большего количества путей.
Предусловие: покупатель получил заказанные товары или услуги и по крайней мере один счет. Теперь он планирует пометить счет(а) к оплате.
Поток событий.
1. Основной путь.
1. Покупатель запускает вариант использования, начиная просматривать счета, полученные от системы. Система проверяет, что содержимое счетов соответствует подтверждениям заказов, полученным ранее (как часть варианта
использования Подтвердить Заказ), и указывает на это покупателю. Подтверждение заказа описывает, что будет поставлено, когда, куда и по какой цене.
2. Покупатель решает пометить счет к оплате, и система генерирует запрос на платеж, чтобы банк мог перечислить деньги на счет продавца. Заметьте, что покупатель не может пометить один и тот же счет к оплате дважды.
3. Позже, а именно в намеченную дату, если на счете покупателя имеется достаточное количество денег, происходит оплата. При оплате деньги перечисляются со счета покупателя на счет продавца, как описано в абстрактном
варианте использования Совершить Перечисление (который используется в Оплатить Счет). Покупатель и продавец уведомляются о результате операции. Банк получает плату за перечисление, которая снимается системой
со счета покупателя.
4. Экземпляр варианта использования прекращает свое существование.
2. Альтернативные пути.
1. На шаге 2 покупатель может потребовать, чтобы система отослала продавцу сообщение о том, что счет отклонен.
2. На шаге 3, если на счете недостаточно денег, вариант использования отменит оплату и сообщит об этом покупателю.
Постусловие: образец варианта использования прекращает свое существование после того, как счет оплачен, или если оплата отменена и деньги не перечислены.
Использование диаграмм состояний для описания вариантов использования. Рисунок 7.16 — диаграмма состояний варианта использования Оплатить Счет. Черная точка в верхней части графика обозначает начало варианта использования. Это место, из которого начинает выполняться конечный автомат, когда зарождается экземпляр варианта использования. Стрелка, выходящая из черной точки, показывает, в какое состояние немедленно после зарождения переходит конечный автомат, в данном случае — в первое состояние Просмотр. Состояния изображаются прямоугольниками со скругленными углами. Изменения состояний изображаются стрелками, направленными из одного состояния в другое.
Диаграмма состояний схематически показывает, как экземпляр варианта использования Оплатить Счет проходит отдельные состояния (скругленные прямоугольники) в ходе последовательных переходов (стрелки). Сначала пользователь
просматривает счет (см. шаг 1 в предшествующем примере Оплатить Счет) и решает, пометить его к оплате (см. шаг 2) или отклонить (см. шаг 5). Вариант использования выходит из состояния Счета, Помеченного к Оплате, когда помеченный счет оплачивается в срок, указанный для платежа (см. шаг 3). Вариант использования прекращает существовать (круг с черной точкой в нем) сразу же после того, как перейдет в состояния Счет Оплачен или Счет Отклонен.
Отметим, что использование этих диаграмм в контексте варианта использования может приводить к большим и сложным диаграммам, которые очень трудно читать и понимать. Например, единственный вариант использования может включать
в себя множество состояний, которым нелегко дать значащие имена. Это особенно сложно, если диаграммы должны читать люди, которые не входят в состав команды разработчиков. Кроме того, разрабатывать детальные диаграммы и сохранять их потом совместимыми с другими моделями системы — дело недешевое.
Итак, наша основная рекомендация: эти виды диаграмм следует использовать осторожно, и нередко можно будет ограничиться исключительно текстовыми описаниями (описаниями потока событий) варианта использования. Кроме того, во многих случаях текстовые описания и диаграммы могут дополнять друг друга.