Редактор uml диаграмм. Диаграммы UML. Open source программы

Редактор uml диаграмм. Диаграммы UML. Open source программы
Редактор uml диаграмм. Диаграммы UML. Open source программы

UML (Unified Modeling Language - унифицированный язык моделирования) - язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация. Википедия

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

Microsoft Visio

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

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

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

Visio Viewer - бесплатная программа, которая позволяет просматривать созданные ранее Visio диаграммы. Загрузить можно по %D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5%20.

%0A

Microsoft%20Visual%20Studio%202010

%0A

%D0%A2%D0%B8%D0%BF:%20%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D1%80%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5%20%D0%9F%D0%9E%20(%D0%B5%D1%81%D1%82%D1%8C%20%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%B0%D1%8F%20Express%20%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F).

%0A

%D0%92%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D0%B5%D0%B9%20%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8%20Microsoft%20Visual%20Studio%202010%20%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D0%BB%D1%81%D1%8F%20%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%82%D0%B8%D0%BF%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%20-%20Modelling,%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82%20%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BB%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%20%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%82%D1%8C%20%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B5%20%D1%81%20%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%BE%20%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BE%D0%B9.

%0A

%D0%9F%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82%20%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20Sequence%20Diagram%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%BA%D0%BE%D0%B4%D0%B0,%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%81%D0%B2%D1%8F%D0%B7%D0%B8%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B5%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8,%20%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20%D1%82.%D0%B4.

%0A

%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20Use%20case%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B,%20%D0%BD%D0%B0%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%B2%20Visual%20Studio%202010:

%0A%0A

%D0%9A%D1%80%D0%BE%D0%BC%D0%B5%20%D1%82%D0%BE%D0%B3%D0%BE,%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B5%D0%BD%20Visualization%20and%20Modeling%20Feature%20Pack%20(%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%20MSDN),%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82:

%0A
  • %D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BE%D0%B4%20%D0%BD%D0%B0%20%D0%B1%D0%B0%D0%B7%D0%B5%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2
  • %0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B8%D0%B7%20%D0%BA%D0%BE%D0%B4%D0%B0
  • %0A
  • %D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2,%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9,%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%81%20XMI%202.1
  • %0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9%20%D0%B4%D0%BB%D1%8F%20ASP.NET,%20C%20%D0%B8%20C++%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
  • %0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%82%D1%8C%20layer%20diagrams%20%D0%B4%D0%BB%D1%8F%20C%20%D0%B8%20C++%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
  • %0A
  • %D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C%20%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8%20%D0%B4%D0%BB%D1%8F%20layer%20diagrams
  • %0A

%D0%A1%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C%20Visualization%20and%20Modeling%20Feature%20Pack%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BF%D0%BE%20%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5:%20http://msdn.microsoft.com/ru-ru/vstudio/ff655021%28en-us%29.aspx .

IBM Rational Rose

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

  • Use case diagram (диаграммы прецедентов);
  • Deployment diagram (диаграммы топологии);
  • Statechart diagram (диаграммы состояний);
  • Activity diagram (диаграммы активности);
  • Interaction diagram (диаграммы взаимодействия);
  • Sequence diagram (диаграммы последовательностей действий);
  • Collaboration diagram (диаграммы сотрудничества);
  • Class diagram (диаграммы классов);
  • Component diagram (диаграммы компонент).

Скриншоты:

Open source программы

StarUML

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

  • поддержка 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

Поддерживаемые диаграммы:

  • 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

Скриншот:

Когда-то по работе мне нужно было часто готовить диаграммы по различным поводам. Возможностей Excel часто не хватало и мне приходилось прибегать к более изощрённым способам. Поэтому в этой статье я решил вспомнить молодость и рассказать о шести полезных программах для создания диаграмм.

Dia

Dia - бесплатный редактор для создания графиков различной сложности.

Эта программа послужит крутой альтернативой для Microsoft Visio. Простой и понятный интерфейс, сотни фигур, поддержка баз данных и собственных фигур в XML или SVG. А ещё благодаря опенсорсному коду программа доступна на Windows, Mac и Linux.

Мощная программа для быстрого создания качественных диаграмм.

Доступно как ручное создание, так и импорт внешних данных. Встроенные алгоритмы программы быстро обрабатывают массив данных и автоматически визуализируют их. Программа доступна на Windows, Unix/Linux и Mac.

