Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Н.КИС17.03.08.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.57 Mб
Скачать

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

  • формирование идеи, постановку целей;

  • изучение требований заказчика;

  • сбор исходных данных и анализ существующего состояния объекта управления;

  • формирование команды проекта;

  • определение основных требований к материальным, финансовым и трудовым ресурсам;

  • представление предложений, их экспертиза и утверждение.

Стадия подготовки технического предложения. Целью данной стадии является уточнение технического предложения в ходе переговоров с заказчиком о заключении Договора. Общее содержание работ этой стадии:

  • разработка и утверждение технического задания;

  • разработка планов работ;

  • составление бюджета проекта;

  • подписание Договора с заказчиком.

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

  • выполнение концептуального проектирования;

  • разработка технических спецификаций;

  • представление проектной разработки, экспертиза и утверждение.

Стадия разработки. Производится координация и оперативный контроль работ по проекту, осуществляется создание подсистем и их тестирование. Она включает:

  • разработку программного обеспечения;

  • подготовку к внедрению системы;

  • контроль и регулирование основных показателей проекта.

Стадия ввода системы в эксплуатацию. Проводятся испытания, идет опытная эксплуатация системы в реальных условиях, ведутся переговоры о результатах выполнения проекта и о возможных новых контрактах. Она включает такие виды работ:

  • опытная эксплуатация;

  • подготовка кадров для эксплуатации создаваемой системы;

  • подготовка рабочей документации;

  • сдача системы заказчику;

  • сопровождение, поддержка, сервисное обслуживание;

  • накопление опытных данных для последующих проектов.

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

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

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

  • RUP (Rational Unified Process) - итеративная методология разработки, включающая четыре фазы: начало, исследование, построение и внедрение. Каждая фаза может быть разбита на этапы (итерации), в результате которых выпускается версия для внутреннего или внешнего использования. Прохождение через четыре основные фазы называется циклом разработки, каждый цикл завершается генерацией версии системы. Если после этого работа над проектом не прекращается, то полученный продукт продолжает развиваться и снова минует те же фазы.

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

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

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

- Основные процессы жизненного цикла;

- Вспомогательные процессы жизненного цикла;

  • Организационные процессы жизненного цикла.

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

Основными процессами являются:

1) Процесс заказа начинается с определения потребностей заказчика в информационной системе. Далее следуют подготовка и выпуск заявки на подряд, выбор поставщика и управление процессом заказа вплоть до завершения приемки системы.

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

3) Процесс разработки включает анализ требований по проектированию, программированию, сборке, тестированию, вводу в действие и приемке информационной системы. Разработчик выполняет или обеспечивает выполнение работ по данному процессу в соответствии с условиями договора.

4) Процесс эксплуатации охватывает эксплуатацию информационной системы и включает подготовку процесса; эксплуатационные испытания; эксплуатацию системы; поддержку пользователя.

5) Процесс сопровождения состоит из работ и задач, выполняемых персоналом сопровождения. Данный процесс реализуется при изменениях или модификациях информационной системы и соответствующей документации, вызванных возникшими проблемами или потребностями в модернизации или настройке. Целью процесса является изменение существующей информационной системы при сохранении ее целостности и он охватывает вопросы переносимости и снятия информационной системы с эксплуатации. Ответственность за выполнение работ несет организация, создающая и реализующая данный процесс.

Вспомогательные процессы жизненного цикла КИС включают:

1) Процесс документирования - формализованное описание информации, созданной в процессе или работе жизненного цикла. Он включает набор работ, при помощи которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают те документы, в которых нуждаются все заинтересованные лица.

2) Процесс управления конфигурацией - процесс применения административных и технических процедур на всем протяжении жизненного цикла программных средств для: обозначения, определения и установления состояния программных продуктов в системе; управления изменениями и выпуском продуктов; описания и сообщения о состояниях продуктов и заявок на внесение изменений в них; обеспечения полноты, совместимости и правильности объектов; управления хранением, обращением и поставкой объектов.

