SlideShare a Scribd company logo
Delivering Excellence in Software Engineering


                            2 USE 2MODEL 2LEAD




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

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




® 2008. EPAM Systems. All rights
reserved.
Цель презентации




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




2   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

3   Назначение паттернов

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   3
Что такое паттерн варианта использования?



       “Паттерн – решение повторяющейся задачи или
       проблемы.”
                                                                                     Ivar Jacobson,
                                                 «Aspect-Oriented Software Development with Use Cases»




       “Паттерн варианта использования – проверенная на
       практике композиция вариантов использования в модели
       совместно с описанием проблемы, при которой данная
       композиция может быть использована, и результатами
       влияния ее на модель.”
                                                                                Gunnar Overgaard,
                                                                     «Use Case Patterns and Blueprints»




4   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   5
Какие виды паттернов бывают?


                          А. Коберн                            Г. Овергаард
                 Patterns of Effective Use Case        Use Case Patterns and Blueprints
     Структура                                    Структура
     •   Модель                                   • Модель
     •   Варианты использования                   • Отношения
     •   Сценарии и шаги
     •   Отношения
     Процесс                                      Описание
     • Процесс                                    • Сценарии
     • Методология
     • Редактирование

                                                  Blueprints
                                                  • Управление доступом
                                                  • Поиск
                                                  • Генерация отчетов
                                                  • Существующая система
                                                  • Вход/выход (аутентификация)
                                                  • Другие


6   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   7
Для чего нужны паттерны?


                                                 •   Повышение качества модели и
                                                     описаний вариантов использования
                                                         • Структуризация модели и описаний
                                                         • Понимаемость модели
                                                         • Организованность сценариев
                                                         • Удобство в поддержке и доработке
                                                         • Повторное использование

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

                                                 •   Решение сложной задачи

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

8   ® 2008. EPAM Systems. All rights reserved.
Что нужно, чтобы правильно использовать паттерны?


                                                 Необходимо
                                                 •   Иметь базовые знания в
                                                     моделировании вариантов
                                                     использования

                                                 •   Точно и однозначно понимать
                                                     используемый паттерн


                                                 Желательно
                                                 •   Обучить команду аналитиков
                                                     работе с паттернами

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




9   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   10
Паттерн «Пакеты ВИ»

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


                               Граница с истемы (подс ис темы)
                                                                        Ситуация применения
                               Пакет ВИ 1

                                   + Вариант использования 1
                                                                        •   Большое количество вариантов
                                   + Вариант использования 2
                                   + Вариант использования 3                использования
           ДЛ 1


                               Пакет ВИ 2
                                                                        •   Большое количество
                                   + Вариант использования 4
                                   + Вариант использования 5                действующих лиц
           ДЛ 2                                                  ДЛ 4


                               Пакет ВИ N                               Результат применения
                                   + Вариант использования 6

                                                                        •   Модель структурирована
                                   + Вариант использования 7


           ДЛ 3

                                                                        •   Модель разбита на области

                                                                        •   Определены границы системы

                                                                        •   Пакеты – «черновики» для
                                                                            компонентов



11   ® 2008. EPAM Systems. All rights reserved.
Паттерн «Пакеты ВИ»


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


                                                  •   Пакеты мало зависимы

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

                                                  •   Действующие лица в отдельном
                                                      пакета

                                                  •   1 пакет – 1 диаграмма вариантов
                                                      использования

                                                  •   1 пакет – 2-9 варианта
                                                      использования




