Лекции по курсу «Метрология и качество программного обеспечения» Лекция 3. Модели жизненного цикла

advertisement
Лекции по курсу
«Метрология и качество программного
обеспечения»
Лекция 3. Модели жизненного цикла
разработки программных средств
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Фазы стандартного процесса
разработки программного обеспечения
Процесс разработки ПО включает в себя
- нормативную документацию (процедуры, руководства, чек-листы);
- базу данных для хранения количественных характеристик проектов
- инструменты разработки, анализа и т.д.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Фазы стандартного процесса
разработки программного обеспечения
Принято выделять следующие стандартные фазы разработки ПО
1. Планирование (Planning);
2. Разработка требований (Requirements);
3. Дизайн (Design);
4. Кодирование (Coding);
5. Тестирование (Test).
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Фазы стандартного процесса
разработки программного обеспечения
П
л
а
н
и
р
о
в
а
н
и
е
Т
р
е
б
о
в
а
н
и
я
Д
и
з
а
й
н
Высокоуровневый
Низкоуровневый
К
о
д
и
р
о
в
а
н
и
е
Т
е
с
т
и
р
о
в
а
н
и
е
Модульное
Интеграционное
Системное
Разработка тестов
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Фазы стандартного процесса
разработки программного обеспечения
Классы проектов при разработке ПО
1. Класс 0 – исправление незначительных ошибок (1 неделя, код не
меняется)
2. Класс 1 – незначительная доработка продукта (3 месяца,
изменения кода до 25%)
3. Класс 2 - существенная доработка продукта (полгода, изменения
кода до 75%)
4. Класс 3 – новый проект (более полугода, изменения кода свыше
75%)
5. Класс 4 – сопровождение продукта (время жизни не ограничено,
код не меняется)
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Фазы стандартного процесса
разработки программного обеспечения
Стандартная проектная документация разработки ПО
1. На этапе планирования: SPMP, SCMP, SQAP, STMP.
2. На этапе разработки требований: MRS, SRS.
3. На этапе дизайна: SDS (HLD, LLD), ICD, RTM.
4. На этапе тестирования: ITP, STP, RTM, Test Logs.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Водопад
- Водопад с перекрытиями
- Водопад с возвратами
- Водопад с возвратами и перекрытиями
Инкрементная
Итеративная
Итеративно-инкрементная
Спиральная
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Водопад (Waterfall)
Планирование
Разработка
требований
Дизайн
Кодирование
Тестирование
Время
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Водопад с перекрытиями (Overlapping waterfall)
Планирование
Разработка
требований
Дизайн
Кодирование
Тестирование
Время
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Водопад с возвратами (Waterfall with returns)
Планирование
Разработка
требований
Дизайн
Кодирование
Тестирование
Время
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Достоинства и недостатки водопадной модели
Достоинства:
-
простота и наглядность;
-
лёгкость определения контрольных фаз и этапов выполнения
проекта.
Недостатки:
- процесс разработки требует очень точных и неизменных
требований;
- требуются значительные усилия и ресурсы на устранение ошибок и
доработку продукта.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Инкрементная модель (Incremental)
Планирование
Разработка
требований
Окончательные требования
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Разработка
требований
инкремента 1
Разработка
требований
инкремента 2
Дизайн
инкремента 1
Дизайн
инкремента 2
Кодирование
инкремента 1
Кодирование
инкремента 2
Тестирование
инкремента 1
Тестирование
инкремента 2
Модели жизненных циклов разработки
программного обеспечения
Достоинства и недостатки инкрементной модели
Достоинства:
-
отдельные инкременты могут выполнятся параллельно;
-
возможна оптимизация использования людских ресурсов;
-
на каждом инкременте рабочий продукт появляется в более
короткие сроки;
Недостатки:
- сложность сохранения связанного дизайна на всех инкрементах;
- высока вероятность изменения первоначальных требований.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Итеративная модель (Iterative)
Итерация 1
Итерация 2
Планиров ание
Итерация 3
Планиров ание
Разработ ка
т ребов аний
Планиров ание
Разработ ка
т ребов аний
Дизайн
Разработ ка
т ребов аний
Дизайн
Кодиров ание
Тест иров ание
Дизайн
Кодиров ание
Тест иров ание
Кодиров ание
Тест иров ание
Время
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Итеративно-инкрементная модель (Incremental & Iterative)
Сочетает в себе элементы инкрементной и итеративной моделей,
когда проект разбивается на несколько инкрементов, каждый из
которых реализует итеративную модель.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Достоинства и недостатки итеративной модели
Достоинства:
-
более точное определение требований предшествует новым
итерациям;
-
тестирование проводится на протяжении всего жизненного
цикла продукта.
Недостатки:
- усложнение процесса разработки;
- потенциально более долгие сроки разработки продукта.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Спиральная модель (Spiral)
Оценка
результатов
Планирование
следующей
итерации
Разработка
рабочих
продуктов
Оценка целей,
альтернатив и
ограничений
Идентификация
рисков
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Модели жизненных циклов разработки
программного обеспечения
Достоинства и недостатки спиральной модели
Достоинства:
-
работающий продукт выпускается на более ранних стадиях;
-
не требуется полного и детального набора требований для
начала разработки.
Недостатки:
- требуется очень хорошее знание предметной области;
- начало проекта с плохо определёнными целями неудобно для
менеджеров проекта.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС
Related documents
Download