14. CASE-ТЕХНОЛОГИЯ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

CASE-технология является наиболее перспективным направлением в инженерном программировании. Практически ни один серьезный зарубежный программный проект не осуществляется без использования CASE-средств.

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

Рис. 14.1. Распределение затрат на создание программного обеспечения

Некоторые CASE-технологии ориентированы только на системных проектировщиков:

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

- выполняют автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ);

- ведут словарь данных.

Другой класс CASE-технологий поддерживает только разработку программ, включая:

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

- проверку корректности описания моделей;

- документирование программ согласно принятым стандартам и актуальному состоянию проекта;

- тестирование и отладку программ.

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

Основная цель CASE-технологийотделить проектирование ПО от его кодирования и последующих этапов разработки ПО. Большинство CASE-технологий использует метод "прототипов" для быстрого создания программ на ранних этапах разработки.

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

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

- обеспечение разработки делового и коммерческого ПО. В этой прикладной области CASE-технологии применяются не только для разработки ПО, но и для соз-дания моделей систем, помогающих коммерческим структурам решать задачи стратегического планирования, управления финансами, определения политики фирм, обучения персонала и др. Это направление получило свое собственное название — бизнес-анализ;

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