Тема1. CASE-технологии и их использование
Лекция 11.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 представляют собой новый тип графически ориентированных инструментов, восходящих к системе поддержки ЖЦ ПО".