Курс лекций для студентов, обучающихся по специальности 230103 «Автоматизированные системы обработки информации и управления (по отраслям)»


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



бет27/63
Дата05.08.2020
өлшемі0,6 Mb.
#76236
түріКурс лекций
1   ...   23   24   25   26   27   28   29   30   ...   63
Байланысты:
lekcii-po-ais

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

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



Итерации

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

Преимущества спиральной модели



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

  • итерационная разработка существенно упрощает внесение изменений в проектпри изменении требований заказчика;

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

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

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

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

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

Проблемы, возникающие при использовании

спиральной модели

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

Контрольные вопросы:


  1. Что такое модель жизненного цикла АИС?

  2. Какие модели жизненного цикла вы знаете?

  3. В чем отличие каскадной модели от спиральной?

  4. В чем преимущество спиральной модели перед каскадной?



Достарыңызбен бөлісу:
1   ...   23   24   25   26   27   28   29   30   ...   63




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет