Термин CASE (Computer-Aided Software Engineering) на сегодняшний день понимается достаточно широко. Первоначально данный термин был ограничен вопросами автоматизации разработки программного обеспечения, на данный момент под CASE-технологиями понимают инструментальные программы, применяемые для поддержки процесса в создании сложных программных систем, сюда входит проектирование, документирование, тестирование, обеспечение качества, управление проектом, конфигурационное управление и т.д. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки.
К появлению CASE-технологий способствовали такие факторы как, специализация аналитиков и программистов, восприимчивых к концепциям модульного и структурного программирования; постоянный рост производительности компьютеров и внедрение сетевой технологии.
Ссылаясь на классические методы разработки ПО, CASE – технология представляет собой анализ средств системного проектирования, разработки и сопровождения сложных программных систем, отстаиваемых комплексом взаимосвязанных инструментальных средств. Вследствие структурных методов на стадии анализа CASE – технология предоставляет создателям широкие возможности для различного рода моделирования, а централизованное хранение всей необходимой для проектирования информации и контроль за целостностью данных гарантируют согласованность взаимодействия всех специалистов, задействованных в разработке ПО.
Большая часть последствий ошибок, свойственных этапу составления спецификаций для автоматизации информационной системы объекта, вызвала поиск путей сокращения их числа на этом этапе до минимума. Единственным решением данной проблемы была разработка формализованного аппарата для составления описания и последующего анализа информационной модели системы. Впервые этот подход реализовали сотрудники Мичиганского университета под руководством профессора Д.Тайкроу в рамках проекта ISDOS (Information System Design and Optimization System – проектирование и оптимизация информационных систем).
При использовании CASE-технологий изменяются все фазы жизненного цикла ИС, при том, что изменения касаются только фаз анализа и проектирования. В данной таблице приведены изменения жизненного цикла ИС, которые были реализованы благодаря CASE-технологиям.
Традиционная технология разработки |
Разработка с помощью CASE-технологий |
Все силы приложены на кодирование и тестирование |
Все силы приложены на анализ и проектирование |
"Бумажные" спецификации |
Быстрое итеративное макетирование |
Кодирование вручную |
Генерация машинного кода производится автоматически |
Тестирование ПО |
Автоматический контроль проекта |
Сопровождение программного кода |
Сопровождение проекта |
Чтобы успешно внедрить CASE-технологии в какую-либо организацию, эта организация должна обладать рядом качеств: во-первых, это ограниченность существующих возможностей и готовность принятия новых технологий, во-вторых, умение внедрять новые процессы и взаимоотношения между разработчиками и пользователями, в-третьих, правильная организованность по отношению к разработке проекта. Если же организация не обладает хотя бы одним из этих качеств, то внедрение CASE-технологий может закончиться неудачно, независимо от степени тщательности исследования.
Сам процесс внедрения CASE-средств состоит из:
Определения нуждается ли организация в данных средствах, если нуждается, то нужно определить оценку и выбор CASE-технологий
Необходимости выполнения пробного проекта
Практического внедрения CASE- средства
А сама разработка включает в себя все работы по созданию ПО и компоненты, соответствующие заданным требованиям. Разработка должна содержать оформление проектной документации, подготовку материалов, необходимых для работоспособности программных продуктов, материалов, необходимых для обучения рабочего персонала. Чаще всего разработка ПО включает в себя: анализ, тестирование и проектирование.
При использовании CASE-средств проект распределяется между различными командами. Результатом данных команд должно быть:
Единая информационная модель
Функциональные модели системы в целом
Точно определенные интерфейсы
Построенные прототипы экранов
CASE-средства, которые используются при построении системы, должны полностью соответствовать моделям и прототипам, полученным с применением данных технологий. Данное требование помогает избежать фактических неконтролируемых искажений данных.
Достоинства CASE-средств:
Улучшение качества, создаваемого ПО
Создание прототипа системы за короткий промежуток времени
Ускорение процесса проектирования и разработки
Дают возможность разработчику больше времени уделять на творческую деятельность
Поддерживают развитие и сопровождение разработки
Любое внедрение CASE-технологий должно финансироваться и управляться таким же образом, как и любой проект разработки ПО. Стратегия внедрения может быть пересмотрена в случае появления акцессорной информации.
Для существенного исполнения проекта, по внедрению CASE-средств внимание должно уделяться ролям таких групп, как:
спонсор - эта роль является важной для поддержки проекта в обеспечении необходимого финансирования. Спонсор должен обладать четким пониманием необходимости серьезных усилий, связанных с внедрением CASE-средств;
исполнитель - это лицо (или группа лиц), осознающее допустимые возможности новой технологии, пользующееся авторитетом среди технического персонала и способное возглавить процесс использования новой технологии;
целевая группа – это группа лиц, включающая в себя предпринимателей и технический персонал, которые будут привлечены к непринужденному использованию CASE-средств, а также специалистов, которые будут вовлечены неявно, таких, как специалисты по составлению документов, персонал по поддержки сети и заказчики. А так же должны быть выявлены потребности каждой из таких групп и план их эффективного использования.
Изучив данную тему, можно сделать вывод, что, благодаря, CASE- технологиям облегчилось ручное кодирование, все делает автоматическая генерация машинного кода, не приходится тестировать систему в ручную, все это выполняется автоматически и благодаря этому все силы уходят только на анализ и проектирование.
Библиографический список
Н.В. Макарова «Информатика. Практикум по технологии работы на компьютере»
О.Л. Голицына «Программное обеспечение»
В.Ф. Шаньгин «Информационная безопасность компьютерных систем и сетей»
В.П. Косарев «Компьютерные системы и сети»
Электронный ресурс http://ru.wikipedia.org