5.5. Объектно-ориентированные CASE-средства (Rational Rose)
Rational Rose - CASE-средство фирмы Rational Software Corporation (США) -
предназначено для автоматизации этапов анализа и проектирования ПО, а также для
генерации кодов на различных языках и выпуска проектной документации [21].
Rational Rose использует синтез-методологию объектно-ориентированного анализа и
проектирования, основанную на подходах трех ведущих специалистов в данной
области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для
моделирования объектов (UML - Unified Modeling Language) претендует на роль
стандарта в области объектно-ориентированного анализа и проектирования.
Конкретный вариант Rational Rose определяется языком, на котором генерируются
коды программ (C++, Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro).
Основной вариант - Rational Rose/C++ - позволяет разрабатывать проектную
документацию в виде диаграмм и спецификаций, а также генерировать программные
коды на С++. Кроме того, Rational Rose содержит средства реинжиниринга программ,
обеспечивающие повторное использование программных компонент в новых проектах.
Структура и функции
В основе работы Rational Rose лежит построение различного рода диаграмм и
спецификаций, определяющих логическую и физическую структуры модели, ее
статические и динамические аспекты. В их число входят диаграммы классов,
состояний, сценариев, модулей, процессов [21].
В составе Rational Rose можно выделить 6 основных структурных компонент:
репозиторий, графический интерфейс пользователя, средства просмотра проекта
(browser), средства контроля проекта, средства сбора статистики и генератор
документов. К ним добавляются генератор кодов (индивидуальный для каждого языка)
и анализатор для С++, обеспечивающий реинжиниринг - восстановление модели
проекта по исходным текстам программ.
Репозиторий представляет собой объектно-ориентированную базу данных. Средства
просмотра обеспечивают "навигацию" по проекту, в том числе,
перемещение по иерархиям классов и подсистем, переключение от одного вида
диаграмм к другому и т. д. Средства контроля и сбора статистики дают возможность
находить и устранять ошибки по мере развития проекта, а не после завершения его
описания. Генератор отчетов формирует тексты выходных документов на основе
содержащейся в репозитории информации.
Средства автоматической генерации кодов программ на языке С++, используя
информацию, содержащуюся в логической и физической моделях проекта, формируют
файлы заголовков и файлы описаний классов и объектов. Создаваемый таким образом
скелет программы может быть уточнен путем прямого программирования на языке С++.
Анализатор кодов С++ реализован в виде отдельного программного модуля. Его
назначение состоит в том, чтобы создавать модули проектов в форме Rational Rose
на основе информации, содержащейся в определяемых пользователем исходных текстах
на С++. В процессе работы анализатор осуществляет контроль правильности исходных
текстов и диагностику ошибок. Модель, полученная в результате его работы, может
целиком или фрагментарно использоваться в различных проектах. Анализатор
обладает широкими возможностями настройки по входу и выходу. Например, можно
определить типы исходных файлов, базовый компилятор, задать, какая информация
должна быть включена в формируемую модель и какие элементы выходной модели
следует выводить на экран. Таким образом, Rational Rose/С++ обеспечивает
возможность повторного использования программных компонент.
В результате разработки проекта с помощью CASE-средства Rational Rose
формируются следующие документы:
- диаграммы классов;
- диаграммы состояний;
- диаграммы сценариев;
- диаграммы модулей;
- диаграммы процессов;
- спецификации классов, объектов, атрибутов и операций
- заготовки текстов программ;
- модель разрабатываемой программной системы.
Последний из перечисленных документов является текстовым файлом, содержащим
всю необходимую информацию о проекте (в том числе необходимую для получения всех
диаграмм и спецификаций).
Тексты программ являются заготовками для последующей работы программистов.
Они формируются в рабочем каталоге в виде файлов типов .h (заголовки, содержащие
описания классов) и .cpp (заготовки программ для методов). Система включает в
программные файлы собственные комментарии, которые начинаются с
последовательности символов //##. Состав информации, включаемой в программные
файлы, определяется либо по умолчанию, либо по усмотрению пользователя. В
дальнейшем эти исходные тексты развиваются программистами в полноценные
программы.
Взаимодействие с другими средствами и организация групповой работы
Rational Rose интегрируется со средством PVCS для организации групповой
работы и управления проектом и со средством SoDA - для документирования
проектов. Интеграция Rational Rose и SoDA обеспечивается средствами SoDA.
Для организации групповой работы в Rational Rose возможно разбиение модели на
управляемые подмодели. Каждая из них независимо сохраняется на диске или
загружается в модель. В качестве подмодели может выступать категория классов или
подсистема.
Для управляемой подмодели предусмотрены операции:
- загрузка подмодели в память;
- выгрузка подмодели из памяти;
- сохранение подмодели на диске в виде отдельного файла;
- установка защиты от модификации;
- замена подмодели в памяти на новую.
Наиболее эффективно групповая работа организуется при интеграции Rational
Rose со специальными средствами управления конфигурацией и контроля версий
(PVCS). В этом случае защита от модификации устанавливается на все управляемые
подмодели, кроме тех, которые выделены конкретному разработчику. В этом случае
признак защиты от записи устанавливается для файлов, которые содержат подмодели,
поэтому при считывании "чужих" подмоделей защита их от модификации
сохраняется и случайные воздействия окажутся невозможными.
Среда функционирования
Rational Rose функционирует на различных платформах: IBM PC (в среде
Windows), Sun SPARC stations (UNIX, Solaris, SunOS), Hewlett-Packard (HP UX),
IBM RS/6000 (AIX).
Для работы системы необходимо выполнение следующих требований:
- Платформа Windows - процессор 80386SX или выше (рекомендуется 80486),
память8Mб (рекомендуется 12Mб), пространство на диске 8Mб + 1-3Mб для одной
модели.
- Платформа UNIX - память 32+(16*число пользователей)Mб, пространство на диске
30Mб + 20 при инсталляции + 1-3Mб для одной модели.
Совместимость по версиям обеспечивается на уровне моделей.
|