Несколько месяцев назад мне поручили выбрать инструмент для проектирования и документации систем. В компании, где я работаю, всё это делалось в ворде и прочих офисных программах, а продукты, которые компания производит, становились всё более сложными, всё больше людей участвовало в разработке, и прочее. Поэтому появилась необходимость использовать какой-нибудь более подходящий инструмент для работы аналитиков, проектировщиков и разработчиков. Поделюсь находками.
После короткого ознакомления с подобными инструментами, были выделены 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 лучше
При разработке программной продукции необходимо помнить, что процесс реализации состоит как минимум из трех этапов:
Проектирование – является главным этапом разработки программного обеспечения. На основе, которого будет проходить реализация программы.
Одно из популярных средств, проектирования является язык 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 – универсальный язык для моделирования структуры программного обеспечения. Которое является неотъемлемой частью при проектировании структуры программного обеспечения, особенно при использовании объектно-ориентированного подхода.
3.9KКогда речь идет о программах для создания диаграмм, де-факто стандартом является Microsoft Visio . Но с учетом того, что версия Standard edition стоит около 300 долларов США на 1 ПК, а версия «Про » вдвое больше, некоторые захотят найти бесплатную альтернативу этому UML редактору.
В этой статье мы рассмотрим пять лучших бесплатных и простых в использовании инструментов для создания диаграмм сети.
Draw.io
Нажмите кнопку «Больше фигур », расположенную в левой части экрана, чтобы выбрать другие фигуры, обозначающие сетевые устройства, из предустановленных категорий. С помощью «Электронного блокнота » можно добавлять собственные изображения, перетаскивая их, импортируя из файлов или указывая URL-адрес изображения .
LibreOffice Draw
LibreOffice Draw работает на Windows , Linux и Mac OS X .
Совет. LibreOffice Portable позволяет запускать любые инструменты с USB-устройств , локального жесткого диска или из облака.
Чтобы начать работу с редактором UML диаграмм, нужно загрузить и установить пакет иконок топологии сети, доступный в виде расширения. К популярным расширениям относятся VRT Network Equipment и Cisco Network Topology Icons .
Чтобы установить расширение, перейдите в Инструменты — Диспетчер расширений — Добавить , а затем выберите загруженный файл и он автоматически добавится в список расширений.
Если есть собственные иконки или изображения, которые вы хотите использовать в диаграмме, их можно добавить в галерею. Откройте «Галерею », кликнув иконку в правой стороне экрана, или перейдите в меню Вставка — Мультимедиа — Галерея клипартов . Здесь можно создать папку «Новая тема » и добавить в нее свои изображения или иконки.
LucidChart Free
Зарегистрировав бесплатную учетную запись, вы получите доступ ко всему, что нужно для создания основных сетевых диаграмм непосредственно из браузера. У бесплатной учетной записи UML редактора есть некоторые ограничения. В том числе ограничение по количеству объектов в одной диаграмме (максимум 60 ). Также нельзя экспортировать диаграммы в формат Visio и просматривать историю изменений.
При создании нового документа кликните по иконке, расположенной рядом с фигурами слева, чтобы добавить в библиотеку другие фигуры. Можно поискать в Сети другие фигуры, изображения или иконки; импортировать собственные изображения, нажав на иконку лупы, расположенную в верхней левой части экрана.
Dia Diagram Editor
Dia Diagram Editor работает на Windows , Linux и Mac OS X .
Чтобы импортировать на диаграмму собственные изображения, нажмите кнопку «Изображение », расположенную в левой верхней части экрана, а затем дважды кликните в любом месте диаграммы. На экране появится окно, в котором можно просмотреть доступные для вставки изображения.
yEd Graph Editor
YEd работает на Windows , Linux и Mac OS X .
UML (Unified Modeling Language - унифицированный язык моделирования) - язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация. Википедия
Тип: коммерческое ПО
Популярный программный продукт от компании Microsoft, который позволяет рисовать богатые диаграммы, в том числе UML:
Начиная с 2010 версии появилась возможность публиковать диаграммы в вебе (SharePoint + Visio Services):
Visio Viewer - бесплатная программа, которая позволяет просматривать созданные ранее Visio диаграммы. Загрузить можно по %D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5%20.
%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%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 .
Возможности:
Скриншоты:
Возможности:
StarUML написана, в основном, на Delphi, но дописывать компоненты можно и на других языках, например C/C++, Java, Visual Basic, Delphi, JScript, VBScript, C#, VB.NET. Ниже показано несколько скриншотов.
Диаграмма классов:
Use case диаграмма:
Поддерживаемые диаграммы:
Возможности:
Скриншот:
Возможности программы легко расширить путем введения новых символов, определяемых в 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 - это ваш лучший выбор. Для получения же дополнительной информации мы можем посоветовать посетить такие сайты:
И наконец, TAU G2 от Telelogic. Это легендарное средство моделирования, которое сочетает в себе мощь и простоту использования, а также предоставляет уникальную возможность начальной верификации и симуляции создаваемых моделей. Почему мы говорим "легендарное"? Да потому, что все профессионалы слышали о TAU, но почти никто его не видел и не пробовал в работе! Не видели его и мы, пока компания Telelogic любезно не предоставила нам свой продукт для использования в учебных целях.
Интерфейс программы, правда, не блещет особой красотой в стиле Windows XP и выглядит даже слегка архаично, но, как оказалось, действительно очень удобен и интуитивно понятен (рис. 7.13):
TAU позволяет создавать все виды диаграмм UML 2.0, проверять их корректность и синтаксическую правильность, симулировать выполнение диаграмм, экспортировать и печатать диаграммы и многое другое… Работает это чудо на таких платформах, как:
Поддерживаются такие компиляторы:
Что же касается редакций пакета, то по большому счету (не считая специализированных версий) их три:
Это продвинутая среда моделирования UML 2.0, включающая проверку синтаксиса и семантики, что позволяет планировщикам и архитекторам создавать точные, простые для понимания и логичные спецификации.
Добавлена поддержка SysML , динамической симуляции выполнения моделей и их верификации, что позволяет системным инженерам, архитекторам, разработчикам, тестерам, QA-инженерам контролировать правильность дизайна, обнаруживать и решать проблемы еще до написания кода.
Добавлена кодогенерация для C, C++ или Java, что позволит разработчикам работать более эффективно.
К сожалению, у Telelogic нет никаких демо- или пробных версий с ограниченной функциональностью. Вы можете только купить их продукты или получить полнофункциональную версию на совсем не обременительных условиях для использования в учебном процессе. А продукт действительно весьма неплохой.
Подробности можно узнать на корпоративном сайте Telelogic:
В последний момент мы решили написать здесь о 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.
И снова мы отправляем читателя на сайт программы:
В презентации, по которой написана эта лекция, автор приводит таблицу, где всем рассмотренным программам выставлены субъективные оценки по 10-бальной шкале. Причем оцениваются возможности визуализации, простота освоения, удобство интерфейса и дается краткая характеристика "одной строкой". Здесь же мы воздержимся от каких-либо оценок (кроме тех, что неявно прозвучали в тексте лекции), предоставив право решать "кто лучше, а кто хуже" самому читателю. Итак, что же мы поняли, изучив материал этой лекции: