Опыт Объектно Ориентированного подхода в Бизнес-Анализе или разговариваем с разработчиками на одном языке
Опыт Объектно Ориентированного подхода в Бизнес-Анализе или разговариваем с разработчиками на одном языке
Александр Белин
ЛАФ2013 Летний Аналитический Фестиваль 2013
У заказчика возникает ощущение контроля текущей ситуации
Заказчик чувствует себя в центре внимания
Заказчик видит динамику
Оперативная разработка
Пожелания в разработку
Плюсы
Пожелания в разработку Минусы
Осуществлять тестирование, основанное на требованиях
Проводить документирование
• ресурсов; • бюджета.
Есть требования, поэтому есть возможность проводить планирование:
Пожелания в требования
Плюсы
Пожелания в требования Минусы
Выход из ситуации Проведение полноценного бизнес-анализа Польза для понимания
Изучение бизнеса
Бизнесанализ
Согласов ание с заказчик ом
Последов ательная верифика ция
Док-е \модел-е бизнеса
Предыдущ ая модель – база для последующ ей
Roadmap
Проведение Бизнес-Анализа
Шаг 1
Описание бизнеса
1
Описание Бизнеса
Шаг 1
Описание бизнеса Описание бизнеса Со слов представителей заказчика составляется текстовое описание бизнеса
Шаг 21 Шаг
Разметка описания Описание бизнеса Бизнеса
1
2
Описание Бизнеса
Разметка описания Бизнеса
Шаг 2
Разметка описания бизнеса Разметка описания бизнеса
С текстом описания бизнеса проводится разметка. В тексте отыскиваются и выделются: • Действующие лица бизнеса (Business Actors); • Бизнес действия (Business Actions); • Бизнес правила (Business Rules).
Шаг 2
Разметка описания Бизнеса
1
2
Описание Бизнеса
Разметка описания Бизнеса
Шаг 3
Бизнес Правила
3
Бизнес Правила
Шаг 3
Описание Бизнес-Правил Бизнес правила – это
очень важный вид информации, который мы накапливаем и регистрируем, как на этапе БА, так и на протяжении всего проекта.
Почему Бизнес-Правила очень важны? • БП в форме Глоссария бизнес терминов позволяют общаться с заказчиком на одном языке; • БП создают необходимый Бизнес контекст для разрабатываемого приложения; • Не смотря на то, что БП – это не требования, они влияют на требования: – БП могут служить источником как для Use Cases, так и для Функциональных (атомарных) требований; – БП могут выполнять роль предусловий, триггеров, точек ветвления для Use Cases; – БП могут накладывать ограничения на функционал, описанный в Use Case
Шаг 3
Бизнес Правила
3
Бизнес Правила
Шаг 2
Разметка описания Бизнеса
1
2
Описание Бизнеса
Разметка описания Бизнеса
Шаг 4
Описание Бизнес-Действующих Лиц и их Бизнес-Целей
4
Описание БизнесДействующих лиц и их целей
Шаг 4
Описание Бизнес-Действующих Лиц и их Бизнес-Целей
Шаг 4
Описание Бизнес-Действующих Лиц и их Бизнес-Целей
4
Описание БизнесДействующих лиц и их целей
Шаг 5
Business Use Case Diagram
5
Business Use Case Diagram
Шаг 5
Business Use Case Diagram •
Каждое Бизнес-действующее лицо превращаем в Business Worker; • Действующие лица, существующие за пределами исследуемого бизнеса, превращаем в Бизнес Действующих Лиц (Business Actors); • Каждую бизнес цель превращаем в Бизнес Вариант Использования (Business Use Cases); • Бизнес ВИ ассоциируем с Business Worker, цели которых они описывают; • Business Workers с пересекающимися ролями (целями) проводим через процесс Generalization. Модель проходит согласование с заказчиком
5 Шаг 6
Use Case Diagram Business Activity Diagram
5
6
Business Use Case Diagram
Business Activity Diagram
Шаг 6
Business Activity Diagram •
Пошагово изображаем в виде диаграммы содержание каждого Business Use Case; • Диаграмма должна содержать шаги, которые выполняются в бизнесе для достижения Бизнес-Цели, которая описывается данным Business Use Case; Модель проходит согласование с заказчиком
Шаг 6
Business Activity Diagram
5
6
Business Use Case Diagram
Business Activity Diagram
Шаг 7
Business Activity Diagram with Swim Lanes
7 Business Activity Diagram with Swim Lanes
Шаг 7
Business Activity Diagram with Swim Lanes • Выделяем всех Business Workers и Business Actors, участвующих в данном Бизнес Варианте Использования; • Разделяем действия по зонам отвественности;
Шаг 8 7
Business Activity Diagram with Swim Object Lanes States
7
8 Business Activity Diagram with Swim Lanes
Business Activity Diagram with Object States
Шаг 8
Business Activity Diagram with Swim Lanes с указанием управляемого объекта • Мы видим, что данный процесс управляет некой сущностью, т.е. изменяет ее состояние, при этом, шаги: • изменяют состояние сущности; • используют определенное состояние данной сущности в качестве предусловия; • Описываем все возможные состояния данной сущности.
Шаг 8
Business Activity Diagram with Swim Lanes с указанием управляемого объекта Заменяем управляющий поток потоком изменения статуса в тех случаях, когда два соседних действия управляют одной сущностью: • Одно изменяет состояние; • Второе использует сущность в измененном состоянии в качестве предусловия.
Шаг 8
Business Activity Diagram with Object States
7
8 Business Activity Diagram with Swim Lanes
Business Activity Diagram with Object States
Шаг 9
Business Process Diagram 9
Business Process Diagram
Шаг 9
Диаграмма бизнес процесса (BPMN)
Диаграмма бизнес процесса (пример из реального проекта)
Шаг 9
Business Process Diagram 9
Business Process Diagram
Шаг 8
Business Activity Diagram with Object States
7
8 Business Activity Diagram with Swim Lanes
Business Activity Diagram with Object States
Business Activity Diagram with Swim Lanes с указанием управляемого объекта •
•
Мы видим: • Различные состояния объекта, управляемого в рамках данного Бизнес-Процесса; • Действия, которые приводят к изменению состояния. Что еще хотелось бы увидеть: • Какие дополнительные действия выполняются при изменении состояния; • Условия изменения состояния, всегда ли это безусловный переход, или переход может осуществиться только при выполнении некоторого условия; • Какие дополнительные действия выполняются сразу после перехода в состояние, перед выходом из состояния, при нахождении в некотором состоянии.
Шаг 8
Business Activity Diagram with Object States
7
8 Business Activity Diagram with Swim Lanes
Business Activity Diagram with Object States
Шаг 10
State Machine Diagram (статусная модель)
10 State Machine Diagram (статусная модель)
Шаг 10 Диаграмма Автомата (статусная модель) Что добавляет данная диаграмма к нашему пониманию: • дополнительные действия выполнямые при изменении состояния; • Условия изменения состояния; • дополнительные действия, выполняемые сразу после перехода в состояние, перед выходом из состояния, при нахождении в некотором состоянии.
Статусная модель (пример из реального проекта)
Шаг 10
State Machine Diagram (статусная модель)
10 State Machine Diagram (статусная модель)
Карта проведения процесса Бизнес Анализ 5 4
1
2
3
10
6
7
8
9
Где же Объектно Ориентированный подход? Где же объекты?
Классы давай!!!
Role Map Business Workers to Actors
Actors to Class Diagram
Business Use Cases to Business Entities
Объединенная Диаграмма Бизнес Классов
Бизнес-Анализ закончен.
Понять бизнес – это здорово! Что дальше?
Будет ли собранная информация полезна разработчикам?
Это все?
Как использовать собранную информацию для написания требований?
Как собранная информация влияет на требования?
Начинается этап Системного Анализа. Следующие шаги: • Определить Actors; • Определить Use Cases;
Находим действующих лиц (Actors)
Actors
Business Activity Diagram Business Use Case Diagram
Business Process Diagram
Role Map
Определяем Use Cases Источник Use Cases
Business Actors & Goals
Business Rules
Business Activity Diagram
Use Cases Diagram (model)
Структура Use Cases Precondition
Trigger
Business Rules
Условие логического ветвления
Use Case Бизнес Правила – это не требования. Зачем с ними работать?
Activity Diagram
Вот теперь действительно все!
Александр Белин Бизнес-Аналитик, компания Люксофт. Участник инициативы по созданию Российского Отделения Международного Института БизнесАнализа (IIBA®)
Давайте обсудим ваши вопросы capry6565@gmail.com
ЛАФ2013 Design ideas: Slide:ology by Nancy Duarte http://www.duarte.com/book/slideology/
Летний Аналитический Фестиваль 2013