Case-технологии

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

функционально-модульный (структурный) и объектно-ориентиро­ванный.

Функционально-модульный подход основан на принципе алгорит­мической декомпозиции с выделением функциональных элементов и установлением строгого порядка выполняемых действий.

Объектно-ориентированный подход основан на объектной де­композиции с описанием поведения системы в терминах взаимо­действия объектов.

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

стоящее время наибольшее распространение получил объект­но-ориентированный подход.

Под CASE-технологиеи будем понимать комплекс программных средств, поддерживающих процессы создания и сопровождения программного обеспечения, включая анализ и формулировку тре­бований, проектирование, генерацию кода, тестирование, докумен­тирование, обеспечение качества, конфигурационное управление и управление проектом (CASE-средство может обеспечивать под­держку только в заданных функциональных областях или в широ­ком диапазоне функциональных областей) [5].

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

• возможностью сборки программной системы из готовых ком­понентов, которые можно использовать повторно;

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

• простотой внесения изменений в проекты за счет инкапсуля­ции данных в объектах;

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

• возможностью организации параллельной работы аналити­ков, проектировщиков и программистов.

Рассмотренные ранее (см. подразд. 3.1) концепции объект­но-ориентированного подхода и распределенных вычислений стали базой для создания консорциума Object Management Group (OMG), членами которой являются более 500 ведущих компьютерных ком­паний (Sun, DEC, IBM, HP, Motorola и др.). Основным направле­нием деятельности консорциума является разработка специфика­ций и стандартов для создания распределенных объектных систем в разнородных средах. Базисом стали спецификации под названи­ем Object Management Architecture (ОМА).

ОМА состоит из четырех основных компонентов, представляю­щих спецификации различных уровней поддержки приложений (рис. 5.10):

• архитектура брокера запро­сов объектов (CORBA — Common Object Request Broker Architecture) определяет механизмы взаимодей­ствия объектов в разнородной ceти;

• объектные сервисы (Object Services) являются основными сис­темными сервисами, используемы­ми разработчиками для создания приложений;

• универсальные средства (Common Facilities) являются высо­коуровневыми системными сервисами, ориентированными на под­держку пользовательских приложений (электронная почта, средст­ва печати и др.);

• прикладные объекты (Application Object) предназначены для решения конкретных прикладных задач.

Исходя из основных положений объектно-ориентированного подхода рассмотрим концепцию идеального объектно-ориентиро­ванного CASE-средства.

Существует несколько объектно-ориентированных методов, ав­торами наиболее распространенных из них являются Г.Буч, Д.Рам­бо, И.Джекобсон. В настоящее время наблюдается процесс сбли­жения объектно-ориентированных методов. В частности, указан­ные выше авторы создали и выпустили несколько версий унифи­цированного метода UML (Unified Modeling Language — унифици­ванный язык моделирования).

Классическая постановка задачи разработки программной сис­темы (инжиниринг) представляет собой спиральный цикл итера­ктианого чередования этапов объектно-ориентированного анализа, проектирования и реализации (программирования).

В реальной практике в большинстве случаев имеется предыс­тория в виде совокупности разработанных и внедренных про­грамм, которые целесообразно использовать при разработке но­вой системы. Процесс проектирования в таком случае основан на реинжиниринге программных кодов, при котором путем анализа текстов программ восстанавливается исходная модель программ­ной системы.

Современные CASE-средства поддерживают процессы инжиниринга и автоматизированного реинжиниринга.

Идеальное объектно-ориентированное CASE-средство (рис. 5.11) должно содержать четьфе основных блока: анализ, проекти­рование, разработка и инфраструктура [34].

Основные требования к блоку анализа:

• возможность выбора выводимой на экран информации из всей совокупности данных, описывающих модели;

• согласованность диаграмм при хранении их в депозитарии;

• внесение комментариев в диаграммы и соответствующую до­кументацию для фиксации проектных решений;

• возможность динамического моделирования в терминах со­бытий;

• поддержка нескольких нотаций (хотя бы три нотации — Г.Буча, И.Джекобсона и ОМТ).

Основные требования к блоку проектирования:

• поддержка всего процесса проектирования приложения;

• возможность работы с библиотеками, средствами поиска и выбора;

• возможность разработки пользовательского интерфейса;

• поддержка стандартов OLE, ActiveX и доступ к библиотекам HTML или Java;

поддержка разработки распределенных или двух- и трехзвенных клиент-серверных систем (работа с CORBA, DCOM, Internet). Основные требования к блоку реализации:

• генерация кода полностью из диаграмм;

• возможность доработки приложений в клиент-серверных CASE-средствах типа Power Builder;

реинжиниринг кодов и внесение соответствующих измене­ний в модель системы;

• наличие средств контроля, которые позволяют выявлять не­соответствие между диаграммами и генерируемыми кодами и обна­руживать ошибки как на стадии проектирования, так и на стадии реализации. Основные требования к блоку инфраструктуры:

• наличие репозитория на основе базы данных, отвечающего за генерацию кода, реинжиниринг, отображение кода на диаграммах, а также обеспечивающего соответствие между моделями и про­граммными кодами;

• обеспечение командной работы (многопользовательской ра­боты и управление версиями) и реинжиниринга.

В табл. 5.3 приведен обзор наиболее распространенных объект­но-ориентированных CASE-средств [34].

Сравнительный анализ CASE-систем показывает, что на сего­дняшний день одним из наиболее приближенных к идеальному ва­рианту CASE-средств является семейство Rational Rose фирмы Rational Software Corporation. Следует отметить, что именно здесь работают авторы унифицированного языка моделирования Г. Буч, Д. Рамбо и И. Джекобсон, под руководством которых ведется раз­работка нового CASE-средства, поддерживающего UML.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: