66253

Жизненный цикл программного продукта

Реферат

Информатика, кибернетика и программирование

Модель определяется конкретным сочетанием стадий и процессов разработки ориентированных на разные классы ПО и особенности коллектива разработчиков. Здесь рассматриваются только некоторые устоявшиеся модели процесса разработки программного обеспечения.

Русский

2014-08-15

53.5 KB

98 чел.

Жизненный цикл программного продукта

Жизненный цикл программного продукта – от англ. Software life cycle) – это

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

Он состоит из следующих этапов:

a) маркетинг рынка программных средств, спецификация требований к программному продукту;

b) проектирование структуры программного продукта;

c) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;

d) документирование программного продукта;

e) выход на рынок программных средств, распространение программного продукта;

f) эксплуатация программного продукта пользователями;

g) сопровождение программного продукта; 

h) снятие с продажи, отказ от сопровождения.

В литературе, целевой аудиторией которой являются программисты и проектировщики, жизненным циклом ПП называют совокупность только тех стадий, которые касаются разработчиков, т.е исключаются этапы a), e), f) и g). Такое понятие жизненного цикла совпадает с понятием процесса создания ПП.

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

Процесс создания программного продукта – это

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

Выделяют стадии этого процесса:

анализ

проектирование

программирование

тестирование

сопровождение

или

спецификация1

разработка

аттестация2

модернизация3

или4 ...

Очень важный вывод: собственно программирование – далеко не единственное занятие коллектива. Более того, оно не является даже главным, наиболее трудоемким делом. Многие исследования отдают на фазу программирования не более 15-20% времени, затраченного на разработку (сопровождение вообще бесконечно). Эти цифры, между прочим, свидетельствуют о важности различных аспектов образования – от умения найти и обосновать эффективный алгоритм до искусства владения родным языком.

Модели процесса создания ПП

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

Модель определяется конкретным сочетанием стадий и процессов разработки, ориентированных на разные классы ПО и особенности коллектива разработчиков.

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

1. Каскадная модель

Одну из первых моделей ЖЦП назвали каскадной или "водопадной" – от англ. Pure Waterfall, подчеркивая тот факт, что к предыдущей фазе проектирования вернуться невозможно.

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

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

Каскадно-возвратный технологический подход допускает возможность возврата на предыдущие стадии и пересмотр решений.

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

2. Эволюционная модель

Это одна из первых практически полезных моделей ЖЦП. Суть её состоит в том, что многие стадии повторяются неоднократно. Так, после анализа требований разрабатывается некий прототип, демонстрируется пользователям. "Часто бывает, что заказчик в ужасе кричит, что его неправильно поняли, он хотел совсем другого, зато теперь он хоть может внятно сформулировать свои требования, глядя на работу прототипа. Цикл разработки и показа прототипа повторяется несколько раз, пока заказчик не скажет: "Да, это, кажется, то, что мне нужно". Только после этого дорабатываются куски, выброшенные в начале разработки, подготавливается документация, короче, делаются многие вещи, на которые время было бы потрачено зря, если бы их делали для самого первого, неудачного прототипа." (А.Н. Терехов). В результате нескольких повторений на выходе получается продукт, удовлетворяющий пожеланиям пользователей.

Недостатки эволюционного подхода – это плохая структурированность системы, отсутствие внятного подробного проекта на начальных этапах, необходимость в средствах быстрой разработки. Модель рекомендуется для небольших систем, особенно для тех, в которых велик процент интерактивных (взаимодействующих с пользователем) компонентов.

3. Спиральная модель 

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

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

4. Экстремальное программирование

Экстремальное программирование (Extreme Programming, XP) возникло как эволюционный метод разработки ПО «снизу-вверх». Этот подход является примером так называемого метода «живой» разработки – протеста против чрезмерной бюрократизации.

Основные принципы «живой» разработки ПО зафиксированы в манифесте «живой» разработки, появившемся в 2000 году.

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

Тем не менее, XP имеет свою схему процесса разработки или, как утверждают ее авторы, набор применяемых техник.

Доп. вопросы

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

1 Формулирование спецификаций определяет основные требования к ПО (что должна делать система).

2 проверка ПО на соответствие потребностям заказчика.

3 развитие ПО в соответствии с изменяющимися потребностями заказчика.

4В литературе предлагаются различные варианты разделения жизненного цикла ПП на стадии; кроме мнения авторов, это разделение зависит от используемой модели процесса создания ПП.

5 Эти две особенности часто приводят к синдрому "аналитического паралича", напряженным отношениям между разработчиками, заказчиками и пользователями.


 

А также другие работы, которые могут Вас заинтересовать

