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

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

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

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

Термин «CASE» (Computer Aided Software Engineering) используется в настоящее время в весьма широком смысле. Первоначальное значение термина «CASE», ограниченное вопросами автоматизации разработки только лишь ПО, в настоящее время приобрело новый смысл, охватывающий процесс разработки сложных ИС в целом. Теперь под термином «CASE-средства» понимаются программные средства, поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки ИС.

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

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

CASE-технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Большинство существующих CASE-средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств [16].

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

  • 1. Единый графический язык. CASE-технологии обеспечивают всех участников проекта, включая заказчиков, единым строгим, наглядным и интуитивно понятным графическим языком, позволяющим получать обозримые компоненты с простой и ясной структурой. При этом программы представляются двумерными схемами (которые проще в использовании, чем многостраничные описания), позволяющими заказчику участвовать в процессе разработки, а разработчикам — общаться с экспертами предметной области, разделять деятельность системных аналитиков, проектировщиков и программистов, облегчая им защиту проекта перед руководством, а также обеспечивая легкость сопровождения и внесения изменений в систему.
  • 2. Единая БД проекта. Основа CASE-технологии — использование базы данных проекта (репозитория) для хранения всей информации о проекте, которая может разделяться между разработчиками в соответствии с их правами доступа. Содержимое репозитория включает не только информационные объекты различных типов, но и отношения между их компонентами, а также правила использования или обработки этих компонентов. Репозиторий может хранить свыше 100 типов объектов: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных, логика обработки, модели данных, их организации и обработки, исходные коды, элементы данных и т.п.
  • 3. Интеграция средств. На основе репозитория осуществляется интеграция CASf-средств и разделение системной информации между разработчиками. При этом возможности репозитория обеспечивают несколько уровней интеграции: общий пользовательский интерфейс по всем средствам, передачу данных между средствами, интеграцию этапов разработки через единую систему представления фаз жизненного цикла, передачу данных и средств между различными платформами.
  • 4. Поддержка коллективной разработки и управления проектом. CASE-технология поддерживает групповую работу над проектом, обеспечивая возможность работы в сети, экспорт-импорт любых фрагментов проекта для их развития и (или) модификации, а также планирование, контроль, руководство и взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов. Эти функции также реализуются на основе репозитория. В частности, через репозиторий может осуществляться контроль безопасности (ограничения и привилегии доступа), контроль версий и изменений и др.
  • 5. Макетирование. CASE-технология дает возможность быстро строить макеты (прототипы) будущей системы, что позволяет заказчику на ранних этапах разработки оценить, насколько она приемлема для будущих пользователей и устраивает его.
  • 6. Генерация документации. Вся документация по проекту генерируется автоматически на базе репозитория (как правило, в соответствии с требованиями действующих стандартов). Несомненное достоинство CASE-технологии заключается в том, что документация всегда отвечает текущему состоянию дел, поскольку любые изменения в проекте автоматически отражаются в репозитории (известно, что при традиционных подходах к разработке ПО документация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения).
  • 7. Верификация проекта. CASE-технология обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом — по статистическим данным анализа пяти крупных проектов фирмы TRW (США) ошибки проектирования и кодирования составляют соответственно 64% и 32% от общего числа ошибок, а ошибки проектирования в 100 раз труднее обнаружить на этапе сопровождения ПО, чем на этапе анализа требований.
  • 8. Автоматическая генерация объектного кода. Генерация программ в машинном коде осуществляется на основе репозитория и позволяет автоматически построить до 85—90% объектного кода или текстов на языках высокого уровня.
  • 9. Сопровождение и реинжиниринг. Сопровождение системы в рамках CASE-технологии характеризуется сопровождением проекта, а не программных кодов. Средства реинжиниринга и обратного инжиниринга позволяют создавать модель системы из ее кодов и интегрировать полученные модели в проект, автоматически обновлять документацию при изменении кодов и т.п.

При использовании CASE-технологий изменяются все фазы жизненного цикла ИС, причем наибольшие изменения касаются фаз анализа и проектирования. В табл. 3.1 приведены основные изменения жизненного цикла ИС при использовании CASE-технологий по сравнению с традиционной технологией разработки.

Таблица 3. 7

Сравнительная характеристика основных изменений жизненного цикла ИС

Традиционная технология разработки

Разработка с помощью CASE-технологий

Основные усилия — на кодирование и тестирование

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

«Бумажные» спецификации

Быстрое итеративное макетирование

Окончание табл. 3.1

