Методологии разработки програмного обеспечения

Содержание

Слайд 2

Введение Методология разработки ПО – это совокупность принципов, идей, понятий, методов,

Введение

Методология разработки ПО – это совокупность принципов, идей, понятий, методов, способов

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

«Waterfall Model» (каскадная модель или «водопад») Последовательное выполнение всех этапов проекта

«Waterfall Model» (каскадная модель или «водопад»)

Последовательное выполнение всех этапов проекта в

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

«Waterfall Model» (каскадная модель или «водопад»)

«Waterfall Model» (каскадная модель или «водопад»)

Слайд 5

«Waterfall Model» (каскадная модель или «водопад») Преимущества: полная и согласованная документация

«Waterfall Model» (каскадная модель или «водопад»)

Преимущества:
полная и согласованная документация на каждом

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

Каскадная модель – когда использовать? Только тогда, когда требования известны, понятны

Каскадная модель – когда использовать?

Только тогда, когда требования известны, понятны и

зафиксированы.
Нет проблем с доступностью программистов нужной квалификации.
В небольших проектах.
Слайд 7

«Incremental Model» (инкрементная модель)

«Incremental Model» (инкрементная модель)

Слайд 8

«Incremental Model» (инкрементная модель) Преимущества: создание сложной системы будет успешным, если

«Incremental Model» (инкрементная модель)

Преимущества:
создание сложной системы будет успешным, если она реализуется

в серии небольших шагов;
каждый шаг имеет возможность «отката» к предыдущему этапу в случае неудачи.
Недостатки:
целостное понимание возможностей и ограничений проекта долгое время отсутствует;
приходится отбрасывать часть сделанной ранее работы;
добросовестность специалистов при выполнении работ снижается.
Слайд 9

Инкрементная модель – когда использовать? Когда основные требования к системе четко

Инкрементная модель – когда использовать?

Когда основные требования к системе четко определены и

понятны. Некоторые детали могут дорабатываться с течением времени.
Требуется ранний вывод продукта на рынок.
Слайд 10

«Iterative Model» (итеративная или итерационная модель) Не требует в начале полной

«Iterative Model» (итеративная или итерационная модель)

Не требует в начале полной спецификации

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

Сравнение инкрементной и итеративной моделей

Сравнение инкрементной и итеративной моделей

Слайд 12

Итеративная модель – когда использовать? Требования к конечной системе заранее четко

Итеративная модель – когда использовать?

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

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

«Agile Model» (гибкая методология разработки)

«Agile Model» (гибкая методология разработки)

Слайд 14

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

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

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

«Agile Model» (гибкая методология разработки)

Слайд 15

Когда потребности пользователей постоянно меняются в динамическом бизнесе. Изменения на Agile

Когда потребности пользователей постоянно меняются в динамическом бизнесе.
Изменения на Agile реализуются

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

Гибкая методология - когда использовать?

Слайд 16

«Spiral Model» (спиральная модель)

«Spiral Model» (спиральная модель)

Слайд 17

«Spiral Model» (спиральная модель) Преимущества: хорошо подходит для решения критически важных

«Spiral Model» (спиральная модель)

Преимущества:
хорошо подходит для решения критически важных бизнес-задач, когда

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