Почему UML — плохой выбор для обучения аналитиков
Transcript of Почему UML — плохой выбор для обучения аналитиков
![Page 1: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/1.jpg)
Почему UML — плохой выбордля обучения начинающих аналитиков
Григорий Печенкин
![Page 2: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/2.jpg)
Рекламная пауза — 1
http://conf.uml2.ru
![Page 3: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/3.jpg)
Рекламная пауза — 2
https://hackpad.com/--41XTdc8Ieckhttp://uml2.ru
![Page 4: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/4.jpg)
Краткая история UML
![Page 5: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/5.jpg)
UML
![Page 6: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/6.jpg)
UML захватил мир аналитиков
![Page 7: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/7.jpg)
Сезонные обострения на форуме
![Page 8: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/8.jpg)
А зачем аналитикам UML?
![Page 9: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/9.jpg)
Три уровня моделирования
1. Эксизы- общение с заказчиком и внутри команды- описание предметной области- концептуальное моделирование
2. Проектирование- модель программной архитектуры- структуры данных- сервисная архитектура
3. Программирование- генерация кода
![Page 10: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/10.jpg)
Проблема 1. Смешение уровней
![Page 11: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/11.jpg)
Уровень эскиза — пример
![Page 12: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/12.jpg)
Смешение уровней
![Page 13: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/13.jpg)
Смешение уровней
![Page 14: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/14.jpg)
Смешение уровней
![Page 15: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/15.jpg)
Строгость нотации
![Page 16: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/16.jpg)
Изучать UML без нотации? Вы шутите!
![Page 17: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/17.jpg)
Изучать UML без нотации? Вы шутите!
![Page 18: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/18.jpg)
Изучать UML без нотации? Вы шутите!
стрелочка - это просто стрелочка!
![Page 19: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/19.jpg)
Уровни моделирования. Так в чём проблема?
1. Начинающие аналитики не понимают различий в уровнях2. Строгая нотация UML нужна только на нижнем уровне
![Page 20: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/20.jpg)
Проблема 2. Терминология
![Page 21: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/21.jpg)
Ложные друзья переводчика
![Page 22: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/22.jpg)
Ложные друзья аналитика
Класс
Экземпляр
Activity
Асинхронный
Наследование
Пользователь
Model-View-ControllerFeature
Функция
![Page 23: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/23.jpg)
Класс и class
![Page 24: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/24.jpg)
Класс и class
![Page 25: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/25.jpg)
Model — View — Controller
![Page 26: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/26.jpg)
Названия диаграмм
![Page 27: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/27.jpg)
Переведите быстро!
CollaborationCooperationCommunicationInteraction
![Page 28: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/28.jpg)
Терминология. Так в чём проблема?
1. Аналитики и программисты говорят на разных языках, но одними и теми же словами
2. Терминологию UML нужно учить и переучивать3. Названия диаграмм UML унылы
![Page 29: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/29.jpg)
Проблема 3. Визуализация
![Page 30: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/30.jpg)
Принципы визуального моделирования
Различия должны быть очевидныРазные типы связей — разные диаграммыТекст вторичен
![Page 31: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/31.jpg)
Визуально неразличимые элементы
![Page 32: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/32.jpg)
Смешивание текста и графики
![Page 33: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/33.jpg)
Смешивание текста и графики
![Page 34: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/34.jpg)
Визуализация. Так в чём проблема?
1. UML нарушает принципы визуализации2. Аналитик усваивает плохие практики
![Page 35: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/35.jpg)
К чему это приводит
● Неумение моделировать● Неправильное использование UML● Отторжение UML
![Page 36: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/36.jpg)
Что с этим делать?
● Учить не языку, а принципам моделирования● Идти от простого к сложному (UML — это сложно)● Смело менять терминологию!
![Page 37: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/37.jpg)
Элементы универсального языка
Логический объект
Действие
Цель
Состояние
Физическийобъект
Точкавыбора
Роль
Последовательность(операция)
Данные
Связь
Комментарий Временная шкала
![Page 38: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/38.jpg)
Элементарные примеры
Клиент
Снять наличные
Узнать остаток
Оплатить телефон
Банкомат
Ожиданиекарты
Запросить ПИН
Сформироватьи отправить запрос
Ожиданиеответа
Авторизовано?
Клиент
Запросостатка
Ответ хоста
Показать баланс Сообщить об ошибке
Вернуть карту
Ожиданиекарты
Выбороперации
Ожиданиеответахоста
Показ ответа
Карта вставлена
Ввод ПИН
Выбран «Баланс»
ПИН введен
Ответполучен
Ввод илитаймаут
Отмена
Отказ от ввода ПИН
![Page 39: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/39.jpg)
Пример: физические и логические объекты
ПК пользователя
Браузер
Web-сервер
Apache
Обработчик PHP
Сервер БД
MySQL
Запросстраницы
Вызовскрипта
Готоваястраница
nginx
Файл-сервер
Хранилище видеофайлов
Видеоконтент
Описание видео
Страница с видео
Запросстраницы
Страницасо ссылками
на видеофайлы
![Page 40: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/40.jpg)
Пример: авторизация
Банкомат
Клиент
Процессингэквайера
Платёжнаясистема
Процессингэмитента
Запрос наличных
Своя карта?
Запрос авторизации
Авторизация
Да
Запрос авторизацииНет
Запрос авторизации
Авторизация
Ответ
Ответ
Ответ
Выдача денег и возврат карты
Ответ
![Page 41: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/41.jpg)
Пример: передача данных
Банкомат
Клиент
Процессингэквайера
Платёжнаясистема
Процессингэмитента
Запрос наличных
Своя карта?
Авторизация
Да
Нет
Авторизация
Выдача денег и возврат карты
Ответ
OpenWay 0200
VISA 0101
VISA 0111
Запрос авторизации
OpenWay 0210
OpenWay 0210
![Page 42: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/42.jpg)
Но это же...
UML!
![Page 43: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/43.jpg)
Секрет успеха Scrum
![Page 44: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/44.jpg)
Ожиданиекарты
Запросить ПИН
Сформироватьи отправить запрос
Ожиданиеответа
Авторизовано?
Клиент
Запросостатка
Ответ хоста
Показать баланс Сообщить об ошибке
Вернуть карту
Старая добрая блок-схема
![Page 45: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/45.jpg)
Клиент
Снять наличные
Узнать остаток
Оплатить телефон
Банкомат
Мужики и яйца
![Page 46: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/46.jpg)
Ожиданиекарты
Выбороперации
Ожиданиеответахоста
Показ ответа
Карта вставлена
Ввод ПИН
Выбран «Баланс»
ПИН введен
Ответполучен
Ввод илитаймаут
Отмена
Отказ от ввода ПИН
Спортлото
![Page 47: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/47.jpg)
Банкомат
Клиент
Процессингэквайера
Платёжнаясистема
Процессингэмитента
Запрос наличных
Своя карта?
Запрос авторизации
Авторизация
Да
Запрос авторизацииНет
Запрос авторизации
Авторизация
Ответ
Ответ
Ответ
Выдача денег и возврат карты
Ответ
Эстафетная диаграмма
![Page 48: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/48.jpg)
Кубики с наклейками
ПК пользователя
Браузер
Web-сервер
Apache
Обработчик PHP
Сервер БД
MySQL
Запросстраницы
Вызовскрипта
Готоваястраница
nginx
Файл-сервер
Хранилище видеофайлов
Видеоконтент
Описание видео
Страница с видео
Запросстраницы
Страницасо ссылками
на видеофайлы
![Page 49: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/49.jpg)
Нужны свежие метафоры!
Activity Diagram Блок-схема процесса
Старая добрая блок-схема
Use Case Diagram Диаграмма целей Мужики и яйца
Sequence Diagram Плавательные дорожки
Эстафетная диаграмма
State Machine Diagram
Конечный автомат Диаграмма Спортлото
Class Diagram Понятия предметной области
Династическая диаграмма
Deployment Diagram
Диаграмма развёртывания
Кубики с наклейками
![Page 50: Почему UML — плохой выбор для обучения аналитиков](https://reader034.fdocument.pub/reader034/viewer/2022042615/55a5f36f1a28abce3d8b478e/html5/thumbnails/50.jpg)