Клуб разработчиков программных систем

Темы | Статьи | Рейтинги |

Варианты использования (Use Case)

Варианты использования (Use Case)

Сергей Трофимов

20/09/2003

Что такое варианты использования?

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

    Для того, чтобы более точно понять как должна работать система, все чаще используется описание функциональности системы через варианты использования (Use Case или прецеденты). Варианты использования это - описание последовательности действий, которые может осуществлять система в ответ на внешние воздействия пользователей или других программных систем. Варианты использования отражают функциональность системы с точки зрения получения значимого результата для пользователя, поэтому они точнее позволяют ранжировать функции по значимости получаемого результата.

Зачем нужны варианты использования?

    Варианты использования предназначены в первую очередь для определения функциональных требований к системе и  управляют всем процессом разработки. Все основные виды деятельности такие как анализ, проектирование, тестирование выполняются на основе вариантов использования. Во время анализа и проектирования варианты использования позволяют понять как результаты, которые хочет получить пользователь влияют на архитектуру системы и как должны себя вести компоненты системы, для того чтобы реализовать нужную для пользователя функциональность.

    В процессе тестирования, описанные ранее варианты использования позволяют проще оценить точность реализации требований пользователей и позволяют провести пошаговую проверку этих требований.

    Стратегия использования прецедентов при определении требований определяет необходимость дополнительно к вопросу "что пользователи ждут от системы?" задавать вопрос "что система должна сделать для конкретного пользователя?". Такой подход позволяет искать функции, которые нужны многим пользователям и исключать те возможности, которые не могут помочь пользователям выполнять свои повседневные задачи.

Состав диаграммы Use Case

Диаграмма вариантов использования состоит из актеров, для которых система производит действие и собственно действия Use Case, которое описывает то, что актер хочет получить от системы. Актер обозначается значком человечка, а Use Case - овалом. Дополнительно в диаграммы могут быть добавлены комментарии.

Пример диаграммы Use Case

Ответы на следующие вопросы позволят определить актеров, взаимодействующих с системой:

  • кто взаимодействует с системой или использует систему;

  • кто передает или принимает информацию в/из системы;

  • кто является внешним по отношению к системе.

Каждый вариант использования показывает, как конкретный актер использует систему и в дальнейшем расширяется диаграммами состояний и последовательности действий.

Виды взаимодействий

Между актерами и вариантами использования могут быть различные виды взаимодействия. Основные виды взаимодействия следующие:

  • Простая ассоциация - отражается линией между актером и вариантом использования (без стрелки). Отражает связь актера и варианта использования. На рисунке между актером администратор и вариантом использования просматривать заказ.
  • Направленная ассоциация - то же что и простая ассоциация, но показывает, что вариант использования инициализируется актером. Обозначается стрелкой.
  • Наследование - показывает, что потомок наследует атрибуты и поведение своего прямого предка. Может применяться как для актеров, так для вариантов использования. 
  • Расширение (extend) - показывает, что вариант использования расширяет базовую последовательность действий и вставляет собственную последовательность. При этом в отличие от типа отношений "включение" расширенная последовательность может осуществляться в зависимости от определенных условий. 
  • Включение - показывает, что вариант использования включается в базовую последовательность и выполняется всегда (на рисунке не показан). 

Существуют и другие виды взаимодействия, но они, на мой взгляд менее важны и реже применяются.

Статьи по теме:

Rational Unified Process – путь к успеху. Руководство по внедрению RUP.
Rational Unified Process – это легко.Руководство по RUP для практиков.
Методы сбора требований к программному обеспечению
Варианты использования (Use Case)
Автоматизированное создание документов серии ГОСТ 34 и 19 с помощью инструментальных средств...
Рабочие процессы RUP и диаграммы UML
Унифицированный процесс разработки от Rational Software
Использование моделей в процессе разработки программных систем
Что такое Rational Unified Process

Связанные темы:
RUP
UML
| 1 |

Имя : Валентин Зайцев Город : Таллинн 07/01/2004 14:11
Сообщение:
1. Какие расширительные механизмы существуют в UML?
2. Что такое UML профиль и как его используют?
3. Какие требования представляет MDA языку моделирования?
Ответить

Имя : Лысый Город : Москва 19/05/2004 21:09
Сообщение:
я так понимаю, Актёры и ЮзКейсы связаны направленной ассоцияцией?
у вас в книге описано как делать из ассоциации направленную, а Можно ли в XDE сразу оисовать направленные?
Ответов: 2 Последний ответ: 25/05/2004 12:21

Имя : Владимир 01/06/2004 12:46
Сообщение:
Цитата 1:
"Варианты использования это - описание последовательности действий, которые может осуществлять система в ответ на внешние воздействия пользователей ..."
Цитата 2:
"...действия Use Case, которое описывает то, что актер хочет получить от системы"
Вопрос:
все-таки, как формулируется Use Case: "Просмотреть каталог" (что хочет пользователь) или "Предоставить каталог для просмотра" (что делает система)?
Ответов: 2 Последний ответ: 07/04/2005 16:21

Имя : Лысый Город : Москва 02/06/2004 12:48
Сообщение:
как быть в Сиквиенс диаграмме, если 2ой ЮК расширяет первый?
то есть, например, во вотором ЮК у актёра больше прав?
рисовать 2 разных диаграммы? или ?
Ответить

Имя : sun Город : Киев 15/12/2004 20:27
Сообщение:
А почему "Отменить заказы" на связано с актёром?
Это же действие инициируется?
Ответов: 1 Последний ответ: 16/12/2004 21:58

Имя : Булуй Юрий Город : Москва 07/04/2005 16:23
Сообщение:
Название "Просмотр каталога" выбивается из контекста наименований UC, видимо должно быть "Просмотреть каталог"
Ответить

Имя : Анна Город : Москва 29/04/2006 17:58
Сообщение:
чем отличается Use Case от business Use Case?
Ответов: 1 Последний ответ: 22/04/2008 16:38

Имя : Vano Город : Мытищи 01/09/2009 12:15
Сообщение:
На мой, непосвещенный взгляд, очень "общо" - либо здесь не описаны детали, либо Use Case само по себе высокоуровневое описание.
Мои вопросы:
1. Как перейти от бизнес-процесса (последовательные шаги + логич "если...то..." + роли) к Use case ?

2. Как, в случае с Use Case, описываются действия в системе ? (заполняемые поля, галочки, нажимаемы кнопочки и т.д.)

3. Как, в случае с Use Case, происходит работа с требованиями ? Требование "привязывается" к овалу или есть более детальная сущность ?

просветите, буду благодарен!
Ответов: 1 Последний ответ: 01/09/2009 15:55

Имя : Любовь Город : Донецк 30/01/2013 13:50
Сообщение:
Добрый день. Можете рассказать о:
1.Применение UML для описания требований
2. Переход от бизнесс-моделей к требоаниям.(т.е. нужно описать как от описания предметной области перейти к диаграмме вариантов использования)
Спасибо, ответьте мне на имейл)
Ответить


| 1 |
Комментарии к статьям закрыты.

© Trofimov Sergey   http://www.caseclub.ru при цитировании ссылка обязательна.