12   ® 2008. EPAM Systems. All rights reserved.
Паттерн «Пакеты ВИ»

      Пример применения паттерна
                              uc Пакеты ВИ




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


                                        Клиент              Оплата услуг

                                    (from Абоненты)            + Оплатить ус лугу                                   Банковская система
                                                                                                                  (from Представители ПС)



                                     Оператор пункта        Администрирование
                                     приема платежей           + Сменить пароль
                              (from Представители дилера)
                                                               + Управление учетными записями пользователей
                                                                                                                     Провайдер услуг
                                                                                                                  (from Провайдеры услуг)


                                      Инкассатор
                                                            Управление дилерами
                              (from Представители дилера)
                                                               + Зарегис трировать/удалить дилера
                                                               + Редактировать информацию о дилере
                                                                                                                       Администратор
                                                                                                                          системы
                                                                                                                  (from Представители ПС)
                                     Администратор
                                         дилера
                              (from Представители дилера)

                                                            Мониторинг

                                                               + Получить доступ к мониторингу (аутентификация)


                                 Управляющий дилера                                                                     Маркетолог
                              (from Представители дилера)                                                         (from Представители ПС)




13   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   14
Паттерн «Выполнить транзакцию»

      uc Паттерн "Выполнить транзакцию"


                                                   Ситуация применения
                                    <Выполнить
                                    транзакцию>    •   Инфраструктурный ВИ
            <ДЛ>
                                                   •   Характеризует шаг в сценарии
                                      «extend»

                                                   •   Проверки и действия на каждом шаге
                                                       любого ВИ
                                 Расширяющий ВИ




      uc Паттерн "Выполнить транзакцию"
                                                   Результат применения
                                    <Выполнить
                                                   •   Описаны в одном месте действия,
                                    транзакцию>

                                                       характерные для шагов любого ВИ
           <ДЛ>

             bind {<Выполнить транзакцию>
             -> Шаг с ценария}
                                                   •   Учтены нефункциональные требования

                                                   •   Отношение «bind» устанавливает связь
                                      Вариант

                                                       паттерна с шагом конкретного ВИ
                                   использования




15   ® 2008. EPAM Systems. All rights reserved.
Паттерн «Выполнить транзакцию»


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


                                                  Выбирайте способ описания действий:
                                                  •   Альтернативные сценарии в описании ВИ
                                                      «Выполнить транзакцию»

                                                  •   Расширяющие варианты использования
                                                      для каждого действия




16   ® 2008. EPAM Systems. All rights reserved.
Паттерн «Выполнить транзакцию»

     Пример
      uc Паттерн "Выполнить транзакцию"
                                                                                                Нефункциональные требования
                                                                                                •   Все транзакции в системе должны
                                                     <Выполнить
                                                     транзакцию>                                    записываться в журнал событий (лог)

           <ДЛ>                                                                                 •   Только авторизованные пользователи
                                          «extend»     «extend»     «extend»                        могут иметь доступ к функциональности

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

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

                                                                                                •   Проверить права

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




17   ® 2008. EPAM Systems. All rights reserved.
Паттерн «Выполнить транзакцию»

     Пример описания ВИ
      ВИ «Выполнить транзакцию»
      Сценарий:
      3. Система приглашает ДЛ идентифицировать необходимую сущность.
      4. ДЛ вводит значения и подтверждает запрос
      5. Система находит сущность в БД и представляет ее значения.
      6. ВИ завершается

      Альтернативный сценарий 1:
      [шаг 3] Проверка прав доступа
      10. Система проверяет права ДЛ.
      11. Если права имеются ВИ продолжается. Если права отсутствуют ВИ завершается.

      Альтернативный сценарий 2:
      [шаг 2] Журналирование
      15. Система записывает данные запроса в журнал событий (лог)
      16. ВИ продолжается.
      • ……



18   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   19
Паттерн «CRUD»


      uc Паттерн "CRUD: Полный"
                                                          Ситуация применения
                                                          •   Простые действия, выполняемые с
                                       Управление

                                                              единицей информации: создание,
                                      информацией


           ДЛ 1
                                                              редактирование, чтение и удаление

                                                          •   Короткие сценарии

                                                          •   Сценарии связаны одной целью
      uc Паттерн "CRUD: Частичный"

                                                          •   Цель отдельной операции мало значима
                                 Управление информацией
                                    (кроме <действие>)
                                                              для заинтересованного лица


                                                          Результат применения
           ДЛ 1
                                     <Действие> над
                                      информацией
                                                          •   Один ВИ вместо четырех

                                                          •   Уменьшение модели ВИ



