CASE-технологии. Введение
Введение
Тенденции развития современных
информационных технологий
приводят к постоянному возрастанию
сложности информационных систем
(ИС), создаваемых в различных
областях экономики. Современные
крупные проекты ИС
характеризуются, как правило,
следующими особенностями:
- сложность описания (достаточно
большое количество функций,
процессов, элементов данных и
сложные взаимосвязи между
ними), требующая тщательного
моделирования и анализа данных
и процессов;
- наличие совокупности тесно
взаимодействующих компонентов
(подсистем), имеющих свои
локальные задачи и цели
функционирования (например,
традиционных приложений,
связанных с обработкой
транзакций и решением
регламентных задач, и
приложений аналитической
обработки (поддержки принятия
решений), использующих
нерегламентированные запросы
к данным большого объема);
- отсутствие прямых аналогов,
ограничивающее возможность
использования каких-либо
типовых проектных решений и
прикладных систем;
- необходимость интеграции
существующих и вновь
разрабатываемых приложений;
- функционирование в
неоднородной среде на
нескольких аппаратных
платформах;
- разобщенность и разнородность
отдельных групп разработчиков
по уровню квалификации и
сложившимся традициям
использования тех или иных
инструментальных средств;
- существенная временная
протяженность проекта,
обусловленная, с одной стороны,
ограниченными возможностями
коллектива разработчиков, и, с
другой стороны, масштабами
организации-заказчика и
различной степенью готовности
отдельных ее подразделений к
внедрению ИС.
Для успешной реализации проекта
объект проектирования (ИС) должен
быть прежде всего адекватно описан,
должны быть построены полные и
непротиворечивые функциональные и
информационные модели ИС.
Накопленный к настоящему времени
опыт проектирования ИС показывает,
что это логически сложная,
трудоемкая и длительная по времени
работа, требующая высокой
квалификации участвующих в ней
специалистов. Однако до недавнего
времени проектирование ИС
выполнялось в основном на
интуитивном уровне с применением
неформализованных методов,
основанных на искусстве,
практическом опыте, экспертных
оценках и дорогостоящих
экспериментальных проверках
качества функционирования ИС.
Кроме того, в процессе создания и
функционирования ИС
информационные потребности
пользователей могут изменяться или
уточняться, что еще более усложняет
разработку и сопровождение таких
систем.
В 70-х и 80-х годах при разработке ИС
достаточно широко применялась
структурная методология,
предоставляющая в распоряжение
разработчиков строгие
формализованные методы описания ИС
и принимаемых технических решений.
Она основана на наглядной
графической технике: для описания
различного рода моделей ИС
используются схемы и диаграммы.
Наглядность и строгость средств
структурного анализа позволяла
разработчикам и будущим
пользователям системы с самого
начала неформально участвовать в
ее создании, обсуждать и закреплять
понимание основных технических
решений. Однако, широкое применение
этой методологии и следование ее
рекомендациям при разработке
конкретных ИС встречалось
достаточно редко, поскольку при
неавтоматизированной (ручной)
разработке это практически
невозможно. Действительно, вручную
очень трудно разработать и
графически представить строгие
формальные спецификации системы,
проверить их на полноту и
непротиворечивость, и тем более
изменить. Если все же удается
создать строгую систему проектных
документов, то ее переработка при
появлении серьезных изменений
практически неосуществима. Ручная
разработка обычно порождала
следующие проблемы:
- неадекватная спецификация
требований;
- неспособность обнаруживать
ошибки в проектных решениях;
- низкое качество документации,
снижающее эксплуатационные
качества;
- затяжной цикл и
неудовлетворительные
результаты тестирования.
С другой стороны, разработчики ИС
исторически всегда стояли
последними в ряду тех, кто
использовал компьютерные
технологии для повышения качества,
надежности и производительности в
своей собственной работе (феномен
"сапожника без сапог").
Перечисленные факторы
способствовали появлению
программно-технологических
средств специального класса -
CASE-средств, реализующих
CASE-технологию создания и
сопровождения ИС. Термин CASE (Computer
Aided Software Engineering) используется в
настоящее время в весьма широком
смысле. Первоначальное значение
термина CASE, ограниченное вопросами
автоматизации разработки только
лишь программного обеспечения (ПО),
в настоящее время приобрело новый
смысл, охватывающий процесс
разработки сложных ИС в целом.
Теперь под термином CASE-средства
понимаются программные средства,
поддерживающие процессы создания и
сопровождения ИС, включая анализ и
формулировку требований,
проектирование прикладного ПО
(приложений) и баз данных, генерацию
кода, тестирование,
документирование, обеспечение
качества, конфигурационное
управление и управление проектом, а
также другие процессы. CASE-средства
вместе с системным ПО и
техническими средствами образуют
полную среду разработки ИС.
Появлению CASE-технологии и
CASE-средств предшествовали
исследования в области методологии
программирования.
Программирование обрело черты
системного подхода с разработкой и
внедрением языков высокого уровня,
методов структурного и модульного
программирования, языков
проектирования и средств их
поддержки, формальных и
неформальных языков описаний
системных требований и
спецификаций и т.д. Кроме того,
появлению CASE-технологии
способствовали и такие факторы,
как:
- подготовка аналитиков и
программистов, восприимчивых к
концепциям модульного и
структурного
программирования;
- широкое внедрение и постоянный
рост производительности
компьютеров, позволившие
использовать эффективные
графические средства и
автоматизировать большинство
этапов проектирования;
- внедрение сетевой технологии,
предоставившей возможность
объединения усилий отдельных
исполнителей в единый процесс
проектирования путем
использования разделяемой
базы данных, содержащей
необходимую информацию о
проекте.
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-средства.
Содержание | Вперед
|