Создать, просмотреть, изменить, удалить: это разные варианты использования? (обновить)

 

Create, read, update, delete

CRUD: Create, read, update, delete

Создать, просмотреть, изменить и удалить – стандартные операции, которые пользователь системы может произвести над некоторым информационныем объектом. А английском эти оперции create, read, update, delete сокращают как CRUD. Мы же по аналогии назовем эту группу операций СПИУ. Вопрос, волнующий многих: нужно ли для каждой или части этих операций создавать отдельный вариант использования?

Деление варианта использования (сокращено – ВИ) на более низкие уровни по операциям СПИУ – это функциональная декомпозиция. А как раз её и не рекомендуется производить при создании модели ВИ. Вариант использования – это последовательность выполняемых системой действий, приводящая к ощутимому/значимому/полезному для конкретного актёра результату (здесь и далее под пользователем будет пониматься любой актёр, в т.ч. неодушевленный).

Поскольку вариант использования является также составным элементом при планировании итераций и релизов, то какждый ВИ должен быть таким, чтобы его можно было разрабатывать отдельно, и при этом реализованный инкремент системы (прирост функционала) приносил ощутимый результат конкретному актёру.

Чаще пользователь заинтеросован не просто в «просмотре объекта». Для достижения полезной цели пользователю необходимо осуществить последовательность действий, например: найти объект, открыть объект на просмотр, исправить информацию об объекте, сохранить объект.

Популярный пример, иллюстрирующий это утвержение: никто не подходит в банкомату с целью проверить свой ПИН, поэтому «Проверка ПИНа» не является вариантом использования. Вне всяких сомнений проверка ПИНа важна, однако является частью более объемлющего процесса и не самостоятельна, т.к. проверка – не цель.

Деление на СПИУ – вгляд с позиции системы, но не пользователя. Тогда как ВИ, скорее, инструмент для взаимодействия с пользователями и связыванимя других моделей воедино. Мощь ВИ как раз в возможности отразить ответы пользователей на вопрос:

  • Какие действия с системой, по-вашему, следует произвести, чтобы получить этот результат?

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