Как визуализировать постановку задачи на одном слайде, какие наброски сделать на интервью по сбору требований, есть ли альтернативы диаграмме вариантов использования UML?
Многие модели, используемые при описании архитектуры предприятия, можно применить в масштабах отдельного проекта. Ландшафтная карта, общий обзор решения, диаграмма системного контекста, схема кооперации действующих лиц, функциональная карта и другие модели позволяют очертить постановку задачи, обсудить содержание и рамки проекта, наметить верхнеуровневый дизайн решения
2. Давайте знакомиться!
Максим Смирнов
https://mxsmirnov.com
mxsmirnov@gmail.com
2017-2018: АО ”БИНБАНК Диджитал”
Главный архитектор (Начальник управления)
2015-2016: Главный архитектор информационных
систем Центрального Банка Российской
Федерации (Банк России)
2006-2014: Руководитель
Департамента ИТ архитектуры ОАО “ВымпелКом”
(торговая марка “Билайн”)
2000-2005: Менеджер проектоа по развитию
дополнительных услуг связи: платежей,
программы лояльности и др.
1995-2000: Эксперт по системам “Банк-Клиент”
и “Банк-Банк” ОАО АБ “Инкомбанк”
2
3. Вы никогда не задумывались…
Почему корпоративные архитекторы рекомендуют
придерживаться формальных нотаций (UML, BPMN, RML … ),
а сами рисуют совсем другие картинки?
Business Capability Map Archimate Landscape Map
3
4. Когда возникает потребность в “big picture”,
чем она вызвана
Простой пример визуализации предметной
области и сценариев деятельности
Модели и представления (views)
Как графы и гиперграфы
помогают визуализировать
знания
Вопросы и обсуждение
О чем пойдет речь
4
5. Когда нужна “Большая картинка”
5
Визуализация задачи и
вариантов реализации
Инициация
проекта
“Воронка” инициатив
Самая сложная задача проектирования
состоит в определении того, что должно
быть спроектировано
Frederick P. Brooks, Design of Design. 2010
7. Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Как работает кадровое агентство
Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Алиса
Заводит заявки
на подбор:
системных
аналитиков
разработчиков
тестировщиков
Борис
Заводит заявки
на подбор:
системных
администраторов
7
8. Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Как работает кадровое агентство
Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Алиса
Заводит заявки
на подбор:
системных
аналитиков
разработчиков
тестировщиков
Борис
Заводит заявки
на подбор:
системных
администраторов
Владимир
Осуществляет
поиск
разработчиков
Галина
Подбирает
аналитиков и
тестировщиков
Дмитрий
Ищет системных
администраторов
8
9. Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Как работает кадровое агентство
Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Алиса
Заводит заявки
на подбор:
системных
аналитиков
разработчиков
тестировщиков
Борис
Заводит заявки
на подбор:
системных
администраторов
Владимир
Осуществляет
поиск
разработчиков
Галина
Подбирает
аналитиков и
тестировщиков
Дмитрий
Ищет системных
администраторов
Владимир
Интервьюирует
разработчиков
Галина
Собеседует
аналитиков и
тестировщиков
Дмитрий
Интервьюирует
администраторов
9
10. Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Как работает кадровое агентство
Заведение заявки
на подбор
Поиск
кандидатов
Интервью по
компетенциям
Ситуационное
интервью
Алиса
Заводит заявки
на подбор:
системных
аналитиков
разработчиков
тестировщиков
Борис
Заводит заявки
на подбор:
системных
администраторов
Владимир
Осуществляет
поиск
разработчиков
Галина
Подбирает
аналитиков и
тестировщиков
Дмитрий
Ищет системных
администраторов
Владимир
Интервьюирует
разработчиков
Галина
Собеседует
аналитиков и
тестировщиков
Дмитрий
Интервьюирует
администраторов
Евгений
Интервьюирует:
системных
аналитиков
разработчиков
системных
администраторов
Владимир
Интервьюирует
разработчиков
10
11. Сотрудник группы
взаимодействия
с клиентами
Заведение
заявки
на подбор
Алиса
Борис
Заявка на
аналитика
Заявка на
разработчика
Заявка на
тестировщика
Заявка на
администратора
Ограничиться ли отображением
варианта использования “заведение
заявки” или детализировать профили
подбираемых специалистов?
1 2Вариант Вариант
Попробуем UML Use Case Diagram
11
15. Технический рисунок
Agile Development. NoUML
15Максим Смирновфевраль 2014
Интересная часть работы не фиксируется в моделях.
Интересно то, что мы рассказываем друг другу, рисуя на доске
Alistair Cockburn,
“Agile Software Development”
19. Разделение Модели и Представлений
19
<?xml version=“1.0”>
<model>
<decision num=“1”…/>
<decision num=“2”…/>
</model>
Our first decision is
that the system will
have two components,
C1 and C2...
C1 C2
Модель не кодирует сообщение для передачи,
а выступает как медиа(среда, посредник) для
поддержания непрерывных коммуникаций
20. Отображение дерева в виде карты
20
α - альфа
β - бета γ - гамма
δ - дельта
ζ - дзета
ε - эпсилон
η - эта θ - тета
α
β γ
δ ε
ζ η θ
23. Гиперграф
23
Гипергра́ф(Hypergraph) — обобщение понятия граф. Ребра гиперграфа
могут соединяться не только две, а любое количество вершин.
Гиперграф H=(V,E) представляет собой пару множеств,
где V - множество объектов некоторой
природы, называемых вершинами
гиперграфа, а E — семейство
непустых подмножеств множества V,
называемых рёбрами гиперграфа.
Пример:
V = {v1, v2, v3, v4, v5, v6, v7}
E = {e1, e2, e3, e4} =
{{v1, v2,v3}, {v2,v3}, {v3,v5,v6},{v4}}
25. Экземпляры и метки(классификаторы)
25
Алиса Владимир Дмитрий
Простые
свойства
Возраст = 25 Возраст = 37 Возраст = 34
Ссылки на
справочники
Работает в = “Группа
взаимодействия”
Работает в = “Отдел
подбора персонала”
Работает в = “Отдел
подбора персонала”
Доп. свойства
(ссылки на
справочники)
Руководит = “Группа
взаимодействия”
Руководит = “Отдел
подбора персонала”
Тип занятости =
“Договор ГПХ”
Другие свойства Создает = “Договора”
Создает =
{“Заявки на подбор”,
“Аналитиков”}
…
Подбирает =
“Разработчиков”
Проводит интервью =
{“Ситуационное”,
“Разработчики”}
…
Подбирает =
“Сисадминов”
Проводит интервью =
{“По компетенциям”,
“Разработчики”}
…
28. Способы отображения ребер
28
Область(регион)
Связующие линии
Цветовое выделение
Контур(форма)
Пиктограммы
Метки
Gestalt Principles for Data Visualization: Figure/Ground,
Similarity, Proximity, Continuity & Enclosure
29. Что дальше?
29
Как преобразовать
диаграммы поведения
(ориентированные
графы) Statechart,
BPMN и др. в Customer
journey maps, Canvas,
Kanban-доски и пр.
Визуализация сложных
моделей при помощи
клиентского javascript:
draw.io, bpmn.io, D3.js,
Go.js …
MDD не взлетел, но
цифровые модели
остались. Каково их
новое назначение?
Спецификация – это
файл, приложение или
сайт(hypermedia)?
.js
Data-Driven DocumentСоздаем Kanban доски Роль моделирования
To Do Stage Main course
Alternative