Традиционная технология разработки

Разработка с помощью CASE-технологий

Ручное кодирование

Автоматическая генерация машинного кода

Тестирование ПО

Автоматический контроль проекта

Сопровождение программного кода

Сопровождение проекта

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

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

Таблица 3.2

Оценка трудозатрат по фазам жизненного цикла ПО в зависимости от используемой технологии разработки, %

Технология

разработки

Анализ

Проектирование

Программирование

Тестирование

Традиционная

20

15

20

45

Структурная методология (вручную)

30

30

15

25

CASE-технология

40

40

5

15

Перейдем к характеристике современных CASE-систем, которые охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПО [16].

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

Полный комплекс CASE-средств, обеспечивающий поддержку жизненного цикла ПО, содержит следующие компоненты:

  • • репозиторий, являющийся основой CASE-средства. Он должен обеспечивать хранение версий проекта и его отдельных компонентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных на полноту и непротиворечивость;
  • • графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархически связанных диаграмм (потоков данных, «сущность-связь» и др.), образующих модели ИС;
  • • средства разработки приложений, включая языки 4GL и генераторы кодов;
  • • средства конфигурационного управления;
  • • средства документирования;
  • • средства тестирования;
  • • средства управления проектом;
  • • средства реинжиниринга.

Все современные CASR-средства могут быть классифицированы по следующим признакам:

  • • функциональной ориентации;
  • • применяемым методологиям и моделям систем и БД;
  • • степени интегрированности с СУБД;
  • • доступным платформам.

Классификация по функциональной ориентации представляет наибольший интерес и в основном совпадает с компонентным составом CASE-средств и включает следующие основные типы:

  • • средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области (Design/IDEF, BPwin);
  • • средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций (Vantage Team Builder, Designer/2000, Silverrun, PRO-IV, CASE.Аналитик). Выходом таких средств являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;
  • • средства проектирования БД, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД. К ним относятся ERwin, S-Designor и DataBase Designer (ORACLE). Средства проектирования баз данных имеются также в составе CASR-средств Vantage Team Builder, Designer/2000, Silverrun и PRO-IV;
  • • средства разработки приложений. К ним относятся средства 4GL (.Uniface, JAM, PowerBuilder, Developer/2000, New Era, SQLWindows, Delphi и др.) и генераторы кодов, входящие в состав Vantage Team Builder, PRO-W и частично — в Silverrun;
  • • средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем БД и формирования ERD входят в состав Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin и S-Designor. В области анализа программных кодов наибольшее распространение получают объектно-ориентированные CASE-средства, обеспечивающие реинжиниринг программ на языке C++ (Rational Rose, Object Team).

Российский рынок программного обеспечения располагает следующими наиболее развитыми CASE-средствами:

  • Vantage Team Builder (Westmount I-CASE);
  • Designer/2000;
  • Silverrun;
  • ERwin+BPwin;
  • S-Designor;
  • • CASE.Аналитик;
  • Rational Rose.

Кроме того, на рынке постоянно появляются как новые для отечественных пользователей системы, так и новые версии и модификации перечисленных систем. Наибольший интерес представляет CASE- средство фирмы Rational Software Corporation (США) Rational Rose, которое предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует синтез- методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для моделирования объектов (Unified Modeling LanguageUML) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования.

Ориентация на объектно-ориентированные методы объясняется следующими причинами:

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

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

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

  • • архитектура брокера запросов объектов (CORBA) определяет механизмы взаимодействия объектов в разнородной сети;
  • • объектные сервисы (Object Services) являются основными системными сервисами, используемыми разработчиками для создания приложений;
  • • универсальные средства (Common Facilities) являются высокоуровневыми системными сервисами, ориентированными на поддержку пользовательских приложений (электронная почта, средства печати и др.);
  • • прикладные объекты (Application Object) предназначены для решения конкретных прикладных задач.
ЗЛО. Спецификация ОМА

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (C+ + , Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro). Основной вариант — Rational Rose/C + + — позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды на C+ + .

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

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

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

В основе работы Rational Rose лежит построение различного рода диаграмм и спецификаций, определяющих логическую и физическую структуры модели, ее статические и динамические аспекты. В их число входят диаграммы классов, состояний, сценариев, модулей, процессов. Rational Rose функционирует на различных платформах: IBM PC (в среде Windows), Sun SPARC stations (UNIX, Solaris, SunOS), Hewlett-Packard (HP UX), IBM RS/6000 (AIX).

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

  • 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.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >