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) определяет механизмы взаимодействия объектов в разнородной сети;
  • • объектные сервисы (Object Services) являются основными системными сервисами, используемыми разработчиками для создания приложений;
  • • универсальные средства (Common Facilities) являются высокоуровневыми системными сервисами, ориентированными на поддержку пользовательских приложений (электронная почта, средства печати и др.);
  • • прикладные объекты (Application Object) предназначены для решения конкретных прикладных задач.

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

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

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

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

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

Спецификация ОМА

Рис. 5.10. Спецификация ОМА

Идеальное объектно-ориентированное CASE-средство

Рис. 5.11. Идеальное объектно-ориентированное CASE-средство

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

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

  • • возможность выбора выводимой на экран информации из всей совокупности данных, описывающих модели;
  • • согласованность диаграмм мри хранении их в репозитарии;
  • • внесение комментариев в диаграммы и соответствующую документацию для фиксации проектных решений;
  • • возможность динамического моделирования в терминах событий;
  • • поддержка нескольких нотаций (хотя бы три нотации – Г. Буча, И. Джекобсона и ОМТ).

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

  • • поддержка всего процесса проектирования приложения;
  • • возможность работы с библиотеками, средствами поиска и выбора;
  • • возможность разработки пользовательского интерфейса;
  • • поддержка стандартов OLE, ActiveX и доступ к библиотекам HTML или Java;
  • • поддержка разработки распределенных или двух- и трехзвенных клиент-серверных систем (работа с CORBA, DCOM, Internet).

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

  • • генерация кола полностью из диаграмм;
  • • возможность доработки приложений в клиент-серверных CASE-средствах типа Power Builder;
  • • реинжиниринг кодов и внесение соответствующих изменений в модель системы;
  • • наличие средств контроля, которые позволяют выявлять несоответствие между диаграммами и генерируемыми кодами и обнаруживать ошибки как на стадии проектирования, так и на стадии реализации.

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

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

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

Таблица 5.3

№ п/п

Продукт, фирма-разработчик

Поддерживаемые

платформы

Используемые коды

Генерация кода

Описание

1

Bridge Point (версия 3.2.1), Project Tehnology

Unix,

SIG-Irix

Шлеер/

Меллор

C/C++

Поддержка полного жизненного цикла в рамках методики "Шлеер/ Меллор", генерация кода

2

Grapical Designer (версия 2.0), Advanced Software Technologies

Unix,

Windows NT Windows 95

Г. Буч, И. Джекоб- сон, ОМТ, Шлеер/ Меллор, UML.08 и структурная нотация

C/C++

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

3

Life Model for OOOIE (версия 1), InteliCorp

Unix,

Windows NT

Мартин/ Оделл (001Е)

С

Средство является верхним уровнем фирменного продукта искусственного интеллекта Карра. Прототипирование в режиме интерпретатора, генерация кода, создание экранов и т.д. Возможность программирования на С или на внутреннем script- языке типа Prolog

4

ObjectTime, Object Time Ltd

Unix

ROOM

C++

Создание и визуализация исполняемых моделей систем реального времени на основе ОО-методологии реального времени (ROOM). Внутренний script-язык – подмножество "Smalltalk"

5

Objectory (версия 3.7), Rational Software

Unix, OS/2, DOS5, Windows 3.1,95, NT

И. Джекоб – сон

C++,

Small

talk

Два варианта: Analysis Workbench для ОО-ана- лиза и Design Workbench для проектирования. Связь с VisualWorks и C++ Softbench. BPR на основе метода Джскобсона. Так как Objectory перешло к Rational, то неизвестно, как долго еще продукт будет поддерживаться

6

Object Partner (версия 2.0), Verilog

Unix

ОМТ

C++

Распространяет Verilog, а также Logiscope и Object- Geode

7

ObjectTeamEnterprisc (версия 1) Cayenne Software

Unix

OMT

C++