20   ® 2008. EPAM Systems. All rights reserved.
Паттерн «CRUD»


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


                                                  •   Не стоит использовать, когда действия
                                                      сложные и включают в себя множество
                                                      проверок или ограничений




21   ® 2008. EPAM Systems. All rights reserved.
Паттерн «CRUD»

     Пример                                                               ВИ «Управление учетными записями
                                                                             пользователей»
      uc Администрирование
                                                                          Описание: Данный ВИ описывает создание, редактирование,
                                                                                просмотр и удаление учетной записи пользователя
                                      Приложение пункта приема платежей
                                                                                клиентского приложения пункта приема платежей.
                                                                          ДЛ: Администратор дилера (далее Администратор)
                                       Управление учетными записями       Сценарий 1: Создать учетную запись
                                               пользователей
                                                                          5.    Администратор инициирует создание….
         Администратор дилера                                             6.    ...
      (from Представители дилера)
                                                                          Сценарий 2: Удаление учетной записи
                                                                          8.    ….


                                               Сменить пароль             ВИ «Сменить пароль»
                                                                          Описание: Данный ВИ описывает смену пароля оператором
         Оператор пункта приема                                                 пункта приема платежей.
                платежей
      (from Представители дилера)
                                                                          ДЛ: Оператор пункта приема платежей (далее Оператор)
                                                                          Сценарий :
                                                                          14.   Оператор инициирует смену пароля
                                                                          15.   Система запрашивает старый и новый пароли
                                                                          16.   Оператор вводит старый пароль, дважды вводит новый
                                                                                пароль и подтверждает смену пароля
                                                                          17.   Системе проверяет корректность старого пароля. Пароль
                                                                                правильный
                                                                          18.   Система сохраняет новый пароль в учетной записи
                                                                                пользователя
                                                                          Альтернативный сценарий 1:
                                                                          [шаг 3] Неверный старый пароль
                                                                          21. ….

22   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   23
Паттерн «Многочисленные ДЛ»


                                                                   Ситуация применения
     uc Паттерн "Многочисленные ДЛ: Разные роли"




                                                                   1. Два или более ДЛ играют разные роли в
                                 Вариант
                              использования
                                                                      ВИ (одно ДЛ «вызывает» другое ДЛ)
           ДЛ 2                                             ДЛ 4
                                                                   2. ДЛ выполняют одинаковые действия (в
                                                                      сценарии ВИ участвует одно ДЛ)
     uc Паттерн "Многочисленные ДЛ: Общая роль"




                                                      Вариант
                                                                   Результат применения
                                                   использования
                                                                   1. ДЛ с разными ролями взаимодействуют с
                  Общ ая роль
                                                                      системой через различные граничные
                                                                      классы

                                                                   2а. Нет необходимости переписывать
                                                                      одинаковые сценарии несколько раз, в
          ДЛ 1                    ДЛ 2                                зависимости от роли.

                                                                   2б. Один граничный класс вместо двух



24   ® 2008. EPAM Systems. All rights reserved.
Паттерн «Многочисленные ДЛ»


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


                                                  •   Разделите ДЛ по их типам или ролям в
                                                      пакеты (Пользователи/Внешние
                                                      системы/Другие)

                                                  •   Создайте диаграмму ДЛ, на которой
                                                      определите их иерархию

                                                  •   Используйте отношения обобщения
                                                      между Общей ролью и ДЛ

                                                  •   Действия каждого ДЛ записывайте
                                                      отдельным шагом