Ещё одна программа с открытым исходным кодом для создания диаграмм.

Pencil Project ориентирован на визуальное создание диаграмм (то есть не из массива данных). Встроенная коллекция форм и шаблонов поможет быстро выбрать нужный формат диаграммы. Ещё у программы большое сообщество энтузиастов, которые всегда готовы помочь с созданием графиков или ответить на вопросы о программе.

Альтернатива офисному пакету от Microsoft. А значит, тут есть всё.

Действительно, если вы привыкли делать графики в Visio или Excel, то первым делом стоит попробовать альтернативу в виде LibreOffice Draw. Здесь вы найдёте всё те же привычные инструменты и функции, просто в немного другой упаковке.

Подойдёт тем, кто хочет дёшево и сердито.

Минималистичный до безобразия интерфейс, единственная цель которого - создать диаграмму. Несмотря на кажущуюся простоту, здесь много функций. Поддерживается импорт и экспорт данных, автоматический расчёт формул и многое другое.
Есть портабельная версия, но поддерживается работа только на Windows системах.

Не такой, как все и не для всех. Здесь для создания диаграмм применяется простой (ага) и интуитивно понятный язык программирования.

Зато, когда вы разберётесь с языком, вы сможете создавать диаграммы любой сложности.

При разработке программной продукции необходимо помнить, что процесс реализации состоит как минимум из трех этапов:

  • проектирование;
  • реализация;
  • тестирование;

Проектирование – является главным этапом разработки программного обеспечения. На основе, которого будет проходить реализация программы.

Одно из популярных средств, проектирования является язык UML . Данный язык является универсальным и обладает необходимыми методами и функциями для генерации созданной схемы в язык программирования. Использование UML позволяет упростить этап проектирования и сделать его более удобным.

Для UML проектирования, существуют специальные редакторы, способные сгенерировать спроектированную схему в один из языков программирования. Т.е. преобразовать созданные классы и методы, спроектированные в схеме редактора UML в один из языков программирования, к примеру, в С++. После чего необходимо будет только реализовать методы, и воспользоваться ими.

Редакторы UML

Произвести анализ всех средств проектирования на основе UML не возможно, ниже приведены несколько часто-использованных редакторов.

1. Star UML

UML редактор для проектирования взаимосвязанных классов приложения, является CASE средством.

