жаются в репозитории (известно, что при традиционных подходах к разра-
ботке ПО документация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения).
Верификация проекта. CASE-технология обеспечивает автоматиче-
скую верификацию и контроль проекта на полноту и состоятельность на ран-
них этапах разработки, что влияет на успех разработки в целом – по стати-
стическим данным анализа пяти крупных проектов фирмы TRW (США)
ошибки проектирования и кодирования составляют соответственно 64% и 32% от общего числа ошибок, а ошибки проектирования в 100 раз труднее обнаружить на этапе сопровождения ПО, чем на этапе анализа требований.
Автоматическая генерация объектного кода. Генерация программ в машинном коде осуществляется на основе репозитория и позволяет автома-
тически построить до 85 - 90% объектного кода или текстов на языках высо-
кого уровня.
Сопровождение и реинжиниринг. Сопровождение системы в рамках
CASE-технологии характеризуется сопровождением проекта, а не программ-
ных кодов. Средства реинжиниринга и обратного инжиниринга позволяют создавать модель системы из ее кодов и интегрировать полученные модели в проект, автоматически обновлять документацию при изменении кодов и т. п.
Табл. 1
Традиционная технология разра- |
Разработка с |
помощью CASE- |
|
ботки |
технологий |
|
|
Основные усилия – на кодирование |
Основные усилия – на анализ и проек- |
|
|
и тестирование |
тирование |
|
|
«Бумажные» спецификации |
Быстрое итеративное макетирование |
|
|
Ручное кодирование |
Автоматическая генерация машинного |
|
|
кода |
|
|
|
|
|
|
|
Тестирование ПО |
Автоматический контроль проекта |
|
|
Сопровождение программного кода |
Сопровождение проекта |
|
|
При использовании CASE-технологий изменяются |
все фазы жизненного |
||
цикла ИС, причем наибольшие изменения касаются фаз анализа и проекти-
рования. В табл. 1 приведены основные изменения жизненного цикла ИС при
11
использовании CASE-технологий по сравнению с традиционной технологией
разработки.
Табл. 2
Анализ |
Проектирование |
Программирова- |
Тестирование |
|
ние |
||||
|
|
|
||
|
|
|
|
|
20% |
15% |
20% |
45% |
|
|
|
|
|
|
30% |
30% |
15% |
25% |
|
|
|
|
|
|
40% |
40% |
5% |
15% |
|
|
|
|
|
В табл. 2 приведены оценки трудозатрат по фазам жизненного цикла программного обеспечения (ПО). Первая строка таблицы соответствует тра-
диционной технологии разработки, вторая – разработке с использованием структурных методологий вручную, третья – разработке с использованием
CASE-технологий.
Характеристика современных CASE-систем
Современные CASE-средства охватывают обширную область поддерж-
ки многочисленных технологий проектирования ИС: от простых средств ана-
лиза и документирования до полномасштабных средств автоматизации, по-
крывающих весь жизненный цикл ПО.
В разряд CASE-средств попадают как относительно дешевые системы для персональных компьютеров с весьма ограниченными возможностями,
так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Современный рынок программных средств насчитыва-
ет около 300 различных CASE-средств, наиболее мощные из которых так или иначе используются практически всеми ведущими западными фирмами.
Полный комплекс CASE-средств, обеспечивающий поддержку жиз-
ненного цикла ПО, содержит следующие компоненты:
репозиторий, являющийся основой CASE-средства. Он должен обеспечивать хранение версий проекта и его отдельных компонентов, син-
хронизацию поступления информации от различных разработчиков при
12
групповой разработке, контроль метаданных на полноту и непротиворечи-
вость;
графические средства анализа и проектирования, обеспечиваю-
щие создание и редактирование иерархически связанных диаграмм (потоков данных, «сущность-связь» и др.), образующих модели ИС;
средства разработки приложений, включая языки 4GL и генера-
торы кодов;
средства конфигурационного управления;
средства документирования;
средства тестирования;
средства управления проектом;
средства реинжиниринга.
Все современные CASE-средства могут быть классифицированы преж-
де всего по типам. Классификация по типам отражает функциональную ори-
ентацию CASE-средств на те или иные процессы ЖЦ. Помимо этого, CASE-
средства можно классифицировать по следующим признакам:
применяемым методологиям и моделям систем и баз данных
(БД);
степени интегрированности с системами управления базами дан-
ных (СУБД);
доступным платформам.
Классификация по типам в основном совпадает с компонентным соста-
вом CASE-средств и включает следующие основные типы:
средства анализа (Upper CASE), предназначенные для построения
ианализа моделей предметной области (Design/IDEF, BPwin);
средства анализа и проектирования (Middle CASE), поддержи-
вающие наиболее распространенные методологии проектирования и исполь-
зующиеся для создания проектных спецификаций (Vantage Team Builder,
Designer/2000, Silverrun, PRO-IV, CASE.Аналитик). Выходом таких средств
13
являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;
средства проектирования БД, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наи-
более распространенных СУБД. К ним относятся ERwin, S-Designor и DataBase Designer (ORACLE). Средства проектирования баз данных имеются также в составе CASE-средств Vantage Team Builder, Designer/2000, Silverrun
иPRO-IV;
средства разработки приложений. К ним относятся средства 4GL (Uniface, JAM, PowerBuilder, Developer/2000, New Era, SQLWindows, Delphi и
др.) и генераторы кодов, входящие в состав Vantage Team Builder, PRO-IV и
частично – в Silverrun; средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различ-
ных моделей и проектных спецификаций. Средства анализа схем БД и фор-
мирования ERD входят в состав Vantage Team Builder, PRO-IV, Silverrun,
Designer/2000, ERwin и S-Designor. В области анализа программных кодов наибольшее распространение получают объектно-ориентированные CASE-
средства, обеспечивающие реинжиниринг программ на языке С (Rational
Rose, Object Team).
Российский рынок программного обеспечения располагает следующи-
ми наиболее развитыми CASE-средствами:
Vantage Team Builder (Westmount I-CASE);
Silverrun;
ERwin BPwin;
S-Designor;
CASE.Аналитик;
Rational Rose.
Кроме того, на рынке постоянно появляются как новые для отечествен-
ных пользователей системы, так и новые версии и модификации перечислен-
ных систем.
14
CASE-средство Silverrun американской фирмы Computer Systems Advisers, Inc. (CSA) используется для анализа и проектирования ИС бизнес-
класса и ориентировано в большей степени на спиральную модель ЖЦ. Оно применимо для поддержки любой методологии, основанной на раздельном построении функциональной и информационной моделей (диаграмм потоков данных и диаграмм «сущность-связь»).
Система Silverrun реализована на трех платформах – MS Windows,
Macintosh и OS/2 Presentation Manager – с возможностью обмена проектными данными между ними.
Vantage Team Builder представляет собой интегрированный про-
граммный продукт, ориентированный на реализацию каскадной модели ЖЦ ПО и поддержку полного ЖЦ ПО.
Vantage Team Builder обеспечивает выполнение следующих функций:
проектирование диаграмм потоков данных, «сущность-связь»,
структур данных, структурных схем программ и последовательностей экран-
ных форм;
проектирование диаграмм архитектуры системы – SAD (проекти-
рование состава и связи вычислительных средств, распределения задач сис-
темы между вычислительными средствами, моделирование отношений типа
«клиент-сервер», анализ использования менеджеров транзакций и особенно-
стей функционирования систем в реальном времени);
генерация кода программ на языке 4GL целевой СУБД с полным обеспечением программной среды и генерация SQL-кода для создания таб-
лиц БД, индексов, ограничений целостности и хранимых процедур;
программирование на языке C со встроенным SQL;
управление версиями и конфигурацией проекта;
многопользовательский доступ к репозиторию проекта;
генерация проектной документации по стандартным и индивиду-
альным шаблонам;
15