Cayenne объединяет Cadre и Bachman technology. Пользователям ObjectTeam (метол Шлеер/Меллор) предлагается обратиться к продуктам BridgcPoint

8

Objeci Maker (версия 4.2, 1995) Mark V

Unix, Windows 3.1,95, NT

15 нотаций, в частности: Г. Буч,

ОМТ, Шлеер/Меллор, Кол/Йор- дон и др.

Ada

'83, '95, C/C++, Smalltalk

Общий репозиторий в сети, командная работа. Есть локальный продукт Object Maker Consulant

9

ParadigmPlus (версия 3.0) Platinum Technology (formerly Proiosoft)

Unix, OS/2, Windows 3.1, 95,NT

8 нотаций, в частности:

Г. Буч,

ОМТ, Шлеер/Мсллор, Fusion и т.д.

Ada,

C/C++,

Smalltalk,

Java

Генерация SQL, ОО и реляционные БД. Реинжиниринг для Forte, PowerBuilder, VisualWorks, Visual Smalltalk Enterprise, VisualAge, ObjectPro. Object- Store. OODB в качестве репозитория

10

Ptech (версия 4.0), PtechInc.

Windows 95, NT, Unix

Мар-

тин/Оделл

(OOIE)

C++,

Forte

2.0

Интегрирован с Object- Store, Objectivity, ONTOS. Генерация кода для библиотек классов Tools.h++, USL

11

Rational Rose (версия 3.0), Rational Software

Windows 3.1, 95, NT, UNIX

(Solaris, HP UX. AIX)

Г. Буч, ОМТ

Ada,

C++,

Smalltalk,

Visual

Basic,

Java,

Forte

SQL

Windows,

PowerBu

ilder

Конвертация Буч/ОМТ. Поддержка Java, COBRA. Реинжиниринг кода из Forte SQLWindows, PowerBuilder и ОО-языков. Объявлено о выпуске нового средства работы с COBRA.

12

System Architect Object (версия 3.1), Popkin Software and System

Windows 3.1. OS/2

Г.Буч,

ОМТ, Шлеер/Меллор, Кол/Йор – дон, CRC, И. Джекоб сон

C++,

Smalltalk,

Java

Поддержка структурных методологий. BPR на основе IDEF-диаграмм. Связь с PowerBuilder

13

Software through Piclurcs/OMT and BUCH (версия 3.2),

Interactive

Development

Environments

Unix

ОМТ или

Г. Буч,

И. Джекобсон

C++, Smalltalk, Java и OMGI DL

Есть продукты для структурных методологий. CASE для BPR. Поддержка, Java, HTML, Netscape Navigator, COBRA, связь Net Links Oibitaze, SNiFF+. Реинжиниринг

14

SES/Objcctbench (версия 2.2), Scientific and Engineering Software

Unix

ООА

C/C++

Объектно-ориентированный анализ

15

Together/C++,

Object

International

Windows 3.1

Код/Йорлом

C++

Версия для командной работы, работающая и под Windows 3.1

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

Выделим основные критерии оценки и выбора CASE-средств.

  • 1. Функциональные характеристики:
    • • среда функционирования: проектная среда, программное обеспечение/технические средства, технологическая среда;
    • • функции, ориентированные на фазы жизненного цикла: моделирование, реализация, тестирование;
    • • общие функции: документирование, управление конфигурацией, управление проектом;
  • 2. Надежность;
  • 3. Простота использования;
  • 4. Эффективность;
  • 5. Сопровождаемость;
  • 6. Переносимость;
  • 7. Общие критерии (стоимость, затраты, эффект внедрения, характеристики поставщика).

Данные критерии подробно изложены в стандартах IEEE Std 1348–1995. IEEE recommended Practice for the Adoption of Computer – Aided Software Engineering (CASE) Tools и IEEE Std 1209–1992 Recommended Practice for the Evaluation and Selection of CASE Toois.

 
< Пред   СОДЕРЖАНИЕ     След >