Модели разработки ПО
   Формирование требований
   Разработка концепции
   Техническое задание
   Эскизный проект
   Технический проект
   Рабочая документация
   Ввод в действие
   Сопровождение
   Модель жизненного цикла ПО — структура,
    определяющая последовательность
    выполнения и взаимосвязи процессов,
    действий и задач на протяжении
    жизненного цикла.
Стадия — часть процесса создания ПО,
ограниченная определенными временными
рамками и заканчивающаяся выпуском
конкретного продукта (моделей,
программных компонентов, документации),
определяемого заданными для данной
стадии требованиями.
   Специфика проекта
   Масштаб проекта
   Сложность проекта
   Специфика условий разработки
   Специфика условий использования
   Наличие, квалификация, опыт
   Каскадная (водопадная, последовательная)
   V – образная
   Спиральная
   Итерационная (эволюционная, итеративная,
    инкрементальная)
   Модели быстрой разработки
Определение
 требований
                                                                 Waterfall model
        Планирова
           ние



                    Анализ



                             Дизайн



                                      Кодирование



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



                                                          Сопровождение
Преимущества модели
  упорядоченная последовательность стадий
   разработки и внедрения ПО;
  упрощенный процесс планирования и контроля
   исполнения
 Недостатки модели:
  невозможна работа с параллельными событиями
  сложность внесения изменений в требования
  трудно применима для больших проектов
  риск получения непригодного продукта
  превышение бюджета времени и/или денег
V-model
Преимущества модели
   ориентация на тестирование
   решает проблему своевременного внесения
    изменений в продукт
   увеличивает шансы получения востребованного
    продукта
Недостатки модели
  невозможна работа с параллельными событиями

  позднее тестирование реализации требований

  затруднено внесение изменений в требования

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

 Возможность внесения изменений в требования
Недостатки модели
 Отсутствие целостного восприятия

 Больше доработок и изменений
 Тяжело оценить общий прогресс
 Ухудшение архитектуры, усложнение продукта
   Люди и общение важнее, чем процессы и
    рабочие инструменты
   Работающая программа важнее, чем
    документация
   Сотрудничество с клиентами важнее, чем
    переговоры по контракту
   Идти навстречу пожеланиям об изменениях
    важнее, чем следовать плану
Software development lifecycle

Software development lifecycle

  • 1.
  • 2.
    Формирование требований  Разработка концепции  Техническое задание  Эскизный проект  Технический проект  Рабочая документация  Ввод в действие  Сопровождение
  • 3.
    Модель жизненного цикла ПО — структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла.
  • 4.
    Стадия — частьпроцесса создания ПО, ограниченная определенными временными рамками и заканчивающаяся выпуском конкретного продукта (моделей, программных компонентов, документации), определяемого заданными для данной стадии требованиями.
  • 5.
    Специфика проекта  Масштаб проекта  Сложность проекта  Специфика условий разработки  Специфика условий использования  Наличие, квалификация, опыт
  • 6.
    Каскадная (водопадная, последовательная)  V – образная  Спиральная  Итерационная (эволюционная, итеративная, инкрементальная)  Модели быстрой разработки
  • 7.
    Определение требований Waterfall model Планирова ние Анализ Дизайн Кодирование Тестирование Сопровождение
  • 8.
    Преимущества модели  упорядоченная последовательность стадий разработки и внедрения ПО;  упрощенный процесс планирования и контроля исполнения Недостатки модели:  невозможна работа с параллельными событиями  сложность внесения изменений в требования  трудно применима для больших проектов  риск получения непригодного продукта  превышение бюджета времени и/или денег
  • 9.
  • 10.
    Преимущества модели  ориентация на тестирование  решает проблему своевременного внесения изменений в продукт  увеличивает шансы получения востребованного продукта Недостатки модели  невозможна работа с параллельными событиями  позднее тестирование реализации требований  затруднено внесение изменений в требования  не предполагает анализа рисков
  • 11.
  • 12.
    цели  ограничения процесса  ожидаемые результат  план управления  потенциальные риски  альтернативные стратегии
  • 13.
    анализ рисков  поиск путей минимизации рисков
  • 14.
    выбор модели разработки исходя из оцененных рисков
  • 15.
    анализ проекта  принятие решения о переходе на следующий виток спирали  планирование следующей фазы
  • 16.
    Преимущества модели  отображаетэволюцию разработки ПО  ориентация на анализ и минимизацию рисков  системный подход к планированию каждой фазы Недостатки модели  повышенные требования к заказчику  трудности контроля и управления временем разработки
  • 18.
    Инкрементальная разработка - это поэтапная и следующая временным графикам стратегия, в которой разные части системы разрабатываются в разное время и разными темпами, и если одна часть готова, тогда ее интегрируют в систему.
  • 19.
    Итеративная разработка - это так называемая стратегия изменений, где предусматриваются переделка и исправление существующих компонентов системы.
  • 20.
    Преимущества модели  Снижениезатрат и уровня риска  Обратная связь с пользователями  Раннее знакомство с продуктом  Возможность внесения изменений в требования Недостатки модели  Отсутствие целостного восприятия  Больше доработок и изменений  Тяжело оценить общий прогресс  Ухудшение архитектуры, усложнение продукта
  • 21.
    Люди и общение важнее, чем процессы и рабочие инструменты  Работающая программа важнее, чем документация  Сотрудничество с клиентами важнее, чем переговоры по контракту  Идти навстречу пожеланиям об изменениях важнее, чем следовать плану

