44
Delivering Excellence in Software Engineering ® 2008. EPAM Systems. All rights reserved. Модели и описания. Варианты использования

Use Cases

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Use Cases

Delivering Excellence in Software Engineering

® 2008. EPAM Systems. All rights reserved.

Модели и описания.

Варианты использования

Page 2: Use Cases

® 2008. EPAM Systems. All rights reserved.2

Цель презентации

Познакомить слушателя с основными принципами описания и моделирования вариантов использования

Page 3: Use Cases

® 2008. EPAM Systems. All rights reserved. 3

Вместо заключенияВместо заключения44

Модель вариантов использованияМодель вариантов использования33

Описание вариантов использованияОписание вариантов использования22

ВведениеВведение11

Page 4: Use Cases

® 2008. EPAM Systems. All rights reserved.4

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

Вариант использования• описывает поведение

системы в ответ на воздействия из внешней среды

• способ описания функциональности системы в виде сценариев

• сценарий – основа для дальнейшего проектирования системы и получения детальных требований

Page 5: Use Cases

® 2008. EPAM Systems. All rights reserved.5

Что такое действующее лицо?

Действующее лицо• «Представитель»

внешней среды, который взаимодействует с системой

• Роль, исполняемая сущностью из внешней среды

Виды действующих лиц• Пользователь• Внешняя система• Внешнее устройство• Время

Page 6: Use Cases

® 2008. EPAM Systems. All rights reserved.6

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

Вариант использовани

я

Пользовательский интерфейс

Ограничения

Функциональные требования

Классы

Форматы данных

Нефункциональные

требования

Page 7: Use Cases

® 2008. EPAM Systems. All rights reserved.

Подход на основе вариантов использования

7

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

Функциональные требования:1.Система должна позволять бронировать билеты на представление. 2.Система должна позволять распечатывать забронированные билеты3.Система должна регистрировать забронированное место, присваивая брони уникальный идентификатор

Представление:Дата и время:Место:

Отмена Печать

Класс-сущность:Бронь

•Представление – Тестовое поле (100 символов)•Дата и время – Дата в формате ЧЧ:ММ ДД.ММ.ГГГГ•Место – Числовое значение (01-100)•Цена – Числовое значение (xxxx.xx)

Пользовательский интерфейс:

Page 8: Use Cases

® 2008. EPAM Systems. All rights reserved.8

Спецификация требования и варианты использования

Основные разделы документа:

1. Описание основных возможностей системы

2. Модель вариантов использования3. Описание вариантов использования4. Дополнительные требования

a) Правила и ограниченияb) Требования к производительностиc) Требования к надежностиd) Требования к удобству

использования и пользовательскому интерфейсу

e) Требования к форматам данных5. Матрицы трассировки требований6. Модель предметной области (классы)7. Прототипы пользовательского

интерфейса

Page 9: Use Cases

® 2008. EPAM Systems. All rights reserved.

Быть или не быть? Вот в чем вопрос…

9

Быть. Если в системе: • преобладают

функциональные требования• много типов пользователей с

разными целями• много интерфейсов• автоматизируются бизнес-

процессы

Не быть. Если в системе:• Преобладают

нефункциональные требования

• Мало пользователей и интерфейсов

• интеграционные проекты

Page 10: Use Cases

® 2008. EPAM Systems. All rights reserved. 10

Вместо заключенияВместо заключения44

Модель вариантов использованияМодель вариантов использования33

Описание вариантов использованияОписание вариантов использования22

ВведениеВведение11

Page 11: Use Cases

® 2008. EPAM Systems. All rights reserved.11

Шаблон описания варианта использования

• <UID> Название варианта использования• Краткое описание и действующие лица• Предусловие• Постусловие• Потоки событий

{basic} Основной поток событий{alt} Альтернативные потоки событий{err} Ошибки и исключения{sub} Подпотоки

• Точки расширения• Примечания и допущения• Правила и дополнительные требования

Page 12: Use Cases

® 2008. EPAM Systems. All rights reserved.12

Название и идентификатор

Название варианта использования

•Глагол + существительное•Отражает цель действующего лица•Уникальное в рамках системы (подсистемы)

