Реферат: Сравнительный анализ каскадной и спиральной моделей разработки программного обеспечения

Сравнительный анализ каскадной и спиральной моделей разработки программного обеспечения

Выполнил : Шумлянский Михаил Сергеевич

Воронеж 2003

Содержание

Введение ………………………………………………………………………………………………..2

Водопадная модель процесса разработки ……………………………………………………………..3

Спиральная модель процесса разработки ……………………………………………………………..4

Итерации по спирали ………………………………………………………………………………4

Возможно вы искали - Реферат: Сравнительный анализ развития компьютеров в США и на Украине

Общие характеристики этапов разработки программного обеспечения …………………………..5

Этап планирования и анализа требований …………………………………………….5

Этап разработки ………………………………………………………………………………6

Реализация ………………….…………………………………………………………………...10

Внедрение ………………………………………………………………………………………10

Похожий материал - Реферат: Сравнительный анализ языков программирования JavaScript и VBScript

Сопровождение и Эксплуатация ……………………………………………………………………..10

Заключение ………………………………………………………………………………………………..11

Список источников ……………………………………………………………………………………….11

Введение

В настоящее время просматривается тенденция в сторону увеличения объема работ, связанных с разработкой программного обеспечения по сравнению с работами, выполнение которых позволит получить аппаратные средства ЭВМ.
В основе деятельности по созданию и использованию программного обеспечения лежит понятие жизненного цикла. В общем случае различают понятия жизненного цикла программного обеспечения и технологического процесса его разработки. Более четко различия между данными понятиями просматривается в отношении программных средств. Жизненный цикл является моделью создания и использования программного обеспечения, отражающей его различные состояния, начиная с момента возникновения необходимости в данном ПО и заканчивая моментом его полного выхода из употребления у пользователей.


Существует несколько моделей жизненного цикла. Традиционно выделяют следующие основные этапы жизненного цикла :

Очень интересно - Реферат: Средства защиты данных


· стратегическое планирование; анализ требований;
· проектирование (предварительное и детальное);
· кодирование (программирование);
· тестирование и отладка;
· эксплуатация и сопровождение.

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

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

Водопадная модель процесса разработки


? ???????? 80-? ????? ?????????? ??????????????? ??????? "??????????" (waterflow) ??? "?????????" ??????? ???????? ???????????? ???????????. ????? "???????????" ???????? ????????? ?? ???. 1.1. ??? ???????? ??????????????? ???????? ????????? ???? ?????????? ?? ?????, ?????? ??????? ? ?????? ????? ?? ????????? ?????????? ?????? ????? ????, ??? ????? ????????? ????????? ?????? ?? ???????. ?????? ???? ??????????? ???????? ??????? ????????? ????????????, ??????????? ??? ????, ????? ?????????? ????? ???? ?????????? ?????? ???????? ?????????????.

Рис 1.1. "Водопадный" процесс

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


Рис 1.2. Реальный процесс "водопадной" схемы

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

Спиральная модель процесса разработки


? ???????? ????? ???????????, ??? ?? ?????? ???????????? ?????????? ???????? ?? ????? ????? ?????????? ??? ?????????? ? ???????????? ????????. ??? ??????????? ?????? ???????? ?? ?????? ???????? 80-? ????? ??? ????????? "??????????" ??????? ???????? ???????? (???. 1.3), ???????? ???? ?? ????? ??????? ? ??????????????. ?????????? ??????? ?? ?????? ??????????? ?????????? ??????????, ? ????? ??????????? ??????? ????? ??????? ???????????? ???????? ????????? ?????? ???????. ????? ????????? ?????????? ?????? ?????? ?????????? ???? ? ?????????????? ???????, ???????????? ??? ???????? ? ??????????? ?????? ?????????? ????? ???????.

Рис 1.3. Спиральная модель

Вам будет интересно - Реферат: Средства отладки электронных схем

Итерации по спирали

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

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

Шесть шагов спиральной модели

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

Похожий материал - Реферат: Средства составления и изготовления текстовой информации - сканеры

2. Расставляются приоритеты, задающие порядок реализации основных функциональных возможностей.

3. Согласовываются временные рамки проекта. Часто для этого применяются методики стоимостного прогнозирования . Далее исполнитель решает, сколько функциональных возможностей в соответствии с их приоритетами удастся реализовать в оговоренный срок.

4. На данном этапе определяются архитектура и ядро будущей системы. Это наиболее ответственный момент, так как здесь необходимо учесть пока еще не детализированные полностью требования к проекту - а они вполне могут быть противоречивыми.

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