3) Процесс обеспечения качества - обеспечение гарантий того, что программные продукты и процессы в жизненном цикле соответствуют установленным требованиям и утвержденным планам. Оеспечение качества должно быть организационно и полномочно независимым от субъектов, непосредственно связанных с разработкой информационной системы или выполнением процесса в проекте. При обеспечении качества могут использоваться результаты других вспомогательных процессов, таких как верификация, аттестация, совместные анализы, аудит и решение проблем.

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

5) Процесс аттестации - определение полноты соответствия установленным требованиям и функциональному назначению. Аттестация может проводиться на начальных этапах работы, а также как часть работы по обеспечению приемки программных продуктов. Процесс может выполняться в условиях различных степеней независимости исполнителей как в самой организации, так и соисполнителями.

6) Процесс совместного анализа - оценка состояний и при необходимости результатов работ по проекту. Совместные анализы применяются как на уровне управления проектом, так и на уровне технической реализации проекта, и проводятся в течении всего жизненного цикла договора. Он может выполняться сторонами, участвующими в договоре.

7) Процесс аудита - определение соответствия требованиям, планам и условиям договора.

8) Процесс решения проблем - анализ и решение проблем, независимо от их происхождения или источника, которые обнаружены в ходе выполнения разработки, эксплуатации, сопровождения и т.д. Целью процесса является обеспечение способов своевременного, ответственного и документированного анализа и решения всех обнаруженных проблем и определения причин их возникновения.

Организационные процессы жизненного цикла КИС. Управление проектом связано с вопросами планирования и организации работ, создания коллективов разработчиков и контроля за сроками и качеством выполняемых работ. Выделяют следующие организационные процессы жизненного цикла:

1) Процесс управления включает общие работы и задачи, которые могут быть использованы любой стороной, управляющей соответствующими процессами. Администратор отвечает за управление продуктом, проектом, работами и задачами соответствующих процессов, таких как заказ, поставка, разработка, эксплуатация, сопровождение или вспомогательные процессы.

2) Процесс создания инфраструктуры - это процесс установления и обеспечения инфраструктуры, необходимой для любого другого процесса. Инфраструктура содержит технические, программные и инструментальные средства, методики, стандарты и условия для разработки, эксплуатации и сопровождения.

3) Процесс усовершенствования - это процесс установления, оценки, измерения, контроля и улучшения любого процесса жизненного цикла программных средств ИС.

4) Процесс обучения – это процесс обеспечения первоначального и последующего обучения персонала. Заказ, поставка, разработка, эксплуатация и сопровождение программных продуктов в значительной степени зависят от квалификации персонала. Поэтому обязательно должно быть запланировано и заранее выполнено обучение персонала.

Жизненный цикл корпоративной информационной системы включает в себя, как правило, стратегическое планирование, анализ, проектирование, реализацию, внедрение и эксплуатацию. В общем случае жизненный цикл можно, в свою очередь, разбить на ряд стадий. Деление на стадии достаточно условно. Рассмотрим один из вариантов такого деления, предлагаемый корпорацией Rational Software Corporation [5].

Согласно методологии RUP жизненный цикл информационной системы подразделяется на четыре стадии:

  • начало;

  • проектирование;

  • разработка;

  • внедрение.

Границы каждой стадии определены некоторыми моментами времени, в которые необходимо принимать определенные критические решения и, следовательно, достигать определенных ключевых целей.

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

Перечень работ включает:

  • предпроектный анализ предметной области;

  • разработку концепции проекта;

  • определение требований к системе;

  • экономическое обоснование;

  • разработку календарного плана работ.

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

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

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

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

  • разработаны планы для итераций стадии разработка.

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

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

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

Модели жизненного цикла информационной системы

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

В стандарте ISO/IEC 12207 не конкретизируются в деталях методы выполнения действий и решения задач, входящих в процессы жизненного цикла ИС, а лишь описываются структуры этих процессов. Модель жизненного цикла зависит от специфики ИС и условий, в которых она создается и функционирует.

Наибольшее распространение получили две основные модели жизненного цикла:

  • каскадная модель;

  • спиральная модель.

Каскадная модель жизненного цикла информационной системы предусматривает последовательную организацию работ. При этом основной особенностью является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как полностью завершены все работы на предыдущем этапе (рис. 8). Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков [3].

