Сергей Паронджанов, компания Аргуссофт
Rational Rose - средство объектно-ориентированного моделирования, поддерживающие методы Буча и ОMT.
Работа в Rational Rose основывается на построении различного рода диаграмм, описывающих проект.
Графический диалог ведется с использованием систем обозначений, подробно изложенных в известных работах: "Объектно-ориентированное проектирование с примерами применения" Г.Буча, и "Объектно-ориентированное моделирование и проектирование" Д.Рамбо.
Rational Rose одновременно поддерживает диаграммы методов Г. Буча и Д. Рамбо (OMT), позволяя автоматически переходить от одной нотации к другой.
Диаграммы Классов (Classes) | Статическая модель |
Диаграммы состояний и переходов (State Transition Diagram) | Динамическая модель |
Диаграммы сценариев объектов (Object Message Diagram) | Функциональная модель |
Диаграммы сценариев сообщений (Message Trace Diagram) | Функциональная модель |
Диаграммы модулей
(Modules)
Диаграммы процессов (Processes) |
|
Rational Rose обеспечивает единство модели, автоматически поддерживая согласованность, разрабатываемых диаграмм. Изменения, внесенные в одну из диаграмм, гарантировано отражаются в остальных.
Отображают логику построения прикладной системы.
На них отображают классы, категории классов и отношения между ними.
Возможность отражения параметризованых классов.
Допускаются разнообразные отношения: ассоциации, включения, использования, наследования.
Имеются простые и удобные средства просмотра иерархий диаграмм классов.
Для каждого конкретного отношения можно задать имя и основные его характеристики
Все диаграммы сопровождаются подробными спецификациями.
Ассоциативные связи позволяют документировать проектные решения
Категории классов применяются для разбиения приложения на отдельные группы взаимосвязанных классов.
Категории классов образуют иерархию, в которой классы являются терминальными узлами
Диаграммы сценариев - динамический взгляд на модель.
Диаграммы сценариев показывают основные объекты проекта и взаимодействия между ними.
Имеется возможность задать последовательность обращений объектов друг к другу.
Два типа сценарных диаграмм:
Система включает средства автоматического взаимного преобразования диаграмм сценариев.
Диаграммы сценариев сообщений могут сопровождаться структурированным текстом.
Для каждого класса может быть создана диаграмма состояний.
На ней указывается начальное, конечное и промежуточные состояния, а также события, определяющие переход из одного состояния в другое. Имеется возможность гнездования состояний.
Изображаются процессоры и устройства, образующие физическую конфигурацию прикладной системы
Диаграммы модулей - физическая модель системы.
Показывает подсистемы проектируемого приложения и основные модули каждой из них.
Диаграммы модулей образуют иерархию.
Для каждого модуля можно отдельно показать на диаграмме его файл-заголовок и файл реализации.
Rational Rose/C++ включает средства автоматической генерации кодов программ на языке С++. Используя информацию, содержащуюся в модели проекта, генератор кодов формирует файлы заголовков и файлы реализаций классов.
Создаваемая структура программы может быть уточнена путем прямого программирования на языке С++. При повторной генерации внесенные изменения не теряются
Стиль структуры программы в коде С++ формируется настройкой свойств (properties) проекта.
Ошибки, обнаруженные генератором кодов С++, представляются в специальном Log файле.
Свойства генерации кода могут быть настроены как для всего проекта, так и для отдельных его компонент.
Rational Rose/C++ генерирует С++ код стандарта ANSI. Базируясь на выбранных свойствах генерации, Rational Rose генерирует следующие элементы кода:
Для каждого модуля:
Для каждого класса:
Rational Rose/C++ включает анализатор C++ (Analyzer), поставляемый как отдельно исполняемый модуль, который грузится независимо от Rose/C++.
Реинжениринг модели это процесс исследования программного кода для извлечения информации о его структуре. Analyzer извлекает информацию из С++ кодов и использует ее для построения модели программного кода.
После работы анализатора модель может быть перенесена в систему в виде диаграмм классов и модулей и проанализирована средствами Rational Rose/C++.
Анализируется только структура кода. Исходный код может содержать ошибки реализации
Анализ начинается с построения внутренней модели программного кода. В проекте указываются исходные модули и стандартные библиотеки. В результате анализа формируется модель во внутреннем формате системы.
Экспортные возможности позволяют управлять автоматической генерацией модели путем:
Степень визуализации проанализированной информации при передачи ее в Rational Rose/C++ настраивается. Это позволяет производить анализ с различным уровнем детализации.
Rational Rose/C++ включает средства документирования модели:
Classes
Class name:
Environmental Controller
Documentation:
Контролирует поддержание заданных условий (температeра,
кислотность, влажность, освещенность и т.д.) в теплице, управляя
нагревателем, холодильником и т.п
Superclasses:
<none>
Roles/Associations:
<none>
Attributes:
Voltage : int = 220
напряжение питания
Has-A Relationships:
<unnamed> : Cooler
<unnamed> : Heater
<unnamed> : Light
Operations:
Define_climate( temperature : temp_range, humidity
: humid_range) : control_status
Задать климат
Terminate_climate( )
отменить заданный климат