Опубликован: 23.05.2008 | Доступ: свободный | Студентов: 10351 / 2987 | Оценка: 4.39 / 4.02 | Длительность: 09:14:00
ISBN: 978-5-94774-878-9
Лекция 8:

Обзор CASE-средств для построения диаграмм UML

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

Dia

Dia - программа для создания диаграмм, базирующаяся на gtk+ и распространяющаяся по лицензии GPL. Dia создавалась по подобию коммерческой Windows-программы Visio. Она может быть использована для рисования многих видов диаграмм. На данном этапе развития Dia имеет средства для рисования:

  • ER-диаграмм (проектирование баз данных);
  • диаграмм UML;
  • блок-схем;
  • сетевых диаграмм;
  • простых схем электрических цепей;
  • и многого другого…

Возможности программы легко расширить путем введения новых символов, определяемых в 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 - это ваш лучший выбор. Для получения же дополнительной информации мы можем посоветовать посетить такие сайты:

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.

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

  • http://staruml.sourceforge.net/en/about.php Страница описания программы, ее возможностей, истории создания и особенностей лицензии (на англ. языке).
  • http://staruml.sourceforge.net/en/modules.php А это раздел сайта, который посвящен модулям, расширяющим функциональность StarUML. Обязательно загляните сюда!
  • http://staruml.sourceforge.net/en/templates.php Описание и ссылки для скачивания дополнительных шаблонов к StarUML, позволяющих расширить возможности кодогенерации и создания документации.
  • http://staruml.sourceforge.net/en/documentations.php Страница, содержащая ссылки на документацию к StarUML, в том числе и на русском языке!

Другие программы

Рассмотренные здесь пакеты - очень малая часть всего доступного в Интернете ПО для визуального моделирования с помощью UML. Список другого ПО для создания UML-диаграмм можно найти, например, на http://www.objectsbydesign.com/tools/umltools_byCompany.html.

На http://www.uml.org/#Links-UML2Tools расположен список ссылок на другие каталоги подобных программ. А на http://www.gskinner.com/gmodeler/app/run.html вы найдете уникальное в своем роде онлайновое средство UML-проектирования (к тому же написанное на Flash). На него стоит посмотреть!

Выводы

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

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

Упражнения

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

В рамках проф. переподготовки по программе "Программирование"

Есть курсы, которые я уже прошел. Но войдя в курс я вижу, что они не зачтены (Язык Ассемблера и архитектура ЭВМ, Программирование на С++ для профессионалов). Это как?

Вячеслав Потапов
Вячеслав Потапов
Россия, Пермь
Сергей Черенков
Сергей Черенков
Россия, г. Москва