9. Три уровня моделирования
1. Эксизы
- общение с заказчиком и внутри команды
- описание предметной области
- концептуальное моделирование
2. Проектирование
- модель программной архитектуры
- структуры данных
- сервисная архитектура
3. Программирование
- генерация кода
18. Изучать UML без нотации? Вы шутите!
стрелочка - это просто стрелочка!
19. Уровни моделирования. Так в чём
проблема?
1. Начинающие аналитики не понимают различий в уровнях
2. Строгая нотация UML нужна только на нижнем уровне
28. Терминология. Так в чём проблема?
1. Аналитики и программисты говорят на разных языках, но одними и
теми же словами
2. Терминологию UML нужно учить и переучивать
3. Названия диаграмм UML унылы
38. Элементарные примеры
Клиент
Снять наличные
Узнать остаток
Оплатить телефон
Банкомат
Ожидание
карты
Запросить ПИН
Сформировать
и отправить запрос
Ожидание
ответа
Авторизовано?
Клиент
Запрос
остатка
Ответ хоста
Показать баланс
Сообщить об
ошибке
Вернуть карту
Ожидание
карты
Выбор
операции
Ожидание
ответа
хоста
Показ
ответа
Карта
вставлена
Ввод ПИН
Выбран
«Баланс»
ПИН введен
Ответ
получен
Ввод или
таймаут
Отмена
Отказ от ввода ПИН
39. Пример: физические и логические
объекты
ПК пользователя
Браузер
Web-сервер
Apache
Обработчик PHP
Сервер БД
MySQL
Запрос
страницы
Вызов
скрипта
Готовая
страница
nginx
Файл-сервер
Хранилище
видеофайлов
Видеоконтент
Описание видео
Страница с видео
Запрос
страницы
Страница
со ссылками
на видеофайлы
48. Кубики с наклейками
ПК пользователя
Браузер
Web-сервер
Apache
Обработчик PHP
Сервер БД
MySQL
Запрос
страницы
Вызов
скрипта
Готовая
страница
nginx
Файл-сервер
Хранилище
видеофайлов
Видеоконтент
Описание видео
Страница с видео
Запрос
страницы
Страница
со ссылками
на видеофайлы
49. Нужны свежие метафоры!
Activity Diagram Блок-схема
процесса
Старая добрая
блок-схема
Use Case Diagram Диаграмма целей Мужики и яйца
Sequence Diagram Плавательные
дорожки
Эстафетная
диаграмма
State Machine
Diagram
Конечный автомат Диаграмма
Спортлото
Class Diagram Понятия
предметной
области
Династическая
диаграмма
Deployment
Diagram
Диаграмма
развёртывания
Кубики с
наклейками
Notas do Editor
Зохавал
Но нет вакансий программистов
Даже сообщество аналитиков, которое я представляю
Мартин Фаулер
Где находится аналитик?
Плохо всё, но не глумления ради
Кони и люди
Понимание приходит только с опытом
Слои требований
Бросая в воду камушки
Это не UML
Прибамбасы в зоопарке
Удобно для тестов
Вся терминология — ложный друг
Кто описывал ПО диаграммой классов?
Программист-методолог
Символ которого нет на клавиатуре