В 70-х и 80-х годах ХХ века при разработке крупных систем достаточно широко применялась структурная методология, предоставляющая в распоряжение разработчиков строгие формализованные методы описания и принятия технических решений. Она основывалась на наглядной графической технике для описания различного рода моделей, использующих схемы и диаграммы. Наглядность и строгость методов структурного анализа позволяла разработчикам и будущим пользователям системы с самого начала неформально участвовать в ее создании, обсуждать и закреплять основные технические решения. Однако широкое применение этой методологии и следование ее рекомендациям при разработке конкретных систем было затруднительно. Действительно, вручную очень трудно разработать и графически представить строгие формальные спецификации системы, проверить их на полноту и непротиворечивость, и тем более изменить. Если все же удается создать строгую систему проектных документов, то ее переработка при появлении серьезных изменений практически неосуществима. Ручная разработка АС обычно порождала следующие проблемы:
- наличие неадекватной спецификации требований;
- неспособность обнаруживать ошибки в проектных решениях;
- некачественная документация, снижающая эксплуатационные качества проекта;
- затяжной цикл и неудовлетворительные результаты тестирования.
Можно выделить три наиболее существенных новшества, оказавших колоссальное влияние на развитие информационных технологий проектирования САПР, АРМ /6/:
- новый подход к программированию — с начала 90-х годов объектно-ориентированное программирование фактически вытеснило модульное. До настоящего времени непрерывно совершенствуются методы построения объектных моделей. Благодаря внедрению объектно-ориентированных технологий программирования существенно сокращаются сроки разработки АС, упрощаются их поддержка и развитие;
- развитие сетевых технологий АС, базирующихся на клиент-серверных и многоуровневых реализациях;
- развитие сети Internet, что приносит большие возможности работы с удаленными подразделениями и открывает широкие перспективы в обмене опытом проектирования, оформления заказов на поставляемые компоненты, а также рекламе производимых изделий.
Эти и другие новшества способствовали появлению новой информационной технологии разработки крупных систем – CASE (Computer Aided Software Engineering)-технологии.
Под термином CASE-средства понимаются методики и программные средства, поддерживающие процессы создания и сопровождения крупных систем, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки новых систем, таких как САПР, АРМ, ИС и др. /6/.
Таким образом, появлению CASE-технологии способствовали следующие факторы:
- подготовка аналитиков и программистов, восприимчивых к концепциям структурного, модульного и объектно-ориентированного программирования;
- широкое внедрение и постоянный рост производительности компьютеров, позволившие использовать эффективные графические средства и автоматизировать большинство этапов проектирования;
- внедрение сетевой технологии, предоставившей возможность объединения усилий отдельных исполнителей в единый процесс проектирования путем использования разделяемой базы данных, содержащей необходимую информацию о проекте.
Однако, несмотря на все потенциальные возможности CASE-средств, существует множество примеров их неудачного использования:
- CASE-средства не обязательно дают немедленный эффект; он может быть получен только спустя какое-то время;
- реальные затраты на внедрение CASE-средств обычно намного превышают затраты на их приобретение;
- CASE-средства обеспечивают возможности для получения существенной выгоды только после успешного завершения процесса их внедрения.
Для успешного внедрения CASE-средств организация должна обладать /6/:
- пониманием ограниченности своих возможностей и способностью принять новую информационную технологию, включающую новые взаимоотношения между разработчиками и пользователями;
- четким руководством и организованностью по отношению к наиболее важным этапам и процессам внедрения.
Если организация не обладает этими качествами, то внедрение CASE-средств может закончиться неудачей. Пользователи CASE-средств должны быть готовы к необходимости долгосрочных затрат на эксплуатацию, частому появлению новых версий и возможному быстрому моральному старению средств, а также постоянным затратам на обучение и повышение квалификации персонала.
Успешное внедрение CASE-средств должно обеспечить такие выгоды как:
- высокий уровень технологической поддержки процессов разработки и сопровождения ПО;
- положительное воздействие на такие факторы, как производительность, качество продукции, соблюдение стандартов, документирование;
- приемлемый уровень отдачи от инвестиций в CASE-средства.