Лекция № 3 модели жизненного цикла информационных систем

Оглавление

Понятие жизненного цикла ИС И ПО.. 1

2. Каскадная модель ЖЦ ИС. 5

3. Спиральная модель. 7

4. Модель разработки через тестирование (V-модель). 9

5. Модель быстрой разработки программных приложений (RAD). 10

6. Выбор модели жизненного цикла ИС. 11

 

 

 

Понятие жизненного цикла ИС И ПО

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

Наиболее часто ключевые стороны, задействованные в создании и эксплуатации информационной системы, ассоциируют ее с программным обеспечением, лежащем в основе этой ИС. Тогда в чем основное отличие жизненного цикла информационной системы от жизненного цикла программного обеспечения? Ответ начинается с самого определения информационной системы, охватывающего большее количество аспектов, нежели просто ПО. Программное обеспечение может быть модернизировано, обновлено до новых версий несколько раз в рамках одного жизненного цикла информационной системы. Однако это будет все та же информационная система, возможно, с теми же инфраструктурными и организационными ресурсами. Могут приходить и уходить сотрудники, обновляться системы хранения данных, но это лишь части информационной системы, которая все равно будет выполнять свои основные функции до момента вывода из эксплуатации. Интересная для рассмотрения концепция уровней жизненного цикла была предложена в 2005 году Скоттом Амблером, автором практик гибкого моделирования Agile Modeling и концепции Enterprise Unified Process.   

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

Жизненный цикл организации / бизнеса

Жизненный цикл информационных технологий

Жизненный цикл системы

Жизненный цикл ПО (разработки)

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

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

Следует различать два типа ЖЦ ИС

Типы жизненного цикла ИС

ЖЦ уникальной ИС.

Собственная разработка.

ЖЦ адаптируемой ИС.

Внедрение тиражируемой модели ИС

ЖЦ включает стандартные этапы:

ЖЦ ориентированный на адаптацию:

 

 

 

 

 

 

 

 


                       

ЖЦ включает стандартные этапы:

Анализ и разработка требований:

·        Анализ бизнес процессов

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

Проектирование:

·        Проектирование архитектурных систем

·        Детальное проектирование

Разработка:

·        Разработка архитектуры ИС

·        Разработка обеспечивающих частей ИС

o   Программных

o   Информационных

o   Технических

o   Организационных

Отладка и тестирование

Внедрение и сопровождение

 

ЖЦ ориентированный на адаптацию:

Анализ и разработка требований:

·        Анализ бизнес-процессов

·        Разработка функциональных требований к ИС

·        ИТ-маркетинг, приобретение, постановка ИС

Проектирование:

·        Проектирование требуемой архитектуры ИС

·        Анализ требуемой архитектуры и архитектуры тиражируемой ИС

·        Выявление и реализация доработок

·        Соотношение требований к тиражируемой ИС с ее функционалом

Адаптация тиражируемой ИС

Отладка и тестирование

Внедрение и сопровождение

 

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

Модель ЖЦ ИС – комбинация последовательности этапов жизненного цикла и переходов между ними, необходимых для гарантированного достижения поставленной для реализации проекта цели. 

Сами фазы жизненного цикла фиксированы и для различных отраслей человеческой деятельности, по сути, одинаковы: ‒ Замысел (планирование проекта). ‒ Анализ и постановка задачи. ‒ Проектирование. ‒ Разработка. ‒ Развертывание и внедрение. ‒ Эксплуатация. ‒ Поддержка. ‒ Модернизация. ‒ Утилизация. Можно говорить о том, что средняя продолжительность подобного цикла составляет порядка 15 лет, однако следует учитывать что в зависимости от огромного числа различных факторов, обусловленных спецификой предприятия, отрасли, самой информационной системы сроки физического и морального старения техники и ПО будут значительно отличаться. А значит, еще при проектировании ИС необходимо четко представлять себе возможности ее дальнейшей модернизации, в том числе факторы, которые могут вызвать эту необходимость.

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

2. Каскадная модель ЖЦ ИС

 Каскадная модель жизненного цикла, также называемая моделью «водопада» (waterfall), была разработана еще в 80-х годах, и на протяжении многих лет она считалась стандартом для разработки ПО. Данная модель характеризуется тем, что этапы строго последовательны и переход между ними невозвратный. Это означает, что в рамках каскадной модели переход к следующему этапу (например, от проектирования и сбора требований к разработке и развертыванию) может произойти только по завершении предыдущего этапа. Модель «водопада» была применена одной из первых и одно из ее основных достоинств в возможности планирования сроков и стоимости каждого этапа – однако, на практике разработка системы почти никогда не проходит строго в соответствии с жесткой заранее продуманной схемой. В частности, это касается сбора требований, так как реально при старте проекта требования бывают определены только частично и в дальнейшем уточняются, изменяются и дополняются. К тому же, если изначально требования были определены неточно, высока вероятность того, что система не будет удовлетворять потребностям заказчика.

Каскадная модель ЖЦ ИС

,

 

2.1. Каскадная модель с промежуточным контролем

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

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

,

Описание этапов ЖЦ каскадной модели.

Исследование концепции - стадия

3. Спиральная модель 

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

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

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

 

Цикл Шухарта-Деминга 

