В последнее время специализированные издания, посвященные информационным технологиям, продолжают достаточно активно публиковать статьи о CASE-средствах, соответствующих методологиях и нотациях моделирования.

Альберт Александрович Кренцлер, менеджер отделения СИ холдинга ЛАНИТ. На момент подготовки статьи к печати он работал в компании ИВС, г. Пермь. Ему можно написать по адресу Krencler@lanit.ru
В последнее время специализированные издания, посвященные информационным технологиям, продолжают достаточно активно публиковать статьи о CASE-средствах, соответствующих методологиях и нотациях моделирования. Просмотрев многие из опубликованных в конце 2000 - начале 2001 года статей по CASE-тематике, авторами которых являются авторитетные эксперты в данной области, я обнаружил, что интерес к CASE во всех его проявлениях не только не угасает, но и возрастает. Более того, публикации часто носят отнюдь не характер продвижения какого-либо средства или методологии или представления различных его характеристик. Публикации ставят проблематику возможности и вообще целесообразности и необходимости использования CASE-подходов, средств и технологий.

Когда использование CASE-систем и технологий эффективно? Как это связано со способом получения прикладного ПО на предприятии - покупкой так называемого готового пакета или заказной разработкой? Как затраты на применение непростой CASE-технологии влияют на ее распространение?

В данной статье хотелось бы изложить свою точку зрения на целесообразность использования CASE-технологий без упоминания каких бы то ни было конкретных CASE-средств, так как, прежде чем выбрать конкретную систему или технологию, надо иметь ответ на некоторые более важные вопросы.

Факторы интереса

Чем может объясняться столь высокий интерес к данной теме? С моей точки зрения, это обусловлено следующими факторами.

Два технологических зайца

Прежде всего, уже мало у кого вызывают сомнения необходимость и «правильность» систематизированного подхода. В данном случае я специально не употребил слово CASE. Я считаю, что в качестве такого подхода не обязательно должен быть CASE. Но некоторый систематизированный подход, обеспечивающий достижение целей (в данном случае качественная, отвечающая определенным требованиям и построенная в рамках заранее отведенных ресурсов система), обязан быть! То есть внедрение CASE в качестве инструмента поддержки жизненного цикла системы не самоцель. И теория, и практика доказывают, что подход к поддержке жизненного цикла систем должен опираться на технологии и средства, которые обеспечат выживаемость (и соответствующую отдачу) как самой системы, так и процессов, связанных с этой системой. С другой стороны, любой искусственно создаваемый человеком предмет (артефакт), будь то здание, автомобиль или программное обеспечение (ПО), обладает некоторым жизненным циклом. Например, здание необходимо не только спроектировать и построить (процессы архитектурного дизайна, кладки кирпича и т. п.), но и затем обслуживать (процессы технического осмотра, ремонта коммуникаций и т. п.). И ПО информационной системы (ИС) не является исключением.

CASE как система и соответствующая технология представляет собой существенный шаг в сторону не только поддержки ИС на протяжении ее жизненного цикла, но и максимально автоматизированной поддержки.

Интуитивно понятно, что CASE нацелен на то, чтобы:

  1. обеспечить возможность эффективного использования (выживаемости) ИС;
  2. существенно снизить затраты на поддержку жизненного цикла системы.

Программное обеспечение появляется не просто, что называется, «с листа», а на основе модели ИС, которая, в свою очередь, строится по модели деятельности предприятия. CASE обеспечивает высокую автоматизацию построения ПО на основе моделей при условии наличия продвинутой генерации кода в CASE-средстве. В этом случае при разработке минимум ресурсов тратится на построение самого ПО, так как оно практически в автоматическом режиме появляется по модели ИС.

Таким образом, CASE «убивает двух зайцев»: и обеспечивает построение моделей, и — на основе этих моделей — поддерживает построение конкретной реализации собственно ПО.

Высокий технологический уровень

Понятно, что использование CASE-технологии - это высокий технологический уровень построения ИС. Для выхода на этот уровень требуются значительные затраты, включая самые различные виды ресурсов. И поэтому здесь встает целый комплекс вопросов: «А стоит ли это использовать? Как начать это использовать? Какое CASE-средство выбрать? Как приобрести и внедрить CASE-технологию?» и т. п.

Компании, которые пытаются развивать собственный подход поддержки жизненного цикла ИС на основе CASE, часто «проваливаются» на существенных затратах, включая время, финансы, людей. И в результате отказываются от использования CASE как базовой технологии.

С другой стороны, использование CASE является одним из интереснейших направлений, заманчивым по своей возможной практической отдаче, включая высокие скорость, качество, эффективность, культуру построения ПО.

Возможны варианты...

Попытаемся рассмотреть варианты технологических ситуаций в сегодняшнем бизнесе, влияющие на возможность или эффективность использования CASE.

«Готовое» или «на заказ»?

Рынок ИТ и систем можно условно поделить на два больших «лагеря»: компании, занимающиеся внедрением «готовых систем», и компании, разрабатывающие системы под заказ (впрочем, чаще всего разработка системы под заказ опирается на использование типовых «заготовок» — описаний процессов и данных, модулей и т. п., то есть вовсе не предполагается работа «с нуля»).

Часто встречается мнение, что стоимость и эффективность применения «готовой системы» отличаются от создания системы под заказ. Как правило, компании, занимающиеся внедрением «готовой системы», тратят не меньше своих ресурсов, а следовательно, и ресурсов заказчика, но имеют в итоге не столь эффективную систему, которая получает-ся при разработке под заказ (для того же предприятия за тот же или меньший объем ресурсов, имея при этом гибкость и эффективность ИС на порядок выше).