42805. Сравнительная характеристика автоматической двухшпиндельной вакуум-закаточной машины 2.16 MB
  1 СВЕДЕНИЯ ОБ ОБЬЕКТЕ ОБРАБОТКИ Для производства жестяных банок необходима жесть уплотняющие материалы. При производстве цельно штамповочных банок требуется жесть уплотняющие материалы и материал для смазки жести перед штамповкой банок. Кроме того для производства консервных банок используют белую лакированную жесть электролитического лужения она более экономична так как толщина оловянного покрытия составляет 061мКр. Жесть черная рулонная лакированная применяют для...
42806. Использование переходных металлов и их соединений в технологии сенсорных микро-наносистем 313.59 KB
  Настоятельная необходимость отслеживать все аспекты состояния окружающей среды в реальном времени постоянно растет, и это вызвано возрастающими связями загрязнения окружающей среды с нашим здоровьем и безопасностью. Необходимо также иметь возможность определять содержание основных компонентов и примесей в различных средах.
42807. Анализ конструкции мобильного телефона Samsung i8910 HD с использованием методик FMEA и FTA 7.54 MB
  Попытки научного подхода к оценке качества предпринимались давно. Так, еще в 1930 г. немецкий доктор-инженер К. Комментц установил для кораблей, предназначенных для мелководья, что всякое уменьшение осадки судов на 1 % приводит к повышению цены на 0,6%. Несколько более сложным у него оказалось влияние вместимости судна и других параметров качества.
42808. Технология швейного производства на примере РУП «БХПО» 2.6 MB
  Совершенствование швейного производства предусматривает внедрение высокопроизводительного оборудования поточных линий расширение ассортимента и улучшение качества одежды выпуск изделий пользующихся повышенным спросом. Технология современного швейного производства все более становится механической ее эффективность в первую очередь зависит от применяемого оборудования. Выбор швейного оборудования зависит от особенностей обрабатываемых изделий и материалов. Механизация и автоматизация производства приводит к расширению перечня используемого...
42809. Система управления перемещением механизма 1.74 MB
  Функциональная схема установки На функциональной схеме введены следующие обозначения: КВ КН контакторы движения: вперёд и назад; S1 S2 S3 сигнал с конечным выключателем положений 1 2 3; S4 сигнал с кнопки; S5 сигнал с кнопки âСтопâ в режиме автомат; S6 сигнал выбора режима автомат или наладка; S7 сигнал движения вперёд в режиме наладка; S8 сигнал движения назад в режиме наладка; ПУУ проектирующие управляющие устройство; УВВ устройство выдержки времени; Хв сигнал управления контактором движения вперёд; Хн сигнал...
42810. Расчет районной электрической сети 471.49 KB
  1 Расчет баланса мощности 6 1.1 Расчет баланса мощности 1 Определение полной мощности для каждого потребителя: Таблица 1: Сведения о потребителях N P МВт cosϕ Uн кВ 1 33 094 10 2 34 092 10 3 134 078 6 4 34 085 10 2 Определение реактивной мощности для каждого потребителя: 3 Определение потерь активной мощности: Принимаем что они равны 5 от активной мощности iго потребителя 4 Определение реактивных потерь: Зарядную мощность линий а также потери реактивной мощности в линии не учитываем. Принимаем что они составляют 6 от...
42811. Мораль: понятие, источники, значение для Современной России 56.98 KB
  Особая роль принадлежит морали в формировании сознания, внутреннего мира и мировоззрения, активной жизненной позиции, мораль является важнейшим социальным регулятором, который входит в систему общественных отношений. Мораль имеет серьезное воздействие на развитие совершенствование многих сфер человеческой жизнедеятельности, поскольку она присуща всем сферам, где есть контакт между людьми.
42812. Расчет электродвигателя и его основных характеристик 351.05 KB
  Эквивалентное время работы Эквивалентное число циклов нагружения для колеса для шестерни Базовое число циклов нагружения для колеса для шестерни Коэффициенты долговечности: для колеса для шестерни Базовый предел контактной выносливости для колеса для шестерени Смотри Журнал лабораторных работ табл 11] Допускаемые контактные напряжения для колеса для шестерни SH=1. Эквивалентное время работы при HBср 350 Эквивалентное число циклов нагружения для колеса...
42813. Разработка конструкции и расчёт жатки зерноуборочного комбайна 666.66 KB
  Разработка и расчёт мотовила 4. Регулировка положения мотовила по высоте производится на ходу с помощью гидросистемы трактора. Технические характеристики: Пропускная способность кг с 55 Производительность т ч 72 Приспособления для уборки незерновой части урожая капот измельчитель универсальный измельчительразбрасыватель копнитель Жатка ширина захвата жатки м предварительные установки высоты среза мм скорость срезов ножа срезов мин частота вращения мотовила об мин 41 50 60 50 100 130 180 452 1542 Обмолот диаметр...