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) предназначены для решения конкретных прикладных задач.

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

 

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

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

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

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

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

 

Анализ Проектирование Реализация
Возможность добавлять пояснительные надписи к диаграммам и в документацию слои Возможность создавать различные представления и скрывать ненужные в данный момент системы Возможность просматривать и выбирать элементы и бизнес-объекты для использования в системе Возможность генерировать заготовки программного кода на нескольких объектно-ориентированных языках
Среда для создания диаграмм разнообразных моделей Возможность создания пользовательского интерфейса (поддержка OLE, ActiveX, OpenDoc, HTML) Возможность проверки кода на синтаксическую корректность
Поддержка различных нотаций Возможность динамического моделирования событий в системе Возможности определения бизнес-модели и бизнес-правил Возможность генерировать код для 4GL и клиент-серверных продуктов (PowerBukler, Forte, VisualAge, VisualWorks)
Возможность генерации документации для печати Возможность динамической коррекции одной диаграммы из другой Возможность связи с объектно-ориентированными базами данных и распределенными м одулями (поддержка COBRA, DCOM, ПОР, HTML)  
Инфраструктура
Контроль версий. Блокирование и согласование частей системы при групповой разработке Репозиторий Возможность реинжиниринга программного кода, 4GL, клиент-серверных систем в диаграммы моделей

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таблица 5.3

№ п/п   Продукт, фирма-разработчик   Поддерживаемые платформы Используемые коды Генерация кода   Описание    
  BridgePoint (версия 3.2.1), Project Tehnology Unix, SIG-Irix     Шлеер/ Меллор     C/C++   Поддержка полного жизненного цикла в рамках методики «Шлеер/ Меллор», генерация кода
    Grapical Designer (версия 2.0), Advanced Software Technologies   Unix, Windows NT Windows 95     Г.Буч, И.Джекобсон, ОМТ, Шлеер/ Меллор, UML.08 и структурная нотация C/C++     Генерация кода и реинжиниринг для каждого из поддерживаемых языков и методологий. Командная работа. Возможность создания собственной нотации
  LifeModel for OOOIE (версия 1), InteliCorp   Unix, Windows NT     Мартин/ Оделл (OOIE)     С     Средство является верхним уровнем фирменного продукта искусственного интеллекта Карра. Прототипирование в режиме интерпретатора, генерация кода, создание экранов и т.д. Возможность программирования на С или на внутреннем script- языке типа Prolog
    ObjectTime, ObjectTime Ltd   Unix     ROOM     C++ Создание и визуализация исполняемых моделей систем реального времени на основе ОО-методологии реального времени (ROOM). Внутренний script-язык — подмножество «Smalltalk»
  Objectory (версия 3.7), Rational Software   Unix, OS/2, DOS5, Windows 3.1, 95, NT     И. Джекобсон   C++, Smalltalk Два варианта: Analysis Workbench для ОО-анализа и Design Workbench для проектирования. Связь с Visual Works и C++ Softbench. BPR на основе метода Джекобсона. Так как Objectory перешло к Rational, то неизвестно, как долго еще продукт будет поддерживаться
    ObjectPartner , (версия 2.0), Verilog Unix     ОМТ     C++ Распространяет Verilog, а также Logiscope и ObjectGeode
ObjectTeam Enterprise (версия 1) Cayenne Software Unix OMT C++ Cayenne объединяет Cadre и Bachman technlology. Пользователям ObjectTeam (метод Шлеер/Меллор) предлагается обратиться к продуктам BridgePoint
Object Maker (версия 4.2, 1995) Mark V Unix, Windows 3.1,95, NT 15 нотаций, в части ости: Г. Буч, ОМТ, Шлеер/Меллор, Код/Йордон и др. Ada '83, '95, C/C++, Smalltalk Обший репозиторий в сети, командная работа. Есть локальный продукт ObjectMaker Consulant
Paradigm PI us (версия 3.0) Platinum Technology (formerly Protosoft) Unix, OS/2, Windows 3.1, 95, NT 8 нотаций, в частности: Г. Буч, ОМТ, Шлеер/Меллор, Fusion и т.д. Ada, C/C++, Smalltalk, Java Генерация SQL, OO и реляционные БД. Реинжиниринг для Forte, PowerBuilder, VisuaWorks, Visual Smalltalk Enterprise, VisualAge, ObjectPro. Object-Store. OODB в качестве ренозитория
Ptech (версия 4.0), Ptech Inc. Windows 95, NT, Unix Мартин/Оделл (OOIE) С++, Forte 2.0 Интегрирован с Object-Store, Objectivity, ONTOS. Генерация кода для библиотек классов Tools.h++, USL
П Raiional Rose (версия 3.0), Rational Software Windows 3.1, 95, NT, UNIX (Solaris, HP UX, AIX) Г. Буч, ОМТ Ada, С++, Smalltalk, Visual Basic, Java, Forte SQL Windows, PowerBu ilder Конвертация Буч/ОМТ. Поддержка Java, COBRA. Реинжиниринг кода из Forte SQLWindows, PowerBuilder и ОО-языков. Обьявлено о выпуске нового средства работы с COBRA.
System Architect Object (версия 3.1), Popkin Software and System Windows 3.1, OS/2 Г. Буч, ОМТ, Шлеер/Меллор, Код/Йордон, CRC, И. Джекобсон С++, Smalltalk, Java Поддержка структурных методологий. BPR на основе IDEF-диаграмм. Связь с PowerBuilder
Software through Pictures/OMT and BUCH (версия 3.2), Interactive Development Environments Unix OMT или Г. Буч, И. Джекобсон С++, Smalltalk, Java и OMGI DL Есть продукты для структурных методологий. CASE для BPR. Поддержка, Java, HTML, Netscape Navigator, COBRA, связь NetLinks Orbitaze, SNiFF+. Реинжиниринг
SES/Objectbench (версия 2,2), Scientific and Engineering Software Unix ООА C/C++ Объектно-ориентированный анализ
Together/C++, Object International Windows 3. 1 Код/Йордон C++ Версия для командной работы, работающая и под Windows 3. 1

 

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

 








Дата добавления: 2015-04-19; просмотров: 2220;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.013 сек.