Статьи

Инструменты для рисования UML-диаграмм

в рубрике Другое, Технологии

Автор статьи: Александр Краковецкий
(блог автора)
В этой статье приводится обзор средств, предназначенных для создания UML-диаграмм.

Коммерческие продукты

Microsoft Visio

Тип: коммерческое ПО

Популярный программный продукт от компании Microsoft, который позволяет рисовать различные диаграммы, в том числе UML:

Диаграмма UML в Microsoft Visio

Диаграмма UML в Microsoft Visio

Начиная с 2010 версии появилась возможность публиковать диаграммы в вебе (SharePoint + Visio Services):

Публикация UML-диаграмм

Публикация UML-диаграмм

Для просмотра диаграмм можно использовать Visio Viewer — бесплатную программу, которая позволяет просматривать созданные ранее в Visio диаграммы. Загрузить ее можно по этой ссылке.

Microsoft Visual Studio 2010

Тип: коммерческое ПО (есть бесплатная Express-версия).

В последней версии Microsoft Visual Studio 2010 появился новый тип проекта — Modeling, который позволяет рисовать различные UML-диаграммы и проверять написанные решения на соответствие с необходимой архитектурой.

Он позволяет генерировать диаграммы последовательностей на основании кода, визуализировать связи в проекте между компонентами, сборками и ссылками и т.д. 

Новый тип проекта (Modeling) в Microsoft Visual Studio 2010

Новый тип проекта (Modeling) в Microsoft Visual Studio 2010

Пример Use case диаграммы, нарисованной в Visual Studio 2010:

Диаграмма варианта использования, нарисованная в Visual Studio 2010

Диаграмма варианта использования, нарисованная в 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 (диаграммы компонент). 

Внешний вид интерфейса:

Модель объектов в Rational Rose

Модель объектов в Rational Rose

rose24

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. Ниже показано несколько скриншотов.

Диаграмма классов

Диаграмма классов

Диаграмма вариантов использования

Диаграмма вариантов использования

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

Внешний вид интерфейса:

welcome_screenshot_0_26

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, внешний вид интерфейса:

quicktour-small-sample-01

quicktour-small-sample-02

quicktour-small-sample-03

quicktour-small-sample-04

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

Внешний вид интерфейса:

sequencediagram_com-e

classdiagram_com-e1

BOUML

Тип: open source

Сайт: http://bouml.free.fr/

Возможности:

  • поддержка UML 2.0
  • генерация кода на С++, Java, Idl, Php, Python
  • работает под управлением Unix/Linux/Solaris/Mac OS X/Windows
  • plug-in архитектура (поддерживаемые языки: С++, Java)

Внешний вид интерфейса:

all_medium

usecasediagramdrawing1

sequencediagramdrawing

state1

UMLet 10.4

Тип: open source

Сайт: http://www.umlet.com/

Возможности:

  • экспорт диаграмм в eps, pdf, jpg, svg и буфер обмена clipboard
  • управление доступом через Eclipse
  • возможность создания новых UML элементов
  • работает под управлением Windows, Mac OS, Linux

Внешний вид интерфейса:

11

3

5

UMLGraph

Тип: open source

Сайт: http://www.umlgraph.org/

Возможности:

  • позволяет рисовать диаграммы классов и диаграммы последовательностей
  • поддержка
    PNG, PNM, (pseudo)GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, TEK

В результате написания следующего кода:

class Person {
String Name;
}
class Employee extends Person {}
class Client extends Person {}

мы получим такую диаграмму:

class-eg

Следующий код:

# 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);

нарисует:

seq-eg

Dia

Тип: open source

Сайт: http://live.gnome.org/Dia

Dia - GTK+ программа для GNU/Linux, Unix и Windows под лицензией GPL.

Внешний вид интерфейса:

Выбор UML диаграммы

Выбор UML диаграммы


Одно из рабочих окон Dia

Одно из рабочих окон 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

Внешний вид интерфейса:

07_using_reference_class_in_sd
11_rename

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 и других источников данных.

Внешний вид интерфейса:

getblobashx
getblob
getblob1

NetBeans IDE UML

Сайт: http://netbeans.org/features/uml/

UML плагин к NetBeans IDE:

  • импорт NetBeans UML проектов
  • возможность командной работы
  • кодогенерация для Java, C++, PHP

Внешний вид интерфейса:

uml

Eclipse UML2 Tools

Сайт: http://www.eclipse.org/modeling/mdt/?project=uml2tools

Возможности:

Партнеры

Microsoft ITONLINE Group ScrimTrek IT Trainings

© Careerlab, ITONLINE GROUP 2012 Команда Software People

+7 (495) 933-01-33

team@softwarepeople.ru