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) предполагает итерационный процесс разработки ИС с возможностью существенного упрощения внесения уточнений и дополнений в проект. На каждом витке спирали создается фрагмент или версия программного изделия, уточняются цели и характеристики проекта, определяется его качество, планируются работы на следующем витке. Главная задача каждой итерации — создать работоспособный продукт, который можно показать пользователям системы. Спиральный подход к разработке ПО позволяет преодолеть большинство недостатков каскадной модели и обеспечивает гибкость процесса разработки (постепенная интеграция отдельных элементов ИС в единое целое, уменьшение рисков, повторного использования компонентов; получение более надежной и устойчивой системы, совершенствование процесса разработки).
Основная проблема спиральной модели ЖЦ — определение момента перехода на следующий этап. Для этого вводятся временные ограничения, и завершение итерации производится строго в соответствии с планом.
- 6. Системы искусственного интеллекта
- 6.1. Основные понятия искусственного интеллекта
- 6.3. Интеллектуальный анализ данных. Управление знаниями
- 6.4. Экспертные системы
- 6.5. Системы поддержки принятия решений
- 7. Обеспечение безопасности информационных систем
- 7.1. Основы информационной безопасности
- 7.2. Критерии оценки информационной безопасности
- 7.3. Классы безопасности информационных систем
- 7.4. Угрозы информационной безопасности
- 7.6. Правовые аспекты информационной безопасности
- 7.7. Обеспечение безопасности в компьютерных сетях
- 8. Проектирование корпоративной информационной системы
- 8.1. Жизненный цикл корпоративной информационной системы
- 8.2. Основы проектирования ис
- 8.3. Реинжиниринг бизнес-процессов
- 8.4. Стандартизация и сертификация информационных технологий
- 9. Решения в области информационных систем
- 9.1. Комплексные решения кис
- 9.2. Критерии выбора кис