Технология
внедрения CASE-средств
Приведенная в данном разделе технология базируется в основном на стандартах IEEE [16,17] (IEEE - Institute of Electrical and Electronics Engineers -
Институт инженеров по электротехнике и электронике). Термин "внедрение" используется в широком смысле и включает все действия от
оценки первоначальных потребностей до полномасштабного использования CASE-средств в различных подразделениях организации-пользователя. Процесс внедрения
CASE-средств состоит из следующих этапов [16]:
определение потребностей в CASE-средствах;
оценка и выбор CASE-средств;
выполнение пилотного проекта;
практическое внедрение CASE-средств.
Процесс успешного внедрения CASE-средств не ограничивается только их использованием. На самом деле он охватывает планирование и реализацию множества
технических, организационных, структурных процессов, изменений в общей культуре организации, и основан на четком понимании возможностей CASE-средств.
На способ внедрения CASE-средств может повлиять специфика конкретной ситуации. Например, если заказчик предпочитает конкретное средство, или оно
оговаривается требованиями контракта, этапы внедрения должны соответствовать такому предопределенному выбору. В иных ситуациях относительная простота или
сложность средства, степень согласованности или конфликтности с существующими в организации процессами, требуемая степень интеграции с другими средствами, опыт
и квалификация пользователей могут привести к внесению соответствующих корректив в процесс внедрения.
Определение потребностей в CASE-средствах
Данный этап (рисунок 4.1) включает достижение понимания потребностей организации и технологии последующего процесса внедрения CASE-средств. Он
должен привести к выделению тех областей деятельности организации, в которых применение CASE-средств может принести реальную пользу. Результатом данного
этапа является документ, определяющий стратегию внедрения CASE-средств.
Рис. 4.1. Определение потребностей в CASE-средствах
Анализ возможностей организации
Первым действием данного этапа является анализ возможностей организации в отношении ее технологической базы, персонала и используемого ПО. Такой анализ
может быть формальным или неформальным.
Формальные подходы определяются моделью оценки зрелости технологических процессов организации CMM (Capability Maturity Model), разработанной SEI
(Software Engineering Institute), а также стандартами ISO 9001: 1994, ISO 9003-3: 1991 и ISO 9004-2:1991. В центре внимания этих подходов находится
анализ различных аспектов происходящих в организации процессов.
Для получения информации относительно положения и потребностей организации могут использоваться неформальные оценки и анкетирование. Список простых
вопросов, которые могут помочь в неформальной оценке текущей практики использования ПО, технологии и персонала, приведен ниже.
Ответы на данные вопросы могут определить те области, где автоматизация может принести эффект. В противном случае может оказаться, что
совершенствование процесса разработки и сопровождения ПО, программ обучения и других функций более предпочтительно, чем приобретение новых средств. Некоторые
из этих усовершенствований могут оказаться необходимыми для получения максимальной выгоды от внедрения любых средств.
Данные вопросы являются, по существу, руководством по сбору информации, необходимой для определения степени готовности организации к внедрению
CASE-технологии.
Общие вопросы
используемая модель ЖЦ (каскадная или спиральная);
используемые методы (структурные, объектно-ориентированные).
Степень адаптации метода к потребностям организации; квалификация
сотрудников;
наличие документированных стандартов (формальных или неформальных)
по анализу требований, спецификациям и проектированию, кодированию и
тестированию;
количественные метрики, используемые в процессе разработки ПО, их
использование;
виды документации, выпускаемой в процессе ЖЦ ПО;
наличие группы поддержки средств проектирования.
Проекты, ведущиеся в организации
средняя продолжительность проекта в человеко-месяцах;
среднее количество специалистов, участвующих в проектах различных
категорий (небольших, средних и крупных);
средний размер проектов различных категорий в терминах кодовых
метрик (например, в строках исходных кодов), способ измерения.
Технологическая база
Технологическая база организации включает не только технические средства, используемые при разработке ПО, но также языки, средства, методы и среду
функционирования ПО. Эта база очень существенно влияет на выбор подходящих CASE-средств. Вопросы, касающиеся технологии, включают следующие:
доступные вычислительные ресурсы, платформа разработки;
уровень доступности ресурсов, узкие места, среднее время ожидания
ресурсов;
ПО, используемое в организации, и его характер (готовые
программные продукты, собственные разработки);
степень интеграции используемых программных продуктов, механизмы
интеграции (существующие и планируемые);
тип и уровень сетевых возможностей, доступных группе
разработчиков;
используемые языки программирования;
средний процент вновь разрабатываемых, повторно используемых и
реально эксплуатируемых приложений.
Персонал
Главной целью оценки персонала является определение его отношения к возможным изменениям (позитивного, нейтрального или негативного). Вопросы,
касающиеся оценки персонала, включают следующие:
реакция сотрудников организации (как отдельных людей, так и
коллективов) на внедрение новой технологии. Наличие опыта успешных или
безуспешных внедрений;
наличие лидеров, способных серьезно повлиять на отношение к новым
средствам;
наличие стремления "снизу" к совершенствованию средств и
технологии;
объем обучения, необходимого для ориентации пользователей в новой
технологии;
стабильность и уровень текучести кадров.
Готовность
Целью оценки готовности организации является определение того, насколько она способна воспринять как немедленные, так и долгосрочные последствия внедрения
CASE-средств. Вопросы, касающиеся оценки готовности, включают следующие:
поддержка проекта со стороны высшего руководства;
готовность организации к долгосрочному финансированию проекта;
готовность организации к выделению необходимых специалистов для
участия в процессе внедрения и к их обучению;
готовность персонала к существенному изменению технологии своей
работы;
степень понимания персоналом масштаба изменений;
готовность технических специалистов и менеджеров пойти на
возможное кратковременное снижение продуктивности своей работы;
готовность руководства к долговременному ожиданию отдачи от
вложенных средств.
Оценка готовности организации к внедрению CASE-технологии должна быть откровенной и тщательной, поскольку в случае отсутствия такой готовности все
усилия по внедрению потерпят крах.
Определение организационных потребностей
Организационные потребности следуют непосредственно из проблем организации и целей, которые она стремится достичь. Проблемы и цели могут быть связаны с
управлением, производством продукции, экономикой, персоналом или технологией. Вопросы, касающиеся определения целей, потребностей и ожидаемых результатов,
приведены ниже. Определение потребностей должно выполняться в сочетании с обзором рынка CASE-средств, поскольку информация о технологиях, доступных на
рынке в данный момент, может оказать влияние на потребности.
Цели организации
Цели организации играют главную роль в определении ее конкретных потребностей и ожидаемых результатов. Для их понимания необходимо ответить на
следующие вопросы:
намерение организации использовать CASE-технологию для помощи в
достижении определенных целей или ожиданий (например, определенного уровня
CMM или сертификации в соответствии с ISO 9001);
восприятие CASE-технологии как фактора, способствующего достижению
стратегических целей организации;
наличие у организации собственной программы совершенствования
процесса разработки ПО;
восприятие инициативы внедрения CASE-технологии как части более
широкомасштабного проекта по созданию среды разработки ПО.
Потребности организации
Определение потребностей организации, связанных с использованием CASE-технологии, включает анализ целей и существующих возможностей. После того,
как все потребности организации определены, каждой из них должен быть присвоен определенный приоритет, отражающий ее значимость для успешной деятельности
организации. Если потребности, связанные с CASE-технологией, не обладают высшим приоритетом, имеет смысл отказаться от ее внедрения и сосредоточиться на потребностях
с наивысшим приоритетом.
Целесообразно построить матрицу соответствия потребностей организации возможностям основных CASE-средств. Составление такой матрицы требует
определенного уровня знаний рынка CASE-средств. В конечном счете каждая функция или возможность средства должна точно соответствовать некоторой потребности с
определенным приоритетом.
Определению потребностей организации могут помочь ответы на следующие вопросы:
каким образом продуктивность и качество деятельности организации
сравниваются с аналогичными показателями подобных организаций (к
сожалению, многие организации не располагают данными для такого
сравнения);
какие процессы ЖЦ ПО дают наилучшую (и, соответственно, наихудшую)
отдачу; существуют ли конкретные процессы, которые могут быть
усовершенствованы путем использования новых методов и средств.
Ожидаемые результаты
С внедрением CASE-средств обычно связывают большие ожидания. В ряде случаев эти ожидания оказываются нереалистичными и приводят к неудаче при внедрении.
Составление реалистичного перечня ожидаемых результатов является трудной задачей, поскольку он может зависеть от таких факторов, как тип внедряемых
средств и характеристики внедряющей организации.
Ряд потенциально реалистичных и нереалистичных ожидаемых результатов, связанных с организацией в целом, пользователями, планированием, анализом,
проектированием, разработкой и затратами, приведен ниже. Практически невозможно, чтобы в процессе одного внедрения CASE-средств были достигнуты все
положительные результаты. Тем не менее, любая организация может выработать собственный подход к ожидаемым результатам, имея в виду, что данный перечень
является всего лишь примером.
Реалистичные ожидания:
повышение внимания к планированию деятельности, связанной с
информационной технологией;
поддержка реижиниринга бизнес-процессов;
долговременное повышение продуктивности и качества деятельности
организации;
ускорение и повышение согласованности разработки приложений;
снижение доли ручного труда в процессе разработки и/или
эксплуатации;
более точное соответствие приложений требованиям пользователей;
отсутствие необходимости большой переделки приложений для
повышения их эффективности;
улучшение реакции службы эксплуатации на требования внесения
изменений и усовершенствований;
повышение качества документирования;
улучшение коммуникации между пользователями и разработчиками;
последовательное и постоянное повышение качества проектирования;
более высокие возможности повторного использования разработок;
кратковременное возрастание затрат, связанное с деятельностью по
внедрению CASE-средств;
последовательное снижение общих затрат;
улучшение прогнозируемости затрат.
Нереалистичные ожидания:
отсутствие воздействия на общую культуру и распределение ролей в
организации;
понимание проектных спецификаций неподготовленными пользователями;
сокращение персонала, связанного с информационной технологией;
уменьшение степени участия в проектах высшего руководства и
менеджеров, а также экспертов предметной области, уменьшение степени
участия пользователей в процессе разработки приложений;
немедленное повышение продуктивности деятельности организации;
достижение абсолютной полноты и непротиворечивости спецификаций;
автоматическая генерация прикладных систем из проектных
спецификаций;
немедленное снижение затрат, связанных с информационной
технологией;
снижение затрат на обучение.
Реализм в оценке ожидаемых затрат имеет особенно важное значение, поскольку он позволяет правильно оценить отдачу от инвестиций. Затраты на внедрение
CASE-средств обычно недооцениваются. Среди конкретных статей затрат на внедрение можно выделить следующие:
специалисты по планированию внедрения CASE-средств;
выбор и установка;
учет специфических требований персонала;
приобретение CASE-средств и обучение;
настройка;
подготовка документации, стандартов и процедур использования
средств;
интеграция с другими средствами и существующими данными;
освоение средств разработчиками;
технические средства;
обновление версий.
Важно также осознавать, что улучшение деятельности организации, являющееся следствием использования CASE-технологии, может быть неочевидным в течение
самого первого проекта, использующего новую технологию. Продуктивность и другие характеристики деятельности организации могут первоначально даже ухудшиться,
поскольку на освоение новых средств и внесение необходимых изменений в процесс разработки требуется некоторое время. Таким образом, ожидаемые результаты
должны рассматриваться с учетом вероятной отсрочки в улучшении проектных характеристик.
Каждая потребность должна иметь определенный приоритет, зависящий от того, насколько критической она является для достижения успеха в организации. В
конечном счете, должно четко прослеживаться воздействие каждой функции или возможности приобретаемых средств на удовлетворение конкретных потребностей.
Результатом данного действия является формулировка потребностей с их приоритетами, которая используется на этапе оценки и выбора в качестве
"пользовательских потребностей".
Анализ рынка CASE-средств
Потребности организации в CASE-средствах должны соразмеряться с реальной ситуацией на рынке или собственными возможностями разработки. Исследование
рынка проводится путем изучения литературы по CASE-средствам, посещения конференций и семинаров, проводимых поставщиками (их перечень приведен в конце
данного обзора) и пользователями CASE-средств. При проведении данного анализа необходимо выяснить возможность интеграции конкретного CASE-средства с другими средствами,
используемыми (или планируемыми к использованию) организацией. Кроме того, важно получить достоверную информацию о средствах, основанную на реальном
пользовательском опыте и сведениях от пользовательских групп.
Определение критериев успешного внедрения
Определяемые критерии должны позволять количественно оценивать степень удовлетворения каждой из потребностей, связанных с внедрением. Кроме того, по
каждому критерию должно быть определено его конкретное оптимальное значение. На определенных этапах внедрения эти критерии должны анализироваться для того,
чтобы определить текущую степень удовлетворения потребностей.
Как правило, большинство организаций осуществляет внедрение CASE-средств для того, чтобы повысить продуктивность процессов разработки и сопровождения ПО, а
также качество результатов разработки. Однако, ряд организаций не занимаются и не занимались ранее сбором количественных данных по указанным параметрам.
Отсутствие таких данных затрудняет количественную оценку воздействия, оказываемого внедрением CASE-средств. В этом случае рекомендуется разработка соответствующих
метрик. Информация о таких метриках приведена в стандартах IEEE Std 1045-1992 (IEEE Standard for Software Productivity Metrics) и IEEE Std 1061-1992 (IEEE
Standard for a Software Quality Metrics Methodology).
В том случае, если базовые метрические данные отсутствуют, организация зачастую может извлечь полезную информацию из своих проектных архивов.
Помимо продуктивности и качества, полезную информацию о состоянии внедрения CASE-средств также могут дать и другие характеристики организационных процессов
и персонала. Например, оценка степени успешности внедрения может включать процент проектов, использующих CASE-средства, рейтинговые оценки уровня
квалификации специалистов, связанные с использованием CASE-средств и результаты опросов персонала по поводу отношения к использованию CASE-средств. Другие
примеры проектных характеристик, которые могут быть оценены количественно, включают следующие:
согласованность проектных результатов;
точность стоимостных и плановых оценок;
изменчивость внешних требований;
соблюдение стандартов организации;
степень повторного использования существующих компонентов ПО;
объем и виды необходимого обучения;
типы и моменты обнаружения проектных ошибок;
вычислительные ресурсы, используемые CASE-средствами.
Разработка стратегии внедрения CASE-средств
Стратегия внедрения должна обеспечивать удовлетворение потребностей и критериев, определенных ранее. Стратегия включает следующие составляющие:
организационные потребности;
базовые метрики, необходимые для последующего сравнения
результатов;
критерии успешного внедрения, связанные с удовлетворением
организационных потребностей, включая ожидаемые результаты
последовательных этапов процесса внедрения;
подразделения организации, в которых должно выполняться внедрение
CASE-средств;
влияние, оказываемое на другие подразделения организации;
стратегии и планы оценки и выбора, пилотного проектирования и
перехода к полномасштабному внедрению;
основные факторы риска;
ориентировочный уровень расходов и источники финансирования
процесса внедрения CASE-средств;
ключевой персонал и другие ресурсы.
Необходимо отметить, что внедрение новой технологии может включать важные и сложные изменения в культуре организации. Существенное внимание должно
уделяться ролям различных групп, вовлеченных в процесс таких изменений. Наиболее существенные роли включают следующие:
спонсор (обычно из числа менеджеров высшего уровня). Данная роль
является критической для поддержки проекта и обеспечения необходимого
финансирования. Спонсор должен обладать четким пониманием необходимости
серьезных усилий, связанных с внедрением CASE-средств, и длительности
периода ожидания осязаемых результатов;
исполнитель - обычно лицо (или группа лиц), осознающее
потенциальные возможности новой технологии, пользующееся авторитетом среди
технического персонала и способное возглавить процесс внедрения новой
технологии;
целевая группа - обычно включает менеджеров и технический
персонал, которые будут привлечены к непосредственному использованию
CASE-средств, а также специалистов, которые будут привлечены косвенно,
таких, как специалисты по документированию, персонал поддержки сети и
заказчики. Должны быть определены потребности каждой из таких групп и план
их эффективного удовлетворения.
В общем случае, внедрение CASE-средств должно управляться и финансироваться таким же образом, как и любой проект разработки ПО. Стратегия внедрения может
быть пересмотрена в случае появления дополнительной информации.
Существует несколько подходов к разработке стратегии внедрения CASE-средств. Относительные преимущества того или иного подхода перед другими должны
рассматриваться в контексте специфики конкретной организации. Особое значение при этом придается персоналу организации и процессу разработки ПО.
Нисходящий подход к разработке стратегии признает важность исследования всех типов CASE-средств и документирования процессов разработки и сопровождения ПО в
данной организации до того, как определяются требования к CASE-средствам. При этом выполняется общий анализ процесса создания и сопровождения ПО в
организации. Данный подход зачастую влечет за собой общую реорганизацию процессов создания и сопровождения ПО в той степени, в какой это связано с
CASE-средствами. Результатом такой реорганизации становится крупномасштабная стратегия автоматизации процессов создания и сопровождения ПО.
Преимущество нисходящего подхода заключается в том, что он охватывает все процессы создания и сопровождения ПО, обеспечивая максимально возможную их
автоматизацию. Другим преимуществом является приобретение интегрированного (или интегрируемого) набора средств, поскольку каждая отдельная поставка подчиняется
общей стратегии. Нисходящий подход также может быть легко интегрирован в общую стратегию развития процесса создания и сопровождения ПО, в которой внедрение
CASE-средств является только одним из аспектов.
Недостатки данного подхода заключаются в следующем:
нисходящий подход требует для своей реализации значительных
людских и финансовых ресурсов;
в общем случае, широкомасштабный подход такого рода не позволяет
пользователям достаточно быстро приступить к практическому использованию
средств;
нисходящий подход может привести к относительно серьезным
изменениям существующих в организации процессов. Реализацией такого
подхода труднее управлять, и, кроме того, он содержит в себе повышенный
риск провала, ведущего к тому, что CASE-средства "кладутся на
полку".
Нисходящий подход рекомендуется для относительно зрелых организаций с устоявшимся процессом создания и сопровождения ПО, которые стремятся вложить
все необходимые ресурсы в полностью законченную работу. Чтобы повысить вероятность успеха, требуется принятие серьезных обязательств со стороны как руководства,
так и потенциальных пользователей.
Восходящий подход начинается с определения некоторого средства или типа средств, которые потенциально могут помочь организации в улучшении выполнения
текущей работы. Организация может затем оценить возможное воздействие средств на процесс разработки и сопровождения ПО.
Преимущества данного подхода заключаются в следующем:
небольшая автоматизация может быть выполнена при минимальных
затратах;
автоматизация может быть выполнена за короткий промежуток времени,
позволяя быстро устранить известные недостатки в существующих процессах;
небольшой масштаб восходящей стратегии позволяет лучше
фокусировать и контролировать воздействие, оказываемое на существующие
процессы.
Недостатки данного подхода заключаются в следующем:
средства, приобретаемые как результат отдельных взятых применений
данного подхода, могут плохо интегрироваться между собой. Это может
привести к необходимости выполнения большого объема ручной работы;
в то время как конкретные, сравнительно небольшие проблемы
решаются достаточно быстро, до решения фундаментальных проблем, связанных
с широким кругом процессов разработки ПО, дело обычно не доходит.
Восходящий подход рекомендуется для организаций с узко специфическими потребностями в автоматизации, не нуждающихся в общем совершенствовании
процессов. В некоторых случаях может оказаться не слишком практичным приступать к такому совершенствованию, не определив самые насущные потребности в
автоматизации. В то время как данный подход может помочь организации удовлетворить самые насущные потребности и развить основные процессы, остается
существенная опасность того, что выбранное средство не окажет существенного воздействия на такие факторы, как качество и продуктивность.
Наиболее рациональная стратегия может сочетать характеристики обоих подходов. Например, нисходящие методы могут использоваться для определения
стандартов качества организации, потребностей в средствах и ожидаемых результатов, тогда как восходящие методы могут использоваться для оценки и
выбора конкретных CASE-средств, разработки планов внедрения и контроля его результатов.
Литература
Вендров А.М. Один из подходов к выбору средств проектирования баз
данных и приложений. "СУБД", 1995, №3.
Зиндер Е.З. Бизнес-реинжиниринг и технологии системного
проектирования. Учебное пособие. М., Центр Информационных Технологий, 1996
Калянов Г.Н. CASE. Структурный системный анализ (автоматизация и
применение). М., "Лори", 1996.
Марка Д.А., МакГоуэн К. Методология структурного анализа и проектирования.
М., "МетаТехнология", 1993.
Международные стандарты, поддерживающие жизненный цикл программных
средств. М., МП "Экономика", 1996
Создание информационной системы предприятия. "Computer
Direct", 1996, N2
Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование
мира в состояниях. Киев, "Диалектика", 1993.
Barker R. CASE*Method. Entity-Relationship Modelling. Copyright
Oracle Corporation UK Limited, Addison-Wesley Publishing Co., 1990.
Barker R. CASE*Method. Function and Process Modelling. Copyright
Oracle Corporation UK Limited, Addison-Wesley Publishing Co., 1990.
Boehm B.W. A Spiral Model of Software Development and Enhancement.
ACM SIGSOFT Software Engineering Notes, Aug. 1986
Chris Gane, Trish Sarson. Structured System Analysis.
Prentice-Hall, 1979.
Edward Yourdon. Modern Structured Analysis. Prentice-Hall, 1989.
Tom DeMarco. Structured Analysis and System Specification. Yourdon
Press, New York, 1978.
Westmount I-CASE User Manual. Westmount Technology B.V.,
Netherlands, 1994.
Uniface V6.1 Designers' Guide. Uniface B.V., Netherlands, 1994.
IEEE Std 1348-1995. IEEE Recommended Practice for the Adoption of
CASE Tools.
IEEE Std 1209-1992. IEEE Recommended Practice for the Evaluation
and Selection of CASE Tools.
PVCS Version Manager. User's Guide.
PVCS Tracker. User's Guide.
QA Partner. User's Guide.