logo search
голенда часть 3

8.1. Жизненный цикл корпоративной информационной системы

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

Существует ряд стандартов и методик, используемых при разработке КИС:

• ISO/IEC 12207 — стандарт на процессы и организацию жизненного цикла, который распространяется на все виды программного обеспечения;

• Rational Unified Process (RUP) — итеративная методо­логия разработки;

• Rapid Application Development (RAD) — методология быстрой разработки приложений, представляющая комплекс специальных инструментальных средств, позволяющих опе­рировать с определенным набором графических объектов, функционально отображающих отдельные компоненты при­ложений;

• Custom Development Method (CDM) — методология по разработке прикладных информационных систем, рассчи­танных на использование в проектах с применением компо­нентов Oracle.

Стандарт ISO/IEC 12207 определяет структуру жизненно­го цикла, включая процессы, работы и задачи, выполняемые в процессе создания информационной системы. В нем рабо­ты, которые могут выполняться в жизненном цикле, распре­делены по следующим группам процессов: основные; вспо­могательные; организационные.

К основным процессам относятся:

• заказ — определение потребностей заказчика в ИС, подготовка и выпуск заявки на подряд, выбор поставщика и управление процессом заказа вплоть до завершения при­емки системы (выполняется заказчиком);

• поставка — принятие решения о подготовке предло­жения в ответ на заявку, присланную заказчиком, или с под­писания договора и вступления с заказчиком в договорные отношения но поставке системы; определение процедур и ре­сурсов, необходимых для выполнения проекта, включая раз­работку проектных планов и их выполнение посредством поставки ИС (выполняется поставщиком);

• разработка — анализ требований, проектирование, программирование, сборка, тестирование, ввод в действие и приемка информационной системы (выполняет разра­ботчик);

• эксплуатация — процесс состоит из следующих работ: подготовка процесса; эксплуатационные испытания; эксплу­атация системы; поддержка пользователя (выполняет разра­ботчик);

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

К вспомогательным процессам жизненного цикла отно­сятся:

• документирование — формализованное описание ин­формации, созданной в процессе жизненного цикла (набор работ, при помощи которых планируют, проектируют, раз­рабатывают, выпускают, редактируют, распространяют и сопровождают те документы, в которых нуждаются заинте­ресованные лица, т.е. администраторы, инженеры и пользо­ватели ИС);

