26 июня 2018 г. 8:26:28

#1 Реинжиниринг требований

Варианты использования
или как не запутаться в ответвлениях


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

Можно сначала составить список вопросов ("а что если?"), а можно сначала разбить описание на шаги, и уже в конце подумать над ответвлением. Кому как удобно.

Например.

Бессистемная версия:

Действие происходит на странице объекта А. Пользователь выбирает тип отчета, просматривает получившийся результат и скачивает отчет. Нужно добавить редактирование результата перед скачиванием. Пользователь может создать новый отчет, но если предыдущий отчет в процессе обработки, нужно запретить создание нового (сообщение "Отчет обрабатывается"). Пользователю приходит письмо с прямой ссылкой на страницу объекта А, где он может просмотреть отчет.   



То же самое, но попытались структурировать:

1. Пользователь выбирает тип отчета
2. Нажимает "Создать отчет"
3. Отчет отправляется в очередь на обработку
4. Пользователю приходит письмо с прямой ссылкой на страницу с отчетом
5. Пользователь переходит на страницу с отчетом
6. Пользователь просматривает данные
7. Пользователь редактирует данные
8. Пользователь скачивает отчет

Расширения:
1а. Не выбран тип отчета. Кнопка создания отчета недоступна. 
1б. Выбрано несколько типов отчетов.
2а. Предыдущий отчет в процессе обработки. Запретить создание нового (сообщение "Отчет обрабатывается")
4а. Ошибка в процессе обработки. Как сообщить, что отчет не удалось создать? 
5а. Пользователь создавал несколько отчетов (с разными параметрами ) для одного и того же объекта, если он перейдет по самой старой ссылке, какие данные увидит? 
6а. Что показывать, если данных нет?
6.а1. Нужна возможность редактировать отчет, если по нему нет данных?
7а. Если для типа отчета есть данные на N колонок и M столбцов, пользователь не может удалить/добавить новые колонки/столбцы?
7а1. Как обрабатывать пустые столбцы/строки?



Плюсы: ответы тоже могут быть пронумерованы (6.а1 да, нужна, пусть будет таблица на 10 строк).
Минусы: формат непривычен, а по размеру превышает изначальные требования (привет ребятам из команды, не читающим больше десяти строчек :)  )

Больше о вариантах использования читайте у Алистера Коберна "Современные методы описания функциональных требований к системам".

blog comments powered by Disqus