Купи себе немножечко CASE

Дмитрий Рамодин
Представление о CASE-комплексах связано в нашем сознании с чем-то, не имеющим отношения к обычному программированию, и упоминаются они, как правило, когда говорят о больших заказных проектах. А вот в далеком зарубежье, особенно в Америке, из-за сильнейшей конкуренции CASE-средства используются подавляющим большинством фирм-разработчиков программного обеспечения, даже самых маленьких. Мощный толчок CASE-комплексы получили в пору внедрения объектно-ориентированной технологии разработки ПО, когда старого, проверенного временем метода проектирования “сверху вниз” стало явно недостаточно. К тому же появились технологии объектного моделирования Booch, OMT и гораздо позже UML, сами по себе весьма сложные для привязки к языкам программирования, чтобы оперировать ими вручную.

Сегодня лидирующей в мире CASE-системой считается Rational Rose корпорации Rational Software, подъем продаж которой пришелся на период с 1996-го по текущий год. Система Rational Rose нацелена на создание моделей с использованием языка Unified Modeling Language (UML). Кстати, UML стал стандартным языком объектно-ориентированной разработки не без подачи Rational Software, которая не только выпускает программные продукты, где используется UML, но и активно принимает участие в организации Object Management Group (OMG), занятой созданием и обновлением спецификаций языка UML, технологии распределенных вычислений CORBA и т. д. В компании Rational работают три создателя и евангелиста объектно-ориентированной разработки и языка UML. Это Гради Буч (Grady Booch), Айвар Джекобсон (Ivar Jacobson) и Джим Рамбаух (Jim Rumbaugh).

Своеобразным признанием заслуг Rational Software стало включение усеченного варианта продукта Rational Rose в знаменитый пакет разработчика Microsoft Visual Studio. Правда, название поменялось с Rational Rose на Visual Modeler. Многие, используя Visual Modeler, так и не знают, с чем же на самом деле они работают.

Последняя версия CASE-системы компании Rational Software — Rational Rose 98 уже вовсю применяется для создания коммерческого ПО и поддерживает популярные языки программирования Java, Cu++, Смолток, Aдa, Visual Basic, PowerBuilder и Forte. Кроме того, пакет Rose 98 способен генерировать описания на языках Interface Definition Language (IDL) для приложений CORBA и Data Definition Language (DDL) для приложений доступа к базам данных, в том числе и Oracle 8. Разумеется, поддержка того или иного языка программирования зависит от того, о какой редакции пакета Rational Rose 98 идет речь. К примеру, нельзя требовать многого от самого простого варианта пакета — Rose 98 Modeler Edition. Зато Rose 98 Enterprise Edition оснащен от души.

Интегрированная среда

Среда Rational Rose 98 — типичное окно в стиле Microsoft MFC со швартуемыми панелями (рис.1).

По умолчанию программа выводит окна браузера, документации и Рабочего стола. Между этими окнами уютно расположилась палитра с элементами, из которых строятся различные диаграммы.

Окно браузера отображает дерево элементов текущей открытой в Rational Rose модели. Это могут быть сценарии поведения (use cases), действующие лица (actors), пакеты (packages) и прочие диаграммы. Пользуясь перетаскиванием, можно перемещать отображаемые в браузере элементы в различные места “дерева” модели, изменяя структуру модели по своему усмотрению.

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

Рабочий стол служит для того, чтобы “раскладывать” диаграммы. Если в окне браузера дважды щелкнуть на значке какой-либо диаграммы, то последняя будет открыта в отдельном окне, а окно в свою очередь будет помещено на Рабочий стол Rose. Там же находится постоянно свернутое окно протокола работы.

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

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

Как пользоваться Rose

Пользователь, впервые встретившийся с Rational Rose 98, вряд ли сразу же поймет идеологию пакета. Но что сделаешь, практически все CASE-продукты “грешат” ориентацией на специалистов. И все же стать таким специалистом, работая с Rose, не так и сложно. Тем паче, что время, затраченное на изучение пакета, в дальнейшем многократно окупится. А чтобы было понятнее, как работают с Rational Rose, рассмотрим небольшой пример построения диаграммы сценариев поведения для модели, которую, кстати, можно найти среди примеров, поставляемых с Rose 98. Предположим, требуется создать некую систему регистрации студентов на учебные курсы в университете.

