Из-за несоответствия культурным традициям CASE-системы утрачивают свои позиции
Одним из «хитов» компьютерной технологии 70-х годов была поддержка производства металлических узлов с помощью систем САПР/САП. Система САПР позволяла проектировать на компьютере металлическую деталь, а затем передавать чертеж в электронном виде на соответствующий станок (например, токарный), который автоматически, без участия рабочего, изготавливал нужную деталь.
В 80-х годах начали появляться продукты, которые, по утверждению их создателей, делали то же самое, но для процесса программирования. Системы автоматизации разработки программ, или CASE-системы, позволяли любому специалисту, не обязательно программисту, проектировать программу путем прорисовки ее логической структуры, указывая на экране, что нужно делать и в каком порядке. После прорисовки структуры можно было приступать к созданию программного кода.
Согласно утверждениям поставщиков CASE-систем, разграничение процессов проектирования и анализа от собственно программирования давало целый ряд преимуществ. Минимизировались ошибки проектирования и программирования. Программы стало проще изменять и поддерживать. Но самое главное: по замыслу создателей, CASE-системы должны были помочь руководителям разобраться в сути происходящего в программных проектах, поскольку от них теперь требовалось лишь научиться читать рисунки, изображающие структуру. До этого руководителям было довольно сложно разобраться в программных проектах.
На каком-то этапе методология CASE перестала привлекать потенциальных потребителей. Некоторые полагают, что принцип планирования сверху вниз и от внешнего описания к внутреннему вступил в противоречие с сутью американской культуры. «Перед тем как использовать CASE, надо как следует все обдумать, — говорит Винс Питерсон, президент фирмы-поставщика CASE-систем Structured Technology Group. — Мы же предпочитаем сразу окунуться в работу, для нас главное — что-нибудь делать. Европа, в силу культурных особенностей, более расположена к CASE и сопутствующим методам».
Шань Чу, руководитель компании Structsoft, занимающейся проектированием ПО для бизнеса, полагает, что CASE-системы стали жертвой изменения культуры программирования: «Раньше ПО разрабатывалось для военных заказчиков и больших корпораций. Их волновали вопросы организации ПО, поддержки и документирования. А сегодня люди хотят получить систему как можно быстрее. Если обнаруживается ошибка, то ее устранение откладывается на потом». Он считает, что у CASE-систем все же осталась своя ниша (и это существенно!) в области проектирования больших систем.
Иного мнения придерживается Чарльз Конел, преподаватель информатики в Бостонском университете. Он отмечает, что в действительности CASE-системы представляли собой набор средств, куда входили системы контроля текстов программ, трансляторы, средства для компоновки и тестирования, системы анализа производительности и пр. Какие-то из этих инструментов были вполне работоспособны, другие — нет. И плохое качество исполнения отдельных компонентов негативно отражалось на рыночных перспективах всего пакета.
За последнее десятилетие наиболее надежные программы перекочевали из области CASE в другие программные системы и пакеты, скажем, в Visual Studio корпорации Microsoft, а интерес к плохо работавшим компонентам упал вовсе. По мнению Конела, CASE-системы не умерли, они просто видоизменились. Многие важнейшие характеристики CASE (сокращение числа ошибок и простота управления) появились в этих системах во многом благодаря применению готовых компонентов и повторно используемого кода, объектов и модулей.
Эти объекты и модули созданы руками самих программистов. Программистское сообщество было готово к работе с ними. Возможно, что это чисто политическое преимущество и объясняет относительный успех объектной и модульной технологий.
Фред Хэпгуд — независимый журналист из Бостона. Ему можно написать по электронной почте: hapgood@pobox.com