Уникальный идентификатор •В документе перед названием варианта использования•Уникальный в рамках всей системы (документации)•Упрощает поиск требований в документации•Используется при трассировке требований

Примеры:•UC134 Создать документ с требованиями•UC.07.09.14 Оплатить банковский счет•ВИ-23 Оформить покупку товара•ВИ15_12 Зарегистрировать пользователя

Page 13: Use Cases

® 2008. EPAM Systems. All rights reserved.13

Краткое описание варианта использования

• несколько предложений

• отражает назначение данного варианта использования

• отражает цель пользователя

• краткое описании основного потока событий.

Пример:Данный вариант использования позволяет кладовщику создавать и сохранять в системе новый документ с описанием товара. Каждому документу в системе присваивается уникальный идентификатор, и для документа устанавливается связь с товаром на складе

Page 14: Use Cases

® 2008. EPAM Systems. All rights reserved.14

Предусловие и постусловие

Предусловие:

Состояние или событие, которое должно быть истинно для того, чтобы вариант использования начался.

Постусловие:Состояния или данные, которые появляются в результате выполнения варианта использования.

Примеры:•Пользователь должен быть авторизирован в системе•Документ должен иметь статус черновика

•Документ разнесен на лицевой счет•Создана новая учетная запись пользователя

Page 15: Use Cases

® 2008. EPAM Systems. All rights reserved.15

Потоки событий

Поток событий последовательность действий пользователя и откликов системы

Рекомендации:• Пишите КТО совершает

действие – пользователь или система

• Отделяйте шаги друг от друга

• Давайте названия потокам событий

 

СИСТЕМА

Действие

Отклик

Действующее лицо

Шаблон:Шаг 1. [Действующее лицо] совершает [Действие]Шаг 2. [Система] отвечает [Откликом]

Page 16: Use Cases

® 2008. EPAM Systems. All rights reserved.16

Потоки событий. Примеры оформления

 

Пример 1:1. Пользователь задает параметры документа и подтверждает сохранение данных2. Система сохраняет новый документ, присваивая ему уникальный идентификатор.3. Пользователь… Пример 2:Пользователь задает параметры документа и подтверждает их сохранение. Система сохраняет новый документ с новым номером. Пользователь … Пример 3:О1 Основной поток событий – Создание нового документа:О1.1 Пользователь задает параметры документа и подтверждает сохранение данныхО1.2 Система сохраняет новый документ, присваивая ему уникальный идентификатор.О1.3 Пользователь…

Page 17: Use Cases

® 2008. EPAM Systems. All rights reserved.17

Основной поток событий

• Наикратчайший путь для

достижения цели

пользователя

• Всегда удачное завершение

• Всегда имеет точку старта и

точку выхода

• Содержит 7-9 шагов

• В варианте использования

может быть несколько

основных потоков

(например, CRUD)

Page 18: Use Cases

® 2008. EPAM Systems. All rights reserved.18

Основной поток событий. Примеры

Page 19: Use Cases

® 2008. EPAM Systems. All rights reserved.

Точка выхода 

1.…2.Пользователь вводит название учетной записи (логин) и пароль и подтверждает вход в систему3.Система проверяет наличие учетной записи, ее статус (заблокирована или нет) , корректность и срок действия пароля.4.Система настраивает пользовательский интерфейс в соответствии с настройками пользователя и его правами.5.Пользователь входит в систему и получает доступ к необходимой функциональности клиента НИ.

Вариант использования завершается удачно.

1.…2.Система сообщает пользователю о том, что учетная запись заблокирована и необходимо обратится к администратору системы.

Вариант использования завершается неудачно.

19

Основной поток событий. Примеры

Page 20: Use Cases

® 2008. EPAM Systems. All rights reserved.20

Альтернативные потоки событий и ошибки

Отклонения от основного потока событий, которые приводят к •достижению цели действующего лица•частичному достижению цели•не достижению цели

Рекомендации:•Идентифицируйте и описывайте обработки ВСЕХ ошибок•Ищите альтернативные пути достижения цели действующего лица•Всегда указывайте точку старта и точку выхода •Присваивайте наименования альтернативным потокам событий.

Page 21: Use Cases

® 2008. EPAM Systems. All rights reserved.

