Жизненный цикл корпоративной информационной системы
Проектирование информационных систем
Жизненный цикл корпоративной информационной системы
Понятие жизненного цикла является одним из базовых понятий методологии проектирования информационных систем.
Жизненный цикл информационной системы (ЖЦ ИС) представляет собой непрерывный процесс, начинающийся с момента принятия решения о ее создании и заканчивающийся в момент полного изъятия из эксплуатации.
Существует ряд стандартов и методик, используемых при разработке ИС:
· ISO/IEC 12207 – стандарт на процессы и организацию жизненного цикла, который распространяется на все виды программного обеспечения;
· Rational Unified Process (RUP) – итеративная методология разработки;
· Rapid Application Development (RAD) – методология быстрой разработки приложений, представляющая комплекс специальных инструментальных средств, позволяющих оперировать с определенным набором графических объектов, функционально отображающих отдельные компоненты приложений;
· Custom Development Method (CDM) – методология по разработке прикладных информационных систем, рассчитанных на использование в проектах с применением компонентов Oracle.
Стандарт ISO/IEC 12207 определяет структуру жизненного цикла, включая процессы, работы и задачи, выполняемые в процессе создания информационной системы.
В нем работы, которые могут выполняться в жизненном цикле, распределены по следующим группам процессов: основные; вспомогательные; организационные.
К основным процессам относятся:
· заказ – определение потребностей заказчика в ИС, подготовка и выпуск заявки на подряд, выбор поставщика и управление процессом заказа вплоть до завершения приемки системы (выполняется заказчиком);
· поставка – принятие решения о подготовке предложения в ответ на заявку, присланную заказчиком, или с подписания договора и вступления с заказчиком в договорные отношения по поставке системы; определение процедур и ресурсов, необходимых для выполнения проекта, включая разработку проектных планов и их выполнение посредством поставки ИС (выполняется поставщиком);
· разработка – анализ требований, проектирование, программирование, сборку, тестирование, ввод в действие и приемку информационной системы (выполняет разработчик);
· эксплуатация – процесс состоит из следующих работ: подготовка процесса; эксплуатационные испытания; эксплуатация системы; поддержка пользователя (выполняет разработчик);
· сопровождение – реализуется при изменениях или модификациях ИС и соответствующей документации, вызванных возникшими проблемами или потребностями в модернизации или настройке. Целью процесса является изменение существующей системы при сохранении ее целостности (выполняет разработчик).
К вспомогательным процессам жизненного цикла относятся:
· документирование – формализованное описание информации, созданной в процессе жизненного цикла (набор работ, при помощи которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают те документы, в которых нуждаются заинтересованные лица, т.е. администраторы, инженеры и пользователи ИС);
· управление конфигурацией– административные и технические процедуры на всем протяжении жизненного цикла программных средств для обозначения, определения и установления состояния программных объектов в системе; управления изменениями и выпуском объектов; описания и сообщения о состояниях объектов и заявок на внесение изменений в них; обеспечения полноты, совместимости и правильности объектов; управления хранением, обращением и поставкой объектов;
· обеспечение качества – обеспечение гарантий, что программные продукты и процессы в жизненном цикле соответствуют установленным требованиям и утвержденным планам. Для обеспечения качества могут использоваться результаты других вспомогательных процессов (верификации, аттестации, совместного анализа, аудита и решения проблем);
· верификация– подтверждение соответствия конечного продукта предопределенным эталонным требованиям;
· анализ, проверка и тестирование, где тестирование – определение соответствия объекта испытания заданным спецификациям;
· аттестация – определение полноты соответствия созданной системы или программного продукта установленным требованиям и функциональному назначению;
· совместный анализ – оценка состояний и при необходимости результатов работ по проекту;
· аудит – определение соответствия разработанной системы или программного продукта требованиям, планам и условиям договора;
· решение проблем – анализ и решение проблем, обнаруженных в ходе выполнения разработки, эксплуатации, сопровождения и других процессов.
Ответственность за работы и задачи вспомогательного процесса несет организация, выполняющая данный процесс.
Управление проектом связано с планированием и организацией работ, созданием коллективов разработчиков и контролем сроков и качества выполняемых работ.
К организационным процессам жизненного цикла относятся:
· управление – включает общие работы и задачи, используемые управляющими любого процесса (администратор отвечает за управление продуктом, проектом, работами и задачами процессов заказа, поставки, разработки, эксплуатации, сопровождения или вспомогательными процессами);
· создание инфраструктуры – установление и обеспечение инфраструктуры, необходимой для любого процесса (технических и программных средств, инструментальных средств, методик, стандартов и условий для разработки, эксплуатации и сопровождения);
· усовершенствование – установление, оценка, измерение, контроль и улучшение любого процесса жизненного цикла программных средств;
· обучение – обеспечение первоначального и последующего обучения персонала.
В общем случае ЖЦ ИС можно достаточно произвольно разбить на ряд стадий.
Наиболее распространенное деление предложено Rational Software Corporation в методологии RUP, в соответствии с которой
жизненный цикл ИС включает четыре стадии: начало; проектирование; разработка; внедрение. Границы каждой стадии задаются временными моментами, в которые необходимо принимать определенные критические решения и достигать определенных ключевых целей.
Начало:устанавливается область применения и граничные условия функционирования системы. Для этого идентифицируются все внешние объекты, с которыми должна взаимодействовать разрабатываемая система, и определяется характер этого взаимодействия; идентифицируются все функциональные возможности системы и производится описание наиболее существенных из них.
Перечень работ включает: разработку концепции проекта; определение требований к системе; экономическое обоснование; разработку календарного плана работ.
Проектирование – определить, создать и испытать базовую версию архитектуры разрабатываемой системы. Выделяют следующие критерии завершения работ на данной стадии:
· архитектура, выбранная для системы, определена и проверена исполняемыми версиями, полученными в результате итераций, на которых отрабатывались ключевые требования к системе;
· риски идентифицированы, и приняты меры по смягчению их последствий;
· определена большая часть детализованных требований к системе;
· разработаны планы для итераций стадии разработки.
В конце стадии оцениваются результаты и, если были достигнуты приемлемые итоги, проект переходит к следующей стадии.
Разработка – наиболее трудоемкая стадия, т.к.к этому времени определены риски, связанные с разработкой системы, задана архитектура и определено большинство требований. После завершения каждой итерации формируется новая, более стабильная версия, в которой реализовано больше функциональных возможностей.
Внедрение – включает исправление дефектов и заключительные процессы (доработка справочной системы, конфигурирование и настройка).
Модель жизненного цикла ИС – некоторая структура, определяющая последовательность осуществления процессов, действий и задач, выполняемых на протяжении ЖЦ ИС, взаимосвязи между ними. Модель зависит от специфики системы и условий, в которых она создается и функционирует.
Наиболее распространенными моделями жизненного цикла являются: каскадная модель; спиральная.
Каскадная модель ЖЦ ИСпредусматривает последовательную организацию работ.
Ее основной особенностью является разбиение всей разработки на этапы, переход с одного этапа на следующий происходит только после того, как полностью завершены все работы на предыдущем. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Основные этапы разработки по каскадной модели:
· анализ требований заказчика;
· проектирование;
· разработка;
· тестирование и опытная эксплуатация;
· ввод в действие готового продукта.
На первом этапе анализ требований заказчика проводится исследование проблемы, четко формулируются все требования заказчика. Результатом является техническое задание, согласованное со всеми заинтересованными сторонами.
Техническое задание (ТЗ) – это документ, определяющий цели, требования и основные исходные данные, необходимые для разработки ИС.
При разработке технического задания решаются следующие задачи:
· определение общей цели создания ИС, состава подсистем и функциональных задач;
· разработка и обоснование требований, предъявляемых к подсистемам;
· разработка и обоснование требований, предъявляемых к информационной базе, математическому и программному обеспечению, комплексу технических средств (включая средства связи и передачи данных);
· формулировка общих требований к проектируемой системе;
· определение перечня задач и исполнителей;
· выделение этапов создания системы и сроки их выполнения;
· предварительный расчет затрат на создание системы и определение уровня экономической эффективности ее внедрения.
На втором этапе проектирование разрабатываются проектные решения, удовлетворяющие всем требованиям, сформулированным в техническом задании.
Результатом его является комплект проектной документации, содержащий все необходимые данные для реализации проекта – технический проект.
Третий этап разработка включает разработку программного обеспечения в соответствии с полученными на предыдущем этапе проектными решениями.
Работы завершаются выпуском рабочего проекта ИС,состоящего из проектной документации, необходимой и достаточной для приобретения, монтажа и наладки комплекса технических средств системы, и документации программного и организационного обеспечений, необходимых и достаточных для наладки и эксплуатации системы, и изготовлением программ специального программного обеспечения на машинных носителях.
На четвертом этапе тестирование и опытная эксплуатация проводится тестирование полученного программного обеспечения на предмет соответствия требованиям, заявленным в техническом задании.
Последний этап – ввод в действие готового продукта.
Основные преимущества каскадной модели:
· на каждом этапе формируется законченный набор проектной документации, отвечающей критериям полноты и согласованности.
· На заключительных этапах разрабатывается пользовательская документация, охватывающая все предусмотренные стандартами виды обеспечения ИС(организационное, методическое, информационное, программное, аппаратное);
· выполнение в логичной последовательности этапов работ позволяет планировать сроки завершения и соответствующие затраты.
Каскадная модель жизненного цикла хорошо подходит для проектов, обладающих следующими характеристиками:
· требования полностью известны и понятны на начало проекта и не претерпевают значительных изменений в ходе его реализации;
· требования можно выполнить, используя технологии, которые предполагается применить в проекте;
· используемые технологии не меняются в течение проекта;
· риски определены и проанализированы в начале проекта;
· команда разработчиков хорошо знакома с предметной областью, имела опыт работы с ней и с технологиями, применяемыми в проекте.
Каскадная модель имеет ряд недостатков, ограничивающих ее применение при разработке ИС:
· согласование результатов с заинтересованными сторонами производится только после завершения очередного этапа работ, в результате чего разрабатываемая ИС может не соответствовать требованиям пользователей (искажения могут непреднамеренно вноситься проектировщиками-аналитиками и программистами из-за недостаточного знания специфики предметной области), используемые модели (функциональная, информационная) автоматизируемого объекта, проекты интерфейса пользователя, требования к пользовательской документации могут в силу различных причин устареть за время разработки (из-за внесения изменений в законодательство, колебания курса валют и т.п.);
· ошибки, допущенные на более ранних этапах, как правило, обнаруживаются на последующих стадиях работы над проектом, и проект следует возвратить на предыдущие этапы (рис. 8.1), что может служить причиной срыва графика работ и усложнения взаимоотношений между группами разработчиков, выполняющих отдельные этапы;
· сложность параллельного ведения работ,связанная с необходимостью постоянного согласования различных частей проекта;
· высокий уровень риска, т.к.результаты разработки можно реально увидеть и оценить лишь на этапе тестирования.
Эти недостатки либо делают каскадную модель полностью неприменимой, либо приводят к увеличению сроков разработки и стоимости проекта.
Спиральная модель жизненного цикла предполагает итерационный процесс разработки ИС с возможностью существенного упрощения внесения уточнений и дополнений в проект.
На каждом витке спирали создается фрагмент или версия программного изделия, уточняются цели и характеристики проекта, определяется его качество, планируются работы на следующем витке.
Главная задача каждой итерации – создать работоспособный продукт, который можно показать пользователям системы. Спиральный подход к разработке ПО позволяет преодолеть большинство недостатков каскадной модели и обеспечивает гибкость процесса разработки (постепенная интеграция отдельных элементов ИС в единое целое, уменьшение рисков, повторного использования компонентов; получение более надежной и устойчивой системы, совершенствование процесса разработки).
Основная проблема спиральной модели ЖЦ – определение момента перехода на следующий этап. Для этого вводятся временные ограничения, и завершение итерации производится строго в соответствии с планом.
Основы проектирования ИС
В общем случае процесс разработки ИС может быть рассмотрен:
по содержанию действий разработчиков (процесс описывается в терминах основных потоков работ – исполнители, действия, последовательность действий ит.п.);
по времени или стадиям ЖЦ разрабатываемой системы (организация процесса разработки в терминах циклов, стадий, итераций и этапов).
Проект – комплекс взаимосвязанных мероприятий, предназначенных для достижения поставленных целей, с установленными требованиями к качеству результата, в течение заданного времени, при установленных бюджете и уровнях рисков.
Выделяют следующие основные отличительные признаки проекта как объекта управления:
изменчивость (целенаправленный перевод системы из существующего в некоторое желаемое состояние, описываемое в терминах целей проекта);
ограниченность бюджета и требуемых ресурсов;
комплексность (наличие большого числа факторов, прямо или косвенно влияющих на прогресс и результаты проекта);
правовое и организационное обеспечение (создание специфической организационной структуры на время реализации проекта).
Для экспериментальной проверки правильности принятых на предыдущих этапах решений и подготовки к внедрению КИС выполняется пилотный проект, преимуществами которого является:
· небольшая стоимость по сравнению с полномасштабным внедрением;
· малые сроки реализации с большой практической ценностью;
· построение модели предприятия для дальнейшего внедрения.
Эскизный проект предусматривает разработку предварительных проектных решений по системе и ее частям. Его содержание задается в ТЗ.
Технический проект системы – это техническая документация, содержащая общесистемные проектные решения, алгоритмы решения задач, оценку экономической эффективности ИС и перечень мероприятий по подготовке объекта к внедрению.
Рабочий проект системы включает создание программного продукта и разработку всей сопровождающей документации, которая должна содержать все необходимые и достаточные сведения для обеспечения выполнения работ по вводу ИС в действие и ее эксплуатации, для поддержания уровня эксплуатационных характеристик (качества) системы. Разработанная документация соответствующим образом оформляется, согласовывается и утверждается.
Для проверки соответствия разработанной системы функциональным требованиям технического задания проводятся ее испытания, которые в зависимости от взаимосвязей частей ИС и объекта автоматизации могут быть автономные или комплексные.
Автономные испытания охватывают части системы. Их проводят по мере готовности ее частей системы к сдаче в опытную эксплуатацию.
Комплексные испытания проводят для групп взаимосвязанных частей или для системы в целом.
Предварительные испытания проводят для определения работоспособности системы и решения вопроса о возможности ее приемки в опытную эксплуатацию. Их выполняют после проведения разработчиком отладки и тестирования поставляемых программных и технических средств системы и предоставления соответствующих документов об их готовности к испытаниям.
Опытную эксплуатацию системы проводят с целью определения фактических значений количественных и качественных характеристик системы и готовности персонала к работе в условиях ее функционирования, определения фактической эффективности и корректировки, при необходимости, документации.
Целесообразность и осуществимость проекта, степень достижения поставленных целей проекта и сравнения фактических результатов с запланированными характеризуются такими технико-экономическими показателями:
объем работ;
сроки выполнения;
себестоимость;
экономическая эффективность, обеспечиваемая реализацией проекта; социальная и общественная значимость проекта.
Для обоснования, анализа хода реализации проекта, а также для заключительной оценки существует ряд характеристик проекта. К важнейшим из них относятся показатели:
объем работ;
сроки выполнения;
себестоимость;
экономическая эффективность, обеспечиваемая реализацией проекта; социальная и общественная значимость проекта.
Управление проектом должно быть достаточно гибким, чтобы допускать возможность модификации, обеспечивать распределение и перераспределение ресурсов, координацию выполняемой последовательности работ и снижение внешних и внутренних рисков.
Выделяют два подхода к проектированию ИС: канонический и типовой.
Каноническое проектирование ИС ориентировано на использование, главным образом, каскадной модели ЖЦ ИС.
Стадия | Этапы |
Формирование требований | - обследование объекта и обоснование необходимости создания ИС; - формирование требований пользователей к ИС; - оформление отчета о выполненной работе и тактико-технического задания на разработк |
Разработка концепции | - изучение объекта автоматизации; - проведение необходимых научно-исследовательских работ; - разработка вариантов концепции ИС, удовлетворяющих требованиям пользователей; - оформление отчета и утверждение концепции |
Разработка ТЗ | - разработка и утверждение технического задания на создание ИС |
Создание эскизного проекта | - разработка предварительных проектных решений по системе и ее частям; - разработка эскизной документации на ИС и ее частей |
Разработка технического проекта | - разработка проектных решений по системе и ее частям; - разработка документации на ИС и ее части; - разработка и оформление документации на поставку комплектующих изделий; - разработка заданий на проектирование в смежных частях проекта |
Разработка рабочей документации | - разработка рабочей документации на ИС и ее части; - разработка и адаптация программ |
Ввод в действие | - подготовка объекта автоматизации; - подготовка персонала; - комплектация ИС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями); - строительно-монтажные работы; - пусконаладочные работы; - проведение предварительных испытаний; - проведение опытной эксплуатации; - проведение приемочных испытаний |
Сопровождение ИС | - выполнение работ в соответствии с гарантийными обязательствами; - постгарантийное обслуживание |
Типовое проектирование ИС предполагает создание системы из готовых типовых элементов.
Основным требованием для применения методов типового проектирования является возможность декомпозиции проектируемой ИС на множество составляющих компонентов (подсистем, комплексов задач, программных модулей и т.д.). Для реализации выделенных компонентов выбираются имеющиеся на рынке типовые проектные решения.
Типовое проектное решение (ТПР) – это тиражируемое проектное решение.
Основными видами ТПР являются:
· типовые решения по задаче или по отдельному виду обеспечения задачи;
· отдельные подсистемы, разработанные с учетом функциональной полноты и минимизации внешних информационных связей;
· полный набор функциональных и обеспечивающих подсистем ИС.
Типовое проектирование предполагает реализацию одного из подходов: