Use Cases

9,744
-1

Published on

0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,744
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
188
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide
  • Шаблон описания ВИ может адаптироваться под процесс разработки требований и изменяться по желанию аналитика. Данный шаблон может быть дополнен целью пользователя, триггерами, описанием уровня абстракции варианта использования и другими параметрами. (А. Коберн) По вашему желанию, вы можете добавить или удалить пункты описания. Далее подробней о каждом пункте
  • Название должно понятно и однозначно отражать цель действующего лица или совершаемое им в системе действие. Название должно состоять из связки «Глагол + существительное». Например, «Оплатить услугу», «Заказать товар», «Найти товар», «Управлять пользователями» и тп… Уникальный идентификатор должен быть присвоен каждому ВИ. При работе с СУТ идентификтор может задаваться автоматически и вестись в системе. В случае отсутствия СУТ необходимо задать правила идентификации и соблюдать уникальность. Если в документе описывается несколько вариантов использования, то рекомендуется ставить ID перед названием варианта использования, это заметно ускорит работу с вариантами использования и сократит время поиска.
  • Поток событий состоит из последовательности шагов, которые представляют собой действия актора и отклики системы на данное действие. В каждом шаге необходимо писать, кто совершает действие. Шаги рекомендуется нумеровать, для лучшей структуризации, но это не является обязательным требование, так как существуют различные стили описания вариантов использования.
  • Поток событий состоит из последовательности шагов, которые представляют собой действия актора и отклики системы на данное действие. В каждом шаге необходимо писать, кто совершает действие. Шаги рекомендуется нумеровать, для лучшей структуризации, но это не является обязательным требование, так как существуют различные стили описания вариантов использования.
  • Основной поток событий – это наименьший путь, приводящий действующее лицо к достижению цели. Основной поток событий всегда завершается положительным, значащим для пользователя результатом. Основной поток событий всегда имеет точку старта, с которой начинается вариант использования и точку выходы, заканчивающей ВИ. Точку старта можно описывать отдельно до начала описания шагов, или в первом шаге основного потока событий. Точка выхода описывается в последнем шаге потока событий Точек старта и точек выхода может быть несколько (такой случай рассмотрим в дальнейшем…).
  • Основной поток событий – это наименьший путь, приводящий действующее лицо к достижению цели. Основной поток событий всегда завершается положительным, значащим для пользователя результатом. Основной поток событий всегда имеет точку старта, с которой начинается вариант использования и точку выходы, заканчивающей ВИ. Точку старта можно описывать отдельно до начала описания шагов, или в первом шаге основного потока событий. Точка выхода описывается в последнем шаге потока событий Точек старта и точек выхода может быть несколько (такой случай рассмотрим в дальнейшем…).
  • Основной поток событий – это наименьший путь, приводящий действующее лицо к достижению цели. Основной поток событий всегда завершается положительным, значащим для пользователя результатом. Основной поток событий всегда имеет точку старта, с которой начинается вариант использования и точку выходы, заканчивающей ВИ. Точку старта можно описывать отдельно до начала описания шагов, или в первом шаге основного потока событий. Точка выхода описывается в последнем шаге потока событий Точек старта и точек выхода может быть несколько (такой случай рассмотрим в дальнейшем…).
  • Основной поток событий – это наименьший путь, приводящий действующее лицо к достижению цели. Основной поток событий всегда завершается положительным, значащим для пользователя результатом. Основной поток событий всегда имеет точку старта, с которой начинается вариант использования и точку выходы, заканчивающей ВИ. Точку старта можно описывать отдельно до начала описания шагов, или в первом шаге основного потока событий. Точка выхода описывается в последнем шаге потока событий Точек старта и точек выхода может быть несколько (такой случай рассмотрим в дальнейшем…).
  • Use Cases

    1. 1. Модели и описания. Варианты использования
    2. 2. Цель презентации <ul><li>Познакомить слушателя с основными принципами описания и моделирования вариантов использования </li></ul>
    3. 3. Вместо заключения 4 Модель вариантов использования 3 Описание вариантов использования 2 Введение 1
    4. 4. Что такое вариант использования? <ul><li>Вариант использования </li></ul><ul><li>описывает поведение системы в ответ на воздействия из внешней среды </li></ul><ul><li>способ описания функциональности системы в виде сценариев </li></ul><ul><li>сценарий – основа для дальнейшего проектирования системы и получения детальных требований </li></ul>
    5. 5. Что такое действующее лицо? <ul><li>Действующее лицо </li></ul><ul><li>«Представитель» внешней среды, который взаимодействует с системой </li></ul><ul><li>Роль, исполняемая сущностью из внешней среды </li></ul><ul><li>Виды действующих лиц </li></ul><ul><li>Пользователь </li></ul><ul><li>Внешняя система </li></ul><ul><li>Внешнее устройство </li></ul><ul><li>Время </li></ul>
    6. 6. Для чего нужны варианты использования? Вариант использования Пользовательский интерфейс Ограничения Функциональные требования Классы Форматы данных Нефункциональные требования … …
    7. 7. Подход на основе вариантов использования Кассир выбирает функцию бронирования и печати билета . Система запрашивает параметры брони . Пользователь выбирает название представления из списка, дату и время представления , выбирает место и подтверждает бронь. Система регистрирует бронь и распечатывает билет с указанием цены . <ul><li>Функциональные требования: </li></ul><ul><li>Система должна позволять бронировать билеты на представление. </li></ul><ul><li>Система должна позволять распечатывать забронированные билеты </li></ul><ul><li>Система должна регистрировать забронированное место, присваивая брони уникальный идентификатор </li></ul>Представление: Дата и время: Место: Отмена Печать <ul><li>Класс-сущность: </li></ul><ul><li>Бронь </li></ul><ul><ul><li>Представление – Тестовое поле (100 символов) </li></ul></ul><ul><ul><li>Дата и время – Дата в формате ЧЧ : ММ ДД.ММ.ГГГГ </li></ul></ul><ul><ul><li>Место – Числовое значение (01-100) </li></ul></ul><ul><ul><li>Цена – Числовое значение ( xxxx.xx ) </li></ul></ul>Пользовательский интерфейс:
    8. 8. Спецификация требования и варианты использования <ul><li>Основные разделы документа: </li></ul><ul><li>Описание основных возможностей системы </li></ul><ul><li>Модель вариантов использования </li></ul><ul><li>Описание вариантов использования </li></ul><ul><li>Дополнительные требования </li></ul><ul><ul><li>Правила и ограничения </li></ul></ul><ul><ul><li>Требования к производительности </li></ul></ul><ul><ul><li>Требования к надежности </li></ul></ul><ul><ul><li>Требования к удобству использования и пользовательскому интерфейсу </li></ul></ul><ul><ul><li>Требования к форматам данных </li></ul></ul><ul><li>Матрицы трассировки требований </li></ul><ul><li>Модель предметной области (классы) </li></ul><ul><li>Прототипы пользовательского интерфейса </li></ul>
    9. 9. Быть или не быть? Вот в чем вопрос… <ul><li>Быть. Если в системе: </li></ul><ul><li>преобладают функциональные требования </li></ul><ul><li>много типов пользователей с разными целями </li></ul><ul><li>много интерфейсов </li></ul><ul><li>автоматизируются бизнес-процессы </li></ul><ul><li>Не быть. Если в системе: </li></ul><ul><li>Преобладают нефункциональные требования </li></ul><ul><li>Мало пользователей и интерфейсов </li></ul><ul><li>интеграционные проекты </li></ul>
    10. 10. Вместо заключения 4 Модель вариантов использования 3 Описание вариантов использования 2 Введение 1
    11. 11. Шаблон описания варианта использования <ul><li><UID> Название варианта использования </li></ul><ul><li>Краткое описание и действующие лица </li></ul><ul><li>Предусловие </li></ul><ul><li>Постусловие </li></ul><ul><li>Потоки событий </li></ul><ul><ul><li>{ basic } Основной поток событий </li></ul></ul><ul><ul><li>{ alt } Альтернативные потоки событий </li></ul></ul><ul><ul><li>{err} Ошибки и исключения </li></ul></ul><ul><ul><li>{sub} Подпотоки </li></ul></ul><ul><li>Точки расширения </li></ul><ul><li>Примечания и допущения </li></ul><ul><li>Правила и дополнительные требования </li></ul>
    12. 12. Название и идентификатор <ul><li>Название варианта использования </li></ul><ul><li>Глагол + существительное </li></ul><ul><li>Отражает цель действующего лица </li></ul><ul><li>Уникальное в рамках системы (подсистемы) </li></ul><ul><li>Уникальный идентификатор </li></ul><ul><li>В документе перед названием варианта использования </li></ul><ul><li>Уникальный в рамках всей системы (документации) </li></ul><ul><li>Упрощает поиск требований в документации </li></ul><ul><li>Используется при трассировке требований </li></ul><ul><li>Примеры: </li></ul><ul><li>UC134 Создать документ с требованиями </li></ul><ul><li>UC.07.09.14 Оплатить банковский счет </li></ul><ul><li>ВИ-23 Оформить покупку товара </li></ul><ul><li>ВИ15_12 Зарегистрировать пользователя </li></ul>
    13. 13. Краткое описание варианта использования <ul><li>несколько предложений </li></ul><ul><li>отражает назначение данного варианта использования </li></ul><ul><li>отражает цель пользователя </li></ul><ul><li>краткое описании основного потока событий. </li></ul>Пример: Данный вариант использования позволяет кладовщику создавать и сохранять в системе новый документ с описанием товара. Каждому документу в системе присваивается уникальный идентификатор, и для документа устанавливается связь с товаром на складе
    14. 14. Предусловие и постусловие Предусловие: Состояние или событие, которое должно быть истинно для того, чтобы вариант использования начался. Постусловие: Состояния или данные, которые появляются в результате выполнения варианта использования. <ul><li>Примеры: </li></ul><ul><li>Пользователь должен быть авторизирован в системе </li></ul><ul><li>Документ должен иметь статус черновика </li></ul><ul><li>Документ разнесен на лицевой счет </li></ul><ul><li>Создана новая учетная запись пользователя </li></ul>
    15. 15. Потоки событий <ul><li>Поток событий последовательность действий пользователя и откликов системы </li></ul><ul><li>Рекомендации: </li></ul><ul><li>Пишите КТО совершает действие – пользователь или система </li></ul><ul><li>Отделяйте шаги друг от друга </li></ul><ul><li>Давайте названия потокам событий </li></ul><ul><li>  </li></ul>Шаблон: Шаг 1. [Действующее лицо] совершает [Действие] Шаг 2. [Система] отвечает [Откликом] СИСТЕМА Действие Отклик Действующее лицо
    16. 16. Потоки событий. Примеры оформления   Пример 1: 1. Пользователь задает параметры документа и подтверждает сохранение данных 2. Система сохраняет новый документ, присваивая ему уникальный идентификатор. 3. Пользователь …   Пример 2: Пользователь задает параметры документа и подтверждает их сохранение. Система сохраняет новый документ с новым номером. Пользователь …   Пример 3: О1 Основной поток событий – Создание нового документа: О1.1 Пользователь задает параметры документа и подтверждает сохранение данных О1.2 Система сохраняет новый документ, присваивая ему уникальный идентификатор. О1.3 Пользователь …
    17. 17. Основной поток событий <ul><li>Наикратчайший путь для достижения цели пользователя </li></ul><ul><li>Всегда удачное завершение </li></ul><ul><li>Всегда имеет точку старта и точку выхода </li></ul><ul><li>Содержит 7-9 шагов </li></ul><ul><li>В варианте использования может быть несколько основных потоков (например, CRUD ) </li></ul>
    18. 18. Основной поток событий. Примеры
    19. 19. Основной поток событий. Примеры <ul><li>Точка выхода </li></ul><ul><li>  </li></ul><ul><li>… </li></ul><ul><li>Пользователь вводит название учетной записи (логин) и пароль и подтверждает вход в систему </li></ul><ul><li>Система проверяет наличие учетной записи, ее статус (заблокирована или нет) , корректность и срок действия пароля. </li></ul><ul><li>Система настраивает пользовательский интерфейс в соответствии с настройками пользователя и его правами. </li></ul><ul><li>Пользователь входит в систему и получает доступ к необходимой функциональности клиента НИ. </li></ul><ul><li>Вариант использования завершается удачно . </li></ul><ul><li>… </li></ul><ul><li>Система сообщает пользователю о том, что учетная запись заблокирована и необходимо обратится к администратору системы. </li></ul><ul><li>Вариант использования завершается неудачно. </li></ul>
    20. 20. Альтернативные потоки событий и ошибки <ul><li>Отклонения от основного потока событий, которые приводят к </li></ul><ul><li>достижению цели действующего лица </li></ul><ul><li>частичному достижению цели </li></ul><ul><li>не достижению цели </li></ul><ul><li>Рекомендации: </li></ul><ul><li>Идентифицируйте и описывайте обработки ВСЕХ ошибок </li></ul><ul><li>Ищите альтернативные пути достижения цели действующего лица </li></ul><ul><li>Всегда указывайте точку старта и точку выхода </li></ul><ul><li>Присваивайте наименования альтернативным потокам событий. </li></ul>
    21. 21. Альтернативный поток событий. Примеры <ul><li>Пример 1: </li></ul><ul><li>[Шаг 3 Основного потока] Отмена создания документа </li></ul><ul><li>Пользователь отменяет создание документа. </li></ul><ul><li>Система запрашивает подтверждение на отмену и сообщает о том, что новый документ не будет создан. </li></ul><ul><li>Пользователь подтверждает отмену </li></ul><ul><li>Вариант использования завершается неудачно </li></ul><ul><li>Пример 2: </li></ul><ul><li>[Шаг 2 Основного потока] Прикрепить файл к письму </li></ul><ul><li>Пользователь выбирает присоединение файла к письму. </li></ul><ul><li>Система запрашивает путь к файлу. </li></ul><ul><li>Пользователь выбирает файл и подтверждает его загрузку </li></ul><ul><li>Система сохраняет файл, присоединив его к письму </li></ul><ul><li>Переход к шагу 4 основного потока событий </li></ul>
    22. 22. Подпотоки <ul><li>Детализация действий системы </li></ul><ul><li>Сокращение описания потоков событий </li></ul><ul><li>Вынесенное отдельно описание повторяющихся шагов потоков событий </li></ul>Пример: О.1. Система выполняет проверки учетной записи пользователя П.1 Система проверяет наличие учетной записи пользователя П.2 Система проверяет корректность и срок действия пароля пользователя П.3 Система проверяет наличие и срок действия сертификата безопасности О.2. В случае удачного выполнения проверок система открывает рабочее пространство пользователя. О.1 О.2 П.1 П.2 П.3
    23. 23. Точки расширения <ul><li>Точка расширения </li></ul><ul><li>место для введения нового поведения в потоки событий варианта использования </li></ul><ul><li>Точки расширения могут быть: </li></ul><ul><li>Внутренними (ссылки на шаги) </li></ul><ul><li>Внешними (зависимость « extend ») </li></ul><ul><li>Точка расширения имеет: </li></ul><ul><li>Название </li></ul><ul><li>Условие </li></ul><ul><li>Идентификатор положения в потоке событий </li></ul>
    24. 24. Точки расширения. Примеры. <ul><li>Пример 1: Внутренняя точка расширения </li></ul><ul><li>[Шаг 3 Основного потока] Отмена создания документа </li></ul><ul><li>Пользователь отменяет создание документа. </li></ul><ul><li>Система запрашивает подтверждение на отмену и сообщает о том, что новый документ не будет создан. </li></ul><ul><li>Пользователь подтверждает отмену </li></ul><ul><li>Вариант использования завершается неудачно </li></ul><ul><li>Пример 2: Внешняя точка расширения </li></ul><ul><li>[На любом шаге основного потока] Получить справочную информацию </li></ul><ul><li>Вызов « UC231 Просмотреть справочную информацию» </li></ul><ul><li>Возврат обратно к шагу вызова </li></ul>
    25. 25. Дополнительные требования Пример: <ul><li>Ограничения и бизнес-правила </li></ul><ul><li>Атрибуты качества </li></ul><ul><li>Требования к форматам данных </li></ul><ul><li>Требования к пользовательскому интерфейсу </li></ul><ul><li>Другие </li></ul>ID Требование RQ21 Атрибуты учетной записи имя пользователя, пароль, контактный телефон должны быть обязательны для заполнения, остальные – опциональны и могут заполняться по желанию пользователя BRUL23 Срок действия пароля в соответствии с политикой безопасности компании (пункт 3.2.4 ) устанавливается равным трем месяцам с момента его создания/смены.
    26. 26. Сценарий варианта использования Сценарий Экземпляр варианта использования. Один из способов прохождения потоков событий О1 О2 О3 О4 О5 О6 А2.1 А2.2 А2.3 А3.1 А3.2 А1.1 А1.2 А1.3 Пример - Сценарии О1-О2-О3-О4-О5-О6 О1- А1.1-А1.2-А1.3 О1- А1.1-А1.2- О3-О4-О5-О6 О1-О2- А2.1-А2.2-А2.3 О1-О2- А2.1- А3.1-А3.2
    27. 27. Модель вариантов использования Вместо заключения 4 Описание вариантов использования 3 2 Введение 1
    28. 28. Модель вариантов использования <ul><li>Вариант использования </li></ul><ul><li>Действующее лицо </li></ul><ul><li>Ассоциации </li></ul><ul><li>Обобщения </li></ul><ul><li>Зависимости « inclide » и « extend » </li></ul><ul><li>Пакеты и граница системы </li></ul>
    29. 29. Вариант использования и действующее лицо <ul><li>Действующие лица </li></ul><ul><li>Основные – инициируют вариант использования </li></ul><ul><li>Вспомогательные - участвуют в варианте использования </li></ul><ul><li>Всегда ВНЕ границ системы </li></ul><ul><li>Вариант использования </li></ul><ul><li>связан с действующим лицом ассоциацией </li></ul><ul><li>всегда ВНУТРИ границ системы </li></ul>
    30. 30. Обобщение вариантов использования и действующих лиц <ul><li>Абстрактный вариант использования описывает общее поведение системы </li></ul><ul><li>Абстрактное действующее лицо описывает общую роль в системе </li></ul><ul><li>Абстрактный вариант использования и абстрактное действующее лицо не могут иметь экземпляров </li></ul>
    31. 31. Обобщение действующих лиц. Пример <ul><li>«Получить доступ к мониторингу» </li></ul><ul><li>ДЛ: Участник мониторинга платежей (далее Пользователь) </li></ul><ul><li>Основной поток событий : </li></ul><ul><li>Пользователь запускает приложение. </li></ul><ul><li>Система запрашивает данные для аутентификации </li></ul><ul><li>Пользователь вводит логин и пароль </li></ul><ul><li>Система проверяет данные…… </li></ul><ul><li>…… .. </li></ul>
    32. 32. Абстрактный вариант использования. Схема Замещение Замещение Абстрактный поток событий Абстрактный вариант использования - родитель Вариант использования - потомок Вариант использования - потомок
    33. 33. Абстрактный вариант использования. Пример <ul><ul><ul><li>Создать форму </li></ul></ul></ul><ul><li>Краткое описание: </li></ul><ul><li>Данный вариант использования описывает общую логику создания формы, как составной части ФНО. К формам относятся: основная форма, приложения и дополнительные формы. Данный вариант использования является абстрактным, т.к. используется для описания общего поведения при создании (добавлении) форм. </li></ul><ul><li>… . </li></ul><ul><li>Основной поток событий (абстрактный): </li></ul><ul><li>Пользователь инициирует создание формы выбирая соответствующий тип. </li></ul><ul><li>Система запрашивает пользователя параметры формы (в зависимости от типа формы отображаются необходимые параметры - см наследники) </li></ul><ul><li>Пользователь задает параметры формы </li></ul><ul><li>Пользователь подтверждает создание формы. </li></ul><ul><li>Система отображает графическое представление формы и дерево иерархии (структуру). </li></ul><ul><li>Пользователь инициирует сохранение формы. </li></ul><ul><li>Система сохраняет документ. </li></ul>
    34. 34. Абстрактный вариант использования. Пример <ul><li>UC.07.01.01 Создать описание ФНО </li></ul><ul><li>Краткое описание: </li></ul><ul><li>Создание Описания ФНО как совокупности форм и добавление Основной формы ФНО. </li></ul><ul><li>Основной поток событий: </li></ul><ul><li>… </li></ul><ul><li>2. Система запрашивает пользователя параметры описания ФНО </li></ul><ul><ul><li>код ФНО, </li></ul></ul><ul><ul><li>наименование ФНО, </li></ul></ul><ul><ul><li>тип ФНО </li></ul></ul><ul><ul><li>номер приказа, </li></ul></ul><ul><ul><li>дату утверждения </li></ul></ul><ul><ul><li>дата начала применения </li></ul></ul><ul><ul><li>дата окончания применения </li></ul></ul><ul><ul><li>информация , описывающая ФНО </li></ul></ul><ul><li>3. Пользователь задает параметры описания ФНО </li></ul><ul><li>… </li></ul>
    35. 35. Зависимость « include » <ul><li>Общее поведение выносится во включаемый вариант использования </li></ul><ul><li>Экземпляр базового варианта использования не может существовать без шагов включаемого варианта использования </li></ul><ul><li>Включаемый вариант использования, который не инициируется самостоятельно не может иметь экземпляров </li></ul>
    36. 36. Зависимость « include ». Схема Включаемый вариант использования Базовый вариант использования Точка старта 1 Точка старта 2 Точка выхода 1 Точка выхода 2 Подпоток
    37. 37. Зависимость « extend » <ul><li>Вводит новое поведение в базовый вариант использования </li></ul><ul><li>Точки расширения = точки входа </li></ul><ul><li>Базовый вариант использования «не знает» про расширяющий вариант использования </li></ul>
    38. 38. Зависимость « extend ». Схема Расширяющий вариант использования Базовый вариант использования Точка старта 1 Точка старта 2 Точка выхода 1 Точка выхода 2 Точка расширения Поток расширения
    39. 39. Пакеты <ul><li>Пакеты: </li></ul><ul><li>структурируют модель </li></ul><ul><li>Очерчивают границы системы </li></ul><ul><li>«черновики» для компонентов </li></ul><ul><li>Рекомендации: </li></ul><ul><li>Группируйте варианты использования по пакетам </li></ul><ul><li>Группируйте действующих лиц по пакетам </li></ul><ul><li>1 пакет – 3-9 вариантов использования </li></ul>
    40. 40. Модель вариантов использования Модель вариантов использования Вместо заключения 4 Описание вариантов использования 3 2 Введение 1
    41. 41. Паттерны вариантов использования <ul><li>Литература по паттернам </li></ul><ul><li>G. Övergaard, K. Palmkvist «Use Cases: Patterns and Blueprints» </li></ul><ul><li>A . Cockburn « Patterns of Effective Use Cases » </li></ul><ul><li>A . Cockburn « Writing Effective Use Cases » </li></ul><ul><li>I. Jacobson, Pan-Wei Ng. «Aspect-Oriented Software Development with Use Cases» </li></ul>“ Паттерн варианта использования – проверенная на практике композиция вариантов использования в модели совместно с описанием проблемы, при которой данная композиция может быть использована, и результатами влияния ее на модель .” Gunnar Overgaard, «Use Case Patterns and Blueprints »
    42. 42. Книги и ресурсы <ul><li>Книги </li></ul><ul><li>А. Коберн. Современные методы описания функциональных требований </li></ul><ul><li>Д. Арлоу. А. Нейштадт. UML2 и унифицированный процесс </li></ul><ul><li>Ресурсы </li></ul><ul><li>www.uml2.ru </li></ul><ul><li>www. alistair.cockburn.us </li></ul>
    43. 43. Спасибо за внимание
    44. 44. Варианты использования For more information, please contact Vitaliy Grigorash Senior Business Analyst EPAM Systems, Inc. Address http://www.epam.com http://www.grigorash.ru
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×