Шесть программ для создания диаграмм. Обзор CASE-средств для построения диаграмм UML Программы для создания uml диаграмм
При разработке программной продукции необходимо помнить, что процесс реализации состоит как минимум из трех этапов:
- проектирование;
- реализация;
- тестирование;
Проектирование – является главным этапом разработки программного обеспечения. На основе, которого будет проходить реализация программы.
Одно из популярных средств, проектирования является язык 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 – универсальный язык для моделирования структуры программного обеспечения. Которое является неотъемлемой частью при проектировании структуры программного обеспечения, особенно при использовании объектно-ориентированного подхода.
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 системах.
Не такой, как все и не для всех. Здесь для создания диаграмм применяется простой (ага) и интуитивно понятный язык программирования.
Зато, когда вы разберётесь с языком, вы сможете создавать диаграммы любой сложности.
Разработка программного обеспечения (англ. 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 — сайт с описанием большого количества шаблонов проектирования
- Каталог шаблонов на сайте
Несколько месяцев назад мне поручили выбрать инструмент для проектирования и документации систем. В компании, где я работаю, всё это делалось в ворде и прочих офисных программах, а продукты, которые компания производит, становились всё более сложными, всё больше людей участвовало в разработке, и прочее. Поэтому появилась необходимость использовать какой-нибудь более подходящий инструмент для работы аналитиков, проектировщиков и разработчиков. Поделюсь находками.
После короткого ознакомления с подобными инструментами, были выделены 5, которые оценены более детально. При оценке, мы с коллегой выделили около 30 критериев, для объективности оценки. Критерии эти мы сгруппировали так:
- Проектирование системы
– даёт ли инструмент достаточно функциональности для документации требований, юс-кейсов, ОО проектирования и прочих UML диаграмм. Есть ли в нём функциональность для создания зависимости между объектами разных типов, возможность отслеживать изменения. Это – обязательный критерий для инструмента.
- Экспорт
– инструмент должен поддерживать удобный экспорт артефактов, произведённых в нём. Должны быть доступны разные форматы экспорта – хотя бы html и doc. Шаблоны документов должны легко модифицироваться. Это тоже обязательный критерий.
- Удобство пользования.
Инструмент должен быть удобным, интуитивно понятным, с простым интерфейсом для часто используемых функций.
- Минимизация рутины
. Было бы неплохо, чтобы инструмент делал некоторые вещи сам – например, генерировал тест-кейсы, объектный дизайн из БД, может, куски кода.
Итак, 5 инструментов и их оценка.
1. Case Complete
– инструмент для записи требований, создания юс-кейсов и связей между ними. Удобный интерфейс, экспорт, но один серьёзный минус – дальше юс-кейсов эта штука не идёт. Вообще непонятно, как она попала в наш список. 2 из 5.
2. Artiso Visual Case
– первое, что бросается в глаза при использовании этого инструмента – дико неудобный пользовательский интерфейс. Чтобы создать элементарный класс, мне понадобилось 5 минут. Кроме того, в инструменте нету возможности связывать объекты (как юс-кейс<->класс) и пр. 1 из 5.
3. Magic Draw
– у инструмента очень сильная сторона для UML, но из-за этого становиться немного неудобно. Ещё, там нет связи между разными объектами (как класс и activity и пр.). 3 из 5.
4. Sparx Enterprise Architect
– соответствует практически всем выдвинутым критериям, только что некоторые часто используемые функции куда-то спрятаны. Наверно, если привыкнуть - хорошо. Ещё, я у него не нашла, как связывать требования с объектами дизайна. Может, плохо искала. 4 из 5.
5. Sybase PowerDesigner
– первое впечатление после открытия программы – это совсем другой уровень. Все функции находятся именно там, где ожидаешь их найти, и этот инструмент удовлетворил все 30 критериев из описанных групп. Кроме того, в PowerDesigner есть куча очень полезных функций, которые не попали в список критериев – как например, оценка изменения(impact), проверка модели, Repository и многое другое. 5 из 5.
Вот сюда я выложила полное сравнение, если кому интересно.
Хотя PowerDesigner в разы дороже других, мы выбрали его. На сегодняшний день я его использую 2 месяца – если кому интересно, могу написать об этом - не всё в нём идеально(но близко!).
Наверно сразу спросите, почему в список не вошёл Rational Rose. Не люблю я его! Он некрасивый. И ещё, не смогла найти, где б его легально скачать. Но в принципе он хороший. Но PowerDesigner лучше