Обоснование выбора модели жизненного цикла

Инженерный подход к рассмотрению жизненного цикла, регламентируется международным стандартом ISO/IEC 12207, который определяет состав и последовательность основных (базовых) процессов жизненного цикла программного обеспечения. К этим процессам отнесены заказ, поставка, разработка и сопровождение.

В настоящее время наибольшее распространение имеют следующие модели (стратегии) жизненного цикла:

- каскадная;

- инкрементная;

- спиральная.

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

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

Достоинства модели:

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

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

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

- реальный процесс разработки информационной системы редко полностью укладывается в такую жесткую схему. Особенно это относится к разработке нетиповых и новаторских систем;

- жизненный цикл основан на точной формулировке исходных требований к информационной системе. Реально в начале проекта требования заказчика определены лишь частично;

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

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

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

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

Спиральная модель жизненного цикла.Эта модель, предложенная Барри Боэмом и опубликованная в журнале IЕЕЕ Computer в 1988 году, ориентирована на разрешение проблем, связанных с внесением изменений в требования заказчика. Спиральная модель жизненного цикла относится к моделям итерационного типа, где на каждом витке спирали прорабатываются и конкретизируются все аспекты системы и в результате получается окончательный вариант, отвечающий всем требованиям заказчика. Этапы, представленные на каждом витке спирали, идентичны и подобны этапам, принятым в каскадной модели.

В модели выделено четыре квадранта:

1. определение целей, альтернативных вариантов и ограничений;

2. оценка альтернативных вариантов, идентификация и разрешение рисков;

3. разработка продукта следующего уровня;

4. планирование следующей фазы.

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

Данная модель жизненного цикла характерна при разработке новаторских (нетиповых) систем.

Достоинства модели:

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

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

- обеспечивает большую гибкость в управлении проектом;

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

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

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

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

- увеличивается неопределенность у разработчика в перспективах развития проекта. Этот недостаток вытекает из предыдущего достоинства модели;

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

Применимость различных моделей ЖЦ в зависимости от характеристик набора требований к проектируемой системе нужно привести и рассмотреть при помощи таблицы (Таблица 1).

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

Таблица 1. Применимость моделей

Характеристика Модель
Каскадная V-образная Прототипная Спиральная RAD Инкрементная
Являются ли требования легко определимыми и/или хорошо известными? Да Да Нет Нет Да Нет
Могут ли быть требования заранее определены? Да Да Нет Нет Да Да
Часто ли будут изменяться требования? Нет Нет Да Да Нет Нет
Нужно ли демонстрировать требования с целью их определения? Нет Нет Да Да Да Нет
Требуется ли для демонстрации возможностей проверка концепции? Нет Нет Да Да Нет Нет
Будут ли требования отражать сложность системы? Нет Нет Да Да Нет Да
Отражают ли требования на раннем этапе функциональные свойства системы? Нет Нет Да Да Да Да

Наши рекомендации