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

Similar to Use case Patterns

PMIufa 2011-02-24
PMIufa 2011-02-24PMIufa 2011-02-24
Низкомолекулярное проектирование: структурированные данные и UX
Низкомолекулярное проектирование: структурированные данные и UXНизкомолекулярное проектирование: структурированные данные и UX
Низкомолекулярное проектирование: структурированные данные и UX
Lara Simonova
 
Benefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controllBenefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controllMykyta Hopkalo
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
SQALab
 
Представление знаний в технических системах
Представление знаний в технических системахПредставление знаний в технических системах
Представление знаний в технических системах
Anatoly Levenchuk
 
Project Management
Project ManagementProject Management
Project Management
Alexander Babich
 
First class Testing
First class TestingFirst class Testing
First class Testing
Return on Intelligence
 
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
GTestClub
 
Системная инженерия и ISO 15926
Системная инженерия и ISO 15926Системная инженерия и ISO 15926
Системная инженерия и ISO 15926
Anatoly Levenchuk
 
Sysengandiso15926nov11 111127021757-phpapp01
Sysengandiso15926nov11 111127021757-phpapp01Sysengandiso15926nov11 111127021757-phpapp01
Sysengandiso15926nov11 111127021757-phpapp01Newlink
 
Lection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User StoriesLection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User Stories
Yana Brodetski
 
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
Ontico
 
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной моделиДенис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Denis Tuchin
 
Netpeak Talks #3: Масштабируемое приложение на PHP
Netpeak Talks #3: Масштабируемое приложение на PHPNetpeak Talks #3: Масштабируемое приложение на PHP
Netpeak Talks #3: Масштабируемое приложение на PHP
Образовательные мероприятия "Netpeak Talks"
 
Системная инженерия в России
Системная инженерия в РоссииСистемная инженерия в России
Системная инженерия в России
Anatoly Levenchuk
 
Легковесный фреймворк для оценки качества на основе подхода SEMAT
Легковесный фреймворк для оценки качества на основе подхода SEMATЛегковесный фреймворк для оценки качества на основе подхода SEMAT
Легковесный фреймворк для оценки качества на основе подхода SEMAT
SQALab
 
Paper prototyping
Paper prototypingPaper prototyping
Paper prototyping
Agile Base Camp
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипированиеMaxim Gaponov
 

Similar to Use case Patterns (20)

PMIufa 2011-02-24
PMIufa 2011-02-24PMIufa 2011-02-24
PMIufa 2011-02-24
 
Низкомолекулярное проектирование: структурированные данные и UX
Низкомолекулярное проектирование: структурированные данные и UXНизкомолекулярное проектирование: структурированные данные и UX
Низкомолекулярное проектирование: структурированные данные и UX
 
Benefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controllBenefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controll
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
 
Представление знаний в технических системах
Представление знаний в технических системахПредставление знаний в технических системах
Представление знаний в технических системах
 
Project Management
Project ManagementProject Management
Project Management
 
First class Testing
First class TestingFirst class Testing
First class Testing
 
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
 
Системная инженерия и ISO 15926
Системная инженерия и ISO 15926Системная инженерия и ISO 15926
Системная инженерия и ISO 15926
 
Sysengandiso15926nov11 111127021757-phpapp01
Sysengandiso15926nov11 111127021757-phpapp01Sysengandiso15926nov11 111127021757-phpapp01
Sysengandiso15926nov11 111127021757-phpapp01
 
Zhelnova
ZhelnovaZhelnova
Zhelnova
 
лаф2013
лаф2013лаф2013
лаф2013
 
Lection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User StoriesLection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User Stories
 
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
 
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной моделиДенис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
 
Netpeak Talks #3: Масштабируемое приложение на PHP
Netpeak Talks #3: Масштабируемое приложение на PHPNetpeak Talks #3: Масштабируемое приложение на PHP
Netpeak Talks #3: Масштабируемое приложение на PHP
 
Системная инженерия в России
Системная инженерия в РоссииСистемная инженерия в России
Системная инженерия в России
 
Легковесный фреймворк для оценки качества на основе подхода SEMAT
Легковесный фреймворк для оценки качества на основе подхода SEMATЛегковесный фреймворк для оценки качества на основе подхода SEMAT
Легковесный фреймворк для оценки качества на основе подхода SEMAT
 
Paper prototyping
Paper prototypingPaper prototyping
Paper prototyping
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипирование
 

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.