Быстрое временное примечание : этот пост нуждается в улучшениях, чтобы лучше ответить на вопрос, например, 1) дополнительные ссылки должны быть включены в ссылки 2) некоторые цитаты, возможно, 3) общая правильность английского языка 4) общее качество повествования 5) и т. Д. Я буду вернемся к этому. Не стесняйтесь улучшать это самостоятельно.
Взгляд на их шаблоны может дать ценную информацию о различиях между этими терминами.
Есть несколько шаблонов для вариантов использования. Я нашел 3 после быстрого поиска: 1 , 2 , 3 . Вот некоторые общие черты, которые они (иногда смутно):
- Название варианта использования / название
- Описание - краткий текст, описывающий область применения.
- Актер (ы) / Основной актер - лицо (лица), которые взаимодействуют с этим конкретным вариантом использования.
- Предварительное условие - все, что этот вариант использования может принять за истину до начала своего жизненного цикла.
- Сценарий успеха - последовательность шагов, описывающая правильное прохождение событий, которые происходят.
Расширения - поток приложения, когда он отклоняется от потока сценария успеха:
- Альтернативные потоки - другие варианты правильного потока
- Потоки исключений - поток событий, когда что-то идет не так
Гарантия успеха (ака. Почтовое условие) - состояние заявки после того, как все сделано
Некоторые дополнительные пункты, которые могут быть включены: Уровень , Минимальные гарантии , Триггер и т. Д.
Выше это то, что называется полностью одетый вариант использования . Вы можете упростить создание прецедентов, используя случайные прецеденты , используя только самые важные моменты, например:
- заглавие
- Актер (ы)
- Цепочка событий
Варианты использования были созданы и популяризированы Иваром Якобсоном в конце 80-х начале 90-х годов. Позже другие люди также внесли свой вклад в его работу (одним из таких людей является Алистер Кокберн, который является автором « Написание сценариев эффективного использования» ). Чтобы перефразировать Мартин Фаулер случаи использования могут использовать текст и диаграммы UML, но их наибольшее значение лежит в тексте этого. Они лучше, когда они не большие и легко читаемые.
Пользовательская история - небольшая история, которая описывает определенную функцию. Существует общая схема написания пользовательской истории:
Как определенный тип пользователя,
я хочу сделать что-то,
чтобы по какой-то причине .
Кроме того, пользовательская история может иметь критерии приемлемости .
Как видите, этот шаблон гораздо меньше, чем в случае использования. Пользовательские истории обычно связаны с областью разработки программного обеспечения scrum / agile / xp. Они предназначены для написания на небольших участках поверхности, таких как заметки после записи, и / или на досках. Там они (обычно) приведены значения точек , которые приближаются , сколько усилия должны быть инвестированы в эту истории пользователя исх .
Билл Уэйк разработал мнемонику INVEST, чтобы описать, какими качествами должна обладать хорошая пользовательская история, и я позаимствую краткое изложение этого Мартина Фаулера со своего веб-сайта :
Независимо : истории могут быть доставлены в любом порядке. По
договоренности : детали того, что находится в истории, совместно создаются программистами и заказчиками в процессе разработки.
Ценно : функциональность рассматривается как ценная для клиентов или пользователей программного обеспечения.
Оценка : программисты могут придумать разумную оценку для построения истории.
Маленький : истории должны быть построены за небольшое время, обычно за несколько человеко-дней. Конечно, вы должны быть в состоянии построить несколько историй за одну итерацию.
Тестируемый : вы должны быть в состоянии написать тесты, чтобы убедиться, что программное обеспечение для этой истории работает правильно.
Сценарий использования следует шаблону GWT, который обозначает Given-When-Then, например:
Сценарий : название
Дано : конкретный факт
И : еще один конкретный факт (может быть необязательным)
Когда : происходит какое-то событие
Затем : происходит другое событие
Сценарии использования связаны с управляемой поведением разработкой. Звучит очень похоже на тест. Мартин Фаулер в своем блоге рассказывает историю и причины использования сценариев. Вот важная часть:
Даются часть описывает состояние мира , прежде чем начать поведение которой нужно указать в этом сценарии. Вы можете думать об этом как о предварительных условиях теста.
Раздел когда это то поведение, которое вы указываете.
Наконец, раздел then описывает ожидаемые изменения в связи с указанным поведением.
Сценарии использования могут быть использованы для написания теста для вашего приложения. Процитирую последний абзац поста Мартина:
Хотя стиль Given-When-Then является симптоматическим для BDD, основная идея довольно распространена при написании тестов или спецификации на примере. Месарош описывает модель как четырехфазный тест. Его четыре фазы: настройка (дано), упражнение (когда), проверка (затем) и разборка. Билл Уэйк придумал формулировку «Аранжировать, действовать, утверждать».
Рекомендации для дальнейшего изучения:
Страницы Википедии для варианта использования , пользовательской истории , сценария использования
Блоги Мартина Фаулера по варианту использования , пользовательской истории , сценарию использования