25   ® 2008. EPAM Systems. All rights reserved.
Паттерн «Многочисленные ДЛ»

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

                                                                                 ВИ «Получить доступ к мониторингу»
                                                                                 ДЛ:
                                                      Получить доступ к
                                                         мониторингу             Участник мониторинга платежей (далее Пользователь)
                           Участник                   (аутентификация)
                          мониторинга                                            Сценарий :
                           платежей
                                                                                 7.    Пользователь запускает приложение.
                                                                                 8.    Система запрашивает данные для аутентификации
                                                                                 9.    Пользователь вводит логин и пароль
                                                                                 10.   Система проверяет данные……
                                                                                 11.   ……..
        Управляющий дилера               Маркетолог
     (from Представители дилера)   (from Представители ПС)




     uc Оплата услуг                                                             ВИ «Оплатить услугу»
                                                                                 ДЛ: Клиент, Провайдер услуг, Банковская система
                                                                                 Сценарий :
                                                                                 18.   …..
                                                          Провайдер услуг
                           Оплатить услугу                                       19.   Клиент вводит номер абонента и продолжает оплату.
                                                       (from Провайдеры услуг)   20.   Система передает номер абонента Провайдеру услуг для
         Клиент                                                                        проверки
     (from Абоненты)                                                             21.   Провайдер услуг подтверждает существование номера.
                                                                                 22.   Клиент вносит наличные и подтверждает оплату услуги
                                                        Банковская система
                                                                                 23.   Система передает данные платежа Провайдеру услуг
                                                      (from Представители ПС)
                                                                                 24.   Система передает данные платежа в Банковскую
                                                                                       систему



26   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   27
Разнообразие паттернов


                    Паттерн                                                     Описание

      Concrete Extension or Inclusion             Расширяющий или включенный ВИ могут вызываться из основного ВИ, а также
                                                  могут инициироваться ДЛ как самостоятельные ВИ.

      Business Rules                              Использование бизнес правил в описании ВИ, а также управление бизнес-
                                                  правилами.

      Large Use case                              Структурирование описания ВИ с «длинными» потоками событий , а также
                                                  разбиение одного ВИ с большим количеством альтернативных потоков на
                                                  отдельные ВИ.
      Layered System                              Представление вариантов использования для многослойной системы. Слои
                                                  представляются в виде пакетов.

      Optional Service                            Конфигурация функциональности программного приложения. Дополнительные
                                                  сервисы могут включаться и исключаться из конфигурации.

      Orthogonal Views                            Различное представление сценариев для различных заинтересованных лиц.


      Use Case Sequence                           Представляет последовательность выполнения ДЛ вариантов использования


      Commonality                                 Специфицирует общее поведение, используемое в различных вариантах
                                                  использования



28   ® 2008. EPAM Systems. All rights reserved.
1   Понятие паттерна варианта использования

2   Классификация паттернов

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

4   Паттерн «Пакеты ВИ»

5   Паттерн «Выполнить транзакцию»

6   Паттерн «CRUD»

7   Паттерн «Многочисленные ДЛ»

8   Другие паттерны

9   Литература




                                     ® 2008. EPAM Systems. All rights reserved.   29
Где более подробно почитать про паттерны ВИ?


                                                  Литература
                                                  2. G. Övergaard, K. Palmkvist «Use Cases
                                                     Patterns and Blueprints»

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

                                                  4. A. Cockburn «Writing Effective Use Cases»

                                                  5. I. Jacobson, Pan-Wei Ng. «Aspect-Oriented
                                                     Software Development with Use Cases»




30   ® 2008. EPAM Systems. All rights reserved.
Спасибо за внимание




31   ® 2008. EPAM Systems. All rights reserved.
Delivering Excellence in Software Engineering


                            2 USE 2MODEL 2LEAD




 Паттерны вариантов
 использования
 Для большей информации, обращайтесь:
 Виталий Григораш
 Business Analyst
 EPAM Systems, Inc.

 Санкт-Петербург, Воронежская, 5
 Тел: +79117251429

 Email: Vitaliy_Grigorash@epam.com
 http://www.epam.com
 http://www.uml2.ru




® 2008. EPAM Systems. All rights
reserved.

More Related Content

