Как показать последовательность выполнения вариантов использования? (обновить)

На одной из международных площадок по обсуждению инструмента вариантов использования разгорелась дискуссия о том, каким образом можно отображить последовательность вызова вариантов использования (сокращенно – ВИ).

Варианты использования предназначены для описания целей пользователей и способов достижения этих целей, формируя границы системы. Обычно последовательности взаимодействий в рамках одного ВИ фиксируются 2 способами: текстовая спецификация взаимодействий актёр-система или диаграмма последовательности и деятельности (sequence diagram, activity diagram). Диаграммы ВИ являются структурными и не несут в себе информацию о времени и последовательности вызова ВИ. К тому же изначально они и не создавались для отражения взаимодействия между процессами.

Далее приведены 5 вариантов фиксации последовательности вызова вариантов использования, предложенные 20 коллегами из разных стран.

Вариант 1. В виде пред- и постусловий в текстовых спецификациях ВИ. При этом важно, чтобы условия были выполнимыми и проверяемыми. (Одна из обязательных характеристик требования – оно должно быть проверяемым; в противном случае его не следует фиксировать.) Обращаем ваше внимание, что пред- и постусловия являются отступлениями от стандарта UML, согласно которому вариант использования является поведенцеским классификатором (BehavioredClassifier, контейнером поведений), но не поведением (Behavior), и потому не может  иметь пред- и постусловий. Каждое поведение, которым обаладает вариант использования, может содержать пред- и постусловия, но сам ВИ – не может.

Вариант 2. На диаграмме ВИ добавить на отношения вызова ВИ граничные условия, указывающие на последовательность вызова.

Вариант 3. Связать ВИ в последовательность раскадровкой (storyboard).

Вариант 4. Создать обобщающий ВИ, содержащий в себе более мелкие ВИ, а затем перейти к варианту 5. Однако здесь снова на лицо отступление от UML, согласно которому варианты использования не могут быть декомпозированы.

Наиболее подходящим и корректным с позиции языка UML является вариант 5. Последовательность вызова вариантов использования можно отразить на диаграмме деятельности (activity diagram).

А как вы решаете эту проблему?

Комментарии (отредактировать)

1. Вариант 4 – это не вариант вовсе, а большая ошибка в использовании ВИ.
2. Упущен еще один вариант – самый лучший, потому как предписаный самим UML2: диаграммы обзора взаимодействий. Одно из применений этого вида диаграммы – иллюстрация потока управления между ВИ.

Игорь, согласен с Вами касательно варианта 4. Однако он обсуждался «знатоками», поэтому я решил его упомянуть, указав при этом, что стандарт UML при этом нарушается.
По поводу варианта 6 – может быть опишите его здесь подробнее?

Оставить ответ