Данный редактор, является бесплатным, обладает рядом функций для проектирования взаимосвязанных классов, генерации диаграмм в один из языков программирования (С++, С#, Java).

UML редактор StarUML – пакет, реализованный на языке программирования Delphi, имеет открытый исходный код, разработан по ОС Windows.

Поддерживает UML 2.0 (расширена для поддержки методологии Model Driven Development ) и Model Driven Architecture (построении абстрактной метамодели управления и обмена метаданными (моделями) и задании способов ее трансформации в поддерживаемые технологии программирования.

Повысить функциональность UML редактора StarUML – можно за счет плагинов, модулей. Более подробно об использовании данной программы можно прочитать из руководства / на русском языке.

2. Apollo

Apollo – это модуль, поддерживающий UML проектирование разработанный под Eclipse. Одним из главных достоинств этого модуля является, то что программиста появляется возможность динамически создавать и параллельно редактировать код модели в одной среде (Eclipse).

Возможности данного модуля позволяют проводить реверс инжиниринг в обе стороны, поддерживает Java 6, UML 2.1. Позволяет обрабатывать вышестоящие диаграммы в иерархии.

1. Rational Rose

UML редактор Rational Rose для ОС UNIX/Linux, является лидером среди средств визуального моделирования. Программа проста в использовании и является полностью интегрированным решением для разработки программного обеспечения, включая интернет решения.

Одним из достоинств данной программы является интегрирование с средой Microsoft Visual Studio. Rational Rose является широкопрофильным ПО так как предоставляет возможность реализовывать проекты c использованием COM/ATL, XML, ADO MTS. Проводит обратное проектирование семантики JSP и ASP файлов. Поддерживает модели WinDNA и J2EE/SE/ME.

Данное программное обеспечение может инженерами программного обеспечения, аналитиками (включая и бизнес-аналитику), веб-разработчиками, разработчиками и проектировщиками БД.

В заключении

UML – универсальный язык для моделирования структуры программного обеспечения. Которое является неотъемлемой частью при проектировании структуры программного обеспечения, особенно при использовании объектно-ориентированного подхода.

Разработка программного обеспечения (англ. software engineering, software development) — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.

Системы управления версиями

Система управления версиями (от англ. Version Control System или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости, возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение и многое другое.

  • RCS — устаревшая. Потомок: CVS
  • CVS — устаревшая. Потомок: Subversion

Инструменты UML-моделирования (Разработка диаграмм классов и др.)

UML (сокр. от англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация

Бесплатные программы

  • для C# и Java (простая и интуитивно понятная программа, есть русифицированная версия)
  • Acceleo - основанная на Eclipse и EMF шаблонная система для генерации исходного кода из UML моделей.
  • ArgoUML написано на языке Java
  • Astade - платформо-независимое UML-средство на основе wxWidgets.
  • ATLAS Transformation Language - QVT-инструмент, который способен трансформировать UML модели в другие модели. Доступно из Eclipse GMT project (Generative Modeling Tools).
  • BOUML - мультиплатформенное UML 2.0 средство, генерирует код C++/Java/IDL/PHP/Python. Очень высокая производительность (написано на C++, на Qt). Лицензия GNU GPL.
  • Dia : GTK+/GNOME средство для построения диаграмм, которое также поддерживает UML (Лицензия GNU GPL)
  • - GTK+/GNOME среда моделирования UML 2.0, написанная на Python
  • Kivio - часть проекта KOffice
  • NetBeans - с NetBeans IDE 5.5 Enterprise Pack
  • : программа для составления диаграмм UML для KDE
  • Software Ideas Modeler : средство моделирования UML, написанное на C#
  • : UML/MDA платформа для Microsoft Windows с открытым исходным кодом, выпущенная по модифицированной версии GNU GPL; написана в основном на Delphi
  • Rhapsody Modeler : бесплатная версия Rhapsody для создания UML моделей для встраиваемых систем реального времени
  • UML Pad - средство моделирования UML, написанное на C++/wxWidgets (лицензия GNU GPL)

Распространенные коммерческие системы

  • Gentleware Poseidon - удобное средство моделирования, есть русифицированная версия
  • MagicDraw - есть русифицированная версия
  • Microsoft Visio - редактор диаграмм для Windows
  • Sybase PowerDesigner — полнофункциональный инструментарий для создания бизнес-приложений.
  • Telelogic Rhapsody - среда разработки на основе визуального моделирования для разработчиков встраиваемых систем реального времени

Шаблоны проектирования

Шаблоны проектирования , паттерн (англ. design pattern) — это многократно применяемая архитектурная конструкция, предоставляющая решение общей проблемы проектирования в рамках конкретного контекста и описывающая значимость этого решения. Паттерн не является законченным образцом проекта, который может быть прямо преобразован в код. Это описание или образец для того, как решить задачу таким образом, чтобы это можно было использовать в различных ситуациях. Объектно-ориентированные шаблоны зачастую показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться.

  • Ольга Дубина Обзор паттернов проектирования — Обзор нескольких наиболее значительных монографий, посвященных паттернам проектирования информационных систем.
  • Portland Pattern Repository — список шаблонов проектирования на движке вики
  • mgrand’s book — сайт с описанием большого количества шаблонов проектирования
  • Каталог шаблонов на сайте

Возможности программы легко расширить путем введения новых символов, определяемых в XML-файлах с помощью подмножества тегов SVG для изображения фигур. Dia может загружать и сохранять диаграммы в своем XML-формате ( по умолчанию - сжимаемом gzip для экономии места), может экспортировать диаграммы в EPS- или SVG -формат и печатать их (включая разбивку на несколько страниц).

Dia - самая простая программа в этом обзоре. Она работает под управлением Linux в среде Gnome, требует библиотек gtk+ и glib. Существует порт Dia для Windows , который производит в целом приятное впечатление. Несмотря на то что программа еще не дошла до стадии финального релиза, Dia уже существует в состоянии, пригодном для использования, и продукт все время динамично развивается. Да, кстати, Dia поддерживает множество языков и региональных стандартов, в том числе и русский с украинским.

Интерфейс Dia похож на интерфейс других "гномьих" приложений, в частности Gimp. Этот стиль интерфейса, когда панель инструментов , рабочая область и другие элементы организованы в виде отдельных окон, немного непривычен для глаз пользователей Windows . Но главное - Dia абсолютно бесплатна! Вы можете загрузить с домашней страницы и исполняемый файл , и исходные коды, можете вносить изменения в код, распространять его и т. д. (рис. 7.12).


Рис. 7.12.

В общем, если ваш девиз "чем проще, тем лучше", то Dia - это ваш лучший выбор. Для получения же дополнительной информации мы можем посоветовать посетить такие сайты:

  • http://www.gnome.org/projects/dia/home.html Официальный сайт продукта, где не так много информации, но все же кое-что полезное найти можно, в частности мануал и FAQ по Dia (на англ. языке).
  • http://www.gnome.org/projects/dia/faq.html А это тот самый FAQ по продукту.

Telelogic TAU G2

И наконец, TAU G2 от Telelogic. Это легендарное средство моделирования, которое сочетает в себе мощь и простоту использования, а также предоставляет уникальную возможность начальной верификации и симуляции создаваемых моделей. Почему мы говорим "легендарное"? Да потому, что все профессионалы слышали о TAU, но почти никто его не видел и не пробовал в работе! Не видели его и мы, пока компания Telelogic любезно не предоставила нам свой продукт для использования в учебных целях.

Интерфейс программы, правда, не блещет особой красотой в стиле Windows XP и выглядит даже слегка архаично, но, как оказалось, действительно очень удобен и интуитивно понятен (рис. 7.13):

TAU позволяет создавать все виды диаграмм UML 2.0, проверять их корректность и синтаксическую правильность, симулировать выполнение диаграмм, экспортировать и печатать диаграммы и многое другое… Работает это чудо на таких платформах, как:

  • Windows 2000 Professional,
  • Windows XP,
  • Sun Solaris,
  • Redhat Enterprise Linux,
  • Citrix XPe.

Поддерживаются такие компиляторы:

  • Microsoft Visual Studio .NET,
  • Wind River Systems C/C++,
  • gnu gcc,
  • Sun Studio 8 C/C++,
  • Java SDK**,
  • Green Hills MULTI C, C++. TAU интегрируется в такие среды, как Microsoft Visual Studio .NET и Eclipse.

Что же касается редакций пакета, то по большому счету (не считая специализированных версий) их три:

  • TAU/Model Author

    Это продвинутая среда моделирования UML 2.0, включающая проверку синтаксиса и семантики, что позволяет планировщикам и архитекторам создавать точные, простые для понимания и логичные спецификации.

  • TAU/Architect

    Добавлена поддержка SysML , динамической симуляции выполнения моделей и их верификации, что позволяет системным инженерам, архитекторам, разработчикам, тестерам, QA-инженерам контролировать правильность дизайна, обнаруживать и решать проблемы еще до написания кода.

  • TAU/Developer

    Добавлена кодогенерация для C, C++ или Java, что позволит разработчикам работать более эффективно.

К сожалению, у Telelogic нет никаких демо- или пробных версий с ограниченной функциональностью. Вы можете только купить их продукты или получить полнофункциональную версию на совсем не обременительных условиях для использования в учебном процессе. А продукт действительно весьма неплохой.

Подробности можно узнать на корпоративном сайте Telelogic:

  • http://www.telelogic.com Официальный сайт продукта, содержащий море информации по продуктам Telelogic, UML, OOAП и программной инженерии вообще (на англ. языке).
  • http://www.telelogic.com/corp/products/tau/index.cfm А это раздел сайта, посвященный TAU. Здесь можно найти описание продукта, обзор функциональности, спецификации и много других дополнительных материалов.

StarUML

В последний момент мы решили написать здесь о StarUML. Внимательный читатель, конечно, заметил, что, начиная с лекции о диаграммах классов, вид диаграмм в этом курсе изменился. Почему? Да просто потому, что автору этих строк попалось на глаза замечательное (и к тому же абсолютно бесплатное) средство UML -моделирования - StarUML. Этот пакет сразу же стал нашим фаворитом.

StarUML - это пакет с открытым программным кодом, написанный на Delphi и работающий под управлением ОС семейства Windows . StarUML поддерживает UML 2.0 (плюс его профайлы) и MDA ( Model Driven Architecture - см. "Википедию"!). Функционал пакета можно расширить за счет использования плагинов, так что каждый желающий может создать свой собственный модуль для StarUML на любом COM -совместимом языке (C++, Delphi, C#, ...). На сайте проекта доступны для загрузки несколько модулей, добавляющих поддержку ER-диаграмм (Entity-Relation Diagram ), некоторых профайлов UML , например SPEM ( Software Process Engineering Metamodel), WAE ( Web Application Extension ), интеграцию с MS Word и др.

Конек StarUML - это его юзабилити . Интерфейс пакета не может похвастаться красивыми разноцветными "пластмассовыми" элементами управления, как java -программы, рассмотренные выше, но очень удобен и интуитивно понятен. Больше всего StarUML напоминает... Microsoft Visual Studio ( Enterprise Architect тоже чем-то напоминал MSVS, но здесь мы видим просто шедевр имитации). Да уж, воистину, почему бы и не позаимствовать удачные интерфейсные решения? В целом же, считаем, StarUML с успехом может заменить такие коммерческие программы, как рассмотренные выше Rational Rose, Together или TAU G2. Вы спросите: "А как же кодогенерация ?". Отвечаем - кодогенерация тоже есть. "Прямо из коробки" пакет способен выполнять кодогенерацию на языках C++, C#, Java . А если использовать шаблоны, имеющиеся на сайте StarUML, то можно добавить поддержку PHP и некоторых других языков (рис. 7.14).

Кстати, чуть выше мы упоминали про интеграцию с MS Word . Кроме "ворда", StarUML способен создавать документацию в виде текстовых файлов, файлов MS Excel и MS PowerPoint. Впечатляет? А еще есть импорт из Rational Rose! Другими словами, автор этих строк просто очарован StarUML.

И снова мы отправляем читателя на сайт программы:

  • Страница описания программы, ее возможностей, истории создания и особенностей лицензии (на англ. языке).
  • А это раздел сайта, который посвящен модулям, расширяющим функциональность StarUML. Обязательно загляните сюда!
  • Описание и ссылки для скачивания дополнительных шаблонов к StarUML, позволяющих расширить возможности кодогенерации и создания документации.
  • Страница, содержащая ссылки на документацию к StarUML, в том числе и на русском языке!

Выводы

В презентации, по которой написана эта лекция, автор приводит таблицу, где всем рассмотренным программам выставлены субъективные оценки по 10-бальной шкале. Причем оцениваются возможности визуализации, простота освоения, удобство интерфейса и дается краткая характеристика "одной строкой". Здесь же мы воздержимся от каких-либо оценок (кроме тех, что неявно прозвучали в тексте лекции), предоставив право решать "кто лучше, а кто хуже" самому читателю. Итак, что же мы поняли, изучив материал этой лекции:

  • На данный момент на рынке присутствует огромное количество и полноценных средств UML-моделирования, и программ для рисования диаграмм, в том числе и UML.
  • Такие продукты, как Borland Together, Poseidon, StarUML и Dia , могут быть загружены с сайта производителя абсолютно бесплатно.
  • StarUML выглядит наиболее функциональным из бесплатных продуктов и может служить полноценной заменой коммерческим программам для UML-моделирования.
  • Для использования в качестве справочника идеально подходит Zicom Mentor от Sparx Systems, который также может быть получен абсолютно бесплатно.
  • Выбор средства UML-проектирования - вопрос сложный и неоднозначный, и решить его каждый должен для себя сам, исходя из своих потребностей, уровня знаний и т. д.

Упражнения

  • Постройте UML-диаграммы ПО, автоматизирующего процесс покупки товара в магазине отделочных материалов с отдельным складом. Этот процесс можно описать так. Продавец выписывает клиенту ордер, где указывает код товара, его наименование и количество. Клиент оплачивает в кассе стоимость товара. Для этого кассир должна найти в БД товар по его коду и подсчитать его стоимость. В результате клиент получает кассовый чек и накладную для получения товара на складе и едет на склад. Там он вручает накладную кладовщику, который отыскивает товар по его коду и отпускает клиенту нужное его количество. После этого кладовщик делает отметку в книге учета товаров о том, что товар отпущен и его количество соответственно уменьшилось.
  • Для построения диаграмм воспользуйтесь такими CASE-средствами:
    • диаграмма прецедентов - Together;
    • диаграмма классов - Poseidon;
    • диаграмма последовательности - SmartDraw;
    • диаграмма состояний - StarUML.