Пример 1:[Шаг 3 Основного потока] Отмена создания документа1.Пользователь отменяет создание документа.2.Система запрашивает подтверждение на отмену и сообщает о том, что новый документ не будет создан.3.Пользователь подтверждает отмену

Вариант использования завершается неудачно

Пример 2:[Шаг 2 Основного потока] Прикрепить файл к письму1.Пользователь выбирает присоединение файла к письму.2.Система запрашивает путь к файлу.3.Пользователь выбирает файл и подтверждает его загрузку4.Система сохраняет файл, присоединив его к письму

Переход к шагу 4 основного потока событий

21

Альтернативный поток событий. Примеры

Page 22: Use Cases

® 2008. EPAM Systems. All rights reserved.22

Подпотоки

• Детализация действий системы

• Сокращение описания потоков

событий

• Вынесенное отдельно описание

повторяющихся шагов потоков

событий

Пример: О.1. Система выполняет проверки учетной записи пользователяП.1 Система проверяет наличие учетной записи пользователяП.2 Система проверяет корректность и срок действия пароля пользователяП.3 Система проверяет наличие и срок действия сертификата безопасностиО.2. В случае удачного выполнения проверок система открывает рабочее пространство пользователя.

О.1

О.2

П.1

П.2

П.3

Page 23: Use Cases

® 2008. EPAM Systems. All rights reserved.23

Точки расширения

Точка расширения

место для введения нового

поведения в потоки событий

варианта использования

Точки расширения могут быть:

• Внутренними (ссылки на шаги)

• Внешними (зависимость

«extend»)

Точка расширения имеет:

• Название

• Условие

• Идентификатор положения в

потоке событий

Page 24: Use Cases

® 2008. EPAM Systems. All rights reserved.

Точки расширения. Примеры.

24

Пример 1: Внутренняя точка расширения[Шаг 3 Основного потока] Отмена создания документа1.Пользователь отменяет создание документа.2.Система запрашивает подтверждение на отмену и сообщает о том, что новый документ не будет создан.3.Пользователь подтверждает отмену

Вариант использования завершается неудачно

Пример 2: Внешняя точка расширения[На любом шаге основного потока] Получить справочную информацию1.Вызов «UC231 Просмотреть справочную информацию»

Возврат обратно к шагу вызова

Page 25: Use Cases

® 2008. EPAM Systems. All rights reserved.

Пример:

25

Дополнительные требования

• Ограничения и бизнес-правила

• Атрибуты качества

• Требования к форматам данных

• Требования к пользовательскому интерфейсу

• Другие

ID Требование

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

BRUL23 Срок действия пароля в соответствии с политикой безопасности компании (пункт 3.2.4 ) устанавливается равным трем месяцам с момента его создания/смены.

Page 26: Use Cases

® 2008. EPAM Systems. All rights reserved.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

Page 27: Use Cases

® 2008. EPAM Systems. All rights reserved. 27

Модель вариантов использованияМодель вариантов использования

Вместо заключенияВместо заключения44

Описание вариантов использованияОписание вариантов использования

33

22

ВведениеВведение11

Page 28: Use Cases

® 2008. EPAM Systems. All rights reserved.28

Модель вариантов использования

• Вариант

использования

• Действующее лицо

• Ассоциации

• Обобщения

• Зависимости

«inclide» и

«extend»

• Пакеты и граница

системы

uc Управление дилерами

Платежная система

Администратор системы

(from Представители ПС)

Зарегистрировать/удалить дилера

Редактировать информацию о дилере

Управляющий дилера

(from Представители дилера)

Проверить права пользователя

Просмотреть справочную информацию

«include»

«include»

«extend»

Page 29: Use Cases

® 2008. EPAM Systems. All rights reserved.29

Вариант использования и действующее лицо

Действующие лица• Основные –

инициируют вариант использования

• Вспомогательные - участвуют в варианте использования

• Всегда ВНЕ границ системы

Вариант использования

• связан с действующим лицом ассоциацией

• всегда ВНУТРИ границ системы

uc Оплата услуг

Оплатить услугу

Клиент

(from Абоненты)

Банковская система

(from Представители ПС)

Провайдер услуг

(from Провайдеры услуг)

Page 30: Use Cases

