Инструменты для рисования UML-диаграмм
UML (Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация.
Википедия
Коммерческие продукты
Microsoft Visio
Тип: коммерческое ПО
Популярный программный продукт от компании Microsoft, который позволяет рисовать богатые диаграммы, в том числе UML:
Начиная с 2010 версии появилась возможность публиковать диаграммы в вебе (SharePoint + Visio Services):
Загрузить бета-версию Microsoft Visio Premium 2010
Visio Viewer - бесплатная программа, которая позволяет просматривать созданные ранее Visio диаграммы. Загрузить можно по Microsoft Visual Studio 2010
Тип: коммерческое ПО (есть бесплатная Express версия).
В последней версии Microsoft Visual Studio 2010 появился новый тип проекта - Modelling, который позволяет рисовать различные UML диаграмма и проверять написанные решения на соответствие с необходимо архитектурой.
Позволяет генерировать Sequence Diagram на основании кода, визуализировать связи в проекте между компонентами, сборками и ссылками и т.д.
Пример Use case диаграммы, нарисованной в Visual Studio 2010:
Кроме того, доступен Visualization and Modeling Feature Pack (для подписчиков MSDN), который позволяет:
- генерировать код на базе UML диаграмм классов
- создавать UML диаграммы из кода
- импортировать UML диаграммы классов, диаграммы последовательностей, диаграммы вариантов использования с XMI 2.1
- создавать диаграммы зависимостей для ASP.NET, C и C++ проектов
- создавать и проверять layer diagrams для C и C++ проектов
- писать собственные проверки для layer diagrams
Скачать Visualization and Modeling Feature Pack можно по ссылке: http://msdn.microsoft.com/ru-ru/vstudio/ff655021%28en-us%29.aspx.
IBM Rational Rose
Сайт: http://www-01.ibm.com/software/awdtools/developer/rose/
Возможности:
- Use case diagram (диаграммы прецедентов);
- Deployment diagram (диаграммы топологии);
- Statechart diagram (диаграммы состояний);
- Activity diagram (диаграммы активности);
- Interaction diagram (диаграммы взаимодействия);
- Sequence diagram (диаграммы последовательностей действий);
- Collaboration diagram (диаграммы сотрудничества);
- Class diagram (диаграммы классов);
- Component diagram (диаграммы компонент).
Скриншоты:
Open source программы
StarUML
Тип: open source
Сайт: http://staruml.sourceforge.net/en/index.php
Возможности:
- поддержка UML 2.0
- MDA (Model Driven Architecture)
- Plug-in Architecture (писать можно на COM совместимых языках: C++, Delphi, C#, VB, ...)
StarUML написана, в основном, на Delphi, но дописывать компоненты можно и на других языках, например C/C++, Java, Visual Basic, Delphi, JScript, VBScript, C#, VB.NET. Ниже показано несколько скриншотов.
Диаграмма классов:
Use case диаграмма:
ArgoUML
Тип: open soure
Сайт: http://argouml.tigris.org/
Поддерживаемые диаграммы:
- Class
- State
- Use case
- Activity
- Collaboration
- Deployment
- Sequence
Возможности:
- Поддержка девяти UML 1.4 диаграмм
- Платформонезависимая (Java 5+)
- Стандартная метамодель UML 1.4
- Поддержка XMI
- Экспорт в GIF, PNG, PS, EPS, PGML и SVG
- Языки: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
- Поддержка OCL
- Forward, Reverse Engineering
Скриншот:
Violet UML Editor
Тип: open source
Сайт: http://alexdp.free.fr/violetumleditor/page.php
Возможности:
-
use-case diagram
-
class diagram
-
activity diagram
-
sequence diagram
-
state diagram
-
object diagram
- интеграция с Eclipse
Написана на Java, скриншоты:
Astah Community 6.1
Тип: open source
Сайт: http://astah.change-vision.com/en/product/astah-community.html
Возможности:
- UML 2.1 (Class, UseCase, Sequence, Activity, Communication, Statemachine, Component, Deployment, Composite Structure, Object and Package Diagrams)
- Suggest Feature
- Alignment, Size adjustment
- Экспорт в PNG, JPEG
- astah API (Models of Class, UseCase, Activity, Sequence и Statemachine Diagrams)
- Локализация GUI
Скриншоты:
BOUML
Тип: open source
Сайт: http://bouml.free.fr/
Возможности:
- поддержка UML 2.0
- генерация кода на С++, Java, Idl, Php, Python
- работает под управлением Unix/Linux/Solaris/Mac OS X/Windows
- plug-in архитектура (можно писать на С++, Java)
Скриншоты:
UMLet 10.4
Тип: open source
Сайт: http://www.umlet.com/
Возможности:
- экспорт диаграмм в eps, pdf, jpg, svg и буфер обмена clipboard
- управление доступом через Eclipse
- возможность создания новых UML элементов
- работает под управлением Windows, Mac OS, Linux
Скриншоты:
UMLGraph
Тип: open source
Сайт: http://www.umlgraph.org/
Возможности:
- позволяет рисовать диаграммы классов и диаграммы последовательностей
- поддержка PNG, PNM, (pseudo)GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, TEK
В результате написания следующего кода:
1 2 3 4 5 6 7 | class Person { String Name; } class Employee extends Person {} class Client extends Person {} |
мы получим такую диаграмму:
Следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Define the objects object (O, "o:Toolkit" ); placeholder_object(P); step(); # Activation and messages active(O); message(O,O, "callbackLoop()" ); create_message(O,P, "p:Peer" ); message(O,P, "handleExpose()" ); active(P); return_message(P,O, "" ); inactive(P); destroy_message(O,P); inactive(O); # Complete the lifeline of O step(); complete(O); |
нарисует:
Dia
Тип: open source
Сайт: http://live.gnome.org/Dia
Dia - GTK+ программа для GNU/Linux, Unix и Windows под лицензией GPL.
Скриншоты:
Выбор UML диаграммы.
Одно из рабочих окон Dia
Редактирование свойств классов
Окно для редактирования коллекций объектов
Плагины к IDE
Visual Paradigm SDE for Visual Studio
Тип: бесплатное ПО (Community Edition)
Сайт: https://www.visual-paradigm.com/product/sde/vs/editions/community.jsp
Возможности:
- Use Case modeling
System analysis and design
Plug-in architecture
Скриншоты:
tangible T4 Editor plus UML modeling Tools for Visual Studio (2008/2010)
Тип: бесплатное ПО
Сайт: http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html
tangible T4 Editor поставляется вместе с инструментами UMLи позволяет генерировать диаграммы, схемы базы данных на базе xml, word, excel и других источников данных.
Скриншоты:
NetBeans IDE UML
Сайт: http://netbeans.org/features/uml/
UML плагин к NetBeans IDE:
- импорт NetBeans UML проектов
- возможность командной работы
- кодогенерация для Java, C++, PHP
Скриншоты:
Eclipse UML2 Tools
Сайт: http://www.eclipse.org/modeling/mdt/?project=uml2tools
Возможности:
- Structure diagrams
- Class
- Profile definition
- Composite structures
- Component
- Deployment
- Behavior diagrams
- Activity
- State machine
- Use Case
- Interaction diagrams
- Sequence
- Timing
Онлайновские UML инструменты
WebSequenceDiagrams
Сайт: http://www.websequencediagrams.com/
Создание простых диаграмм:
yUML
Сайт: http://yuml.me/diagram/scruffy/class/draw
Cоздание простых UML диаграмм для блогов, вики, форумов, баг-трекинг систем и электронной почты.
zOOml
Сайт: http://www.zooml.com/
В статье использовались материалы DevCurry.
Спасибо за внимание!
Upd. Инструменты, которые были добавлены в комментариях:
Компании из статьи
Intellias | ![]() |
Gentleware Ukraine | ![]() |
Microsoft Украина | ![]() |