Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Обучение от Mail.Ru Group.
Онлайн-университет
для программистов с
гарантией трудоустройства.
Набор открыт!

Объектно-ориентированные средства анализа, проектирования и реинжениринга информационных систем

Сергей Паронджанов, компания Аргуссофт

Rational Rose - средство объектно-ориентированного моделирования, поддерживающие методы Буча и ОMT.

Работа в Rational Rose основывается на построении различного рода диаграмм, описывающих проект.

Графический диалог ведется с использованием систем обозначений, подробно изложенных в известных работах: "Объектно-ориентированное проектирование с примерами применения" Г.Буча, и "Объектно-ориентированное моделирование и проектирование" Д.Рамбо.

Основные свойства Rational Rose

  • охват всех этапов разработки проекта;
  • построение моделей на основе методов Буча и OMT с возможностью автоматического преобразования нотаций;
  • возможность повторного использования программных разработок пользователей за счет средств реинжениринга;
  • наличие средств автоматического контроля, позволяющих вести отладку проекта по мере его разработки;
  • возможность описания проекта на разных уровнях для различных категорий пользователей;
  • удобный для пользователя графический интерфейс;
  • автоматическая генерация кодов на языках С++, Ada (компиляторы поставляются), Smalltalk, SQLWindows, VisualBasic, PowerBuilder;
  • наличие средств групповой разработки;
  • широкий спектр применения системы - базы данных, банковские системы, телекоммуникация, системы реального времени, большие информационные системы и т.д.

Типы диаграмм, поддерживаемые Rational Rose

Rational Rose одновременно поддерживает диаграммы методов Г. Буча и Д. Рамбо (OMT), позволяя автоматически переходить от одной нотации к другой.
Диаграммы Классов (Classes) Статическая модель
Диаграммы состояний и переходов (State Transition Diagram) Динамическая модель
Диаграммы сценариев объектов (Object Message Diagram) Функциональная модель
Диаграммы сценариев сообщений (Message Trace Diagram) Функциональная модель
Диаграммы модулей (Modules)

Диаграммы процессов (Processes)

  • Диаграммы потоков данных в функциональной модели ОМТ больше не поддерживаются и заменены на сценарные диаграммы

Rational Rose обеспечивает единство модели, автоматически поддерживая согласованность, разрабатываемых диаграмм. Изменения, внесенные в одну из диаграмм, гарантировано отражаются в остальных.

Диаграммы классов

Отображают логику построения прикладной системы.

На них отображают классы, категории классов и отношения между ними.

Возможность отражения параметризованых классов.

Допускаются разнообразные отношения: ассоциации, включения, использования, наследования.

Имеются простые и удобные средства просмотра иерархий диаграмм классов.

Иллюстрация 1

Для каждого конкретного отношения можно задать имя и основные его характеристики

Иллюстрация 2

Все диаграммы сопровождаются подробными спецификациями.

Автоматическое преобразование нотаций

Иллюстрация 3

Иллюстрация 4

Иллюстрация 5

Ассоциативные связи позволяют документировать проектные решения

Категории классов применяются для разбиения приложения на отдельные группы взаимосвязанных классов.

Иллюстрация 6

Иллюстрация 7

Категории классов образуют иерархию, в которой классы являются терминальными узлами

Диаграмма сценариев

Диаграммы сценариев - динамический взгляд на модель.

Диаграммы сценариев показывают основные объекты проекта и взаимодействия между ними.

Имеется возможность задать последовательность обращений объектов друг к другу.

Два типа сценарных диаграмм:

  • Диаграммы сценариев объектов
  • Диаграммы сценариев сообщений

Система включает средства автоматического взаимного преобразования диаграмм сценариев.

Диаграммы сценариев сообщений

Иллюстрация 8

Диаграммы сценариев объектов

Иллюстрация 9

Иллюстрация 10

Диаграммы сценариев сообщений могут сопровождаться структурированным текстом.

Диаграмма состояний

Иллюстрация 11

Для каждого класса может быть создана диаграмма состояний.

На ней указывается начальное, конечное и промежуточные состояния, а также события, определяющие переход из одного состояния в другое. Имеется возможность гнездования состояний.

Диаграмма процессов

Иллюстрация 12

