Наконец-то этот день наступил и пост про UML врывается на канал.
🐙🐙🐙🐙🐙
Признаюсь честно, очень долго не понимала, с какой стороны подойти к нотации. Методами UML можно нарисовать достаточно много диаграмм разного вида под разные цели. Это несколько путает на старте.
С BPMN проще тем, что есть Денис Котов, который создал Шторм и записал кучу разных гайдов, обучалок на Ютуб. Материала много, садись и рисуй. Денисом не перестаю восхищаться. Видно, что душу в дело вкладывает.
UML сирота, такого Котова у него нет (хотя Денис по секрету признался, что обязательно реализует). Но пока все знания приходится выбирать из статей на Хабре, роликов разных авторов на Ютуб. Это усложняет и растягивает освоение достаточно вроде простого инструмента.
Что тут надо знать:
1️⃣Не все возможные в UML диаграммы нужны на старте. Есть смысл начать с
🔴диаграммы последовательностей (sequence diagram),
🔴диаграммы классов (class diagram),
🔴диаграммы вариантов использования (use case diagram),
🔴диаграммы состояний (state diagram),
🔴диаграммы компонентов (component diagram).
Эти пять дадут 80% результата при 20% усилий.
2️⃣UML — это язык. Это как грамматика: она не даёт содержания, но даёт форму, в которую можно его облечь. Ошибка — пытаться понять нотацию без контекста. Лучше сразу применять на реальных кейсах: что-то из жизни проекта, рабочего процесса, привычной системы.
3️⃣Не бойтесь «криво». Идея диаграммы — не в том, чтобы она была красивой, а в том, чтобы она помогала понять. Даже если на старте получится что-то между паутиной и кроссвордом — нормально.
Как осваивать:
1️⃣На первом месте этого хитпарада - PlantUML. Мэджик. Пишешь код - он рисует диаграмму. На Степике есть прекрасный вводный курс. Вот ещё отличное выступление, тоже очень понятно и база.
2️⃣Пробовать разное. Есть Draw.io (удобно для быстрых схем), StarUML (подойдёт для более системной работы), Lucidchart (если душа просит онлайна и шаринга). Но если хочется прокачать сразу и мышление, и формализацию — PlantUML вне конкуренции.
3️⃣Самое практичное, что реально помогло — делать UML к уже известным сервисам. Не «воображаемый интернет-магазин», а то, чем сам пользуешься каждый день. Например:
🔴как работает оформление заказа в Яндекс.Еде — sequence diagram,
🔴какие роли есть у пользователей Telegram — use case diagram.
Знакомый сервис — это контекст, который уже есть в голове. Не нужно выдумывать сущности и логику — можно сосредоточиться на нотации, а не на фантазии.
Один вечер - одна диаграмма - один знакомый сервис.
#нотации #uml #системный_анализ
Post #73
4.61K
- 🔥 11
- ❤ 4
- 👍 4