Общие сведения о CASE-технологии и ее средствах

CASE-технология и ее средства

Проекты современных информационных систем (ИС) характеризуются, как правило, следующими особенностями:

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

· наличие совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные цели и задачи функционирования (например, традиционных приложений, связанных с обработкой транзакций и решением регламентных задач, и приложений аналитической обработки (поддержки принятия решений), использующих нерегламентированные запросы к данным большого объема);

· отсутствие прямых аналогов, ограничивающее возможность использования каких-либо типовых проектных решений и прикладных систем;

· необходимость интеграции существующих и вновь разрабатываемых приложений;

· функционирование в неоднородной среде на нескольких аппаратных платформах;

· разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств;

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

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

В 70-х и 80-х годах при разработке ИС достаточно широко применялась структурная методология, предоставляющая в распоряжение разработчиков строгие формализованные методы описания ИС и принимаемых технических решений. Она основана на наглядной графической технике: для описания различного рода моделей ИС используются схемы и диаграммы. Наглядность и строгость средств структурного анализа позволяла разработчикам и будущим пользователям системы с самого начала неформально участвовать в ее создании, обсуждать и закреплять понимание основных технических решений. Однако широкое применение этой методологии и следование ее рекомендациям при разработке конкретных ИС встречалось достаточно редко, поскольку при неавтоматизированной (ручной) разработке это практически невозможно. Действительно, вручную очень трудно разработать и графически представить строгие формальные спецификации системы, проверить их на полноту и непротиворечивость, и тем более изменить. Если все же удается создать строгую систему проектных документов, то ее переработка при появлении серьезных изменений практически неосуществима. Ручная разработка обычно порождала следующие проблемы:

· неадекватная спецификация требований;

· неспособность обнаруживать ошибки в проектных решениях;

· низкое качество документации, снижающее эксплуатационные качества;

· затяжной цикл и неудовлетворительные результаты тестирования.

С другой стороны, разработчики ИС исторически всегда стояли последними в ряду тех, кто использовал компьютерные технологии для повышения качества, надежности и производительности в своей собственной работе (феномен "сапожника без сапог").

Многие эксперты справедливо связывают рост эксплуатационных расходов с природой ошибок, допущенных в процессе создания системы. Исследования показали, что больше всего ошибок ”закладывается” на этапах анализа и проектирования и гораздо меньше их возникает на этапах реализации и тестирования. Стоимость обнаружения и исправления ошибок увеличивается по мере прохождения этапов разработки (чем более поздний этап, тем выше стоимость). Часто ошибки, возникающие на ранних этапах создания системы, являлись следствием неполноты функциональных спецификаций или несогласованности между спецификациями и проектом, выполненным по ним. Однако эксперты понимали, что это не неизбежность, а следствие неадекватности методов создания систем. Был выдвинут тезис: ”Совершенствование методов проектирования и анализа есть ключ к созданию высокопроизводительных и надежных систем”. В результате были разработаны новые методы, специально предназначенные для использования на ранних этапах процесса разработки сложных систем широкого профиля. Наиболее известные из них:

§ метод функционального проектирования SADT Росса;

§ методы, ориентированные на потоки данных: методы Йордана, ДеМарко, Гейна и Сарсона;

§ методы структурирования данных: методы Джексона-Уорнера, Орра, ER (Entity-Relationship)- диаграмм Чена;

§ метод декомпозиционных диаграмм для логического моделирования.

C середины 70-х годов правительство и военные ведомства США финансировали многочисленные проекты, ориентированные на разработку методов описания и моделирования сложных систем. Одним из них явился проект ICAM (Integrated Computer-Aided Manufacturing), цель которого состояла в разработке подходов, обеспечивающих повышение эффективности производства благодаря систематическому внедрению компьютерных технологий. В соответствии с проектом ICAM было разработано семейство методологий IDEF (ICAM DEFinition), которое состоит из трех самостоятельных методологий моделирования различных аспектов функционирования производственной среды или системы:

§ IDEFO - методология создания функциональной модели производственной Среды или системы (основана на методе SADT Росса);

§ IDEF1 - методология создания информационной модели производственной Среды или системы ( основана на реляционной теории Кодда и использовании ER-диаграмм Чена);

§ IDEF2 - методология создания динамической модели производственной Среды или системы.

Позднее ВВС США в рамках проекта ICAM начали разработку проекта IISS (Integrated Information System Support), целью которого было создание технологии объединения ( логического и физического) в сеть неоднородных вычислительных систем. Одним из практических результатов проекта IISS стало создание методологии семантического моделирования данных IDEFIX- расширения методологии IDEF1.

