61
Системный Анализ и Требования / Re: Давайте поговорим про Use Case и функции. В чем отличия?
« : 13 Июля 2016, 01:37:32 »
Use Case — это формализованный сценарий (технология, алгоритм) решения задачи пользователя/клиента при взаимодействии с бизнесом/услугой/инструментом, в котором есть чёткое разделение действий между сторонами.
Если реальный сценарий решения задачи пользователя слишком неформализуемый (например, создание векторного рисунка в векторном редакторе), т.е. — не похож на сценарий, то его неэффективно описывать как use case, а лучше описывать как набор возможностей.
Функция — это просто чёрный ящик, которая преобразует конкретные входные данные в выходные данные.
Не стоит рассуждать про «функции» вообще. Я бы предложил различать бизнес-функции, пользовательские функции и технические функции. Чтобы снизить риски, стоит доводить детализацию до технических функций.
Вы вообще какую задачу описанием этого юскейса решаете? Я обычно — как раз выделение технических функций, чтобы не упустить важного.
Выбрать макет — это пользовательская функция, которая ограниченно полезна, но самостоятельного смысла не имеет и нуждается в детализации до технических функций.
Проблема в том, что вы смешиваете usage scenario, где описываются шаги пользователя с использованием инструментов (выбрать макет) и use case, где описываются отдельно «чистые» действия пользователя и действия системы (Система показывает список макетов в определённом порядке, Система предлагает что-то с этим макетом сделать, Пользователь каким-то образом указывает макет, Система каким-то образом даёт обратную связь о том, какой макет выбран и что-то предлагает дальше).
Например «ДЛ сохраняет веб-страницу» — ДЛ не может ничего никуда сохранять, если только записать карандашом на бумагу. Сохраняет система, а ДЛ даёт команду. Это язык usage scenario, а не use case.
http://boatmanshome.ru/wiki/wacko/?page=Zametki/StopTheMagic&v=1c9h
Если реальный сценарий решения задачи пользователя слишком неформализуемый (например, создание векторного рисунка в векторном редакторе), т.е. — не похож на сценарий, то его неэффективно описывать как use case, а лучше описывать как набор возможностей.
Функция — это просто чёрный ящик, которая преобразует конкретные входные данные в выходные данные.
Не стоит рассуждать про «функции» вообще. Я бы предложил различать бизнес-функции, пользовательские функции и технические функции. Чтобы снизить риски, стоит доводить детализацию до технических функций.
Вы вообще какую задачу описанием этого юскейса решаете? Я обычно — как раз выделение технических функций, чтобы не упустить важного.
Выбрать макет — это пользовательская функция, которая ограниченно полезна, но самостоятельного смысла не имеет и нуждается в детализации до технических функций.
Проблема в том, что вы смешиваете usage scenario, где описываются шаги пользователя с использованием инструментов (выбрать макет) и use case, где описываются отдельно «чистые» действия пользователя и действия системы (Система показывает список макетов в определённом порядке, Система предлагает что-то с этим макетом сделать, Пользователь каким-то образом указывает макет, Система каким-то образом даёт обратную связь о том, какой макет выбран и что-то предлагает дальше).
Например «ДЛ сохраняет веб-страницу» — ДЛ не может ничего никуда сохранять, если только записать карандашом на бумагу. Сохраняет система, а ДЛ даёт команду. Это язык usage scenario, а не use case.
http://boatmanshome.ru/wiki/wacko/?page=Zametki/StopTheMagic&v=1c9h