Вот такие дискуссии и приводят к реальным результатам.
Кто-то выше спрашивал про удачное и неудачное завершение вариантов использования.
Вариант использования всегда имеет цель - цель пользователя.
1. Если пользователь достиг свою цель полностью (или частично) такой сценарий называется удачным.
2. Если пользователь не достиг своей цели - сценарий считается неудачным и ВИ завершается "отрицательно".
Основной поток событий - это наиболее простой и часто встречаемый (используемый) на практике сценарий достижения полного успеха. Описание всегда начинаем с него и в кратком описании тоже пишем основные его куски.
Далее спускаемся с небес на землю и понимаем, что чудес не бывает. Начинаем описывать исключения к основному потоку событий для того, что реализовать его корректно и в продакшине сценарий "не слетел" с сообщением типа "Fatal error! java.exeption...
"
После того, как мы уверены в описанных шагах начинаем задумываться об альтернативных потоках событий, подразумевая под ними альтернативные способы достижения успеха. К каждому алтернативному потоку также описываем исключения, чтобы при отработке сценария в системе не вывалился exception и программист знал как его отработать.
О том как их записывать и разделять или нет - это дело вкуса. ИМХО, даже спорить не нужно.
Я лишь советую помечать исключения или писать отдельно только для того, что так удобней работать программистам - проверено на практике. Они сразу видят как надо реализовать exceptions.
А Эду отдельный респект за статью. Осталось дописать сюда как вклинивать в описание вариантов использования включения и расширения и возможность стартовать и заканчивать в нескольких точках. Я себя отношу к данной школе описания ВИ
. Старая школа считает, что точка входа может быть всего одна.
PS ВИ представляют собой описание алгоритма работы системы на более высоком уровне абстракции. Проще и практичнее накидать сценарий, чем рисовать диаграммы (опять же проверено опытом). Поэтому введение таких понятий как цикличность и условия в поток событий сильно расширяют возможности системных вариантов использования.
Velarix, посмотрите топик про описание системных вариантов использования
здесь и про сценарии
здесь Связанные вещи.