® 2008. EPAM Systems. All rights reserved.30

Обобщение вариантов использования и действующих лиц

• Абстрактный вариант

использования описывает

общее поведение системы

• Абстрактное действующее

лицо описывает общую

роль в системе

• Абстрактный вариант

использования и

абстрактное действующее

лицо не могут иметь

экземпляров

uc Мониторинг платежей

Маркетолог

(from Представители ПС)

Участник мониторинга

платежей

Получить доступ к мониторингу

(аутентификация)

Управляющий дилера

(from Представители дилера)

uc Управление описанием ФНО

Составитель форм

(from Акторы)

Создать описание ФНО

Создать форму

Добавить Приложение Добавить доп. форму

Page 31: Use Cases

® 2008. EPAM Systems. All rights reserved.31

Обобщение действующих лиц. Пример

«Получить доступ к мониторингу»

ДЛ: Участник мониторинга платежей (далее Пользователь)

Основной поток событий :1. Пользователь запускает

приложение.2. Система запрашивает

данные для аутентификации3. Пользователь вводит логин и

пароль4. Система проверяет

данные……5. ……..

uc Мониторинг платежей

Маркетолог

(from Представители ПС)

Участник мониторинга

платежей

Получить доступ к мониторингу

(аутентификация)

Управляющий дилера

(from Представители дилера)

Page 32: Use Cases

® 2008. EPAM Systems. All rights reserved.32

Абстрактный вариант использования. Схема

Замещение

Замещение

Абстрактный поток событий

Абстрактный вариант использования - родитель

Вариант использования - потомок

Вариант использования - потомок

Page 33: Use Cases

® 2008. EPAM Systems. All rights reserved.33

Абстрактный вариант использования. Пример

Создать формуКраткое описание:Данный вариант использования описывает общую логику создания формы, как составной части ФНО. К формам относятся: основная форма, приложения и дополнительные формы. Данный вариант использования является абстрактным, т.к. используется для описания общего поведения при создании (добавлении) форм. ….Основной поток событий (абстрактный):•Пользователь инициирует создание формы выбирая соответствующий тип.•Система запрашивает пользователя параметры формы (в зависимости от типа формы отображаются необходимые параметры - см наследники) •Пользователь задает параметры формы•Пользователь подтверждает создание формы.•Система отображает графическое представление формы и дерево иерархии (структуру). •Пользователь инициирует сохранение формы.•Система сохраняет документ.

Создать формуКраткое описание:Данный вариант использования описывает общую логику создания формы, как составной части ФНО. К формам относятся: основная форма, приложения и дополнительные формы. Данный вариант использования является абстрактным, т.к. используется для описания общего поведения при создании (добавлении) форм. ….Основной поток событий (абстрактный):•Пользователь инициирует создание формы выбирая соответствующий тип.•Система запрашивает пользователя параметры формы (в зависимости от типа формы отображаются необходимые параметры - см наследники) •Пользователь задает параметры формы•Пользователь подтверждает создание формы.•Система отображает графическое представление формы и дерево иерархии (структуру). •Пользователь инициирует сохранение формы.•Система сохраняет документ.

Page 34: Use Cases

® 2008. EPAM Systems. All rights reserved.34

Абстрактный вариант использования. Пример

UC.07.01.01 Создать описание ФНОКраткое описание:Создание Описания ФНО как совокупности форм и добавление Основной формы ФНО. Основной поток событий:…2. Система запрашивает пользователя параметры описания ФНО

• код ФНО, • наименование ФНО, • тип ФНО• номер приказа,• дату утверждения • дата начала применения• дата окончания применения• информация , описывающая ФНО

3. Пользователь задает параметры описания ФНО…

UC.07.01.01 Создать описание ФНОКраткое описание:Создание Описания ФНО как совокупности форм и добавление Основной формы ФНО. Основной поток событий:…2. Система запрашивает пользователя параметры описания ФНО

• код ФНО, • наименование ФНО, • тип ФНО• номер приказа,• дату утверждения • дата начала применения• дата окончания применения• информация , описывающая ФНО

3. Пользователь задает параметры описания ФНО…

Page 35: Use Cases

® 2008. EPAM Systems. All rights reserved.35

Зависимость «include»

