Ивлева В.А., Никонова И.Г.

Уфимский государственный авиационный технический университет

Анализ систем автоматизированного проектирования программного обеспечения

На сегодняшний день написание программного кода крупного проекта вручную и одним разработчиком без использования средств моделирования является крайне нецелесообразным. Ни качество, ни сроки выполнения не будут удовлетворять современным требованиям рынка. Да и при создании проекта группой разработчиков могут возникнуть проблемы. Уход сотрудников, задействованных в проект, появление вместо них новых: все это может крайне негативно сказаться на выполнении проекта, сдвигая сроки выполнения и внося «хаус» в общую работу коллектива. Модели позволяют наглядно продемонстрировать желаемую структуру и поведение разрабатываемого продукта. Они также необходимы для визуализации и управления его архитектурой. Модели помогают добиться лучшего понимания создаваемого программного продукта, что зачастую приводит к его упрощению и возможности повторного использования. Наконец, модели нужны для минимизации риска. Создавать модели программного обеспечения (ПО) можно посредством систем автоматизированного проектирования ПО.

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

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

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

Rational Rose - продукт компании IBM (ранее компания Rational Software, в настоящий момент является подразделением IBM). Средство моделирования объектно-ориентированных информационных систем. Использует методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Гради Буча, Джеймса Рамбо и Айвара Джекобсона. Позволяет решать практически любые задачи в проектировании информационных систем: от анализа бизнес-процессов до кодогенерации на определенном языке программирования. Позволяет разрабатывать как высокоуровневые, так и низкоуровневые модели, осуществляя тем самым либо абстрактное проектирование, либо логическое.

Возможности Rational Rose:

-                     полноценная поддержке языка UML;

-                     многоязыковая поддержка командной разработки (С++, ADA, CORBA, Visual Basic, XML, COM, Oracle);

-                     полная поддержка компонентно-ориентированный процесса создания ИС;

-                     возможность по созданию шаблонов архитектурных решений;

-                     возможность публикации модели в Интернете;

-                     повторное использование программных компонент в новых проектах.

Достоинства Rational Rose:

-                     функционирование на различных платформах: IBM PC (в среде Windows), Sun SPARC stations (UNIX, Solaris, SunOS), Hewlett-Packard (HP UX), IBM RS/6000 (AIX);

-                     удобный современный интерфейс;

-                     позволяет провести разработку, начиная от концептуальной модели, до программного кода (но требует высокой квалификации);

-                     реализует большую часть функций ARIS и ERwin/BPwin;

-                     мощные функциональные возможности по генерации исполняемых кодов.

Недостатки Rational Rose:

-                     высокая цена;

-                     политика разработчика непрозрачна;

-                     недостаточны графические возможности;

-                     репрезентативность моделей низка;

-                     отсутствие возможности имитационного моделирования;

-                     сложность освоения продукта.

Проектирование ПО является важным этапом при создании программного продукта. Системы автоматизированного проектирования ПО являются неотъемлемым инструментом при разработке больших проектов. Rational Rose – самый распространенный представитель таких систем – очень эффективное средство при проектировании и создании ПО любой сложности, начиная от самых простейших программ и заканчивая очень сложными.

Литература:

1.            khpi-iip.mipk.kharkiv.edu;

2.            skand.geocraft.ru;

3.            www.osp.ru;

4.             www.povt.zaural.ru.