PPT
Управление качеством требований
PDF
Patterns For Effective Use Cases
PPT
Use Cases
PDF
ReqLabs PechaKucha Евгений Сафроненко
PPTX
Microsoft ALM VS&TFS 2012 (Семинары. А.Шамрай)
PDF
Разработка по с использованием Tfs 2012
PDF
Gang of four review.Structural patterns
PPTX
Эффективный процесс разработки ПО на основе гибких подходов
Управление качеством требований
Patterns For Effective Use Cases
Use Cases
ReqLabs PechaKucha Евгений Сафроненко
Microsoft ALM VS&TFS 2012 (Семинары. А.Шамрай)
Разработка по с использованием Tfs 2012
Gang of four review.Structural patterns
Эффективный процесс разработки ПО на основе гибких подходов

Similar to Use case Patterns (20)

PPTX
Архимейт по-русски
PPT
L5 requirements
PPTX
Практические аспекты разработки ПО #3
PPT
Ромуальд Здебский, Обеспечение качества через интегрированное управление прое...
PPT
консалтинг1с 4
PPTX
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
PPTX
От хаоса к космосу: консолидация внутренних веб-ресурсов компании
PPTX
Шаманин, Давтян -- модель данных каталога оборудования в ISO 15926
PDF
Design & Process Models
PDF
Проектирование программных систем. Занятие 9
PPTX
Sysengandiso15926nov11 111127021757-phpapp01
PPTX
Системная инженерия и ISO 15926
PDF
Graduate Project: designing a web site and 3D application for Elby Adbertising
PDF
Лекция 1. UML (use cases)
PDF
разработка по процессы
PDF
решения по стенду 2
PPTX
Дмитрий Чирков, "Технологический стартап", занятие 2, 21.03.2012
PPT
Особенности описания процессов для целей его менеджмента
PPT
Use case in action
PDF
3 story mapping
Архимейт по-русски
L5 requirements
Практические аспекты разработки ПО #3
Ромуальд Здебский, Обеспечение качества через интегрированное управление прое...
консалтинг1с 4
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
От хаоса к космосу: консолидация внутренних веб-ресурсов компании
Шаманин, Давтян -- модель данных каталога оборудования в ISO 15926
Design & Process Models
Проектирование программных систем. Занятие 9
Sysengandiso15926nov11 111127021757-phpapp01
Системная инженерия и ISO 15926
Graduate Project: designing a web site and 3D application for Elby Adbertising
Лекция 1. UML (use cases)
разработка по процессы
решения по стенду 2
Дмитрий Чирков, "Технологический стартап", занятие 2, 21.03.2012
Особенности описания процессов для целей его менеджмента
Use case in action
3 story mapping
Ad

