Разработка практико-ориентированных заданий в обучении UML-программирования (Екатерина Прокофьева, OSEDUCONF-2025)
Материал из 0x1.tv
- Докладчик
- Екатерина Прокофьева
Диаграммы UML применяют в проектировании, презентациях, описании или создании документации, в данном проекте мы хотим отработать автоматизацию процессов выстраивания визуальных моделей по процессам программирования. Современные инструменты позволяют рассмотреть систему со всех точек зрения, имеющих отношение к её разработке и последующему развёртыванию технических работ по организации сетей, инженерным расчётам, технико-экономическому контролю.
Разработка ориентированных на реальный сектор практических заданий и интерактивных мультимедийных презентационных материалов, посвящённых моделированию программного обеспечения. Материалы будут включать в себя подробные инструкции, примеры, кейсы, а также визуальные презентации. Основное внимание уделено обучению основным методам построения диаграмм классов, последовательностей, состояний и других UML-диаграмм, а также применению этих инструментов для проектирования и анализа программных систем для ИТ-компаний, логистики и промышленности etc.
Важным аспектом становится использование инструментов создания UML-диаграмм на основе свободного ПО и разработки собственных программных приложений решений. Сформированные задания будут способствовать формированию практических навыков моделирования реальных проектов и углублению понимания принципов проектирования ПО, что актуально и востребовано на ИТ-рынке труда.
Также Linux-подобные ОС — прекрасная платформа для реализации автоматизированного инструментария.
Содержание
Видео
Презентация
Thesis
Введение
В условиях реализации стратегии импортозамещения показать обучающимся возможности и преимущества отечественных операционных систем на примере ALT Linux в решении актуальных прикладных инженерных, статистических и исследовательских задач: запуск процессов в рамках базового функционала, разграничения прав, работы с репозиториями, установки библиотек и пакетов, функционирования образовательных, программных, статистических, графических, сетевых, ГИС и специализированных управленческих приложений.
Установить автоматизированные, графические и полуавтоматезированные инструменты в рамках Альт Образование 10.4.
Актуальные тематические направления: Основы работа с большими данными в различных областях. Основы программирования и работы с кодом на базе пакетов и приложений. Работа с пространственными данными. Работа с социально – экономическими задачами. Работа с инженерно – техническими и научными задачами. Работа с графикой и видео. Работа с технической документацией. Работа с сетью и интернет – приложениями. Работа с нефинансовой и экологической отчётностью. Обеспечение безопасности данных.
Примеры решений
Draw.io и все подобные инструменты — это онлайн – сервисы, которые помогают быстро создавать и редактировать различные блок – схемы, диаграммы и другие объекты, которые часто связаны с проектной деятельностью, описанием организационных регламентов и структур, распределением ролей и задач. Таких инструментов много, среди них большую популярность завоевали PlantUML, Mermaid и, собственно, draw.io.
Приложения для ручной отрисовки UML – диаграмм Возможности:
- Редактирование вручную: Пользователь сам выбирает тип диаграммы (например, диаграммы классов, прецедентов,последовательностей) и размещает элементы на холсте.
- Богатый набор инструментов: Большинство таких приложений предоставляют набор предустановленных фигур (классы, интерфейсы, соединения и т.д.).
- Настройка стилей: Поддержка настройки шрифтов, цветов, толщины линий и других визуальных параметров.
- Совместимость: Возможность экспорта в популярные форматы (PDF, PNG, SVG) и интеграции с другими инструментами (например, Confluence, Jira).
- Поддержка совместной работы: Некоторые приложения (например, Lucidchart или Creately) позволяют редактировать диаграммы нескольким пользователям в реальном времени.
Примеры ПО:
- Microsoft Visio
- Lucidchart
- Draw.io (или Diagrams.net)
- StarUML
Преимущества:
- Высокая гибкость в дизайне: диаграммы можно настраивать до мельчайших деталей.
- Удобство для небольших проектов или для пользователей без навыков программирования.
- Быстрое прототипирование: легко набросать схему для обсуждения с командой.
Недостатки:
- Затратно по времени для сложных или больших диаграмм.
- Риск ошибок из-за отсутствия проверки синтаксиса или логики.
- Низкая автоматизация: изменения в модели требуют ручного обновления диаграммы.
Программное обеспечение для автоматического построения UML – диаграмм
Возможности:
- Генерация по коду: Программы могут анализировать исходный код (например, Java, C\#) и автоматически строить диаграммы классов, последовательностей и т.д.
- Интеграция с IDE: Генерация диаграмм из среды разработки (например, IntelliJ IDEA, Eclipse).
- Анализ баз данных: Построение диаграмм на основе схемы базы данных (ER – диаграмм).
- Обратное проектирование (reverse engineering): Генерация диаграмм из существующего ПО.
- Синхронизация: Автоматическое обновление диаграмм при изменении кода.
Примеры ПО:
- PlantUML
- Enterprise Architect
- Visual Paradigm
- Umbrello
Преимущества:
- Быстрота: автоматическое создание диаграмм экономит время.
- Снижение риска ошибок: диаграммы строятся на основе кода, что минимизирует расхождения между проектом и диаграммами.
- Подходит для крупных проектов: особенно полезно, если нужно визуализировать обширные системы.
Недостатки:
- Ограниченная кастомизация: автоматические диаграммы могут быть сложны для настройки.
- Требует знаний о синтаксисе языка моделирования или использования ПО.
- Может быть сложным для начинающих из-за необходимости настройки.
Построение UML – диаграмм программно в неспециализированных приложениях.
Возможности:
- Написание скриптов: создание диаграмм через код с использованием специальных библиотек (например, PlantUML, Graphviz).
- Гибкость интеграции: поддержка интеграции с CI/CD, генерации диаграмм в документацию.
- Масштабируемость: можно автоматизировать построение диаграмм для сложных систем или многократно используемых шаблонов.
- Взаимодействие с другими инструментами: встраивание диаграмм в документы, отчёты или веб – приложения.
Примеры инструментов:
- PlantUML
- Python – библиотеки (например, diagrams)
- Mermaid.js (для веб – интеграций)
Преимущества:
- Высокая автоматизация: диаграммы генерируются из описаний, что минимизирует ручной труд.
- Динамическое обновление: изменения в коде автоматически отражаются на диаграммах.
- Удобство работы в команде: можно интегрировать диаграммы в процессы разработки.
Недостатки:
- Необходимость программных навыков.
- Более низкая визуальная кастомизация, чем в специализированных инструментах.
- Могут быть сложности в отладке больших диаграмм.
Заключение
Некоторые недостатки работы с PlantUML:
- Сложности с обучением. Синтаксис простой, но пользователям, незнакомым с текстовым созданием диаграмм, может потребоваться время на освоение. Отсутствие графического интерфейса. Это может быть недостатком для тех, кто предпочитает создание диаграмм перетаскиванием элементов.
- Трудоёмкость работы со сложными диаграммами. Для очень сложных диаграмм текстовый синтаксис может быть громоздким и сложным в управлении. Ограничения рендеринга. Параметры стиля и форматирования менее гибкие, чем в некоторых специализированных графических инструментах для создания диаграмм.
- Низкая производительность. Для больших диаграмм процесс рендеринга текста в диаграмму может быть медленным.
- Проблемы с безопасностью. Использование PlantUML с опциями удалённого сервера может вызывать проблемы с безопасностью, особенно при работе с чувствительной информацией.
Некоторые недостатки работы с Mermaid:
- Ограничения по сложности диаграмм. Для очень сложных диаграмм Mermaid может не обеспечивать необходимую детализацию и гибкость.
- Проблемы с рендерингом. Могут возникать несоответствия рендеринга на разных платформах и в браузерах, что влияет на внешний вид и надёжность диаграмм.
- Необходимость глубокого понимания синтаксиса и структуры. Для создания сложных диаграмм может потребоваться более глубокое понимание синтаксиса и структуры.
- Ограниченная настройка. Mermaid может не предлагать уровень настройки, который доступен в некоторых специализированных инструментах для создания диаграмм, ограничивая эстетические и функциональные модификации.
- Зависимость от текстового ввода. Это может быть недостатком для тех, кто предпочитает интерфейсы перетаскивания элементов или визуальное редактирование на основе графического интерфейса.
Выбор между PlantUML и Mermaid зависит от конкретных требований и предпочтений пользователя.
Ручная отрисовка удобна для небольших проектов или презентаций, когда нужна высокая визуальная детализация.
- Автоматическое построение подходит для крупных проектов, где важна скорость и точность, а диаграммы нужны для анализа существующего кода.
- Программное построение лучше всего для автоматизации и интеграции в рабочие процессы, особенно в контексте DevOps и CI/CD.
Оба ключевых программных инструмента UML – решений работают на базе Chromium и дополняются пакетами репозитория на базе
Альт Образование.
- Ларман, К. Применение UML 2.0 и шаблонов проектирования : Введение в объектно – ориентированный анализ, проектирование и итеративную разработку : пер. с англ., К. Ларман, 978-5-907144-36-12019
- Галиаскаров, Э. Г. Анализ и проектирование систем с использованием UML : учебное пособие для вузов / Э. Г. Галиаскаров, А. С. Воробьёв. — Москва : Издательство Юрайт, 2023. — 125 с. — (Высшее образование). — ISBN 978-5-534-14903-6. — Текст : электронный // Образовательная платформа Юрайт сайт.
- UML Web Site — [1]
- https://cabinet.miem.hse.ru/project/2142/0/passport