Функциональные требования Сценарий использования (Use Case по RUP/Вигерсу/Коберну) Пользовательские истории (User Stories по Dan North)
Фича «Проекты»: Название сценария: «Найти интересный проект» История 1: Посмотреть список Проектов
1. Система должна позволять просматривать список Проектов Предусловие: Как Эксперт,
2. Система должна позволять сменить режим показа Проектов я хочу посмотреть список проектов, в списке ● Пользователь просматривает главную страницу портала чтобы выбрать интересный для обсуждения, наблюдения или 3. Система должна позволять сменить порядок сортировки участия Проектов в списке Основной поток: 4. Система должна позволять найти и просмотреть список BDD-сценарии истории: Проектов по подстроке 1. Система предлагает Пользователю перейти в раздел 5. Система должна позволять АП отфильтровать список «Проекты» или воспользоваться полнотекстовым поиском; Сценарий 1.1. Непустой список Проектов для Гостя Проектов по атрибутам 2. Пользователь запрашивает переход в раздел «Проекты»; 6. Система должна позволять просмотреть страницу Проекта, 3. Система показывает пустую форму для поиска Проекта по КОГДА: Пользователь запрашивает просмотр раздела включая атрибуты: подстроке и предлагает указать строку для фильтрации «Проекты» 7. Система должна позволять АП подписаться на новости Проекта по названию; И: Пользователь не авторизован в системе Проекта 4. Система показывает список критериев сортировки списка И: Фильтрам и выбранным критериям отбора соответствует 8. Система должна позволять посмотреть состав команды Проектов с выбранным вариантом «по убыванию рейтинга» хотя бы один проект Проекта и предлагает изменить порядок сортировки на любой ТО: Система показывает список карточек проектов согласно 9. Система должна позволять АП перейти на страницу другой; установленному в интерфейсе порядку сортировки, не более участника команды Проекта 5. Система убеждается, что пользователь не авторизован в 25 карточек на страницу, включая: изображение к проекту; 10. Система должна позволять подать заявку на вступление в системе; название Проекта (со ссылкой на страницу проекта); команду Проекта 6. Система указывает, что выводит Проекты в виде списка и рейтинг Проекта; очки активности Проекта, количество 11. Система должна позволять посмотреть страницу новостей предлагает переключиться на вывод в виде матрицы; подписчиков Проекта; количество комментариев к проекту; Проекта 7. Система отбирает те Проекты, которые соответствуют имя автора Проекта (со ссылкой на страницу автора); 12. Система должна позволять добавить комментарий к выбранным Пользователем ограничениям (подстроке описание Проекта, обрезанное до 200 символов. описанию Проекта названия и фильтрам); 13. Система должна позволять посмотреть список обсуждений 8. Система показывает список карточек проектов согласно Сценарий 1.2. Нет подходящих проектов для показа Проекта установленному в интерфейсе порядку сортировки, не более 14. Система должна позволять просмотреть материалы Проекта 25 карточек на страницу, включая: КОГДА: Пользователь запрашивает просмотр раздела 15. Система должна позволять посмотреть список подписчиков 1. изображение к проекту, «Проекты» проекта 2. название Проекта (со ссылкой на страницу проекта), И: Пользователь не авторизован в системе 3. рейтинг Проекта, И: Фильтрам и выбранным критериям отбора не 4. очки активности Проекта, соответствует хотя ни один проект 5. количество подписчиков Проекта, ТО: Система сообщает, что проектов, соответствующим 6. количество комментариев к проекту, критериям фильтрации, нет и предлагает Пользователю 7. имя автора Проекта (со ссылкой на страницу автора), сменить фильтры 8. описание Проекта, обрезанное до 200 символов и предлагает перейти на страницу любого из представленных на странице проектов или его автора; История 2: Навигация по реестру проектов 9. Система убеждается, что количество Проектов превышает 25 и показывает панель навигации по списку страниц Как Пользователь, реестра Проектов, нумеруя с числа 1 по возрастанию я хочу иметь возможность просмотреть следующую страницу из каждую страницу реестра, выделяя текущую страницу и Реестра проектов, предлагает перейти на другую страницу реестра Проектов; чтобы найти интересный мне Проект (или убедиться в его 10. Пользователь просматривает список Проектов, запрашивает отсутствии) переход на другую страницу реестра; 11. Система показывает выбранную пользователем страницу Сценарий 2.1. Панель навигации по реестру проектов списка Проектов, начиная с шага 3; КОГДА: Пользователь просматривает страницу списка Расширения: Проектов И: Количество проектов больше 25 5а. Пользователь авторизован в системе: ТО: Система показывает панель навигации по списку 5а1. Система показывает вертикальную панель со списком страниц реестра Проектов, нумеруя с числа 1 по критериев для фильтрации проектов: список конкурсов, возрастанию каждую страницу реестра статус в конкурсе, область знаний, тематика, теги, контекст И: Система выделяет в панели текущую страницу и предлагает выбрать фильтр или сбросить их; И: Система предлагает перейти на другую страницу реестра 5а2. Система показывает горизонтальную панель навигации по категориям проектов: все проекты, мои проекты, Сценарий 2.2. Переход на другую страницу реестра управление, на модерацию, на оценку, Проектов 5а2. Сценарий продолжается с шага 6; КОГДА: Пользователь просматривает страницу списка 9а. Пользователь указывает подстроку для фильтрации по Проектов названию проекта: И: Система показывает панель навигации по реестру 9а1. Сценарий продолжается с шага 8; проектов И: Пользователь выбирает в навигаторе страницу, отличную 9б. Пользователь выбирает другой способ сортировки списка: от текущей 9б1. Сценарий продолжается с шага 8; ТО: Система показывает другую страницу, согласно Сценарию 1.1 9в. Пользователь запрашивает переход на страницу Проекта: 9в1. Система показывает страницу Проекта, включая поля и История 3: Фильтрация Проектов для авторизованных секции: пользователей 1. Изображение к проекту; 2. Название проекта; Как Эксперт конкурса, 3. Область знаний; я хочу иметь возможность фильтровать проекты по конкурсам и 4. Тематика; тематикам, 5. Социальные ссылки; чтобы оценивать только те, в тематиках которых я разбираюсь 6. Социальная активность; 9в2. Система убеждается, что Пользователь не авторизован Сценарий 3.1. Показ Фильтра Конкурсов для реестра или не подписан на новости этого проекта; Проектов 9в3. Система предлагает подписаться на новости Проекта; 9в4. Система показывает секцию со списком подписчиков КОГДА: Пользователь просматривает страницу списка проекта; Проектов 9в5. Система показывает секцию с навигацией по разделам И: Пользователь авторизован в системе Проекта, включая разделы: ТО: Система показывает панель фильтра по Конкурсам, 1. Описание, выводя перечень Конкурсов в прямом хронологическом 2. Новости, порядке 3. Обсуждения, И: предлагает выбрать любое их подмножество 4. Команда, 5. Материалы, Сценарий 3.2. Применение Фильтра Конкурсов для указывая текущий и предлагает перейти в другой раздел; реестра Проектов 9в6. Система показывает рейтинг проекта; 9в7. Система показывает секцию команды проекта, включая КОГДА: Пользователь просматривает страницу списка изображение участника, его имя со ссылкой на страницу Проектов участника; И: Пользователь авторизован в системе 9в8. Система показывает текстовое описание Проекта; И: Пользователь выбирает Конкурс в панели фильтрации по 9в9. Система показывает дерево комментариев к Проекту, в Конкурсам прямом хронологическом порядке, включая атрибуты: имя ТО: Система применяет выбранный фильтр комментатора со ссылкой на его профиль, дата и время И: показывает только те Проекты, которые соответствуют комментария, рейтинг комментария, текст комментария; выбранным Конкурсам 9в10. Система предлагает оставить комментарий к проекту или к любому другому комментарию; 9в11. Сценарий завершен успешно. Про BDD подробнее можно почитать тут: https://inviqa.com/blog/bdd-guide
Прочие сценарные техники (не только для требований)