Назад Оглавление Вперед

Раздел 2

Стандарты, определяющие жизненный цикл ПО

2.1 Модели жизненного цикла программного обеспечения

Согласно источникам [1,3], в настоящее время просматривается тенденция в сторону увеличения объема работ, связанных с разработкой программного обеспечения по сравнению с работами, выполнение которых позволит получить аппаратные средства ЭВМ. Таким образом, имеет смысл более подробно рассматривать технологический процесс разработки программных средств, жизненный цикл программного обеспечения, реализующих специальное математическое, информационное, программное, лингвистическое обеспечение ЭВМ.
В основе деятельности по созданию и использованию программного обеспечения лежит понятие жизненного цикла. В общем случае различают понятия жизненного цикла программного обеспечения и технологического процесса его разработки. Более четко различия между данными понятиями просматривается в отношении программных средств. Жизненный цикл является моделью создания и использования программного обеспечения, отражающей его различные состояния, начиная с момента возникновения необходимости в данном ПО и заканчивая моментом его полного выхода из употребления у пользователей.
Существует несколько моделей жизненного цикла. Традиционно выделяют следующие основные этапы жизненного цикла (рис.2.1):
стратегическое планирование; анализ требований;
проектирование (предварительное и детальное);
кодирование (программирование);
тестирование и отладка;
эксплуатация и сопровождение.

Каждому этапу соответствуют определенный результат и набор документации, являющейся исходными данными для следующего этапа. В заключение каждого этапа производится верификация документов и решений с целью проверки их соответствия первоначальным требованиям заказчика.
Исторически, в ходе эволюционного развития теории проектирования программного обеспечения и по мере его усложнения, сложились три основные модели жизненного цикла [4]. Эти модели выражают последовательность этапов ЖЦ ПО. До 80-х годов имела место каскадная модель ЖЦ, подразумевавшая переход на последующие этапы ЖЦ только после полного окончания работ на предыдущих этапах. С развитием вычислительной техники, в середине 80-х, сложность и объемы программного обеспечения существенно возросли. В связи с этим возникли проблемы с разработкой и отладкой ПО. Продумать все шаги разработки нового ПО, наметить этапы проектирования и предусмотреть все варианты поведения при отладке программного обеспечения стало не под силу одному разработчику. Каскадная модель ЖЦ стала существенно сдерживать темпы создания сложных программных систем. Процесс отладки, при этом, затягивался и не давал гарантий безошибочной работы программ.

Рис 2.1 Этапы ЖЦ ПО

На смену каскадной модели, жестко регламентирующей последовательность этапов и критерии переходов между ними, пришла поэтапная модель с промежуточным контролем. Это итерационная модель разработки ПО с обратными связями между этапами. Проверки и корректировки разрабатываемой ИС проводятся на каждом из этапов, что позволяет существенно снизить трудоемкость отладки по сравнению с каскадной моделью. Итерационность модели проявляется в обработке ошибок выявленных промежуточным контролем. Если на каком-либо из этапов в ходе промежуточной проверки обнаружилась ошибка, допущенная на более ранней стадии разработки, работы этапа, повлекшего ошибку, необходимо провести повторно. При этом, анализируются причины ошибки и корректируются, по необходимости, исходные данные этапа или перечень проводимых работ. Аналогичная ситуация возникает если в ходе разработки ИС возникают новые требования заказчика или изменяются какие-либо условия функционирования ИС.
Спиральная модель поддерживает итерации поэтапной модели, но особое внимание уделяется начальным этапам проектирования: анализу требований, проектированию спецификаций, предварительному проектированию и детальному проектированию. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии ПО, уточняются цели и требования к ПО, оценивается качество разработанного фрагмента или версии ПО и планируются работы следующего витка. Таким образом, углубляются и конкретизируются все детали проектируемого ПО, и в результате получается вариант, который удовлетворяет всем требованиям заказчика.
Количество, состав и последовательность этапов ЖЦ для каждого конкретного ПО определяется на ранних стадиях планирования создания ПО. При этом учитываются особенности эксплуатации, наличие разного рода ограничений, численность и квалификация персонала разработчиков и эксплуатационников, а также множество других факторов.
Как было отмечено выше, жизненные циклы систем, процессов их разработки, эксплуатации и сопровождения регламентированы в стандартах. При этом стандарты, разрабатываемые международными организациями в той или иной области деятельности, носят рекомендательный характер и не возведены в ранг закона. Руководящие принципы, определенные в стандартах, имеют официальную силу тогда, когда приняты правительством той или иной страны. В настоящее время общепризнанными международными лидерами в области стандартизации разработки ПО стали следующие организации: Американский национальный институт по стандартизации - ANSI; Международная организация по стандартизации - ISO; Министерство обороны США - DOD, Институт инженеров по электронике и радиотехнике (IEEE).
Далее рассмотрим, какие конкретные жизненные циклы разработки ПО созданы в нашей стране и за рубежом, а также какими стандартами они регламентированы.

 

Назад Оглавление Вперед