CASE-технологии и их использование

 

В последнее время сложилась своеобразная культура проектирования жизненного цикла компании, производства, деятельности. Естественно, в настоящих условиях такого рода проектирования производятся на базе компьютерных технологий. Примером такого рода является CASE-проектирование (Computer-Aided Software/System Engineering) - относительно новое направление в современных компьютерных технологиях. Эта область научного подхода к управлению бизнес-процессом настоящее время интенсивно развивается. Тем не менее, затруднительно дать точное общее определение CASE средств. По одному из определений, это совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения, поддерживаемая комплексом взаимосвязанных средств автоматизации. Базой CASE-развития стали методологии "классического" системного анализа.

Для программного обеспечения (ПО) основным является понятие жизненного цикла (ЖЦ), как правило, разбиваемого на этапы: анализ требований, проектирование, кодирование, тестирование и отладка, эксплуатация и сопровождение.

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

Таким образом, в этом случае наиболее важными этапами ЖЦ являются первые два этапа (анализ и проектирование).

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

 

Остановимся кратко на особенностях Анализа и Проектирования.

 

Анализ требований является первым этапом ЖЦ программного продукта. Этот этап должен решить ключевые для проекта вопросы

 

- Каковы требования, предъявляемые к системе?

- Каковы средства, предоставляемые системе для решения предоставленных задач?

 

Эти вопросы должны определить исходную архитектуру, интерфейс продукта, ограничения, налагаемые на ресурсы.

Проектирование отвечает на вопрос "Как система будет удовлетворять предъявленным к ней требованиям?".

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

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

В своем развитии CASE средства прошли два основных этапа.

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

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

При использовании CASE систем изменяется распределение трудозатрат по фазам ЖЦ (ниже приведена таблица сравнения трудозатрат)

 

Таблица 1.

  Анализ Проектирование Кодирование Тестирование
Традиционная разработка 20% 15% 20% 45%
Структурная методология 30% 30% 15% 25%
CASE 40% 40% 5% 15%

 

Итак, при разработке с использованием CASE-систем основной объем работы распределен на начальные этапы ЖЦ, на которых важен творческий фактор. Использование CASE сводит к минимуму рутинную работу на этапе кодирования и значительно уменьшает время тестирования продукта - "Фактически CASE представляют собой новый тип графически ориентированных инструментов, восходящих к системе поддержки ЖЦ ПО".