Основные этапы разработки по каскадной модели:

  • анализ требований заказчика;

  • проектирование;

  • разработка;

  • тестирование и опытная эксплуатация;

  • в вод в действие готового продукта.

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

Техническое задание – это документ, определяющий цели, требования и основные исходные данные, необходимые для разработки автоматизированной системы управления.

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

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

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

  • устанавливаются общие требования к проектируемой системе;

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

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

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

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

Третий этап – реализация проекта. Здесь осуществляется разработка программного обеспечения в соответствии с проектными решениями, полученными на предыдущем этапе. Результатом выполнения данного этапа является готовый программный продукт.

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

Последний этап – ввод в действие готового продукта.

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

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

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

Благодаря этим преимуществам каскадная модель жизненного цикла хорошо подходит для проектов, обладающих следующими характеристиками:

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

  • требования полностью понятны в начале проекта;

  • риски определены и проанализированы в начале проекта;

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

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

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

Тем не менее, каскадная модель имеет ряд недостатков, ограничивающих ее применение при разработке информационных систем [3]. Недостатки каскадной модели:

Высокий уровень риска объясняется сложностью проекта и продолжительностью каждого из этапов разработки ИС. Результаты разработки можно реально увидеть и оценить лишь па этапе тестирования, то есть после завершения анализа, проектирования и разработки – этапов, выполнение которых требует значительного времени и средств. Запоздалая оценка порождает серьезные проблемы при выявлении ошибок анализа и проектирования – требуется возврат проекта на предыдущие стадии и повторение процесса разработки. Однако возврат на предыдущие стадии может быть связан не только с ошибками, но и с изменениями, произошедшими в предметной области или в требованиях заказчика за время разработки. Возврат проекта на доработку вследствие этих причин не гарантирует, что предметная область снова не изменится к тому моменту, когда будет готова следующая версия проекта. Фактически это означает, что существует вероятность того, что система никогда не дойдет до сдачи в эксплуатацию. Расходы на проект будут постоянно расти, а сроки сдачи готового продукта постоянно откладываться.

Сложность параллельного ведения работ обусловлена необходимостью постоянного согласования различных частей проекта. Чем сильнее взаимозависимость отдельных частей проекта, тем чаще и тщательнее должна выполняться синхронизация, тем сильнее зависят друг от друга группы разработчиков. Поэтому преимущества параллельного ведения работ просто теряются.

Возврат на более ранние стадии обусловлен тем, что ошибки, допущенные на более ранних этапах, как правило, обнаруживаются только на последующих стадиях работы над проектом. Поэтому, после того как ошибки проявятся, проект возвращается на предыдущий этап, перерабатывается и снова передается на последующую стадию (рис. 9). Это может служить причиной срыва графика работ и усложнения взаимоотношений между группами разработчиков, выполняющих отдельные этапы работы.

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

Кроме того, используемые при разработке информационной системы модели автоматизируемого объекта, отвечающие критериям внутренней согласованности и полноты, могут в силу различных причин устареть за время разработки (например, из-за внесения изменений в законодательство, колебания курса валют и т. п.).

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

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

Главная задача каждой итерации – создать работоспособный продукт, который можно показать пользователям системы. Таким образом, существенно упрощается процесс внесения уточнений и дополнений в проект.

Спиральный подход к разработке ИС позволяет преодолеть большинство недостатков каскадной модели и, кроме того, обеспечивает ряд дополнительных возможностей, делая процесс разработки более гибким.

Рис. 10. Спиральная модель жизненного цикла

Преимущества итерационного подхода:

  • Уменьшается уровень рисков. Это преимущество является следствием предыдущего, так как риски обнаруживаются в основном во время интеграции. Поэтому уровень рисков максимален в начале разработки проекта. По мере продвижения разработки уровень рисков снижается. Это связано с тем, что при итерационном подходе начальных итерациях выявляются многие особенности проекта (как пригодность используемых инструментальных средств и программного обеспечения и т. п.).

  • Упрощается внесение изменений в проект при изменении требований заказчика.

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

  • Упрощается повторное использование компонентов. Анализ проекта после проведения нескольких начальных итераций позволяет выявить общие многократно используемые компоненты, которые на последующих итерациях будут совершенствоваться.

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

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