•Общее поведение выносится во включаемый вариант использования

•Экземпляр базового варианта использования не может существовать без шагов включаемого варианта использования

•Включаемый вариант использования, который не инициируется самостоятельно не может иметь экземпляров

uc include

Граница системы

Действующее лицо

Базовый вариант использования 1

Включаемый вариант использования 1

Базовый вариант использования 2

Включаемый вариант использвоания 2

«include»

«include»

«include»

Page 36: Use Cases

® 2008. EPAM Systems. All rights reserved.36

Зависимость «include». Схема

Включаемый вариант использования

Базовый вариант использования

Точка старта 1

Точка старта 2

Точка выхода 1

Точка выхода 2

Подпоток

Page 37: Use Cases

® 2008. EPAM Systems. All rights reserved.37

Зависимость «extend»

• Вводит новое поведение в базовый вариант использования

• Точки расширения = точки входа

• Базовый вариант использования «не знает» про расширяющий вариант использования

uc extend

Граница системы

Действующее лицо

Базовый вариант использования 1

extension points:Точка расширения 1

Расширяющий вариант использвоания 1

Базовый вариант использования 2

extension points:Точка расширения 3Точка расширения 2

Расширяющий вариант использования 2

Общее поведение опциональное

«extend»

«extend»

«extend»

Page 38: Use Cases

® 2008. EPAM Systems. All rights reserved.38

Зависимость «extend». Схема

Расширяющий вариант использования

Базовый вариант использования

Точка старта 1

Точка старта 2

Точка выхода 1

Точка выхода 2

Точка расширения

Поток расширения

Page 39: Use Cases

® 2008. EPAM Systems. All rights reserved.39

Пакеты

Пакеты:

• структурируют модель

• Очерчивают границы

системы

• «черновики» для

компонентов

Рекомендации:

• Группируйте варианты

использования по

пакетам

• Группируйте

действующих лиц по

пакетам

• 1 пакет – 3-9 вариантов

использования

uc Паттерн "Пакеты ВИ"

Граница системы (подсистемы)

Пакет ВИ 1

+ Вариант использования 1

+ Вариант использования 2

+ Вариант использования 3

Пакет ВИ 2

+ Вариант использования 4

+ Вариант использования 5

Пакет ВИ N

+ Вариант использования 6

+ Вариант использования 7

ДЛ 1

ДЛ 2

ДЛ 3

ДЛ 4

Page 40: Use Cases

® 2008. EPAM Systems. All rights reserved.

Модель вариантов использованияМодель вариантов использованияМодель вариантов использованияМодель вариантов использования

Вместо заключенияВместо заключения

40

44

Описание вариантов использованияОписание вариантов использования

33

22

ВведениеВведение11

Page 41: Use Cases

® 2008. EPAM Systems. All rights reserved.41

Паттерны вариантов использования

Литература по паттернам

1. G. Övergaard, K. Palmkvist «Use Cases: Patterns and Blueprints»

2. A. Cockburn «Patterns of Effective Use Cases»

3. A. Cockburn «Writing Effective Use Cases»

4. I. Jacobson, Pan-Wei Ng. «Aspect-Oriented Software Development

with Use Cases»

“Паттерн варианта использования – проверенная на практике композиция вариантов использования в модели совместно с описанием проблемы, при которой данная композиция может быть использована, и результатами влияния ее на модель.”

Gunnar Overgaard,«Use Case«Use Case Patterns and Blueprints Patterns and Blueprints»»

Page 42: Use Cases

® 2008. EPAM Systems. All rights reserved.42

Книги и ресурсы

Книги

• А. Коберн. Современные методы описания функциональных

требований

• Д. Арлоу. А. Нейштадт. UML2 и унифицированный процесс

Ресурсы

• www.uml2.ru• www.alistair.cockburn.us

Page 43: Use Cases

® 2008. EPAM Systems. All rights reserved.43

Спасибо за внимание

Page 44: Use Cases

Delivering Excellence in Software Engineering

® 2008. EPAM Systems. All rights reserved.

Варианты использованияFor more information, please contactVitaliy GrigorashSenior Business AnalystEPAM Systems, Inc.Addresshttp://www.epam.com http://www.grigorash.ru