• управление конфигурацией — административные и тех-мические процедуры на всем протяжении жизненного цикла программных средств для обозначения, определения и уста­новления состояния программных объектов в системе; уп­равления изменениями и выпуском объектов; описания и «((общения о состояниях объектов и заявок на внесение изме­нений в них; обеспечения полноты, совместимости и пра­вильности объектов; управления хранением, обращением и поставкой объектов;

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

• верификация — подтверждение соответствия конечно­го продукта предопределенным эталонным требованиям;

• анализ, проверка и тестирование — определение соот­ветствия объекта испытания заданным спецификациям;

• аттестация — определение полноты соответствия соз­данной системы или программного продукта установленным требованиям и функциональному назначению;

• совместный анализ — оценка состояний и при необхо­димости результатов работ по проекту;

• аудит — определение соответствия разработанной сис­темы или программного продукта требованиям, планам и ус­ловиям договора;

• решение проблем — анализ и решение проблем, обнару­женных в ходе выполнения разработки, эксплуатации, соп­ровождения и других процессов.

Ответственность за работы и задачи вспомогательного процесса несет организация, выполняющая данный процесс.

Управление проектом связано с планированием и органи­зацией работ, созданием коллективов разработчиков и кон­тролем сроков и качества выполняемых работ.

К организационным процессам жизненного цикла отно­сятся:

• управление — включает общие работы и задачи, ис­пользуемые управляющими любого процесса (администратор отвечает за управление продуктом, проектом, работами и задачами процессов заказа, поставки, разработки, эксплуа­тации, сопровождения или вспомогательными процессами);

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

• усовершенствование — установление, оценка, измере­ние, контроль и улучшение любого процесса жизненного цикла программных средств;

• обучение — обеспечение первоначального и последу­ющего обучения персонала.

В общем случае ЖЦ ИС можно достаточно произвольно разбить на ряд стадий. Наиболее распространенное деление предложено Rational Software Corporation в методологии RUP, в соответствии с которой жизненный цикл ИС вклю­чает четыре стадии: начало; проектирование; разработка; внедрение. Границы каждой стадии задаются временными моментами, в которые необходимо принимать определен­ные критические решения и достигать определенных клю­чевых целей.

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

Проектирование — определить, создать и испытать базо­вую версию архитектуры разрабатываемой системы. Выделя­ют следующие критерии завершения работ на данной стадии:

• архитектура, выбранная для системы, определена и проверена исполняемыми версиями, полученными в резуль­тате итераций, на которых отрабатывались ключевые требо­вания к системе;

• риски идентифицированы, и приняты меры по смягче­нию их последствий;

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

• разработаны планы для итераций стадии разработки. В конце стадии оцениваются результаты и, если были

достигнуты приемлемые итоги, проект переходит к следую­щей стадии.

Разработка — наиболее трудоемкая стадия, так как к этому времени определены риски, связанные с разработкой системы, задана архитектура и определено большинство тре­бований. После завершения каждой итерации формируется новая, более стабильная версия, в которой реализовано боль­ше функциональных возможностей.

Внедрение — включает исправление дефектов и заключи­тельные процессы (доработка справочной системы, конфигу­рирование и настройка).

Модель жизненного цикла ИС — некоторая структура, определяющая последовательность осуществления процес­сов, действий и задач, выполняемых на протяжении ЖЦ ИС, их взаимосвязи. Модель зависит от специфики системы и ус­ловий, в которых она создается и функционирует.

Наиболее распространенными моделями жизненного цикла являются каскадная и спиральная.

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

Основные этапы разработки по каскадной модели: ана­лиз требований заказчика; проектирование; разработка; тес­тирование и опытная эксплуатация; ввод в действие готового продукта.

На первом этапе проводится исследование проблемы, чет­ко формулируются все требования заказчика. Результатом является техническое задание, согласованное со всеми заин­тересованными сторонами.

Техническое задание (ТЗ) — это документ, определя­ющий цели, требования и основные исходные данные, необ­ходимые для разработки ИС.

При разработке технического задания решаются следу­ющие задачи:

• определение общей цели создания ИС, состава подсис­тем и функциональных задач;

• разработка и обоснование требований, предъявляемых к подсистемам;

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

• формулировка общих требований к проектируемой сис­теме;

• определение перечня задач и исполнителей;

• выделение этапов создания системы и сроки их выпол­нения;

• предварительный расчет затрат на создание системы и определение уровня экономической эффективности ее внед­рения.

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

Третий этап — реализация проекта — включает разработ­ку программного обеспечения в соответствии с полученными на предыдущем этапе проектными решениями.

На четвертом этапе проводится тестирование полученно­го программного обеспечения на предмет соответствия требо­ваниям, заявленным в техническом задании.

Пятый этап — ввод в действие готового продукта.

Основные преимущества каскадной модели:

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

• выполнение в логичной последовательности этапов ра­бот позволяет планировать сроки завершения и соответству­ющие затраты.

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

Каскадная модель имеет ряд недостатков, ограничи­вающих ее применение при разработке ИС:

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

• сложность параллельного ведения работ, связанная с необходимостью постоянного согласования различных час­тей проекта;

• высокий уровень риска, так как результаты разработ­ки можно реально увидеть и оценить лишь на этапе тестиро­вания.

Эти недостатки либо делают каскадную модель полнос­тью неприменимой, либо приводят к увеличению сроков раз­работки и стоимости проекта.

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

Основная проблема спиральной модели ЖЦ — определе­ние момента перехода на следующий этап. Для этого вводят­ся временные ограничения, и завершение итерации произво­дится строго в соответствии с планом.