Методологии IDEF0 и IDEFIX являются стандартизованными. IDEF0- и IDEF1X-модели, будучи независимыми, дают адекватное и достаточное полное представление о сложной системе.

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

Сегодня этот термин трактуется весьма широко. Первоначально он расшифровывался, как Computer Aided Software Engeneering (компьютерная поддержка проектирования программного обеспечения), и связано это было с автоматизацией разработки программных систем. В дальнейшем понятие CASE приобрело новый смысл, все чаще аббревиатуру стали расшифровывать, как Computer Aided System Engeneering (компьютерная поддержка проектирования систем), а CASE- средства все больше стали ориентироваться на поддержку процессов создания и сопровождения ИС в целом, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки ИС.

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

· подготовка аналитиков и программистов, восприимчивых к концепциям модульного и структурного программирования;

· широкое внедрение и постоянный рост производительности компьютеров, позволившие использовать эффективные графические средства и автоматизировать большинство этапов проектирования;

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

Применение CASE-продуктов позволяет:

§ отслеживать процесс принятия решений при разработке больших проектов,

§ систематизировать информацию о проекте и его компонентах, упрощая тем самым верификацию проекта и сопутствующей ему документации.

§ отслеживать процесс принятия решений при разработке больших проектов;

§ систематизировать информацию о проекте и его компонентах, упрощая тем самым верификацию проекта и сопутствующей ему документации;

§ поддерживать коллективную работу, при которой каждый из разработчиков создает свою подсистему, причем в любой момент времени эти подсистемы могут быть объединены в общий проект;

§ повысить качество реализации проекта;

§ увеличить производительность труда;

§ снизить стоимость работ в течение всего жизненного цикла ИС, включая сопровождение и модернизацию.

CASE-системы первого поколения были ориентированы на какую-то конкретную СУБД, инструментальное средство и использовались на всех этапах разработки информационной системы (например, ORACLE*CASE). Позднее появились CASE-системы использующиеся на наиболее ответственном этапе проектирования системы - этапе концептуального моделирования. Эти CASE-системы отличаются как богатством методик концептуального моделирования, так и большей универсальностью по отношению к используемым инструментальным средствами, используемым на более поздних этапах проектирования. Эти CASE-системы часто называют upper-CASE или CASE-системы верхнего уровня. В качестве примера таких CASE-систем можно назвать Meta/IDEF, VAW, Erwin, Bpwin и др.

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

Согласно обзору передовых технологий (Survey of Advanced Technology), составленному фирмой Systems Development Inc. в 1996 г. по результатам анкетирования более 1000 американских фирм, CASE-технология в настоящее время попала в разряд наиболее стабильных информационных технологий (ее использовала половина всех опрошенных пользователей более чем в трети своих проектов, из них 85% завершились успешно). Однако, несмотря на все потенциальные возможности CASE-средств, существует множество примеров их неудачного внедрения, в результате которых CASE-средства становятся "полочным" ПО (shelfware). В связи с этим необходимо отметить следующее:

· CASE-средства не обязательно дают немедленный эффект; он может быть получен только спустя какое-то время;

· реальные затраты на внедрение CASE-средств обычно намного превышают затраты на их приобретение;

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

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

· широкое разнообразие качества и возможностей CASE-средств;

· относительно небольшое время использования CASE-средств в различных организациях и недостаток опыта их применения;

· широкое разнообразие в практике внедрения различных организаций;

· отсутствие детальных метрик и данных для уже выполненных и текущих проектов;

· широкий диапазон предметных областей проектов;

· различная степень интеграции CASE-средств в различных проектах.

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

Для успешного внедрения CASE-средств организацией необходимы следующие условия:

· понимание ограниченности существующих возможностей и способность принять новую технологию(технологический аспект);

· готовность к внедрению новых процессов и взаимоотношений между разработчиками и пользователями(культурный аспект);

· обеспечение четкого руководства и организованности по отношению к наиболее важным этапам и процессам внедрения(управленческий аспект)..

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

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

· достоверная оценка отдачи от инвестиций в CASE-средства затруднительна ввиду отсутствия приемлемых метрик и данных по проектам и процессам разработки ПО;

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

· отсутствие полного соответствия между теми процессами и методами, которые поддерживаются CASE-средствами, и теми, которые используются в данной организации, может привести к дополнительным трудностям;

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

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

· негативное отношение персонала к внедрению новой CASE-технологии может быть главной причиной провала проекта.

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

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

· высокий уровень технологической поддержки процессов разработки и сопровождения ПО;

· положительное воздействие на производительность, качество продукции, соблюдение стандартов и документирование;

· приемлемый уровень отдачи от инвестиций в CASE-средства.