Editor's Notes

  • #3 Стандарт ГОСТ 34.601-90 предусматривает следующие стадии и этапы создания автоматизированной системы:Формирование требований к АСОбследование объекта и обоснование необходимости создания АСФормирование требований пользователя к АСОформление отчета о выполнении работ и заявки на разработку АСРазработка концепции АСИзучение объектаПроведение необходимых научно-исследовательских работРазработка вариантов концепции АС и выбор варианта концепции АС, удовлетворяющего требованиям пользователейОформление отчета о проделанной работеТехническое заданиеРазработка и утверждение технического задания на создание АСЭскизный проектРазработка предварительных проектных решений по системе и ее частямРазработка документации на АС и ее частиТехнический проектРазработка проектных решений по системе и ее частямРазработка документации на АС и ее частиРазработка и оформление документации на поставку комплектующих изделийРазработка заданий на проектирование в смежных частях проектаРабочая документацияРазработка рабочей документации на АС и ее частиРазработка и адаптация программВвод в действиеПодготовка объекта автоматизацииПодготовка персоналаКомплектация АС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями)Строительно-монтажные работыПусконаладочные работыПроведение предварительных испытанийПроведение опытной эксплуатацииПроведение приемочных испытанийСопровождение АС.Выполнение работ в соответствии с гарантийными обязательствамиПослегарантийное обслуживаниеидентичный международному стандарту ISO/IEC 12207:2008 «System and software engineering — Software life cycle processes»
  • #13 1.Постановка задач (Objective setting) - определяются цели этой фазы, то есть витка, ограничения процесса, результаты, план управления, потенциальные риски и альтернативные стратегии, исходя из рисков.2. Оценивание и сокращение рисков (Risk assessment and reduction) - для каждого найденного риска делается анализ, предпринимаются некоторые действия для сокращения рисков (например, риск, чьи требования не являются адекватными: изготавливается прототип).3. Разработка и проверка достоверности (Development and validation) - выбирается модель разработки, исходящая из оцененных рисков (модель должна быть такой, чтобы помочь снизить риски). Например, если в пользовательском интерфейсе имеется самый большой риск, то тогда может помочь прототипирование.4. Планирования (Planning) - проект рассматривается и делается решение о том, переходить ли на следующий виток, если решают продолжить, делается план для следующей фазы.
  • #14  Постановка задач (Objective setting) - определяются цели этой фазы, то есть витка, ограничения процесса, результаты, план управления, потенциальные риски и альтернативные стратегии, исходя из рисков.2. Оценивание и сокращение рисков (Risk assessment and reduction) - для каждого найденного риска делается анализ, предпринимаются некоторые действия для сокращения рисков (например, риск, чьи требования не являются адекватными: изготавливается прототип).3. Разработка и проверка достоверности (Development and validation) - выбирается модель разработки, исходящая из оцененных рисков (модель должна быть такой, чтобы помочь снизить риски). Например, если в пользовательском интерфейсе имеется самый большой риск, то тогда может помочь прототипирование.4. Планирования (Planning) - проект рассматривается и делается решение о том, переходить ли на следующий виток, если решают продолжить, делается план для следующей фазы.
  • #15  Постановка задач (Objective setting) - определяются цели этой фазы, то есть витка, ограничения процесса, результаты, план управления, потенциальные риски и альтернативные стратегии, исходя из рисков.2. Оценивание и сокращение рисков (Risk assessment and reduction) - для каждого найденного риска делается анализ, предпринимаются некоторые действия для сокращения рисков (например, риск, чьи требования не являются адекватными: изготавливается прототип).3. Разработка и проверка достоверности (Development and validation) - выбирается модель разработки, исходящая из оцененных рисков (модель должна быть такой, чтобы помочь снизить риски). Например, если в пользовательском интерфейсе имеется самый большой риск, то тогда может помочь прототипирование.4. Планирования (Planning) - проект рассматривается и делается решение о том, переходить ли на следующий виток, если решают продолжить, делается план для следующей фазы.
  • #16  Постановка задач (Objective setting) - определяются цели этой фазы, то есть витка, ограничения процесса, результаты, план управления, потенциальные риски и альтернативные стратегии, исходя из рисков.2. Оценивание и сокращение рисков (Risk assessment and reduction) - для каждого найденного риска делается анализ, предпринимаются некоторые действия для сокращения рисков (например, риск, чьи требования не являются адекватными: изготавливается прототип).3. Разработка и проверка достоверности (Development and validation) - выбирается модель разработки, исходящая из оцененных рисков (модель должна быть такой, чтобы помочь снизить риски). Например, если в пользовательском интерфейсе имеется самый большой риск, то тогда может помочь прототипирование.4. Планирования (Planning) - проект рассматривается и делается решение о том, переходить ли на следующий виток, если решают продолжить, делается план для следующей фазы.
  • #22 Предполагают использование инкрементальной модели