Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture2.doc
Скачиваний:
4
Добавлен:
26.11.2019
Размер:
109.57 Кб
Скачать

Лекция № 2

Жизненный цикл программного продукта (ЖЦ, Life cycle)

Этапы жизненного цикла

Ср. длительность

  1. Разработка (Development): 0,5 - 2 года

  • Проектирование (Design)

  • Реализация (Implementation)

  1. Сопровождение (Maintenance) 1- 10 лет

Вопрос 1. (См. В конце лекции)

Этапы разработки

Этап

Результат

Трудоемкость

(в среднем)

1. Проектирование

1.1 Анализ требований

Внешняя спецификация (ТЗ)

10%

1.2 Общее проектирование

Внутренние (проектные) спецификации

10%

1.3 Детальное проектирование

20%

2. Реализация

2.1 Кодирование

Исходные тексты программ

10%

2.2 Автономное тестирование

Журналы ошибок

(Bug books)

20%

2.3 Комплексное тестирование

30%

NB: 1. Отладка входит в понятие тестирования

  1. Терминология разнообразна; например, Microsoft называет тестирование - стабилизацией

  2. Спецификация (specification) означает строгое, подробное описание, в отличие от description; по-русски – техническое задание (ТЗ)

4. Указана средняя трудоемкость для систем обработки данных

ЖЦ как путь из реального мира в мир абстракций и обратно:

Реальный мир

Мир идей

Функции:

Что?

Зачем?

Требования

Внешняя спецификация

Программный код

Проект

Алгоритмы:

Как?

Модели жизненного цикла

I. Каскадная (Waterfall) модель жц

Особенности этой канонической модели:

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

Вопросы 2 и 3.

  • Деление на уровни абстракции позволяет формировать документацию различной степени детализации и формулировать критерии проверки правильности принимаемых решений ДО реализации проекта, что способствует предупреждению ошибок проектирования

  • Концепция требует не переходить к очередному этапу до полного завершения предыдущего – сильное требование

Очевидно:

  • Чем раньше допущена ошибка, тем позже она может быть обнаружена

  • Чем позже обнаружена ошибка, тем дороже ее исправление - больше этапов возврата

Хрестоматийный пример (Mайерс, «Надежность ПО», 1986 г.) - команда ценой в 110 тыс.$: в готовом софте бортового истребителя на стадии летных испытаний была обнаружена ошибка, для исправления которой было изменено 9 команд, а заплатили за эту работу 1 млн. $.

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

Недостатки каскадной модели:

  • Навязывается стратегия проектирования сверху вниз (top-down), что подходит только к хорошо специфицированным небольшим проектам, в основном прикладным. Сложные системы либо создаются по частям (как город) либо растут (эволюционируют), как природные объекты.

Соседние файлы в предмете Информатика