А не стоит ли софтверному предприятию в данной ситуации использовать еще и CASE-технологию, чтобы повысить свою технологичность на порядок со всеми вытекающими отсюда последствиями? Более того, при использовании CASE компания-разработчик, равно как и заказчик, получит не просто реализацию системы, но и четкую фиксацию того, что и как эта система делает и может делать, а при изменении производственной технологии можно будет без труда найти место этого изменения в модели, внести там изменение и сгенерировать новую скорректированную версию системы.

Но тем не менее сегодняшние заказчики все же «покупаются» на эти самые «готовые системы», а софтверные компании, в свою очередь, не могут должным образом выстроить эффективную CASE-технологию по «объективным» обстоятельствам рынка. Обстоятельства простые - мода на всевозможные готовые пакеты типа ERP, SCM и т. п., ориентация рынка потребителя на лозунг «побыстрее», распространенность иллюзии высокого эффекта...

Аутсорсинг или «своими силами»?

В силу таких тенденций, как глобализация и высокая динамика рынка, маркетинговая направленность производства и т. д., в обиход вошло слово «аутсорсинг» — способ выполнения работ, состоящий в том, что предприятие, заинтересованное в приобретении готовых, конечных решений своих проблем, полностью препоручает разработку и внедрение этих решений стороннему подрядчику. Данная ситуация относится и к ИС.

Появляются следующие вопросы:

  • доверить ли поддержку ИС третьей компании?
  • как удержать контроль над состоянием и развитием ИС при любом варианте развития событий?

В решении этих вопросов CASE помогает своей ориентацией на моделирование, позволяет владеть ситуацией, понимать, что происходит в системе, как она устроена, вне зависимости от того, в чьих руках она находится — в руках предприятия-заказчика или в руках ИТ-компании.

При этом не важно, где происходит разработка - силами заказчика или силами сторонней компании, которая поставляет заказчику готовое решение.

Высокая технологичность или «быстрые деньги»?

Наконец, еще одной точкой противостояния является следующая коммерческая тенденция.

Сегодня рынок пока еще не готов платить за более высокую технологичность продукции, с которой связан CASE. С одной стороны, ИТ-компания, обладающая CASE-технологией, может выйти на рынок с более качественной и более дешевой (в перспективе) продукцией в силу более высокой технологичности производства и сервиса. Но с другой стороны, ей требуется покрыть существенные начальные издержки на данную технологию. Чаще всего ИТ-компании стремятся как можно быстрее возместить эти издержки. И это приводит к удорожанию товара на стадии вывода его на рынок, к чему предприятия-«заказчики» пока не всегда готовы. Поэтому большинство ИТ-компаний занимаются сегодня «быстрым» получением денег, не вкладываясь в технологичность, ориентируясь на текущий момент, на рентабельность «сегодняшнего дня».

Заключение

Нужен ли вообще CASE?

Безусловно, CASE-подход необходим сегодня хотя бы потому, что бизнес постоянно требует повышения технологичности производства, без которого невозможно снижение издержек, повышение рентабельности производства, повышение культуры и эффективности деятельности человека в рамках того или иного бизнеса и, как следствие, развитие бизнеса.

Рынок не позволит поддерживать и развивать успешный бизнес без высокотехнологичного производства. И если это не совсем верно сегодня, в нынешних условиях, то данное утверждение будет-таки выполняться завтра. Что ни говори, CASE-технология представляет собой надежную инвестицию капиталов.

Где целесообразно применять CASE-подход?

Для смены технологического уровня на более высокий требуются определенные затраты. И в большинстве случаев эти затраты весьма значительны и зачастую мучительны, учитывая повышенные требования к кадрам, к квалификации как аналитиков («постановщиков задач», «архитекторов системы»), так и программистов. Отсюда можно сделать вывод, что CASE-подход наиболее целесообразно применять в случае достаточно интенсивного использования технологии, полученной на основе этого подхода. Только тогда эта технология будет окупаться по всем видам затрат, вложенных в ее использование.

В связи с этим применение CASE наиболее целесообразно либо в крупной софтверной компании, создающей «на потоке» системы под заказ, либо в крупной организации, так или иначе занимающейся разработкой систем для внутреннего применения, имеющей достаточно большой и квалифицированный штат ИТ-специалистов и необходимые ресурсы для полноценного использования CASE-технологии.

При этом случай «внутреннего» применения, с моей точки зрения, будет постепенно исчезать из-за таких тенденций, как аутсорсинг, постоянное повышение специализации рыночной деятельности, постоянное повышение требований к уменьшению времени выхода товара на рынок, глобализация и появление виртуальных предприятий, предприятий с малым временем жизни.

Объединимся вокруг CASE

Возможность построения и использования с эффективной отдачей CASE-технологии существенно возрастает при ее распространении среди многих компаний ИТ-отрасли. Но выйти на такой вариант сегодня сложно по многим объективным обстоятельствам. Хотелось бы призвать уважаемые консалтинговые и ИТ-компании к созданию некоего сообщества, ориентированного на то, чтобы быть в определенной степени «законодателем» в области применения CASE, что обеспечит стабильную рыночную и производственную поддержку как потребителей, так и поставщиков ИТ и систем.


Топ-CASE-глоссарий