Алистер Коберн.
Определение функциональных требований (помогает определить, какие функции должна иметь система, чтобы удовлетворить потребности пользователей), улучшение юзабилити (помогает разработчикам сделать систему более удобной и понятной для пользователей), тестирование системы (можно использовать для тестирования системы и определения, соответствует ли она функциональным требованиям).
1. Название
Краткая фраза в виде глагола в неопределенной форме совершенного вида, отражающая цель.
2. Контекст использования
Уточнение цели, при необходимости - условия ее нормального завершения.
3. Область действия
Указание проекта или его части.
4. Уровень
Один из трех уровней: обобщенный (бизнес-требования), цели пользователя (требования пользователей), подфункции (функциональные требования).
5. Основное действующее лицо
Роль основного действующего лица или его описание.
6. Участники и интересы
Список других действующих лиц сценария с указанием их интересов.
7. Предусловие
То, что ожидается, уже имеет место.
8. Минимальные гарантии
То, что гарантируется действующим лицам.
9. Гарантии успеха
То, что получат действующие лица в случае успешного достижения цели.
10. Триггер
То, что "запускает" вариант использования, обычно - событие во времени.
11. Основной сценарий
Здесь перечисляются шаги основного сценария, начиная от триггера и вплоть до достижения гарантии успеха.
Формат описания: <Номер шага> <Описание действия>.
12. Расширения
Здесь последовательно описываются все альтернативные сценарии. Каждая из альтернатив привязана к шагу основного сценария.
Формат описания: <Номер шага.Номер расширения> <Условие>:<Действие или ссылка на подчиненный вариант использования>.
13. Список изменений в технологии и данных
Изменения в данных, которые гарантируются действующим лицам при завершении сценария.
14. Вспомогательная информация
Дополнительная информация, полезная при описании варианта использования.
1. Название
Забронировать столик в ресторане
2. Контекст использования
Клиент хочет забронировать столик в ресторане на определенное время и количество человек.
Бронирование должно быть успешно создано, и клиент должен получить подтверждение.
3. Область действия
Система бронирования столиков ресторана
4. Уровень
Требования пользователей
5. Основное действующее лицо
Клиент
6. Участники и интересы
Ресторан: Получить бронирование и оптимизировать рассадку
Клиент: Забронировать столик на удобное время
7. Предусловие
Клиент знает дату и время, когда хочет посетить ресторан.
Клиент знает количество человек, с которым хочет посетить ресторан.
Клиент находится на странице бронирования столиков на сайте или в приложении ресторана.
8. Минимальные гарантии
Клиент может отменить бронирование на любом этапе.
Персональные данные клиента не будут переданы третьим лицам.
9. Гарантии успеха
Клиент получит подтверждение бронирования на e-mail или телефон.
В ресторане будет зарезервирован столик на нужное время и количество человек.
10. Триггер
Нажатие кнопки "Забронировать".
11. Основной сценарий
Клиент выбирает дату и время бронирования.
Клиент выбирает количество человек.
Клиент выбирает желаемую зону в зале (если это предусмотрено).
Клиент вводит свои контактные данные (имя, телефон, email).
Клиент соглашается с правилами бронирования.
Клиент нажимает кнопку "Забронировать".
Система бронирования проверяет доступность столика.
Система бронирования создает бронирование.
Система бронирования отправляет подтверждение бронирования на e-mail или телефон клиента.
12. Расширения
3.1 Если клиент хочет забронировать столик в vip-зоне, ему необходимо будет предварительно позвонить в ресторан.
7.1 Если на выбранное время нет свободных столиков, система предложит клиенту другое время или дату.
13. Список изменений в технологии и данных
В базе данных создается новое бронирование.