Изображаются процессоры и устройства, образующие физическую конфигурацию прикладной системы

Диаграммы модулей

Диаграммы модулей - физическая модель системы.

Показывает подсистемы проектируемого приложения и основные модули каждой из них.

Диаграммы модулей образуют иерархию.

Для каждого модуля можно отдельно показать на диаграмме его файл-заголовок и файл реализации.

Модули

Иллюстрация 13

Подсистемы

Иллюстрация 14

Автоматическая генерация С++ кода.

Rational Rose/C++ включает средства автоматической генерации кодов программ на языке С++. Используя информацию, содержащуюся в модели проекта, генератор кодов формирует файлы заголовков и файлы реализаций классов.

Создаваемая структура программы может быть уточнена путем прямого программирования на языке С++. При повторной генерации внесенные изменения не теряются

Стиль структуры программы в коде С++ формируется настройкой свойств (properties) проекта.

Ошибки, обнаруженные генератором кодов С++, представляются в специальном Log файле.

Иллюстрация 15

Свойства генерации кода могут быть настроены как для всего проекта, так и для отдельных его компонент.


Иллюстрация 16

Rational Rose/C++ генерирует С++ код стандарта ANSI. Базируясь на выбранных свойствах генерации, Rational Rose генерирует следующие элементы кода:

Для каждого модуля:

  • Заголовочный файл и файл реализации для модуля.
  • #include директивы, явно или неявно определенные в моделе.

Для каждого класса:

  • Определение класса.
  • Объявление атрибутов, отношений включения и ассоциативных отношений.
  • Get и Set функции для доступа к атрибутам.
  • Объявления для стандартных операций с заготовками определений.
  • Объявления для операций, определенных пользователем.
  • Все поля документирования из спецификаций диаграмм переносятся в код как комментарии.

Реинжениринг модели

Rational Rose/C++ включает анализатор C++ (Analyzer), поставляемый как отдельно исполняемый модуль, который грузится независимо от Rose/C++.

Реинжениринг модели это процесс исследования программного кода для извлечения информации о его структуре. Analyzer извлекает информацию из С++ кодов и использует ее для построения модели программного кода.

После работы анализатора модель может быть перенесена в систему в виде диаграмм классов и модулей и проанализирована средствами Rational Rose/C++.

Анализируется только структура кода. Исходный код может содержать ошибки реализации

Иллюстрация 17

Анализ начинается с построения внутренней модели программного кода. В проекте указываются исходные модули и стандартные библиотеки. В результате анализа формируется модель во внутреннем формате системы.

Иллюстрация 18

Экспортные возможности позволяют управлять автоматической генерацией модели путем:

  • выбора исходных модулей для включения в модель;
  • выбора элементов диаграмм (классов, отношений, комментариев и т.д.) для отображения в модели

Иллюстрация 19

Степень визуализации проанализированной информации при передачи ее в Rational Rose/C++ настраивается. Это позволяет производить анализ с различным уровнем детализации.

Групповая работа в Rational Rose/C++

  • Каждому разработчику может быть выделено собственное рабочее пространство, чем устраняется неконтролируемое и асинхронное распространение изменений.
  • Декомпозиция модели на категории и управляемые части (units) позволяет наделить разработчика своим кругом ответственности.
  • Rational Rose/C++ интегрируется с системой управления версиями (PVCS) или подобными ей.
  • Внутри выделенного рабочего пространства участники групповой работы могут работать на различных платформах (UNIX или Windows) и в дальнейшем собрать единую модель.

Иллюстрация 20

Документирование модели

Rational Rose/C++ включает средства документирования модели:

  • Вывод на печать диаграмм и спецификаций непосредственно из Rose/C++
  • Генерация документации модели в RTF формате для последующего редактирования средствами мощных редакторов типа MicroSoft Word
  • Создание шаблонов для генерации проектной документации в соответствии с заданным стандартом с помощью средства автоматизированного документирования SoDA.

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( )
отменить заданный климат

Возвратное проектирование в Rational Rose/C++

Иллюстрация 21

Новости мира IT:

Архив новостей

Последние комментарии:

Вышло обновление Firefox 57.0.1 (1)
Среда 06.12, 09:14

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...