(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Программирование в картинках. Rational Rose

Татьяна Михно

Java, C++, Visual C++ - это замечательные объектно-ориентированные языки программирования, однако для написания больших и сложных приложений требуется немалый опыт работы с этими языками.

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

Технологии

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

CASE-технология - это совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения, поддерживаемая комплексом взаимоувязанных средств автоматизации. Она служит для проектирования программы или системы, абстрагируясь от ее реализации в коде. CASE-технология позволяет разделить создание программы или системы на этапы: проектирование, кодирование, тестирование, внедрение.

Для работы с Rational Rose необходимо знать UML (Unified Modeling Language - унифицированный язык моделирования). UML - это графический язык описания архитектуры системы. В Rational Rose можно работать с UML в одной из нотаций:

  • в Unified (унифицированной);
  • в нотации Г. Буча (Booch);
  • в нотации ОМТ (Object Model Template - шаблон объектной модели).

Наиболее распространена Unified (унифицированная) нотация.

Программа на UML не кодируется, а описывается при помощи диаграмм, очень напоминающих школьный алгоритмический язык. Диаграммы UML состоят из объектов и связей между ними (как на рис. 1) или из этапов процесса (как на рис. 2).

Рис. 1. Диаграмма использования термометра

Рис. 2. Диаграмма состояний процесса сравнения двух переменных

После проектирования классов на диаграммах Rational Rose дает возможность привязать их к конкретному языку программирования и создать на нем программный код. Rational Rose поддерживает работу с такими языками: C++, Ada, Java/J2EE, Visual C++, Visual Basic и XML. Существует надстройка, обеспечивающая интеграцию Rational Rose со средой Delphi. Rational Rose понимает модели COM и CORBA, схемы Oracle.

Разработчик

Само название Rational Rose переводится с английского либо как "Рациональная роза", либо как "Повышение рациональности", что связано с неоднозначностью перевода слова "Rose".

Rational Rose разработана компанией Rational , которая основана в 1981 году и занимается созданием CASE- технологий. Программные продукты фирмы Rational предназначены для анализа требований к системе, разработки программного обеспечения, тестирования, управления проектами и поддержки команды разработчиков.

Страница на сайте разработчика посвящена Rational Rose. Предварительно зарегистрировавшись, с сайта разработчика можно скачать бесплатную 15-дневную версию Rational Rose. Там же можно получить документацию (на английском языке).

Rational Rose существует для двух платформ - Windows (начиная с 98) и UNIX (Solaris 2.6, 7 и 8, HP-UX 10.20, 11, 11.11 (11i), Linux).

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

Работа

В Rational Rose модель представлена с четырех точек зрения, или видов (View):

  • Use Case View - описывает, как проект выглядит с точки зрения его использования. Кто и куда вводит данные, что после этого делает программа и кому передает результат. Пример такой диаграммы показан на рис. 1 и в большем фрейме браузера на рис. 3;
  • Logical View - здесь описывается логика программы. Рекомендуется приступать к работе с этим аспектом модели в последнюю очередь, когда уже определено, что и в какой последовательности будет делать программа. Здесь описываются классы, их свойства и методы, отношения между классами. Пример такой диаграммы показан на рис. 4;
  • Component View - показывает, на какие компоненты разбит проект, что помещено в каждый из них. Здесь проектируются модули и зависимости между ними, переходы от главной программы к подпрограммам;
  • Deployment View - помогает продумать расположение физических устройств и связей между ними. В каждом из этих видов по умолчанию находится главная диаграмма - Main, в которой и отражается соответствующий аспект модели. Можно не ограничиваться ею и создавать другие диаграммы. Кроме того, в видах можно создавать дополнительные типы диаграмм:
  • State diagram - диаграмма состояний и переходов между ними;
  • Activity diagram - пример этой диаграммы приведен на рис. 2. Она отображает состояния системы и ее объектов, выполняемые действия и условные переходы;
  • Iteraction diagram - диаграмма взаимодействия объектов.

Полезность

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

Rational Rose в этом плане отличается от языков программирования. "С кондачка" ее не выучишь - нужен весьма серьезный стимул. Поскольку система комплексна и многогранна - ориентироваться в ней так же непросто, как в современной политике.

Хотя, впрочем, не стоит забывать, что работа программиста - это тоже творчество, а посему случаи, похожие на озарение,- не редкость. Когда оказывается, что для изменения модели не нужно переписывать ее сверху донизу; когда понимаешь, что можешь показать заказчику будущий продукт с любой степенью детализации; когда начальство многозначительно хмыкает при взгляде на стройные ряды классов и объектов - в такие моменты чувствуешь себя демиургом, творцом небольшой вселенной. Что тоже не вредно для самолюбия.

При установке Rational Rose обнаруживает программное обеспечение разработчика и активно с ним взаимодействует. В Rational Rose 2001 реализован контроль версий при помощи Microsoft Visual SourceSafe или встроенного средства фирмы Rational.

Любителям "открытого программирования", да и тем, у кого просто есть желание поделиться собственным открытием, стоит знать, что Rational Rose с помощью средства Rose Web Publisher может публиковать свои диаграммы, чтобы они стали достоянием общественности, на любом веб-сервере. Или в локальной сети - все зависит от настроек. На рис. 3 показана диаграмма Use Case, выложенная на веб-сервер по имени HAWK.

Рис. 3. Публикация модели Rational Rose в сети

Хозяйке на заметку: комментарии можно вставлять в классы при их проектировании. То есть на том этапе, когда разработчик еще не забыл, для чего должны служить эти классы, и не увлекся написанием кода. В Rational Rose существует также возможность, называемая Reverse Engeneering - реинжиниринг. Предположим, имеется работающая программа на языке. В данном случае реинжиниринг - это набор методов, позволяющих получить на основе исходного кода модель Rational Rose.

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

При создании класса его имя вводится один раз, а потом выбирается из списка доступных объектов. Это предохраняет от грамматических ошибок. Когда приложение состоит из нескольких классов, каждый из которых использует произвольное количество остальных, не запутаться сложно. Но на диаграмме Rational Rose отлично видно, какие сущности использует каждый класс.

Рис. 4. Связи между классами

На рис. 4 показано, что класс EnvironmentalController унаследован от Controller. Он использует классы TemperatureSensor и pHSensor. Класс pHSensor включает в себя классы pH и location, а класс TemperatureSensor - классы temp и location.

После создания модели приложения в Rational Rose остается только ассоциировать ее с языком программирования, список которых находится в меню Tools (Сервис). Затем для генерирования программного кода используется пункт подменю Code Generation. Rational Rose может быть полезна не только разработчикам. Системные аналитики и менеджеры проектов вполне могут применять ее для понимания архитектуры и требований при создании крупных программ. С ее помощью руководитель проекта легко может разделить работу между командой программистов так, чтобы каждый не вмешивался в работу других, но при этом видел результаты работы товарищей.

На ранних этапах проектирования программ Rational Rose может облегчить взаимопонимание заказчика и проектировщика. Не секрет, что программисту иногда приходится объяснять клиенту, что ему нужно. Четкая и аккуратная диаграмма действий легче воспримется заказчиком, чем пространное объяснение, полное терминов, или бесконечные строки кода на дисплее. Но в любом случае главную роль играет полет творческой мысли создателя проекта, вне зависимости от используемых средств. Можно, пользуясь стандартным текстовым редактором и компилятором из командной строки, создавать шедевры. А можно и с помощью самых современных средств проектирования создать громоздкую и ненужную программу.

И, тем не менее, не стоит забывать, что творцом остается человек, а компьютер и технологии - это лишь его верные (хотя подчас весьма капризные!) помощники.



 Распечатать »
 Правила публикации »
  Обсудить материал в конференции IBM Rational/Telelogic - системный инжиниринг, управление требованиями, изменениями, жизненным циклом ИС, умное управление проектами »
Написать редактору 
 Рекомендовать » Дата публикации: 26.11.2002 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
IBM RATIONAL Clearcase Floating User From Rational Clearcase Lt Floating User Trade Up License + Sw Subscription & Support 12 Months
IBM Rational Method Composer Authorized User License
IBM RATIONAL Quality Manager Quality Professional Authorized User Single Install License + Sw Subscription & Support 12 Months
Rational ClearCase Multisite Floating User License
IBM Rational Functional Tester Floating User License
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Мастерская программиста
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Написание программ для микроконтроллеров AVR, PIC, ARM, STM32 (15)
Напишу любую программу на любом искусственном языке. Профессиональный программист. Основная...
 
Разработка устройств на микроконтроллерах (31)
Профессиональный программист. Основная специализация: МИКРОКОНТРОЛЛЕРЫ, АССЕМБЛЕР для любых...
 
Пишу программы на заказ для студентов (217)
Пишу для студентов на с, с++, паскаль в средах ms visual studio, qt, builder, borland c, delphi....
 
Access, Ключевое поле, Счетчик (10)
Подскажите пожалуйста, как изменить в Access в ключевом поле (счетчик последовательно),...
 
Ищу программиста для написания программы (46)
Ищу программиста ,владеющего Вижуал Бэйсик и программированием в Экселе, для написания...
 
 
 



    
rambler's top100 Rambler's Top100