Лекция 18. CASE – технологии

Тема.7. CASE-технологии компьютерного проектирования

Мы уже знаем, что нотация UML специально разрабатывалась в расчете на то, чтобы диаграммы можно было легко рисовать от руки. Но! Ведь гораздо приятнее рисовать диаграммы с помощью удобного, интуитивно понятного и функционального программного пакета (CASE-средства). В этой лекции мы познакомимся с некоторыми подобными пакетами, а именно: IBM Rational Rose; Borland Together; Microsoft Visio; Sparx Systems Enterprise Architect; Gentleware Poseidon; SmartDraw; Dia; Telelogic TAU G2; StarUML; другие программы.

UML - отличное средство моделирования, но, как уже говорилось выше, строить диаграммы на бумаге - не всегда удобно, хотя бы по причине сложностей с редактированием, распространением и т. д. Чтобы облегчить труд проектировщика, были созданы CASE-средства - программы специального вида. CASE-средства помогут вам построить профессионально выглядящие диаграммы, даже если вы не в состоянии провести прямую линию на бумаге!

CASE-средства (от Computer Aided Software/System Engineering) - позволяют проектировать любые системы на компьютере. Необходимый элемент системного и структурно-функционального анализа, CASE-средства позволяют моделировать бизнес-процессы, базы данных, компоненты программного обеспечения, деятельность и структуру организаций. Применимы практически во всех сферах деятельности. Результат использования CASE-средств - оптимизация систем, снижение расходов, повышение эффективности, снижение вероятности ошибок.

Существует немало подобных программ. Выбор CASE-средства "по себе" - личное дело каждого читателя, и мы ни в коей мере не собираемся влиять на него. Мы лишь попытаемся предоставить ему этот выбор, рассмотрев некоторые наиболее достойные внимания, с точки зрения авторов, CASE-средства для построения UML-диаграмм. Причем постараемся рассказать и о признанных лидерах рынка, и о его "аутсайдерах", и о коммерческих "монстрах", и о "легких" программах с открытым исходным кодом. И начнем, пожалуй, с пакета, являющегося фактическим стандартом в области UML-проектирования.

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.

А как же выглядит это чудо? Не слишком изысканно, но вполне функционально - судите сами (рис.18.1):

Лекция 18. CASE – технологии - student2.ru


Рис. 18.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 много раз признавалось различными изданиями лучшим средством проектирования. Вот только некоторые из них (рис.18.2):

Лекция 18. CASE – технологии - student2.ru


Рис. 18.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 или текстовом формате.
  • Удобный настраиваемый редактор исходного кода.
  • Визуальный построитель графического интерфейса пользователя.
  • Плюс многое, многое другое...

А вот и скриншот (рис.18.3):

Лекция 18. CASE – технологии - student2.ru

Рис. 18.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 , drag-and-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 и выглядит так, будто это программа из предыдущей версии "офиса". Впрочем, судите сами (рис.18.4):

Лекция 18. CASE – технологии - student2.ru
Рис. 18.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) "родную" демонстрацию возможностей продукта.

Наши рекомендации