Определенным прообразом спиральной модели ЖЦ стал классический цикл управления Деминга (PDCA-цикл). 

PDCA (Plan – Do – Check – Act) – Цикл качества, еще называемый циклом Деминга. Этот алгоритм управления предполагает четыре основных шага «Планирование – Действие – Проверка – Корректировка» и помимо стандартной области применения в менеджменте предприятия возможно использовать его в управлении внедрением и развитием информационной системы. Таким образом, этап планирования может начинаться как при первичном проектировании системы, так и при старте ее модернизации, когда, как мы говорили, снова необходимо пройти все этапы жизненного цикла системы. 

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

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

4. Модель разработки через тестирование (V-модель) 

Приближенная по своей сути к практикам PRINCE2, V-модель разработки через тестирование была разработана еще в конце 1980-х годов ведомствами Германии и США, и до сих пор является стандартом немецких правительственных и оборонных проектов. Основной ее принцип состоит в постепенном возрастании степени детализации проекта с течением времени и одновременном проведении «горизонтальных» итераций. Таким образом, результаты каждой из фаз левой стороны буквы V влияют на тестирование и компоновку проекта с правой стороны буквы V: приемо-сдаточные испытания основываются на проведенном анализе требований, интеграционное тестирование – на высокоуровневом описании архитектуры, модульное тестирование – на архитектуре, интерфейсах, алгоритмах и прочих элементах детализированных требованиях к системе.  

5. Модель быстрой разработки программных приложений (RAD)

         В 1980-х гг. компания IBM начала применять метод быстрой разработки приложений (Rapid Application Development, RAD). При использовании данного метода RAD заказчик участвует во всех фазах жизненного цикла проекта – определение требований, разработка, тестирование, поставка программного продукта. Метод RAD характеризуется кратковременным переходом от определения требований до создания полной системы. Разработка ПО ограничивается определенным периодом времени (как правило 60 дней).

Модель RAD включает следующие фазы:

·        Планирование требований – структурный анализ и обсуждение с заказчиком реализуемых коммерческих задач;

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

·        Конструирование – выполняется детализованное проектирование, включающее разработку (кодирование и тестирование) системы, а также поставку программного продукта заказчику;

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

Преимущества модели RAD

·        Применение мощной инструментальных сред позволяет сократить время цикла разработки всего проекта;

·        Создание системы выполняется коллективом, знающим процессы предметной области;

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

·        Уменьшается риск, связанный с соблюдением графика работ, за чсет сокращения времени цикла;

·        Сведение к минимуму риска того, что система не будет удовлетворять требованиям предметной области;

·        Основное внимание уделяется не документации, а кодированию (программированию), при этом поддерживается принцип «получаете то, что видите» (What you see is what you get, WYSIWYG)

·        Использование различных стандартных методологий моделирования: моделирование потоков данных; моделирование данных; моделирование бизнес процессов; генерирование приложения;

·        Повторное использование компонентов уже существующих программ.

Недостатки модели RAD

·        Низкое качество программного продукта, если заказчики не могут принимать активное участие в процессе создания системы на протяжении всего ЖЦ;

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

·        Необходимость наличия готовых компонентов проектируемой системы до начала проекта.

6. Выбор модели жизненного цикла ИС

Критерий выбора

Модель ЖЦ

Каскадная

V-образная

RAD

спиральная

Характеристики требований

Являются ли требования легко определяемы и/или хорошо известными?

ДА

Да

Да

Нет

Могут ли требования быть определены заранее?

Да

Да

Да

Нет

Требования часто изменяются?

Нет

Нет

Нет

Да

Необходимо ли демонстрировать  реализацию требований с целью их доопределения?

Нет

Нет

Да

Да

Характеристики участников команды разработчиков

Предметная область создаваемой программной системы – новая для большинства разработчиков?

Нет

Нет

Нет

Да

Инструменты проектирования являются новыми для разработчиков?

Да

Да

Нет

Да

Инструменты проектирования являются новыми  для разработчиков?

Да

Да

Нет

Да

Роли участников команды меняются во время ЖЦ?

Нет

Нет

Нет

Да

Менеджер строго контролирует работу команды?

Да

Да

Нет

Да

Характеристики коллектива пользователей

Участие пользователя на этапах ЖЦ ограничено?

Да

Да

Нет

Да

Пользователь знаком с системой?

Нет

Нет

Нет

Да

Пользователя надо знакомить с проблемами информационно-программного обеспечения

Нет

Да

да

Нет

Заказчик будет отслеживать ход выполнения работ?

Нет

Нет

Нет

Да

Характеристики типа проекта

Проект уникальный, специальный для организации?

Да

Да

Да

Да

Проект по адаптации существующей модели ИС?

Да

Нет

Да

Нет

Финансирование ЖЦ стабильно?

Да

Да

Да

Нет

Ожидается длительная эксплуатация системы?

Да

Да

Нет

Да

Система должна быть высоконадежной?

Нет

Да

Нет

Да

Будет ли система меняться в ходе ЖЦ проекта?

Нет

Нет

нет

да

Является ли график работ ограниченным по времени?

Нет

Нет

Да

Да

 

Литература

1. Зараменских Е.П. Управление жизненным циклом информационных систем. –Новосибирск, ЦРНС, 2014. -270с.