Use case Patterns

  • 1. Delivering Excellence in Software Engineering 2 USE 2MODEL 2LEAD Паттерны вариантов использования Общие сведения о паттернах вариантов использования ® 2008. EPAM Systems. All rights reserved.
  • 2. Цель презентации Дать общие представления о паттернах вариантов использования 2 ® 2008. EPAM Systems. All rights reserved.
  • 3. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 3
  • 4. Что такое паттерн варианта использования? “Паттерн – решение повторяющейся задачи или проблемы.” Ivar Jacobson, «Aspect-Oriented Software Development with Use Cases» “Паттерн варианта использования – проверенная на практике композиция вариантов использования в модели совместно с описанием проблемы, при которой данная композиция может быть использована, и результатами влияния ее на модель.” Gunnar Overgaard, «Use Case Patterns and Blueprints» 4 ® 2008. EPAM Systems. All rights reserved.
  • 5. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 5
  • 6. Какие виды паттернов бывают? А. Коберн Г. Овергаард Patterns of Effective Use Case Use Case Patterns and Blueprints Структура Структура • Модель • Модель • Варианты использования • Отношения • Сценарии и шаги • Отношения Процесс Описание • Процесс • Сценарии • Методология • Редактирование Blueprints • Управление доступом • Поиск • Генерация отчетов • Существующая система • Вход/выход (аутентификация) • Другие 6 ® 2008. EPAM Systems. All rights reserved.
  • 7. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 7
  • 8. Для чего нужны паттерны? • Повышение качества модели и описаний вариантов использования • Структуризация модели и описаний • Понимаемость модели • Организованность сценариев • Удобство в поддержке и доработке • Повторное использование • Улучшение командной работы • Общий язык общения • Упрощение проверки моделей и описаний • Решение сложной задачи • Сокращение трудозатрат на моделирование и описание вариантов использования 8 ® 2008. EPAM Systems. All rights reserved.
  • 9. Что нужно, чтобы правильно использовать паттерны? Необходимо • Иметь базовые знания в моделировании вариантов использования • Точно и однозначно понимать используемый паттерн Желательно • Обучить команду аналитиков работе с паттернами • Иметь опыт в моделировании и описании ВИ 9 ® 2008. EPAM Systems. All rights reserved.
  • 10. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 10
  • 11. Паттерн «Пакеты ВИ» uc Паттерн "Пакеты ВИ" Граница с истемы (подс ис темы) Ситуация применения Пакет ВИ 1 + Вариант использования 1 • Большое количество вариантов + Вариант использования 2 + Вариант использования 3 использования ДЛ 1 Пакет ВИ 2 • Большое количество + Вариант использования 4 + Вариант использования 5 действующих лиц ДЛ 2 ДЛ 4 Пакет ВИ N Результат применения + Вариант использования 6 • Модель структурирована + Вариант использования 7 ДЛ 3 • Модель разбита на области • Определены границы системы • Пакеты – «черновики» для компонентов 11 ® 2008. EPAM Systems. All rights reserved.
  • 12. Паттерн «Пакеты ВИ» Советы использования • Пакеты мало зависимы • Варианты использования в пакете сильно связаны • Действующие лица в отдельном пакета • 1 пакет – 1 диаграмма вариантов использования • 1 пакет – 2-9 варианта использования 12 ® 2008. EPAM Systems. All rights reserved.
  • 13. Паттерн «Пакеты ВИ» Пример применения паттерна uc Пакеты ВИ Платежная с ис тема Клиент Оплата услуг (from Абоненты) + Оплатить ус лугу Банковская система (from Представители ПС) Оператор пункта Администрирование приема платежей + Сменить пароль (from Представители дилера) + Управление учетными записями пользователей Провайдер услуг (from Провайдеры услуг) Инкассатор Управление дилерами (from Представители дилера) + Зарегис трировать/удалить дилера + Редактировать информацию о дилере Администратор системы (from Представители ПС) Администратор дилера (from Представители дилера) Мониторинг + Получить доступ к мониторингу (аутентификация) Управляющий дилера Маркетолог (from Представители дилера) (from Представители ПС) 13 ® 2008. EPAM Systems. All rights reserved.
  • 14. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 14
  • 15. Паттерн «Выполнить транзакцию» uc Паттерн "Выполнить транзакцию" Ситуация применения <Выполнить транзакцию> • Инфраструктурный ВИ <ДЛ> • Характеризует шаг в сценарии «extend» • Проверки и действия на каждом шаге любого ВИ Расширяющий ВИ uc Паттерн "Выполнить транзакцию" Результат применения <Выполнить • Описаны в одном месте действия, транзакцию> характерные для шагов любого ВИ <ДЛ> bind {<Выполнить транзакцию> -> Шаг с ценария} • Учтены нефункциональные требования • Отношение «bind» устанавливает связь Вариант паттерна с шагом конкретного ВИ использования 15 ® 2008. EPAM Systems. All rights reserved.
  • 16. Паттерн «Выполнить транзакцию» Советы использования Выбирайте способ описания действий: • Альтернативные сценарии в описании ВИ «Выполнить транзакцию» • Расширяющие варианты использования для каждого действия 16 ® 2008. EPAM Systems. All rights reserved.
  • 17. Паттерн «Выполнить транзакцию» Пример uc Паттерн "Выполнить транзакцию" Нефункциональные требования • Все транзакции в системе должны <Выполнить транзакцию> записываться в журнал событий (лог) <ДЛ> • Только авторизованные пользователи «extend» «extend» «extend» могут иметь доступ к функциональности Управлять • Система должна хранить настройки Проверить права настройками Вести журнал событий (авторизация) пользователя пользователя Варианты использования • Вести журнал событий • Проверить права • Управлять настройками пользователя 17 ® 2008. EPAM Systems. All rights reserved.
  • 18. Паттерн «Выполнить транзакцию» Пример описания ВИ ВИ «Выполнить транзакцию» Сценарий: 3. Система приглашает ДЛ идентифицировать необходимую сущность. 4. ДЛ вводит значения и подтверждает запрос 5. Система находит сущность в БД и представляет ее значения. 6. ВИ завершается Альтернативный сценарий 1: [шаг 3] Проверка прав доступа 10. Система проверяет права ДЛ. 11. Если права имеются ВИ продолжается. Если права отсутствуют ВИ завершается. Альтернативный сценарий 2: [шаг 2] Журналирование 15. Система записывает данные запроса в журнал событий (лог) 16. ВИ продолжается. • …… 18 ® 2008. EPAM Systems. All rights reserved.
  • 19. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 19
  • 20. Паттерн «CRUD» uc Паттерн "CRUD: Полный" Ситуация применения • Простые действия, выполняемые с Управление единицей информации: создание, информацией ДЛ 1 редактирование, чтение и удаление • Короткие сценарии • Сценарии связаны одной целью uc Паттерн "CRUD: Частичный" • Цель отдельной операции мало значима Управление информацией (кроме <действие>) для заинтересованного лица Результат применения ДЛ 1 <Действие> над информацией • Один ВИ вместо четырех • Уменьшение модели ВИ 20 ® 2008. EPAM Systems. All rights reserved.
  • 21. Паттерн «CRUD» Советы использования • Не стоит использовать, когда действия сложные и включают в себя множество проверок или ограничений 21 ® 2008. EPAM Systems. All rights reserved.
  • 22. Паттерн «CRUD» Пример ВИ «Управление учетными записями пользователей» uc Администрирование Описание: Данный ВИ описывает создание, редактирование, просмотр и удаление учетной записи пользователя Приложение пункта приема платежей клиентского приложения пункта приема платежей. ДЛ: Администратор дилера (далее Администратор) Управление учетными записями Сценарий 1: Создать учетную запись пользователей 5. Администратор инициирует создание…. Администратор дилера 6. ... (from Представители дилера) Сценарий 2: Удаление учетной записи 8. …. Сменить пароль ВИ «Сменить пароль» Описание: Данный ВИ описывает смену пароля оператором Оператор пункта приема пункта приема платежей. платежей (from Представители дилера) ДЛ: Оператор пункта приема платежей (далее Оператор) Сценарий : 14. Оператор инициирует смену пароля 15. Система запрашивает старый и новый пароли 16. Оператор вводит старый пароль, дважды вводит новый пароль и подтверждает смену пароля 17. Системе проверяет корректность старого пароля. Пароль правильный 18. Система сохраняет новый пароль в учетной записи пользователя Альтернативный сценарий 1: [шаг 3] Неверный старый пароль 21. …. 22 ® 2008. EPAM Systems. All rights reserved.
  • 23. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 23
  • 24. Паттерн «Многочисленные ДЛ» Ситуация применения uc Паттерн "Многочисленные ДЛ: Разные роли" 1. Два или более ДЛ играют разные роли в Вариант использования ВИ (одно ДЛ «вызывает» другое ДЛ) ДЛ 2 ДЛ 4 2. ДЛ выполняют одинаковые действия (в сценарии ВИ участвует одно ДЛ) uc Паттерн "Многочисленные ДЛ: Общая роль" Вариант Результат применения использования 1. ДЛ с разными ролями взаимодействуют с Общ ая роль системой через различные граничные классы 2а. Нет необходимости переписывать одинаковые сценарии несколько раз, в ДЛ 1 ДЛ 2 зависимости от роли. 2б. Один граничный класс вместо двух 24 ® 2008. EPAM Systems. All rights reserved.
  • 25. Паттерн «Многочисленные ДЛ» Советы использования • Разделите ДЛ по их типам или ролям в пакеты (Пользователи/Внешние системы/Другие) • Создайте диаграмму ДЛ, на которой определите их иерархию • Используйте отношения обобщения между Общей ролью и ДЛ • Действия каждого ДЛ записывайте отдельным шагом 25 ® 2008. EPAM Systems. All rights reserved.
  • 26. Паттерн «Многочисленные ДЛ» Пример uc Мониторинг платежей ВИ «Получить доступ к мониторингу» ДЛ: Получить доступ к мониторингу Участник мониторинга платежей (далее Пользователь) Участник (аутентификация) мониторинга Сценарий : платежей 7. Пользователь запускает приложение. 8. Система запрашивает данные для аутентификации 9. Пользователь вводит логин и пароль 10. Система проверяет данные…… 11. …….. Управляющий дилера Маркетолог (from Представители дилера) (from Представители ПС) uc Оплата услуг ВИ «Оплатить услугу» ДЛ: Клиент, Провайдер услуг, Банковская система Сценарий : 18. ….. Провайдер услуг Оплатить услугу 19. Клиент вводит номер абонента и продолжает оплату. (from Провайдеры услуг) 20. Система передает номер абонента Провайдеру услуг для Клиент проверки (from Абоненты) 21. Провайдер услуг подтверждает существование номера. 22. Клиент вносит наличные и подтверждает оплату услуги Банковская система 23. Система передает данные платежа Провайдеру услуг (from Представители ПС) 24. Система передает данные платежа в Банковскую систему 26 ® 2008. EPAM Systems. All rights reserved.
  • 27. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 27
  • 28. Разнообразие паттернов Паттерн Описание Concrete Extension or Inclusion Расширяющий или включенный ВИ могут вызываться из основного ВИ, а также могут инициироваться ДЛ как самостоятельные ВИ. Business Rules Использование бизнес правил в описании ВИ, а также управление бизнес- правилами. Large Use case Структурирование описания ВИ с «длинными» потоками событий , а также разбиение одного ВИ с большим количеством альтернативных потоков на отдельные ВИ. Layered System Представление вариантов использования для многослойной системы. Слои представляются в виде пакетов. Optional Service Конфигурация функциональности программного приложения. Дополнительные сервисы могут включаться и исключаться из конфигурации. Orthogonal Views Различное представление сценариев для различных заинтересованных лиц. Use Case Sequence Представляет последовательность выполнения ДЛ вариантов использования Commonality Специфицирует общее поведение, используемое в различных вариантах использования 28 ® 2008. EPAM Systems. All rights reserved.
  • 29. 1 Понятие паттерна варианта использования 2 Классификация паттернов 3 Назначение паттернов и ограничения использования 4 Паттерн «Пакеты ВИ» 5 Паттерн «Выполнить транзакцию» 6 Паттерн «CRUD» 7 Паттерн «Многочисленные ДЛ» 8 Другие паттерны 9 Литература ® 2008. EPAM Systems. All rights reserved. 29
  • 30. Где более подробно почитать про паттерны ВИ? Литература 2. G. Övergaard, K. Palmkvist «Use Cases Patterns and Blueprints» 3. A. Cockburn «Patterns of Effective Use Cases» 4. A. Cockburn «Writing Effective Use Cases» 5. I. Jacobson, Pan-Wei Ng. «Aspect-Oriented Software Development with Use Cases» 30 ® 2008. EPAM Systems. All rights reserved.
  • 31. Спасибо за внимание 31 ® 2008. EPAM Systems. All rights reserved.
  • 32. Delivering Excellence in Software Engineering 2 USE 2MODEL 2LEAD Паттерны вариантов использования Для большей информации, обращайтесь: Виталий Григораш Business Analyst EPAM Systems, Inc. Санкт-Петербург, Воронежская, 5 Тел: +79117251429 Email: Vitaliy_Grigorash@epam.com http://www.epam.com http://www.uml2.ru ® 2008. EPAM Systems. All rights reserved.