Сценарий проекта таков. Сначала каждый профессор университета заполняет специальную форму, в которой указывает, какие учебные курсы он намерен вести в следующем семестре. Данные из формы помещаются в университетский компьютер работником регистратуры. После этого из полученных данных формируется каталог курсов, который раздается студентам. Студенты выбирают из каталога те курсы, на которых они собираются учиться, и подают заявки на обучение в регистратуру. Все эти данные также попадают в компьютер, где происходит их обработка и формирование списков курсов и студентов. В задачи создаваемой системы входит, в частности, такое комплектование учебных курсов, чтобы каждый курс посещало бы от трех до десяти студентов. Если на какой-то курс не набирается трех студентов, он отменяется. После формирования курсов профессора получают списки студентов, которых им предстоит обучать, а каждый студент получает подтверждение о зачислении на курс и счет на оплату.

Первое, что требуется при построении модели, — определить действующие лица системы и сценарии поведения. Действующих лиц в создаваемой системе четыре: профессор, студент, регистратура и биллинговая программа. Первые три выбраны действующими лицами, поскольку они активно взаимодействуют с создаваемой системой. Биллинговая же программа чаще всего является отдельным программным продуктом, а в нашем случае она получает информацию для своей работы от создаваемой курсовой системы, поэтому может считаться самостоятельным действующим лицом.

Теперь выделим сценарии использования для нашего примера. Каждый из них описывает некоторое требование к функциям системы:

Теперь перенесем все это на диаграмму. Для этого нужно создать пустой проект, переключиться на папку Use Case View и открыть контекстное меню нажатием правой кнопки мыши. Если теперь выбрать пункт New•Actor (рис. 3), то вы получите действующее лицо; если же выбрать New•Use Case, то будет создан сценарий поведения. Все введенные нами действующие лица и сценарии поведения немедленно появляются в окне браузера, откуда вы можете перетаскивать их мышью на диаграммы.
Рис. 3. Создаем новое действующее лицо модели

Далее, как правило, строится диаграмма сценариев поведения. Для этого двойным щелчком на пиктограмме Main из папки Use Case View открывается главная диаграмма сценариев. В нее из окна браузера перетаскиваются все действующие лица и сценарии поведения, которые были созданы в рамках модели. После размещения эти компоненты нужно связать между собой, чтобы отобразить взаимосвязи. В нашей модели наилучшим образом подойдут связи типа “однонаправленная ассоциация” (Unidirectional Association). Для реализации связей также применяется метод перетаскивания. Сначала в палитре выбирается тип связи “однонаправленная ассоциация”, после чего нужно протянуть линию между действующим лицом и сценарием поведения. В результате на диаграмме возникнет стрелка. Аналогичным образом поступают со всеми компонентами диаграммы. Готовая диаграмма показана на рис. 4.
Рис. 4. Диаграмма сценариев поведения

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

Теперь вы можете задать дополнительные параметры для компонентов диаграммы. Нужно лишь дважды щелкнуть на выбранном объекте, после чего вы увидите диалоговую панель, которая позволяет задать текст документации для выделенного объекта и различные опции (рис. 5).
Рис. 5. Документация к объекту

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

Нельзя не отметить, что...

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

Преимущества от применения Rational Rose 98 значительны:

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

Число пользователей Rational Rose превысило 50 тыс., причем в самых различных областях. Возможно, это и не так много для программного пакета, но для CASE-систем эта цифра очень внушительная. Тем более что среди клиентов Rational такие всемирно известные компании, как NASA, Boeing, Lockheed Martin, Honeywell, NBC, Reuters, AT&T и др., имена которых, выстроенные в столбик, заняли бы целую колонку журнальной страницы. Может быть, в этой колонке найдется место и для вашей компании.

Автор выражает признательность компании Interface за возможность ознакомиться с продуктом и всестороннюю помощь. На сервере http://www.interface.ru можно найти дополнительную информацию Rational Rose 98 на русском языке.

Где купить: Interface Client Server Company, тел./факс в Москве: (095) 135-25-19, 135-55-00.


Interface Ltd.

Ваши замечания и предложения направляйте по адресу:
webmaster@interface.ru

Reklama.Ru. The Banner Network.