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

воскресенье, 13 июня 2010, Александр Краковецкий

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 (диаграммы компонент). 

Скриншоты:

http://www.intellias.com/en/methodology/crm-objectmodel.gif

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

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

class Person {
	String Name;
}

class Employee extends Person {}

class Client extends Person {}

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

Simple UML 
class diagram

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

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

нарисует:

Simple UML 
sequence diagram

Dia

Тип: open source

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

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

Скриншоты:

palette.png

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

diagram.png

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

properties.png

Редактирование свойств классов

sheet_editor.png

Окно для редактирования коллекций объектов

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

Скриншоты:

http://www.tangible-engineering.com/getblob.ashx?id=21&origfilename=WindowsLiveWriter/T4EditorVisualT4Editing.html_1421B/image_6.png

http://www.tangible-engineering.com/getblob.ashx?id=23&origfilename=WindowsLiveWriter/T4EditorVisualT4Editing.html_1421B/image_4.png

http://www.tangible-engineering.com/getblob.ashx?id=27&origfilename=WindowsLiveWriter/T4EditorVisualT4Editing.html_1421B/image_10.png

NetBeans IDE UML

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

UML плагин к NetBeans IDE:

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

Скриншоты:

http://netbeans.org/images_www/v6/5/screenshots/uml.png

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/

screenshot

В статье использовались материалы DevCurry.

Спасибо за внимание!

Upd. Инструменты, которые были добавлены в комментариях:

Компании из статьи


Intellias


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

Intellias Intellias - сучасна та ефективна ІТ-компанія з офісами у Швейцарії та Україні. Працюють з 2002 року, за цей час реалізували понад 250 проектів. В 2006 році компанія була сертифікована на відповідність...

Gentleware Ukraine


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

Gentleware Ukraine Компания является экспертом в области моделирования программного обеспечения. Основные направления: разработка продуктов для моделирования программного обеспечения (UML продукты); ведение и реализация...

Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии