45 Жизненный цикл разработки программного обеспечения. Модели жизненного цикла разработки программного обеспечения Существует несколько моделей и стандартов в той или иной степени регламентирующих жизненный цикл, большинство из них относятся к заказному ПО и кроме непосрдественно ЖЦ, регламентируют также и процессы разработки. ГОСТ 34.601-90 распространяется на автоматизированные системы и устанавливает стадии и этапы их создания. Кроме того, в стандарте содержится описание содержания работ на каждом этапе. Стадии и этапы работ закрепленные в стандарте в большей степени соответствуют каскадной модели жизненного цикла. ISO/IEC 12207:1995 - стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного ПО. Стандарт не содержит фаз, стадий этапов. Custom Development Method (методика Oracle) - по разработке прикладных информационных систем под заказ Степень адаптивности CDM - ограничивается 3 моделями: классическая, быстрая разработка, облегченный подход. Rational Unified Process (RUP) - предлагает итеративную модель разработки включающую 4 фазы: начало, иследование, построение и внедрение. MSF - сходна с RUP, Анализ, проектирование, разработка, стабилизация, - итерационная, ОО моделирование. в большей степени направлена на разработку бизнес-приложений. Extreme Programming (XP) - экстремальное программирование Модель жизненного цикла - структура содержащая процессы, действия и задачи которые осуществляются в ходе разработки, фукнционирования и сопровождения программного продукта в течение всей жизни системы от определения требований до завершения ее использования. Наибольшее распространение получили три модели жизненного цикла ИС: каскадная, поэтапная и спиральная. Каскадная модель - переход на следующий этап после полного окончания работ по предыдущему этапу. Анализ - Проектирование - Разработка - Тестирование - Сдача Достоинства: На каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности. Выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения и соответствующие затраты. Недостатки каскадной модели - существенная задержка в получении результатов, ошибки и недоработки на любом из этапов проявляются как правило на последующих этапах работ, чо приводит к необходимости возврата. Вложность параллельного ведения работ по проекту. Чрезмерная информационная перенасыщенность каждого из этапов. Сложность управления. Высокий уровень риска и ненадежность инвестиций. Поэтапная модель с промежуточным контролем - разработка ведется итерациями с циклами обратной связи между этапами. Спиральная модель - делается упор на начальные этапы жизненного цикла: анализ требований, проектирование спецификаций, предварительное и детальное проектирование На каждом витке спирали выполняется создание очередной версии продукта, утовняются требования проекта, определяется его качество и планируются работы следующего витка. Спиральная модель в отличие от каскадной предполагает итерационный процесс разработки ИС. При этом возрастает значение начальных этапов жизненного цикла, такие как анализ и проектирование. Преимущества: спиральный подход к разработке ПО позволяет преодолеть большинство недостатков каскадной модели и кроме того обеспечивает ряд дополнительных возможностей, делая процесс разработки более гибким. Спиральная модель позволяет получить более надежную и устойчивую систему. Недостатки: основная проблема спирального цикла - определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла.