IBM Rational Rose
Rational Rose - современное и мощное средство анализа, моделирования и разработки программных систем. Rational Rose пригодится при решении практически любых задач проектирования информационных систем: от анализа бизнес-процессов до кодогенерации на определенном языке программирования. Такой арсенал позволит не только спроектировать новую систему, но и доработать старую, произведя процесс обратного проектирования.
Для того чтобы наиболее полно покрыть весь сегмент рынка средств проектирования и разработки, выпускается несколько версий продукта:
- Rational Rose Modeler
Эта версия позволит аналитикам и проектировщикам проводить анализ бизнес-процессов и проектировать систему. Данная редакция, увы, не поддерживает кодогенерацию.
- Rational Rose Professional
Как видно из названия, это профессиональная редакция продукта. В зависимости от выбранного языка программирования позволяет выполнять прямое и обратное проектирование. Rose Professional заказывается только в определенной конфигурации (например, Rose Professional С++ или Rose Professional С++ DataModeler). Rational Rose Professional, конечно, не создает 100 % исполняемого кода. На выходе разработчик получает каркасный код информационной системы на определенном (заказанном) языке программирования, который впоследствии нужно еще программировать и программировать. Продукт нацелен и на аналитиков, и на разработчиков.
- Rational Rose RealTime
Версия продукта, созданная специально для получения 100 % исполняемого кода в реальном масштабе времени. Конечно, RealTime позволяет проводить прямое и обратное проектирование на языках С или С++. По заверениям разработчиков, на выходе модель автоматически компилируется и собирается в исполняемый файл. Само собой, продукт предназначен именно для разработчиков.
- Rational Rose Enterprise
Абсолютно полная версия. Поддерживаются все функции других редакций, за исключением возможности 100 % кодогенерации. Таким образом, эта версия продукта покрывает весь спектр задач по проектированию, анализу и кодогенерации. Это программный пакет для всех участников проекта.
- Rational Rose DataModeler
Это не конкретный вариант продукта, а функциональность по проектированию баз данных. Функции DataModeler входят в состав Rose Enterprise или Professional.
К сожалению, нет бесплатной версии продукта, но для образовательных учреждений все программное обеспечение IBM доступно бесплатно (для использования в учебных целях) в рамках программы IBM Academic Initiative.
А как же выглядит это чудо? Не слишком изысканно, но вполне функционально - судите сами (рис. 7.1):
увеличить изображение
Рис. 7.1.
В зависимости от поставки, в Rational Rose может быть расширен или сужен набор визуальных компонент (возможных диаграмм). Впрочем, Rational Rose и так достаточно функционален. Вот основные возможности продукта:
- прямое и обратное проектирование на языках: ADA, Java, С, C++, Basic;
- поддержка технологий COM, DDL, XML;
- возможность генерации схем БД Oracle и SQL.
Также Rational Rose имеет открытый API, позволяющий самому создавать модули для других языков программирования. На рынке уже имеется достаточное число модулей для популярных языков программирования и RAD-систем, таких как Delphi, ErWin, Jbuilder, VisualCafe, Jdeveloper, VisualAge SmallTalk. Одна из ведущих компаний в области создания дополнительных модулей - Ensemble Systems (http://www.ensemble-systems.com/).
Rational Rose много раз признавалось различными изданиями лучшим средством проектирования. Вот только некоторые из них (рис. 7.2):
увеличить изображение
Рис. 7.2.
Если вы программировали в MS Visual Studio 6.0, то, возможно, вы уже познакомились с одним из продуктов семейства Rational Rose, поскольку в этот пакет встроен Visual Modeler - усеченный вариант Rational Rose 98. С помощью Visual Modeler можно рисовать диаграммы классов в трех различных нотациях - нотации Буча, ОМТ и на UML. По диаграммам классов можно провести генерацию каркасного кода (на C++, VB или Java). Такая генерация программного кода называется прямым проектированием (forward engineering). Взаимозависимости классов, изображенных на диаграмме классов, отображаются в программном коде.
Большой интерес представляет обратное проектирование (reverse engineering), когда по исходному коду восстанавливается диаграмма классов, позволяющая понять структуру программы. Это тоже можно делать с помощью Visual Modeler, причем на основе Microsoft Foundation Classes (MFC)! К ограничениям Visual Modeler относится тот факт, что он не поддерживает диаграммы развертывания, описывая лишь внутреннюю функциональность создаваемой системы.
Также Rational Rose интегрируется с Visual Component Manager, репозиторием Microsoft Reposytory, системой управления версиями Microsoft Visual SourceSafe и Rational ClearCase. Плюс многое-многое другое...
Конечно, можно еще долго петь дифирамбы этому продукту, являющемуся, по сути, стандартом де-факто в области UML-проектирования (с субъективной точки зрения авторов, этот продукт не слишком интуитивен и удобен, хотя, без сомнения, сверхфункционален). Честно говоря, как ни парадоксально это звучит, особого впечатления на авторов этот продукт не произвел, возможно, по причине недостаточного с ним знакомства. Думаем, что сами разработчики расскажут о своем продукте гораздо лучше. Предоставим же читателю возможность оценить этот продукт, основываясь на информации "из первых рук"! Вы можете это сделать, посетив такие сайты:
http://www-306.ibm.com/software/rational/ Это официальный сайт Rational, где вы сможете найти информацию о Rational Rose и других продуктах Rational (на англ. языке). Также можете попробовать сходить по "старому адресу" - www.rational.com.
http://interface.ru/ Сайт компании "Интерфейс". Как уверяют авторы ресурса, на сегодняшний день здесь собран самый большой (в Рунете) архив информации по продуктам Rational. Здесь можно найти множество статей, обзоров, руководств и описаний "по теме" и на русском языке.
http://sunset.usc.edu/cse/ А здесь можно найти неплохой архив презентаций и статей по темам программной инженерии, в том числе и о Rational Rose (на англ. языке).
Borland Together
Очень симпатичный (если не сказать больше!) продукт от Borland. Borland Together ControlCenter - это интегрированная платформа разработки, позволяющая упростить и ускорить анализ, дизайн, разработку и развертывание комплексных корпоративных приложений. Эти возможности сочетаются в одном интегрированном решении с поддержкой UML, помогающем командно разрабатывать высококачественные системы быстрее и эффективнее. Технология Borland LiveSource, интегрированная в ControlCenter, автоматически синхронизирует все артефакты, так что изменения в них не прерывают процесс разработки (что очень похоже на концепцию "живых документов" от Microsoft). Таким образом, ситуация, когда модель и код не соответствуют друг другу, теперь невозможна - любые изменения в модели сразу же отображаются в коде и наоборот. ControlCenter предоставляет единую среду разработки, общий язык, диаграммы и строительные блоки, избавляя команду от необходимости использовать несколько продуктов, переключаясь между ними.
Вот некоторые особенности Borland Together:
- Поддержка XP ("экстремальное программирование")
Не вдаваясь в лишние подробности и не желая забивать голову читателя ненужными пока подробностями, скажем, что Together поддерживает "гибкие" процессы моделирования, о которых мы, возможно, поговорим позже. Together предоставляет интерактивные возможности моделирования и поддерживает все виды диаграмм UML, включая диаграммы классов, прецедентов, последовательностей, кооперации, действий, состояний, компонентов и развертывания.
- Ускорение процессов разработки путем применения паттернов
Еще одна модная тенденция в программной инженерии: использование паттернов, или шаблонов проектирования, - некоторых стандартных решений, образцов в области проектирования. Используя эти образцы, эксперт или разработчик могут быстро создать модель и привести ее в соответствие с корпоративными стандартами и лучшими практиками кодирования. Еще одна возможность ускорения работы - планирование задач для разработчиков, использование напоминаний и органайзера, что позволяет работать эффективнее.
- Развертывание на несколько серверов приложений выполняется быстро, без перекодирования
Приложение можно развернуть на несколько серверов приложений, просто написав несколько строк. С Together ControlCenter приложение может быть построено для одного сервера приложений и легко переключено на другой, развернуто на сложной инфраструктуре.
- Функция контроля качества облегчает жизнь разработчиков
- Эффективнейший аудит и поддержка метрик качества разработки ПО позволяет команде контролировать качество продукта в ходе разработки.
Встроенное функциональное тестирование помогает обнаружить проблемы еще в процессе разработки, что действительно очень важно, поскольку стоимость исправления ошибок тем выше, чем позже они обнаружены.
Из вышесказанного становится ясно, что Borland Together - это нечто гораздо большее, чем просто пакет для рисования "картинок в стиле UML". Мы уже говорили о некоторых дополнительных возможностях программы, но какие же возможности предоставляет Together именно в плане визуального моделирования?
- Как уже говорилось ранее, поддержка всех основных видов диаграмм UML, включая диаграммы классов, прецедентов, последовательностей, кооперации, деятельности, состояния, компонентов…
- Поддержка ER-диаграмм (схем баз данных).
- Генерирование исходного кода из диаграмм последовательностей и обратное проектирование существующего кода в одну или более диаграмм последовательностей.
- Моделирование бизнес-процессов с помощью соответствующих диаграмм.
- Поддержка паттернов, о чем мы уже упоминали ранее, включая построитель шаблонов кода и множество видов встроенных паттернов.
- Эффективные метрики контроля качества для разных языков с возможностью их повторного использования.
- Простая генерация актуальной проектной документации в стиле "нескольких щелчков мыши" (а-ля Microsoft) или через командную строку в виде HTML, RTF или текстовом формате.
- Удобный настраиваемый редактор исходного кода.
- Визуальный построитель графического интерфейса пользователя.
- Плюс многое, многое другое...
А вот и скриншот (рис. 7.3):
увеличить изображение
Рис. 7.3.
Как видите, выглядит продукт вполне неплохо, в лучших традициях Borland, чьи продукты всегда были ближе отечественным разработчикам, уверенным, что слова "юзабилити" и "Borland" - синонимы. Как и в случае IBM Rational Rose, существуют несколько специализированных версий данного пакета:
- Together ControlCenter
Интегрированная платформа разработки, предназначенная для упрощения и ускорения анализа, проектирования и разработки корпоративных приложений.
- Together Solo
UML-проектирование и разработка, единое решение для индивидуальных разработчиков и малых команд, позволяющее моделировать небольшие масштабируемые проекты быстрее и эффективнее.
- Borland Together Editions
Специальные редакции для предпочитаемых вами сред разработки:
- Together Edition for JBuilder
Интегрированная и гибкая среда проектирования, Together Edition for JBuilder помогает команде ускорить разработку высококачественных приложений в Borland JBuilder, решении номер один для разработки на языке Java.
- Together Edition for Eclipse
Ускоряет разработку высококачественных приложений на открытой платформе Eclipse, поддерживаемой IBM.
- Together Edition for WebSphere Studio
IBM® WebSphere® Studio теперь тоже поддерживается Borland Together Edition for Eclipse.
- Together Edition for SAP NetWeaver Studio
Предоставляет тесную интеграцию со средой разработки SAP NetWeaver.
- Together Edition for Microsoft Visual Studio.NET
Интегрированная среда, использующая индустриальный стандарт - UML, Borland Together Edition for Microsoft Visual Studio.NET, поможет командам разработчиков на C# и Microsoft® Visual Basic.NET ускорить разработку высококачественных решений на платформе.NET.
- Together Edition for C++BuilderX
Интегрированная и гибкая среда проектирования, Borland Together Edition for Borland C++BuilderX поможет команде ускорить разработку высококачественных приложений в C++BuilderX - многоплатформенной среде разработки.
- Together Designer Community Edition
Borland Together Designer Community Edition - это бесплатная среда разработки для создания диаграмм UML 2.0.
Как видим, у Borland бесплатная версия продукта есть и она доступна всем желающим! Авторы долгое время пользовались и продолжают пользоваться Borland Together CE, и этот пакет ни разу их не подвел. Единственный недостаток - некоторая неторопливость в работе и "прожорливость" в ресурсах, но это общая проблема многих подобных программ, поскольку большинство из них написаны на Java.
В целом впечатление, произведенное Together на авторов, - очень положительное, но, опять-таки, предоставим разработчикам самим рассказать о своем продукте:
- http://www.borland.com/together/ Это официальный сайт продукта, где вы сможете найти подробную информацию о Borland Together (на англ. языке). В частности, здесь можно просмотреть обзор технических характеристик Together, FAQ по продукту и другие материалы.
- http://info.borland.com/media/shockwave/together/1009_tvs_2.0_intro.html А перейдя по этой ссылке, можно посмотреть весьма добротно и убедительно сделанную фирменную флеш-демонстрацию возможностей продукта.
Microsoft Visio
Visio - решение для построения диаграмм от Microsoft. По словам разработчиков, Visio помогает преобразовать технические и бизнес-концепции в визуальную форму. И действительно, этот пакет из семейства Microsoft Office предназначен исключительно для рисования диаграмм. Visio имеет некоторые дополнительные возможности, но все же, повторим, по большей мере - это только средство для иллюстрирования документов MS Office, "не дотягивающее" до уровня пакетов, которые мы описывали ранее.
- Изобразительные же возможности Visio действительно весьма широки:
- Используя предопределенные фигуры Visio Professional, dragand-drop и мастера, вы можете быстро и просто создавать понятные и информативные диаграммы.
- Возможности Visio можно легко расширять, используя новые шаблоны бизнес-диаграмм. Вы можете включать внешние источники данных, хранилища или коллекции хранимых шаблонов.
- В Visio можно прототипировать интерфейс приложений с помощью встроенных шаблонов пользовательского интерфейса Microsoft Windows XP, что позволяет создавать модель пользовательского интерфейса в стандартном Windows XP-стиле.
- Можно легко рисовать диаграммы сетевых ресурсов, иллюстрирующие развертывание нового ПО на существующие сетевые ресурсы.
- Visio Professional также тесно интегрируется с Microsoft Office Project, что позволяет, например, импортировать оттуда задачи для членов команды.
- С помощью шаблонов UML вы можете создавать UML-диаграммы статической структуры ПО или проводить обратное проектирование с помощью Visio 2003 Reverse Engineer Wizard.
- Visio 2003 может документировать для вас структуру существующих веб-сайтов, помогая таким образом в разработке, реализации или интеграции веб-приложений.
- Можно также создавать отчеты, сохранять диаграммы как вебстраницы и еще многое-многое другое...
Отметим (пока не забыли), что Visio - это не полноценное средство моделирования, а программа для создания иллюстраций (как и SmartDraw и Dia, рассказ о которых еще впереди), умеющая, кроме прочего, рисовать UML-диаграммы.
Внешне Visio похожа на другие программы семейства Microsoft Office, хотя и выглядит немного более архаично. Особенно это заметно в версии 2007 - интерфейс Visio 2007 разительно отличается (в худшую сторону) от остальных приложений MS Office и выглядит так, будто это программа из предыдущей версии "офиса". Впрочем, судите сами (рис. 7.4):
увеличить изображение
Рис. 7.4.
Если верить разработчикам программы, есть по крайней мере 10 причин, чтобы использовать Visio:
- Документирование и анализ бизнес-процессов
Проектирование, документирование и анализ бизнес-процессов, используя шаблоны и символы, поддерживающие управление бизнес-процессами (BPM), включая Six Sigma quality improvement и ISO 9000-документацию.
- Отслеживание комментариев членов команды
Как и в других программах семейства MS Office, в Visio имеется средство рецензирования, которое можно использовать для отслеживания фигур и примечаний, оставленных другими членами команды.
- Сотрудничество по-новому
За этим рекламным лозунгом скрывается интеграция с Microsoft SharePoint и возможность экспорта диаграмм в SVG-формат или сохранения их как веб-страниц.
- Поддержка Tablet PC
Встроенная поддержка Tablet PC поможет просматривать, изменять и аннотировать ваши диаграммы в пути или в других случаях, когда вы далеко от своего десктопа. Используйте цифровые чернила для аннотирования ваших диаграмм, форматируйте, масштабируйте, вращайте их или ассоциируйте их с записями. В Visio вы можете конвертировать цифровые чернила в базовые фигуры или текст. И все бы хорошо, но Tablet PC - это, увы, удовольствие, доступное не для всех (по крайней мере, в наших странах).
- Инструменты для мозгового штурма
Сказано, конечно, слишком громко, но Visio действительно можно использовать для генерации и структурирования идей во время сессий мозгового штурма (это не так удобно, как например, MindManager (http://www.mindjet.com), но все же). Потом диаграммы, полученные в результате мозгового штурма, можно экспортировать в Microsoft Word, Microsoft Excel или XML, положив таким образом хорошее начало созданию других бизнес-файлов.
- Создание календарей
Календари Microsoft Outlook можно легко конвертировать в календари Visio, которые могут быть богато оформлены и форматированы и просто распространены между другими членами команды.
- Простое создание и использование технических диаграмм
Как уже говорилось выше, в Visio можно создавать диаграммы баз данных, инженерные диаграммы, сетевые, диаграммы разработки ПО и веб-приложений.
- Более быстрое создание и редактирование диаграмм
По заверениям разработчиков, Visio включает многочисленные улучшения, помогающие повысить производительность. Вращение фигур без переключения в специальный режим вращения, выбор и вращение группы фигур, печать выбранной части диаграммы, функция поиска фигуры и многое другое...
- Visio поддерживает множество локальных языков
Visio доступна на 17 языках, включая улучшенную поддержку азиатских языков и двунаправленного текста. Впрочем, вряд ли этот факт может считаться серьезным преимуществом людьми, которые "по жизни" пользуются исключительно англоязычным ПО.
- Отличная интеграция с другими приложениями MS Office
Об этом уже достаточно много нами было сказано ранее, так что не будем снова повторяться!
В отличие от ранее рассмотренных программ, MS Visio существует в двух редакциях (правда, есть еще особый вариант программы - Visio Enterprise Architect, но с ним нам работать не довелось):
- Visio Standard,
- Visio Professional.
Честно говоря, нам довольно сложно сказать о различиях этих двух редакций. Все желающие могут посетить веб-узел Microsoft, чтобы получить о Visio более подробную информацию. Со своей стороны мы позволим себе обратить внимание читателя на такие два места на этом, без сомнения, весьма достойном ресурсе:
- http://office.microsoft.com/en-us/FX010857981033.aspx Это официальный сайт продукта, где вы сможете найти о Visio подробную информацию (на англ. языке), в том числе статьи о различиях двух редакций продукта, о возможностях его использования при разработке ПО, о преимуществах Visio и многие другие материалы. Здесь также можно загрузить или заказать на диске пробную версию Visio.
- http://www.microsoft.com/office/visio/prodinfo/demo.mspx А перейдя по этой ссылке, можно посмотреть весьма добротную и убедительную (как и все рекламные материалы Microsoft) "родную" демонстрацию возможностей продукта.
Sparx Systems Enterprise Architect
Как уверяют разработчики (Sparx Systems), Enterprise Architect - это программа для UML-моделирования и проектирования нового поколения. Вот фраза из их рекламных материалов:
WELCOME to the next generation in UML modeling and design software! At Sparx Systems, we realize that because you want to remain competitive, you need to be productive. You need to have your whole team perfectly equipped with the very latest trouble-free UML modeling software. In other words, you need the most reliable, capable and progressive business modeling software, that won't break the budget.
Enterprise Architect существует в вариантах для Windows и Linux и является неплохим средством для UML-моделирования, с возможностью многопользовательской работы и дружественным интерфейсом. Вы также найдете в EA множество функций, которые обычно распределены между несколькими приложениями (ничем не напоминает наши слова о Borland Together?), включая отличные возможности по генерации документации, поддержку плагинов, генерацию XSD-схем, HTML и поддержку для таких языков программирования, как C++, Java, PHP, Visual Basic, VB.Net, Delphi или C#.
Возможности Enterprise Architect весьма многочисленны. Вот некоторые из них:
- нотация UML 2.0 с поддержкой всех видов диаграмм;
- как уже было сказано выше, поддержка C++, Java, C#, VB, VB.Net, Delphi, PHP,.NET;
- моделирование БД, прямое проектирование в DDL и обратное проектирование из ODBC;
- загружаемые UML-профили (например, SPEM), позволяющие создавать узкоспециализированные модели;
- поддержка паттернов проектирования;
- генерация документации в форматах HTML и RTF;
- многопользовательская работа, утилиты для менеджера проекта, тестирование, глоссарий, другие ресурсы;
- автоматизация интерфейса, поддержка макросов;
- и многое, многое другое...
Enterprise Architect существует в трех редакциях:
- EA Desktop Edition
Интуитивно понятная утилита для UML-моделирования, предназначенная для индивидуальных аналитиков и/или разработчиков. Простейший инструмент проектирования, имеющий некоторые ограничения. Отсутствуют многие, привычные для профессионалов, функции, которые, впрочем, абсолютно не нужны, если вы просто ищете инструмент для рисования UML-диаграмм. Не поддерживается, например, импорт/экспорт кода и DDL, Active X-интерфейс и совместный доступ к диаграммам.
- EA Professional Edition
Полнофункциональная среда UML-моделирования, нацеленная на групповую разработку, поддерживает совместный доступ к созданным моделям, Active X, XMI, импорт/экспорт кода и DDL, извлечение схем БД Oracle, SQL Server и MS Access.
- EA Corporate Edition
Наиболее полная редакция, включающая все возможности настольной и профессиональной версий плюс возможность соединения с MySQL, SQL Server, PostgreSQL, Sybase Adaptive Server Anywhere и Oracle9i. Также эта редакция поддерживает авторизацию пользователей, группы пользователей, блокировку элементов. Эта версия предназначена для больших команд.
А вот так этот продукт выглядит (рис. 7.5):
увеличить изображение
Рис. 7.5.
Лицензия на Enterprise Architect стоит сравнительно дешево, так что вы сможете вооружить этим средством всех членов вашей команды. Кроме этого существует версия EA Lite FREE read-only. Она позиционируется как решение, позволяющее зарегистрированным пользователям демонстрировать UML-диаграммы персоналу и заказчикам. EA Lite имеет все базовые функции Enterprise Architect, за исключением создания документации и сохранения. По сути, это вьюер файлов Enterprise Architect.
С EA отлично интегрируется другой продукт Sparx Systems - Zicom Mentor. И пусть это пакет не для UML-проектирования, но мы просто не могли не упомянуть об этом замечательном продукте! Zicom Mentor - это ПО для обучения UML, который поможет вам мгновенно получить ответы на свои вопросы, получить и проверить знание UML, начать новый UML-проект.
Zicom Mentor включает интерактивные курсы и тесты, документацию и справочные материалы по UML, а также потрясающий визуальный словарь UML, справочник по диаграммам и символам и др. И при этом стоит всего стоит всего $ 29.95! А выглядит все это вот так (рис. 7.6):
увеличить изображение
Рис. 7.6.
Пробную версию Zicom Mentor можно взять по адресу: www.sparxsystems.com.au/zm/ZicomMentorEvaluate.htm. Для целей обучения UML и использования в качестве справочника пробной версии вполне достаточно - проверено (рис. 7.7). И при этом вы получаете ее абсолютно бесплатно!
Рис. 7.7.
А теперь, уже по традиции, слово разработчикам пакета:
- http://www.sparxsystems.com.au/ Это официальный сайт продукта, где вы сможете найти подробную информацию об Enterprise Architect (на англ. языке).
- http://www.sparxsystems.com.au/zm/ А это сайт Zicom Mentor. Тут вы можете ближе познакомиться с этим замечательным продуктом.
- http://www.sparxsystems.com.au/EAUserGuide/ А здесь можно более подробно прочесть о приемах работы с программой. И пусть это не интерактивная демонстрация, как в случае ранее описанных пакетов, но вполне детальное и впечатляющее руководство пользователя.
Gentleware Poseidon
Poseidon for UML - это популярное CASE-средство для UML-моделирования. Poseidon берет свое начало из открытого проекта ArgoUML (который также был весьма неплох и удобен в работе) и в наши дни уже является признанным профессионалами пакетом. На данный момент сформировалось быстро развивающееся сообщество пользователей, которые работают с Poseidon при проектировании серьезных приложений. Poseidon известен своим потрясающим удобством (usability).
Как и другие подобные пакеты, для того чтобы покрыть нужды разных групп пользователей, Poseidon for UML существует в нескольких редакциях. Особой похвалы заслуживает сайт приложения (http://www.gentleware.com/), который содержит много полезной информации по Poseidon, UML, ООАП вообще, тесты для самопроверки и курсы по UML, плагины, ООАП-глоссарий и многое другое.
А вот так это выглядит (рис. 7.8).
Рис. 7.8.
Не правда ли, весьма симпатично? Да, действительно, продукт не только очень функционален, но и имеет весьма приятный с виду и удобный, интуитивно понятный интерфейс. Авторы довольно много работали с бесплатной версией этого продукта, и можете поверить нам на слово - это идеальный выбор для "домашнего пользователя"! Чего стоит только девиз компании: "Просто моделируй!" ("Just model!").
Кстати о версиях. Как уже говорилось выше, Poseidon for UML существует в нескольких редакциях:
- Community Edition
Это базовая версия, бесплатный продукт, который обеспечит беспрепятственный доступ в мир UML для индивидуальных разработчиков и больших организаций. Она делает освоение и использование UML по-настоящему легким.
Рис. 7.9.
- Standard Edition
Расширяемая базовая версия для профессионалов по невысокой цене. Она имеет все возможности Community Edition плюс дополнительные возможности вроде обратного проектирования, отмены и повтора операций с моделью, drag-and-drop, плюс дополнительная документация.
- Professional Edition
Это high-end-версия Poseidon for UML. Для того чтобы удовлетворить потребности профессиональных разработчиков ПО, она включает более гибкий механизм генерации кода, JAR-Import, генерацию HTML-документации и многое другое.
- Embedded Edition
Как видно из названия, была создана для разработки приложений для встраиваемых устройств. Она имеет все возможности стандартной версии (включая UMLdoc и возможности MDL-импорта) и оптимизирована для кодогенерации в ANSI C и C++. Генератор кода был специально разработан с учетом ограничений встраиваемых систем, касающихся памяти и производительности, поддерживает UML-диаграммы классов и состояний.
- Embedded Enterprise
Интегрирует мощные возможности командного моделирования Enterprise Edition с поддержкой встраиваемых систем Embedded Edition в одном приложении. Также доступно множество плагинов, расширяющих возможности Poseidon for UML.
- Enterprise Edition
Наиболее полная версия продукта, обеспечивающая такие возможности:
- эффективное взаимодействие в реальном времени;
- поддержка многопользовательской разработки;
- контроль версий;
- клиент-серверная архитектура;
- настраиваемая генерация кода для Java, C#, C++, VB.net, IDL, SQL DDL, Perl и Delphi;
- независимость от платформы;
- и многое другое, в чем вы можете нуждаться в процессе модель-ориентированной разработки в большой команде. Эта версия поддерживает многомодельное редактирование и масштабирование модели.
И опять-таки, лучше всех о своем детище расскажут разработчики пакета:
- http://www.gentleware.com/ Тот самый хваленый сайт продукта, где вы сможете найти множество полезной информации о Poseidon и не только (на англ. языке). Тут же можно просмотреть или загрузить на свой компьютер отличную флеш-демонстрацию возможностей продукта.
- http://www.gentleware.com/19.html А это лучший из известных авторам онлайновый глоссарий терминов, связанных с UML, ООАП и программной инженерией вообще.
- http://www.gentleware.com/knowledge/quiz.php4 Здесь вы сможете проверить свои знания UML, ответив на вопросы тестов, сгруппированные по трем уровням сложности.
SmartDraw
SmartDraw - это простая и дружественная, да еще и нетребовательная к ресурсам альтернатива MS Visio. Как и Visio, это программа, предназначенная исключительно для рисования, не имеющая функций поддержки командной разработки ПО. В подражание Microsoft, на сайте SmartDraw изложены 10 причин, почему надо использовать этот продукт (чувствуете иронию?):
- SmartDraw более прост в использовании для непрофессионалов;
- он так же хорошо, как и Visio, интегрируется с MS Office;
- SmartDraw более универсален, чем Visio;
- более расширяем;
- поддерживается огромное число форматов растровой графики;
- SmartDraw более доступен (в финансовом плане), чем Visio;
- имеется свободно доступный вьюер файлов SmartDraw;
- SmartDraw обеспечивает беспрецедентную поддержку пользователей, даже пользователей пробных версий, проверено!
- благодаря отличной поддержке формата Visio так просто конвертировать файлы Visio в SmartDraw!
увеличить изображение
Рис. 7.10.
SmartDraw - простой в использовании пакет для создания бизнессхем и диаграмм (рис. 7.9). Что же можно создавать с его помощью?
- Блок-схемы.
- Временные диаграммы (timeline).
- Организационные диаграммы.
- UML-диаграммы.
- Сетевые диаграммы.
- Формы - и даже больше (заметьте, теперь не нужным (почти) становится и MS InfoPath)!
- Поэтажные планы.
- И многое другое (рис. 7.10)...
увеличить изображение
Рис. 7.11.
Кому необходим SmartDraw? Каждому! Независимо от вашей работы или роли в проекте SmartDraw поможет:
- проиллюстрировать отчет;
- создать презентацию;
- убедить других членов команды;
- документировать процедуры;
- общаться яснее;
- дать понять другим членам команды, "что вы имеете в виду".
- проанализировать процесс;
В комплект поставки входит более 50000 символов, картинок и других материалов. SmartDraw поможет вам создавать графические материалы, выглядящие профессионально, даже если вы не в состоянии провести прямую линию! К тому же программа отлично интегрируется с приложениями MS Office, позволяя экспортировать диаграммы в Word, PowerPoint, Excel. Забавно, что за счет применения элементов управления, похожих на майкрософтовские "риббоны", эта альтернатива к Visio выглядит более похожей на приложения MS Office 2007, чем сама Visio (рис. 7.11).
Рис. 7.12.
И вновь слово разработчикам:
- http://www.smartdraw.com/ Официальный сайт продукта, где можно найти множество полезной информации о SmartDraw и UML (на англ. языке). Отсюда же можно загрузить отличную PowerPoint-презентацию с описанием возможностей продукта.
- http://www.smartdraw.com/resources/centers/uml/resources.htm А это неплохая подборка ссылок на ресурсы, связанные с UML и ООАП.
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.13.
В общем, если ваш девиз "чем проще, тем лучше", то 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 Archirect тоже чем-то напоминал MSVS, но здесь мы видим просто шедевр имитации). Да уж, воистину, почему бы и не позаимствовать удачные интерфейсные решения? В целом же, считаем, StarUML с успехом может заменить такие коммерческие программы, как рассмотренные выше Rational Rose, Together или TAU G2. Вы спросите: "А как же кодогенерация?". Отвечаем - кодогенерация тоже есть. "Прямо из коробки" пакет способен выполнять кодогенерацию на языках C++, C#, Java. А если использовать шаблоны, имеющиеся на сайте StarUML, то можно добавить поддержку PHP и некоторых других языков (рис. 7.14).
Кстати, чуть выше мы упоминали про интеграцию с MS Word. Кроме "ворда", StarUML способен создавать документацию в виде текстовых файлов, файлов MS Excel и MS PowerPoint. Впечатляет? А еще есть импорт из Rational Rose! Другими словами, автор этих строк просто очарован StarUML.
увеличить изображение
Рис. 7.14.
И снова мы отправляем читателя на сайт программы:
- 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.