Вариант использования
Часть серии о |
Разработка программного обеспечения |
---|
В программной и системной инженерии словосочетание вариант использования является многозначным и имеет два значения :
- Сценарий использования программного обеспечения; часто используется во множественном числе, чтобы указать на ситуации, в которых какая-либо часть программного обеспечения может оказаться полезной.
- Потенциальный сценарий, в котором система получает внешний запрос (например, вводимые пользователем данные) и отвечает на него.
В этой статье обсуждается последний смысл. (Подробнее о другом значении см., например, в разделе «Персона пользователя» ).
Вариант использования — это список действий или шагов событий, обычно определяющих взаимодействие между ролью (известной в унифицированном языке моделирования (UML) как актер ) и системой для достижения цели. Действующим лицом может быть человек или другая внешняя система. В системной инженерии варианты использования используются на более высоком уровне, чем в разработке программного обеспечения , часто отражая миссии или заинтересованных сторон цели . Подробные требования затем могут быть отражены на языке системного моделирования (SysML) или в виде договорных положений.
История
[ редактировать ]В 1987 году Ивар Джейкобсон представил первую статью о вариантах использования на конференции OOPSLA '87. [1] Он описал, как этот метод использовался в Ericsson для сбора и определения требований к системе с использованием методов текстового, структурного и визуального моделирования для реализации объектно-ориентированного анализа и проектирования. [2] Первоначально он использовал термины «сценарии использования» и «прецедент» (последний является прямым переводом его шведского термина användningsfall ), но обнаружил, что ни один из этих терминов не звучит естественно на английском языке, и в конце концов остановился на варианте использования . [3]
В 1992 году он стал соавтором книги « Объектно-ориентированная разработка программного обеспечения — подход, основанный на сценариях использования» . [4] который заложил основу метода системного проектирования OOSE и помог популяризировать варианты использования для фиксации функциональных требований , особенно в разработке программного обеспечения . В 1994 году он опубликовал книгу о вариантах использования и объектно-ориентированных методах, применяемых к бизнес-моделям и реинжинирингу бизнес-процессов . [5]
В то же время Грэди Буч и Джеймс Рамбо работали над унификацией своих объектно-ориентированного анализа и проектирования методов — метода Буча и техники объектного моделирования (OMT) соответственно. В 1995 году к ним присоединился Ивар Якобсон, и вместе они создали унифицированный язык моделирования (UML) , включающий моделирование вариантов использования. UML был стандартизирован Группой управления объектами (OMG) в 1997 году. [6] Джейкобсон, Буч и Рамбо также работали над усовершенствованием процесса разработки программного обеспечения Objectory . Получившийся в результате унифицированный процесс был опубликован в 1999 году и продвигал подход, основанный на сценариях использования. [7]
С тех пор многие авторы внесли свой вклад в развитие этой методики, в частности: Ларри Константин разработал в 1995 году в контексте дизайна, ориентированного на использование , так называемые «основные сценарии использования», которые направлены на описание намерений пользователя, а не последовательностей действий. или сценарии, которые могут ограничивать или искажать дизайн пользовательского интерфейса; [8] Алистер Кокберн опубликовал в 2000 году целенаправленную практику использования, основанную на текстовых описаниях и табличных спецификациях; [9] Курт Биттнер и Ян Спенс в 2002 году разработали передовые методы анализа функциональных требований с помощью сценариев использования; [10] Дин Леффингвелл и Дон Видриг предложили применять сценарии использования для управления изменениями и взаимодействия с заинтересованными сторонами; [11] Гуннар Овергаард предложил в 2004 году распространить принципы шаблонов проектирования на варианты использования. [12]
В 2011 году Джейкобсон опубликовал вместе с Яном Спенсом и Куртом Биттнером электронную книгу Use Case 2.0, чтобы адаптировать эту технику к гибкому контексту, обогащая ее дополнительными «фрагментами» вариантов использования и продвигая ее использование на протяжении всего жизненного цикла разработки. [13] после представления обновленного подхода на ежегодной конференции IIBA . [14] [15]
Общий принцип
[ редактировать ]Варианты использования — это метод сбора, моделирования и определения требований системы. [10] Вариант использования соответствует набору действий, которые система может выполнять во взаимодействии со своими участниками и которые дают наблюдаемый результат, способствующий достижению ее целей. Актеры представляют роль, которую играют пользователи-люди или другие системы во взаимодействии.
При анализе требований , при их идентификации, вариант использования именуется в соответствии с конкретной целью пользователя, которую он представляет для своего основного субъекта. Случай дополнительно детализируется с помощью текстового описания или дополнительных графических моделей, объясняющих общую последовательность действий и событий, а также такие варианты, как особые условия, исключения или ошибочные ситуации.
По данным Свода знаний по программной инженерии (SWEBOK) , [16] на основе сценариев Сценарии использования относятся к методам выявления требований , а также к методам анализа на основе моделей . Но варианты использования также поддерживают сбор требований на основе описания, поэтапное получение требований, системную документацию и приемочное тестирование. [1]
Вариации
[ редактировать ]Существуют различные варианты использования и вариации этой техники:
- Варианты использования системы определяют требования к разрабатываемой системе. [2] В своем подробном описании они идентифицируют не только взаимодействия с актерами, но и объекты, участвующие в обработке. Они являются отправной точкой для дальнейшего анализа моделей и проектирования.
- Варианты использования в бизнесе сосредоточены на бизнес-организации, а не на программной системе. Они используются для определения бизнес-моделей и требований к бизнес-процессам в контексте инициатив по реинжинирингу бизнес-процессов. [5]
- Существенные варианты использования, также называемые абстрактными вариантами использования, описывают потенциальные намерения действующих лиц и то, как система их реализует, без определения какой-либо последовательности или описания сценария. [8] Эта практика была разработана с целью поддержки дизайна, ориентированного на пользователя, и предотвращения предвзятости в отношении пользовательского интерфейса на ранней стадии спецификации системы. [7]
- Используйте вариант 2.0, чтобы адаптировать методику к контексту методов гибкой разработки. [1] Этот метод обогащает практику сбора требований поддержкой повествований пользовательских историй. Он также предоставляет «срезы» вариантов использования для облегчения постепенного выявления требований и обеспечения поэтапной реализации.
Объем
[ редактировать ]Объем варианта использования может определяться предметом и целями:
- Субъект идентифицирует систему, подсистему или компонент, который будет обеспечивать взаимодействие. [17]
- Цели могут быть структурированы иерархически с учетом организационного уровня, заинтересованного в цели (например, компания, отдел, пользователь), а также разложения цели пользователя на подцели. [9] Декомпозиция цели выполняется с точки зрения пользователей и независимо от системы, что отличается от традиционной функциональной декомпозиции. [10]
Использование
[ редактировать ]Известно, что варианты использования применяются в следующих контекстах:
- Объектно-ориентированная разработка программного обеспечения (OOSE) как движущий элемент; [4]
- Унифицированный язык моделирования (UML) как инструмент поведенческого моделирования; [17]
- Унифицированный процесс разработки программного обеспечения (UP) и его предшественник IBM Rational Unified Process (RUP) ; [7]
- предварительная документация спецификации требований к программному обеспечению (SRS) как альтернативная структура функциональных требований; [18]
- разработка проекта на основе требований с использованием подхода «объект-контроль-границы» ; [7]
- и гибкое развитие . [1] [19]
Шаблоны
[ редактировать ]Существует много способов написать вариант использования в тексте: от краткого , повседневного , краткого , полностью оформленного и т. д., а также с использованием различных шаблонов. Написание вариантов использования в шаблонах, разработанных различными поставщиками или экспертами, является обычной отраслевой практикой для получения качественных функциональных требований к системе.
Стиль Кокберна
[ редактировать ]Шаблон, определенный Алистером Кокберном в его книге «Написание эффективных вариантов использования», был одним из наиболее широко используемых стилей написания вариантов использования. [ нужна ссылка ]
Объемы проектирования
[ редактировать ]Кокберн предлагает аннотировать каждый вариант использования символом, обозначающим «объем проектирования», который может быть черным ящиком (внутренние детали скрыты) или белым ящиком (внутренние детали показаны). Доступны пять символов: [20]
Другие авторы иногда называют варианты использования на уровне организации «случаями использования для бизнеса». [21]
Уровни целей
[ редактировать ]Кокберн предлагает помечать каждый вариант использования символом, обозначающим «уровень цели»; [22] предпочтительный уровень — «Цель пользователя» (или в просторечии «уровень моря»). [23] : 101 ).
Уровень цели | Икона | Символ | |
---|---|---|---|
Очень высокое резюме | Облако | ++ | |
Краткое содержание | Летающий змей | + | |
Цель пользователя | Волны в море | ! | |
Подфункция | Рыба | - | |
Слишком низко | Морская моллюск | -- |
Иногда при написании текста имя варианта использования, за которым следует альтернативный текстовый символ (! +, - и т. д.), является более кратким и удобным способом обозначения уровней, например, размещения заказа! , авторизоваться- .
Полностью одет
[ редактировать ]Кокберн описывает более подробную структуру варианта использования, но позволяет упростить ее, когда требуется меньше деталей. В его полностью оформленном шаблоне варианта использования перечислены следующие поля: [24]
- Название: «целевая фраза с активным глаголом, обозначающая цель основного действующего лица» [25]
- Главный актер
- Цель в контексте
- Объем
- Уровень
- Заинтересованные стороны и интересы
- Предварительное условие
- Минимальные гарантии
- Гарантии успеха
- Курок
- Основной сценарий успеха
- Расширения
- Список изменений технологий и данных
Кроме того, Кокберн предлагает использовать два устройства для обозначения характера каждого варианта использования: значки для обозначения объема проекта и уровня цели.
Подход Кокберна повлиял на других авторов; например, Александр и Беус-Дукич обобщают шаблон Кокберна «Полностью одетый вариант использования» от программного обеспечения до систем всех типов, причем следующие поля отличаются от Кокберна: [26]
- Варианты сценариев «(возможно, ответвление от основного сценария и, возможно, возвращение к нему)»
- Исключения, «т. е. события исключений и сценарии их обработки исключений».
Повседневный
[ редактировать ]Кокберн признает, что проекты не всегда могут нуждаться в подробных «полностью оформленных» сценариях использования. Он описывает случай повседневного использования с полями: [24]
- Название (цель)
- Главный актер
- Объем
- Уровень
- (Сюжет): тело варианта использования представляет собой просто пара абзацев текста, неформально описывающих происходящее.
Стиль Фаулера
[ редактировать ]Мартин Фаулер утверждает: «Не существует стандартного способа записи содержания варианта использования, и в разных случаях хорошо работают разные форматы». [23] : 100 Он описывает «общий стиль использования» следующим образом: [23] : 101
- Заголовок: «Цель, которую пытается достичь вариант использования» [23] : 101
- Основной сценарий успеха: нумерованный список шагов [23] : 101
- Шаг: «простая формулировка взаимодействия между актором и системой». [23] : 101
- Расширения: отдельно нумерованные списки, по одному на каждое расширение. [23] : 101
- Расширение: «состояние, которое приводит к взаимодействиям, отличным от… основного сценария успеха». Расширение основного шага 3 имеет номер 3a и т. д. [23] : 101
Стиль Фаулера также можно рассматривать как упрощенный вариант шаблона Кокберна. Этот вариант называется пользовательской историей .
Алистер Кокберн заявил: [27]
Думайте о пользовательской истории как о сценарии использования с точностью до 2 бит. Бит 1 точности называет цель варианта использования, а бит 2 добавляет основной сценарий. Бит 3 добавляет условия отказа, бит 4 добавляет действия при сбое. Бит 5 добавляет описание данных ввода/вывода. Я бы поставил Катализ на 6-й бит точности, так как они включают в себя еще и модель получателя сообщения. В семействе CrystalMethodology проекты, основанные по-разному, используют варианты с разными уровнями точности. Методологически легкий проект использует пользовательские истории, методологически более тяжелый проект использует варианты использования с точностью до 4 бит, а Catalysis использует точность до 6 бит.
Мартин Фаулер заявил: [27]
Все дело в том, как люди используют кейсы. Я видел, как многие люди использовали прецеденты очень формализованно. Кент создает свои UserStories гораздо более доступным способом. Я использую кейсы так же, как Кент использует пользовательские истории. Я призываю их использовать варианты, чтобы лучше общаться с другими разработчиками и побуждать их использовать более упрощенный подход.
Актеры
[ редактировать ]Вариант использования определяет взаимодействие между внешними участниками и рассматриваемой системой для достижения цели. Актеры должны иметь возможность принимать решения, но не обязательно быть людьми: «Актером может быть человек, компания или организация, компьютерная программа или компьютерная система — аппаратное обеспечение, программное обеспечение или и то, и другое». [28] Акторы всегда являются заинтересованными сторонами , но не все заинтересованные стороны являются акторами, поскольку они могут «никогда не взаимодействовать напрямую с системой, даже если они имеют право заботиться о том, как ведет себя система». [28] Например, «владельцы системы, совет директоров компании и регулирующие органы, такие как Налоговая служба и Департамент страхования» — все могут быть заинтересованными сторонами, но вряд ли будут действующими лицами. [28]
Аналогичным образом, человек, использующий систему, может быть представлен как другой актер, поскольку он играет разные роли. Например, пользователь «Джо» может играть роль Клиента при использовании банкомата для снятия наличных со своего счета или играть роль банковского кассира при использовании системы для пополнения запасов кассы от имени банка. .
Актеры часто работают от имени кого-то другого. Кокберн пишет: «В наши дни я пишу «торговый представитель клиента» или «клерк отдела маркетинга», чтобы понять, что пользователь системы действует от имени кого-то другого». Это говорит проекту о том, что «пользовательский интерфейс и уровень доступа» должны быть разработаны для торгового представителя и клерка, но что роли, которые заботятся о результатах, — это отдел обслуживания клиентов и маркетинга. [29]
Заинтересованная сторона может играть как активную, так и неактивную роль: например, Потребитель является одновременно «массовым покупателем» (не взаимодействующим с системой) и Пользователем (актером, активно взаимодействующим с приобретаемым продуктом). [30] В свою очередь, Пользователь является одновременно «обычным оператором» (субъектом, использующим систему по назначению), и «функциональным бенефициаром» (заинтересованной стороной, получающей выгоду от использования системы). [30] Например, когда пользователь «Джо» снимает наличные со своего счета, он управляет банкоматом и получает результат от своего имени.
Кокберн советует искать действующих лиц среди заинтересованных сторон системы, основных и вспомогательных (вторичных) действующих лиц варианта использования, самой проектируемой системы (SuD) и, наконец, среди «внутренних действующих лиц», а именно компонентов разрабатываемой системы. дизайн. [28]
Вариант использования в бизнесе
[ редактировать ]Точно так же, как вариант использования описывает серию событий и взаимодействий между пользователем (или другими типами субъектов) и системой, чтобы получить ценный результат (цель), вариант использования для бизнеса описывает более общее взаимодействие. между бизнес-системой и пользователями/субъектами этой системы для получения ценных бизнес-результатов. Основное отличие состоит в том, что система, рассматриваемая в модели бизнес-использования, помимо технологических систем может содержать людей. Этих «людей в системе» называют бизнес-работниками. В примере с рестораном необходимо принять решение, относиться ли к каждому человеку как к действующему лицу (то есть вне системы) или как к деловому работнику (внутри системы). Если официант считается действующим лицом, как показано в примере ниже, то ресторанная система не включает официанта, а модель отображает взаимодействие между официантом и рестораном. Альтернативой было бы рассматривать официанта как часть ресторанной системы (бизнес-работника), а клиента – как вне системы (актера). [31]
Визуальное моделирование
[ редактировать ]Типы диаграмм UML |
---|
Структурные диаграммы UML |
Поведенческие диаграммы UML |
Варианты использования — это не только тексты, но и диаграммы, если это необходимо. В Unified Modeling Language отношения между вариантами использования и субъектами представлены в диаграммах вариантов использования, первоначально основанных на Ивара Джейкобсона нотации Objectory . SysML использует ту же нотацию на уровне системного блока.
Кроме того, другие поведенческие диаграммы UML, такие как диаграммы деятельности , диаграммы последовательности , диаграммы связи и диаграммы конечных автоматов для соответствующей визуализации вариантов использования также можно использовать . В частности, диаграмма последовательности системы (SSD) — это диаграмма последовательности, часто используемая для отображения взаимодействия между внешними участниками и проектируемой системой (SuD), обычно для визуализации конкретного сценария варианта использования.
Анализ вариантов использования обычно начинается с построения диаграмм вариантов использования. Для гибкой разработки модель требований, состоящая из множества UML-диаграмм, изображающих варианты использования, а также некоторых текстовых описаний, примечаний или кратких описаний вариантов использования , будет очень легкой и достаточной для небольшого или простого использования в проекте. Являясь хорошим дополнением к текстам вариантов использования, визуальные диаграммы вариантов использования также являются эффективными инструментами, способствующими лучшему пониманию, общению и разработке требований к поведению сложных систем.
Примеры
[ редактировать ]Ниже приведен пример варианта использования, написанный с использованием слегка измененной версии шаблона в стиле Cockburn. Обратите внимание, что в базовом описании варианта использования нет кнопок, элементов управления, форм или любых других элементов и операций пользовательского интерфейса, где на каждом этапе базового потока или расширений выражаются только цели, подцели или намерения пользователя. Такая практика делает спецификацию требований более четкой и максимизирует гибкость проектирования и реализации.
Вариант использования : редактирование статьи.
Основной участник : Участник (зарегистрированный пользователь)
Область применения : Wiki. система
Уровень : ! (Цель пользователя или уровень моря)
Краткое описание : (эквивалент пользовательской истории или эпоса)
- Участник редактирует любую часть (всю статью или только раздел) статьи, которую он читает. Во время редактирования разрешен предварительный просмотр и сравнение изменений.
Заинтересованные стороны
...
Постусловия
- Минимальные гарантии :
- Гарантии успеха :
- Статья сохраняется, и отображается обновленное представление.
- Запись редактирования статьи создается системой, поэтому наблюдатели статьи могут быть проинформированы об обновлении позже.
Предварительные условия :
- Участнику предоставляется статья с включенным редактированием.
Триггеры :
- Участник вызывает запрос на редактирование (для всей статьи или только для одного раздела) статьи.
Основной поток :
- Система предоставляет новую область/поле редактора, заполненное всем соответствующим содержимым статьи с информативной сводкой изменений, которую участник может редактировать. Если участник просто хочет отредактировать раздел отчета, отображается только исходное содержимое раздела, а заголовок раздела автоматически заполняется в сводке редактирования.
- Участник изменяет содержание статьи до тех пор, пока он не будет удовлетворен.
- Участник заполняет сводку редактирования, сообщает системе, хочет ли он просмотреть эту статью, и отправляет редактирование.
- Система сохраняет статью, регистрирует событие редактирования и завершает необходимую постобработку.
- Система представляет участнику обновленное представление статьи.
Расширения :
2–3.
- а. Показать предварительный просмотр:
- Участник выбирает «Показать предварительный просмотр» , который отправляет измененный контент.
- Система повторяет шаг 1 с добавлением визуализированного обновленного контента для предварительного просмотра и сообщает участнику, что его/ее изменения еще не сохранены, а затем продолжает.
- б. Показать изменения:
- Участник выбирает пункт «Показать изменения» , который отправляет измененное содержимое.
- Система повторяет шаг 1 с добавлением показа результатов сравнения различий между текущими правками участника и самой последней сохраненной версией статьи, а затем продолжает.
- в. Отменить редактирование:
- Участник выбирает Отмена .
- Система отменяет любые изменения, внесенные участником, а затем переходит к шагу 5.
4а. Тайм-аут:
...
Преимущества
[ редактировать ]С момента зарождения гибкого движения техника пользовательских историй из «Экстремального программирования» стала настолько популярной, что многие считают ее единственным и лучшим решением для гибких требований всех проектов. Алистер Кокберн перечисляет пять причин, по которым он до сих пор пишет сценарии использования в гибкой разработке . [32]
- Список названий целей дает кратчайшее описание того, что может предложить система (даже в этом случае пользовательские истории). Он также предоставляет структуру планирования проекта, которую можно использовать для определения первоначальных приоритетов, оценок, распределения команд и сроков.
- Основной сценарий успеха каждого варианта использования обеспечивает всем участникам соглашение относительно того, что система в основном будет делать, а что нет. Он предоставляет контекст для каждого конкретного требования к позиции (например, детальные пользовательские истории), контекст, который очень трудно получить где-либо еще.
- Условия расширения каждого варианта использования обеспечивают основу для исследования всех мелких, мелочных вещей, которые почему-то отнимают 80% времени и бюджета разработки. Он обеспечивает механизм прогнозирования, поэтому заинтересованные стороны могут выявить проблемы, на получение ответов на которые может потребоваться много времени. Эти проблемы можно и нужно поставить заранее, чтобы ответы были готовы, когда команда разработчиков приступит к работе над ними.
- Фрагменты сценариев расширения вариантов использования дают ответы на множество подробных, часто сложных и игнорируемых бизнес-вопросов: «Что нам следует делать в этом случае?» Это структура мышления/документирования, соответствующая оператору if...then...else, которая помогает программистам обдумывать проблемы. За исключением того, что это делается во время расследования, а не во время программирования.
- Полный набор вариантов использования показывает, что исследователи продумали потребности каждого пользователя, каждую цель, которую они преследуют в отношении системы, и каждый задействованный бизнес-вариант.
Подводя итог, определение системных требований в вариантах использования имеет следующие очевидные преимущества по сравнению с традиционными или другими подходами:
Ориентированный на пользователя
Варианты использования представляют собой мощный, ориентированный на пользователя инструмент для процесса спецификации требований к программному обеспечению. [33] Моделирование вариантов использования обычно начинается с определения ключевых ролей заинтересованных сторон ( актеров ), взаимодействующих с системой, а также их целей или задач, которые система должна выполнить (взгляд со стороны). Эти пользовательские цели затем становятся идеальными кандидатами на имена или названия вариантов использования, которые представляют желаемые функциональные возможности или услуги, предоставляемые системой. Такой подход, ориентированный на пользователя, гарантирует, что разрабатывается то, что имеет реальную бизнес-ценность и что действительно хочет пользователь, а не те тривиальные функции, которые предполагаются с точки зрения разработчика или системы (внутри).
Разработка вариантов использования уже много лет является важным и ценным инструментом анализа в области пользовательско-ориентированного проектирования (UCD) .
Лучшее общение
Варианты использования часто пишутся на естественных языках со структурированными шаблонами. Эта повествовательная текстовая форма (читабельные истории требований), понятная практически каждому и дополненная визуальными UML-диаграммами, способствует улучшению и более глубокому общению между всеми заинтересованными сторонами, включая клиентов, конечных пользователей, разработчиков, тестировщиков и менеджеров. Улучшение коммуникации приводит к формированию требований к качеству и, следовательно, к созданию систем качества.
Требования к качеству при структурированной разведке
Одна из самых важных особенностей вариантов использования заключается в форматах шаблонов вариантов использования , особенно в основном сценарии успеха (базовый поток) и фрагментах сценария расширения (расширения, исключительные и альтернативные потоки). Анализ варианта использования шаг за шагом от предусловий к постусловиям, изучение и исследование каждого шага действия в потоках вариантов использования, от базового до расширений, для выявления тех сложных, обычно скрытых и игнорируемых, кажущихся тривиальными, но на самом деле часто дорогостоящих требований (как упомянул Кокберн). выше), представляет собой структурированный и полезный способ систематического получения четких, стабильных и качественных требований.
Минимизация и оптимизация этапов действий варианта использования для достижения цели пользователя также способствуют улучшению дизайна взаимодействия и пользовательского опыта работы с системой.
Упрощение тестирования и пользовательской документации
Поскольку контент основан на структуре потока действий или событий, модель хорошо написанных вариантов использования также служит отличной основой и ценным руководством для разработки тестовых сценариев и руководств пользователя системы или продукта, что является достойным вложением усилий. -передний. Существуют очевидные связи между путями реализации варианта использования и его тестовыми примерами. Вывести функциональные тестовые сценарии из варианта использования через его сценарии (запуск экземпляров варианта использования) несложно. [34]
Ограничения
[ редактировать ]Ограничения вариантов использования включают в себя:
- Сценарии использования не очень хорошо подходят для фиксации требований к системе, не основанных на взаимодействии (таких как алгоритмы или математические требования) или нефункциональных требований (таких как платформа, производительность, время или критически важные аспекты безопасности). Их лучше указать декларативно в другом месте.
- Поскольку полностью стандартных определений вариантов использования не существует, каждый проект должен формировать свою собственную интерпретацию.
- Некоторые отношения вариантов использования, такие как расширения , неоднозначны в интерпретации и могут быть трудными для понимания заинтересованными сторонами, как отметил Кокберн (Проблема № 6). [35] [ нужна ссылка ]
- Разработчикам вариантов использования часто бывает сложно определить уровень зависимости пользовательского интерфейса (UI), который необходимо включить в вариант использования. Хотя теория вариантов использования предполагает, что пользовательский интерфейс не отражается в вариантах использования, абстрагировать этот аспект дизайна может быть неудобно, поскольку это затрудняет визуализацию вариантов использования. В разработке программного обеспечения эта трудность решается путем применения прослеживаемости требований , например, с помощью матрицы прослеживаемости . Другой подход к связыванию элементов пользовательского интерфейса с вариантами использования — прикрепить дизайн пользовательского интерфейса к каждому шагу варианта использования. Это называется раскадровкой вариантов использования.
- Варианты использования могут быть переоценены. Бертран Мейер обсуждает такие вопросы, как управление проектированием системы слишком буквально на основе вариантов использования и использование вариантов использования с исключением других потенциально ценных методов анализа требований. [36]
- Варианты использования являются отправной точкой для проектирования тестов. [37] но поскольку для каждого теста нужны свои собственные критерии успеха, возможно, потребуется изменить варианты использования, чтобы обеспечить отдельные постусловия для каждого пути. [38]
- Хотя варианты использования включают в себя цели и контексты, конфликтуют ли эти цели и мотивации, стоящие за целями (заботы заинтересованных сторон и их оценки, включая отсутствие взаимодействия), или отрицательно/положительно влияют на другие цели системы, являются предметом методов целеориентированного моделирования требований (таких как BMM). , I* , KAOS и ArchiMate ARMOR).
Заблуждения
[ редактировать ]Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июль 2015 г. ) |
Распространенными заблуждениями относительно вариантов использования являются:
Пользовательские истории гибки; варианты использования - нет.
Agile и Scrum нейтральны в отношении методов требований. Как Scrum Primer [39] государства,
Элементы бэклога продукта формулируются любым понятным и устойчивым способом. Вопреки распространенному заблуждению, Бэклог продукта не содержит «пользовательских историй»; он просто содержит элементы. Эти элементы могут быть выражены в виде пользовательских историй, вариантов использования или любого другого подхода к требованиям, который группа сочтет полезным. Но каким бы ни был подход, большинство продуктов должны быть направлены на предоставление ценности клиентам.
Методы сценариев использования были разработаны с учетом подходов Agile путем использования срезов вариантов использования для постепенного обогащения варианта использования. [13]
Варианты использования в основном представляют собой диаграммы.
Крейг Ларман подчеркивает, что «варианты использования — это не диаграммы, это текст». [40]
Варианты использования содержат слишком много контента, связанного с пользовательским интерфейсом.
Как говорят некоторые, [ ВОЗ? ]
Варианты использования часто содержат такой уровень детализации (т. е. присвоение имен меткам и кнопкам), что делает его неподходящим для определения требований к новой системе с нуля.
Недоразумения новичков. Каждый шаг хорошо написанного варианта использования должен представлять цели или намерения действующих лиц (суть функциональных требований) и, как правило, не должен содержать каких-либо деталей пользовательского интерфейса, например, именования меток и кнопок, операций пользовательского интерфейса и т. д., что является плохая практика и излишне усложнит написание варианта использования и ограничит его реализацию.
Что касается сбора требований к новой системе с нуля, диаграммы вариантов использования и краткие описания вариантов использования часто используются как удобные и ценные инструменты, по крайней мере такие же легкие, как и пользовательские истории. [ нужна ссылка ]
Написание вариантов использования для больших систем утомительно и является пустой тратой времени.
Как говорят некоторые, [ ВОЗ? ]
Формат варианта использования затрудняет описание большой системы (например, CRM-системы) менее чем на нескольких сотнях страниц. Это отнимает много времени, и вы обнаружите, что тратите время на ненужную переделку.
[ нужна ссылка ]
Тратить много времени на написание утомительных вариантов использования, которые не приносят никакой пользы или приносят мало пользы и приводят к большому количеству переделок, — это неприятный запах, указывающий на то, что авторы недостаточно квалифицированы и имеют мало знаний о том, как писать качественные варианты использования эффективно и действенно. Варианты использования должны разрабатываться итеративным, инкрементным и эволюционным ( гибким ) способом. Применение шаблонов вариантов использования не означает, что все поля шаблона варианта использования должны использоваться и полностью заполняться с самого начала или на специальном этапе, т. е. на этапе требований в традиционной каскадной модели разработки.
Фактически, форматы вариантов использования, сформулированные с помощью этих популярных стилей шаблонов , например, RUP и Cockburn (также принятых методом OUM ) и т. д., оказались на практике ценными и полезными инструментами для сбора, анализа и документирования сложных требований. больших систем. Качество хорошей документации варианта использования ( модели ) не следует оценивать в основном или только по ее размеру. Также возможно, что качественная и всеобъемлющая модель варианта использования большой системы может в конечном итоге превратиться в сотни страниц, главным образом из-за внутренней сложности рассматриваемой проблемы , а не из-за плохих навыков письма ее авторов. [ нужна ссылка ]
Инструменты
[ редактировать ]Текстовые редакторы и/или текстовые процессоры с поддержкой шаблонов часто используются для написания вариантов использования. Для больших и сложных системных требований полезны специальные инструменты для сценариев использования.
Некоторые из известных инструментов сценариев использования включают в себя:
- ДелоЗавершено
- Корпоративный архитектор
- МагияНичья
- RequisitePro от Rational Software — один из первых и хорошо известных инструментов управления сценариями использования и требованиями в 1990-х годах.
- Разработчик идей программного обеспечения
- Программное обеспечение Wiki — хорошие инструменты для команд, которые могут совместно создавать сценарии использования и управлять ими.
Большинство инструментов UML поддерживают как написание текста, так и визуальное моделирование вариантов использования.
См. также
[ редактировать ]- Случай злоупотребления
- Бизнес-кейс
- Граница управления объектом
- Разделение событий
- Особенность
- Список инструментов UML
- Случай неправильного использования
- Требование
- Выявление требований
- Сценарий
- Раскадровка
- Тестовый пример
- Используйте прецеденты
Ссылки
[ редактировать ]- ^ Jump up to: а б с д доктор Ивар Джейкобсон; Ян Спенс; Курт Биттнер (декабрь 2011 г.). «Электронная книга Use-Case 2.0» . Ивар Джейкобсон Интернэшнл . п. 4 . Проверено 9 августа 2020 г.
- ^ Jump up to: а б Джейкобсон, Ивар (1 декабря 1987 г.). «Объектно-ориентированная разработка в промышленной среде» . Уведомления ACM SIGPLAN . 22 (12): 183–191. дои : 10.1145/38807.38824 .
- ^ Кокберн, Алистер (март 2002 г.). «Сценарии использования, десять лет спустя» . Алистер.cockburn.us . Алистер Кокберн. Архивировано из оригинала 15 сентября 2008 года . Проверено 17 апреля 2013 г.
- ^ Jump up to: а б Якобсон Ивар; Кристерсон Магнус; Йонссон Патрик; Овергаард Гуннар (1992). Объектно-ориентированная разработка программного обеспечения: подход, основанный на сценариях использования . АКМ Пресс. ISBN 0-201-54435-0 . ОСЛК 26132801 .
- ^ Jump up to: а б Джейкобсон, Ивар; Эрикссон, Мария; Джейкобсон, Агнета (1995). Преимущество объекта: реинжиниринг бизнес-процессов с использованием объектной технологии . Аддисон-Уэсли. ISBN 0-201-42289-1 . OCLC 32276135 .
- ^ «О спецификации единого языка моделирования версии 2.5.1» . www.omg.org . Проверено 9 августа 2020 г.
- ^ Jump up to: а б с д Джейкобсон, Ивар; Буч, Грейди; Рамбо, Джим (1999). Единый процесс разработки программного обеспечения . Ридинг, Массачусетс: Аддисон-Уэсли. ISBN 0-201-57169-2 . OCLC 636807532 .
- ^ Jump up to: а б Константин, Ларри Л. (1 апреля 1995 г.). «Основное моделирование: варианты использования пользовательских интерфейсов» . Взаимодействия . 2 (2): 34–46. дои : 10.1145/205350.205356 . S2CID 17209049 .
- ^ Jump up to: а б Кокберн, Алистер. (2001). Написание эффективных сценариев использования . Аддисон-Уэсли. ISBN 0-201-70225-8 . OCLC 44046973 .
- ^ Jump up to: а б с Биттнер, Курт (2003). Моделирование вариантов использования . Спенс, Ян. Эддисон Уэсли. ISBN 0-201-70913-9 . OCLC 50041546 .
- ^ Леффингвелл, Дин. (2003). Управление требованиями к программному обеспечению: подход к использованию . Видриг, Дон. (2-е изд.). Аддисон-Уэсли. ISBN 0-321-12247-Х . OCLC 51653240 .
- ^ Овергаард, Гуннар; Палмквист, Карин (2005). Варианты использования: шаблоны и чертежи . Индианаполис, Индиана: Аддисон-Уэсли. ISBN 0-13-145134-0 . OCLC 59554401 .
- ^ Jump up to: а б Джейкобсон, Ивар ; Спенс, Ян ; Биттнер, Курт (декабрь 2011 г.). «Сценарий использования 2.0: руководство по успешному использованию вариантов использования» . Ивар Джейкобсон Интернэшнл . Проверено 5 мая 2014 г.
- ^ «Конференция по бизнес-анализу Европы 2011 – 26-28 сентября 2011 г., Лондон, Великобритания» . Irmuk.co.uk. Архивировано из оригинала 17 июня 2013 года . Проверено 17 апреля 2013 г.
- ^ «Презентация варианта использования 2.0» . Ивар Джейкобсон Интернэшнл . 27 сентября 2011 года . Проверено 9 августа 2020 г.
- ^ Бурк, Пьер; Фэрли, Р.Э. (Ричард Э.) (2014). SWEBOK: руководство к совокупности знаний в области разработки программного обеспечения (изд. версии 3.0). Компьютерное общество IEEE. стр. 1–6–1–8. ISBN 978-0-7695-5166-1 . OCLC 880350861 .
- ^ Jump up to: а б Группа управления объектами (2017). «Спецификация унифицированного языка моделирования, версия 2.5.1» . www.omg.org . Проверено 16 августа 2020 г. .
- ^ Вигерс, Карл Юджин (2010). Подробнее о требованиях к программному обеспечению: острые вопросы и практические советы . Майкрософт Пресс. стр. Глава 11. ISBN 978-0-7356-2267-8 . OCLC 73814167 .
- ^ Эмблер, Скотт (2004). «Случаи использования системы: гибкое введение» . www.agilemodeling.com . Проверено 16 августа 2020 г. .
- ^ Кокберн, 2001. Внутренняя сторона обложки. Иконки «Объем проектирования».
- ^ Сюзанна Робертсон. Сценарии в обнаружении требований . Глава 3 в журнале Alexander and Maiden, 2004. Страницы 39–59.
- ^ Кокберн, 2001. Внутренняя сторона обложки. Значки «Уровень цели».
- ^ Jump up to: а б с д и ж г час Фаулер, 2004.
- ^ Jump up to: а б Кокберн, 2001. Страница 120.
- ^ Кокберн, 2001. Внутренняя часть задней обложки. Поле «Название варианта использования».
- ^ Александр и Беус-Дукич, 2009. Страница 121.
- ^ Jump up to: а б «История пользователя и сравнение вариантов использования» . Проверено 19 января 2024 г.
- ^ Jump up to: а б с д Кокберн, 2001. Страница 53.
- ^ Кокберн, 2001. Страница 55.
- ^ Jump up to: а б Александр и Беус-Дукич, 2009. Страница 39.
- ^ Эрикссон, Ханс-Эрик (2000). Бизнес-моделирование с помощью UML . Нью-Йорк: Wiley Computer Publishing. стр. 52 . ISBN 0-471-29551-5 .
- ^ Кокберн, Алистер (9 января 2008 г.). «Почему я до сих пор использую кейсы» . alistair.cockburn.us .
- ^ Карл Вигерс (март 1997 г.). «Слушаем голос клиента» . Влияние процесса . Разработка программного обеспечения.
- ^ Питер Зельчински (май 2006 г.). «Прослеживаемость от вариантов использования до тестовых случаев» . IBM DeveloperWorks.
- ^ «Alistair.Cockburn.us — Структурирование вариантов использования с целями» . alistair.cockburn.us . Проверено 16 марта 2018 г.
- ^ Мейер, 2000. (нужна страница)
- ^ Армор и Миллер, 2000. (нужна страница)
- ^ Денни, 2005. (нужна страница)
- ^ Пит Димер; Габриэль Бенефилд; Крейг Ларман; Бас Водде (17 декабря 2012 г.). «The Scrum Primer: облегченное руководство по теории и практике Scrum (версия 2.0)» . ИнфоВ.
- ^ Ларман, Крейг (2005). Применение UML и шаблонов . Прентис Холл. стр. 63–64. ISBN 0-13-148906-2 .
Дальнейшее чтение
[ редактировать ]- Александр, Ян и Беус-Дукич, Льерка. Выявление требований: как определять продукты и услуги . Уайли, 2009.
- Александр, Ян и Мейден, Нил. Сценарии, истории, варианты использования . Уайли 2004.
- Армор, Фрэнк и Грэнвилл Миллер. Расширенное моделирование вариантов использования: программные системы . Аддисон-Уэсли, 2000.
- Курт Биттнер, Ян Спенс, Моделирование вариантов использования , Addison-Wesley Professional, 20 августа 2002 г.
- Кокберн, Алистер. Написание эффективных сценариев использования. Аддисон-Уэсли, 2001.
- Ларри Константин, Люси Локвуд, Программное обеспечение для использования: Практическое руководство по основным моделям и методам проектирования, ориентированного на использование , Аддисон-Уэсли, 1999.
- Денни, Ричард. Успех в сценариях использования: разумная работа для обеспечения качества . Аддисон-Уэсли, 2005 г.
- Фаулер, Мартин. UML Distilled (третье издание) . Аддисон-Уэсли, 2004 г.
- Джейкобсон Ивар, Кристерсон М., Йонссон П., Овергаард Г., Объектно-ориентированная разработка программного обеспечения - подход, основанный на сценариях использования , Аддисон-Уэсли, 1992.
- Джейкобсон Ивар, Спенс И., Биттнер К. Вариант использования 2.0: Руководство по достижению успеха в вариантах использования , IJI SA, 2011.
- Дин Леффингвелл, Дон Видриг, Управление требованиями к программному обеспечению: подход к использованию сценариев , Addison-Wesley Professional. 7 декабря 2012 г.
- Кулак, Дэрил и Имонн Гини. Варианты использования: требования в контексте. Аддисон-Уэсли, 2012.
- Мейер, Бертран. Объектно-ориентированное построение программного обеспечения . (2-е издание). Прентис Холл, 2000.
- Шнайдер, Джери и Уинтерс, Джейсон П. Применение вариантов использования, 2-е издание: Практическое руководство . Аддисон-Уэсли, 2001.
- Вазлавик, Рауль С. Объектно-ориентированный анализ и проектирование информационных систем: моделирование с помощью UML, OCL и IFML . Морган Кауфманн, 2014.