Лекция "Дайте определение понятия модели жизненного цикла ПО и назовите основные варианты моделей."
Оценка 5
Лекции
docx
информатика +1
Взрослым
14.03.2017
Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.
Водопадная (каскадная, последовательная) модель
Основная статья: Модель водопада
Водопадная модель жизненного цикла (англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке.
билет 34 тема 3.docx
билет 34 тема 3
1. Дайте определение понятия модели жизненного цикла ПО и назовите
основные варианты моделей.
Жизненный цикл программного обеспечения (ПО) — период времени, который
начинается с момента принятия решения о необходимости создания программного
продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл —
процесс построения и развития ПО.
Водопадная (каскадная, последовательная) модель
Основная статья: Модель водопада
Водопадная модель жизненного цикла (англ. waterfall model) была предложена в 1970 г.
Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов
проекта в строго фиксированном порядке. Переход на следующий этап означает полное
завершение работ на предыдущем этапе. Требования, определенные на стадии
формирования требований, строго документируются в виде технического задания и
фиксируются на все время разработки проекта. Каждая стадия завершается выпуском
полного комплекта документации, достаточной для того, чтобы разработка могла быть
продолжена другой командой разработчиков.
Этапы проекта в соответствии с каскадной моделью:
1. Формирование требований;
2. Проектирование;
3. Реализация;
4. Тестирование;
5. Внедрение;
6. Эксплуатация и сопровождение.
Преимущества:
Полная и согласованная документация на каждом этапе;
Легко определить сроки и затраты на проект.
Недостатки:
В водопадной модели переход от одной фазы проекта к другой предполагает полную
корректность результата (выхода) предыдущей фазы. Однако неточность какоголибо
требования или некорректная его интерпретация в результате приводит к тому, что
приходится «откатываться» к ранней фазе проекта и требуемая переработка не просто
выбивает проектную команду из графика, но приводит часто к качественному росту затрат
и, не исключено, к прекращению проекта в той форме, в которой он изначально
задумывался. По мнению современных специалистов, основное заблуждение авторов
водопадной модели состоит в предположениях, что проект проходит через весь процесс один раз, спроектированная архитектура хороша и проста в использовании, проект
осуществления разумен, а ошибки в реализации легко устраняются по мере тестирования.
Эта модель исходит из того, что все ошибки будут сосредоточены в реализации, а потому
их устранение происходит равномерно во время тестирования компонентов и системы.
Таким образом, водопадная модель для крупных проектов мало реалистична и может быть
эффективно использована только для создания небольших систем
Итерационная модель
Альтернативой последовательной модели является так называемая модель итеративной и
инкрементальной разработки (англ. iterative and incremental development, IID), получившей
также от Т. Гилба в 70е гг. название эволюционной модели. Также эту модель называют
итеративной моделью и инкрементальной моделью
Модель IID предполагает разбиение жизненного цикла проекта на последовательность
итераций, каждая из которых напоминает «минипроект», включая все процессы
разработки в применении к созданию меньших фрагментов функциональности, по
сравнению с проектом в целом. Цель каждой итерации — получение работающей версии
программной системы, включающей функциональность, определённую интегрированным
содержанием всех предыдущих и текущей итерации. Результат финальной итерации
содержит всю требуемую функциональность продукта. Таким образом, с завершением
каждой итерации продукт получает приращение — инкремент — к его возможностям,
которые, следовательно, развиваются эволюционно. Итеративность, инкрементальность и
эволюционность в данном случае есть выражение одного и того же смысла разными
словами со слегка разных точек зрения
По выражению Т. Гилба, «эволюция — прием, предназначенный для создания видимости
стабильности. Шансы успешного создания сложной системы будут максимальными, если
она реализуется в серии небольших шагов и если каждый шаг заключает в себе четко
определённый успех, а также возможность «отката» к предыдущему успешному этапу в
случае неудачи. Перед тем, как пустить в дело все ресурсы, предназначенные для создания
системы, разработчик имеет возможность получать из реального мира сигналы обратной
связи и исправлять возможные ошибки в проекте»
Подход IID имеет и свои отрицательные стороны, которые, по сути, — обратная сторона
достоинств. Вопервых, целостное понимание возможностей и ограничений проекта очень
долгое время отсутствует. Вовторых, при итерациях приходится отбрасывать часть
сделанной ранее работы. Втретьих, добросовестность специалистов при выполнении работ
всё же снижается, что психологически объяснимо, ведь над ними постоянно довлеет
ощущение, что «всё равно всё можно будет переделать и улучшить позже»[3].
Различные варианты итерационного подхода реализованы в большинстве современных
методологий разработки (RUP, MSF, XP).
Спиральная модель
Спиральная модель (англ. spiral model) была разработана в середине 1980х годов Барри
Боэмом. Она основана на классическом цикле Деминга PDCA (plandocheckact). При
использовании этой модели ПО создается в несколько итераций (витков спирали) методом
прототипирования. Каждая итерация соответствует созданию фрагмента или версии ПО, на ней уточняются
цели и характеристики проекта, оценивается качество полученных результатов и
планируются работы следующей итерации.
На каждой итерации оцениваются:
риск превышения сроков и стоимости проекта;
необходимость выполнения ещё одной итерации;
степень полноты и точности понимания требований к системе;
целесообразность прекращения проекта.
Важно понимать, что спиральная модель является не альтернативой эволюционной модели
(модели IID), а специально проработанным вариантом. К сожалению, нередко спиральную
модель либо ошибочно используют как синоним эволюционной модели вообще, либо (не
менее ошибочно) упоминают как совершенно самостоятельную модель наряду с IID
Отличительной особенностью спиральной модели является специальное внимание,
уделяемое рискам, влияющим на организацию жизненного цикла, и контрольным точкам.
Боэм формулирует 10 наиболее распространённых (по приоритетам) рисков:
1. Дефицит специалистов.
2. Нереалистичные сроки и бюджет.
3. Реализация несоответствующей функциональности.
4. Разработка неправильного пользовательского интерфейса.
5. Перфекционизм, ненужная оптимизация и оттачивание деталей.
6. Непрекращающийся поток изменений.
7. Нехватка информации о внешних компонентах, определяющих окружение системы
или вовлеченных в интеграцию.
8. Недостатки в работах, выполняемых внешними (по отношению к проекту)
ресурсами.
9. Недостаточная производительность получаемой системы.
10. Разрыв в квалификации специалистов разных областей.
В сегодняшней спиральной модели определён следующий общий набор контрольных
точек[5]:
1. Concept of Operations (COO) — концепция (использования) системы;
2. Life Cycle Objectives (LCO) — цели и содержание жизненного цикла; 3. Life Cycle Architecture (LCA) — архитектура жизненного цикла; здесь же возможно
говорить о готовности концептуальной архитектуры целевой программной системы;
4.
Initial Operational Capability (IOC) — первая версия создаваемого продукта,
пригодная для опытной эксплуатации;
5. Final Operational Capability (FOC) –— готовый продукт, развернутый
(установленный и настроенный) для реальной эксплуатации.
Лекция "Дайте определение понятия модели жизненного цикла ПО и назовите основные варианты моделей."
Лекция "Дайте определение понятия модели жизненного цикла ПО и назовите основные варианты моделей."
Лекция "Дайте определение понятия модели жизненного цикла ПО и назовите основные варианты моделей."
Лекция "Дайте определение понятия модели жизненного цикла ПО и назовите основные варианты моделей."
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.