CASE-модель жизненного цикла ПО
CASE-технологии предлагают новый, основанный на автоматизации подход к концепции ЖЦ ПО. При использовании CASE изменяются все фазы ЖЦ, при этом наибольшие изменения касаются фаз анализа и проектирования.
Простейшая модель ЖЦ:
Анализ
Проектирование
Кодирование
Тестирование
Сопровождение
CASE-модель ЖЦ:
Прототипирование
Проектирование спецификаций
Контроль проекта
Кодогенерация
Системное тестирование
Сопровождение
В CASE-модели фаза прототипирования заменяет традиционную фазу системного анализа. Необходимо отметить, что наиболее автоматизируемыми фазами являются фазы контроля проекта и кодогенерации (хотя все остальные фазы также поддерживаются CASE-средствами).
В таблице приведены оценки трудозатрат по фазам ЖЦ. Первая строка таблицы соответствует традиционной разработке, вторая — разработке с использованием структурных методологий проектирования, третья — разработке с использованием CASE-технологий.
Способ разработки | Анализ | Проектирование | Кодирование | Тестирование |
Традиционная разработка | 20% | 15% | 20% | 45% |
Использование структурных методологий проектирования | 30% | 30% | 15% | 25% |
Использование CASE-технологий | 40% | 40% | 5% | 15% |
В таблицу сведены основные изменения в ЖЦ при использовании CASE-технологий по сравнению с традиционной разработкой.
|
|
Традиционная разработка | CASE | |
Основные усилия — на кодирование и тестирование | Основные усилия — на анализ и проектирование | |
"Бумажные" спецификации | Быстрое итеративное прототипирование | |
Ручное кодирование | Автоматическая кодогенерация | |
Ручное документирование | Автоматическая генерация документации | |
Тестирование кодов | Автоматический контроль проекта | |
Сопровождение кодов | Сопровождение спецификаций проектирования |
CASE-средства служат инструментарием для поддержки и усиления методов структурного анализа и проектирования. Эти инструменты поддерживают работу пользователей при создании и редактировании графического проекта в интерактивном режиме, они способствуют организации проекта в виде иерархии уровней абстракции, выполняют проверки соответствия компонентов. Фактически CASE-средства представляют собой новый тип графически-ориентированных инструментов, восходящих к системе поддержки ЖЦ ПО. Обычно к ним относят любое программное средство, обеспечивающее автоматическую помощь при разработке ПО, его сопровождении или деятельности по управлению проектом, и проявляющее следующие дополнительные черты:
─ мощная графика для описания и документирования систем ПО, а также для улучшения интерфейса с пользователем, развивающая творческие возможности специалистов и не отвлекающая их от процесса проектирования на решение второстепенных вопросов;
|
|
─ интеграция, обеспечивающая легкость передачи данных между средствами и позволяющая управлять всем процессом проектирования и разработки ПО непосредственно через процесс планирования проекта;
─ использование компьютерного хранилища (репозитария) для всей информации о проекте, которая может разделяться между разработчиками и исполнителями как основа для автоматического продуцирования ПО и повторного его использования в будущих системах.
Помимо перечисленных основополагающих принципов графической ориентации, интеграции и локализации всей проектной информации в репозитарии в основе концептуального построения CASE-средств лежат следующие положения:
─ Человеческий фактор, определяющий разработку ПО как легкий, удобный и экономичный процесс.
─ Широкое использование базовых программных средств, получивших массовое распространение в других приложениях (БД и СУБД, компиляторы с различных языков программирования, отладчики, документаторы, издательские системы, оболочки экспертных систем и базы знаний, языки четвертого поколения и др).
─ Автоматизированная или автоматическая кодогенерация, выполняющая несколько видов генерации кодов: преобразования для получения документации, формирования БД, ввода/модификации данных, получения выполняемых машинных кодов из спецификаций ПО, автоматической сборки модулей из словарей и моделей данных и повторно используемых программ, автоматической конверсии ранее используемых файлов в форматы новых требований.
─ Ограничение сложности, позволяющее получать компоненты, поддающиеся управлению, обозримые и доступные для понимания, а также обладающие простой и ясной структурой.
─ Доступность для разных категорий пользователей.
─ Рентабельность.
─ Сопровождаемость, обеспечивающая способность адаптации при изменении требований и целей проекта.
Интегрированный CASE-пакет содержит четыре основные компоненты:
1. Средства централизованного хранения всей информации о проектируемом ПО в течение всего ЖЦ (репозитарий) являются основой CASE-пакета. Соответствущая БД должна иметь возможность поддерживать большую систему описаний и характеристик и предусматривать надежные меры по защите от ошибок и потерь информации. Репозитарий должен обеспечивать:
─ инкрементный режим при вводе описаний объектов;
─ распространение действия нового или скорректированного описания на информационное пространство всего проекта;
─ синхронизацию поступления информации от различных пользователей;
─ хранение версий проекта и его отдельных компонент;
─ сборку любой запрошенной версии;
─ контроль информации на корректность, полноту и состоятельность.
2. Средства ввода предназначены для ввода данных в репозитарий, а также для организации взаимодействия с CASE-пакетом. Эти средства должны поддерживать различные методологии и использоваться на всем ЖЦ разными категориями разработчиков: аналитиками, проектировщиками, инженерами, администраторами и т. д.
3. Средства анализа, проектирования и разработки предназначены для того, чтобы обеспечить планирование и анализ различных описаний, а также их преобразования в процессе разработки.
4. Средства вывода служат для документирования, управления проектом и кодовой генерации.
Все перечисленные компоненты в совокупности должны:
─ поддерживать графические модели;
─ контролировать ошибки;
─ организовывать и поддерживать репозитарий;
─ поддерживать процесс проектирования и разработки.