Лекции по курсу «Метрология и качество программного обеспечения» Лекция 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)
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Модели жизненных циклов разработки программного обеспечения Достоинства и недостатки инкрементной модели Достоинства: -отдельные инкременты могут выполнятся параллельно; -возможна оптимизация использования людских ресурсов; -на каждом инкременте рабочий продукт появляется в более короткие сроки; Недостатки: - сложность сохранения связанного дизайна на всех инкрементах; - высока вероятность изменения первоначальных требований.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Модели жизненных циклов разработки программного обеспечения Итеративная модель (Iterative)
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Модели жизненных циклов разработки программного обеспечения Итеративно-инкрементная модель (Incremental & Iterative) Сочетает в себе элементы инкрементной и итеративной моделей, когда проект разбивается на несколько инкрементов, каждый из которых реализует итеративную модель.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Модели жизненных циклов разработки программного обеспечения Достоинства и недостатки итеративной модели Достоинства: -более точное определение требований предшествует новым итерациям; -тестирование проводится на протяжении всего жизненного цикла продукта. Недостатки: - усложнение процесса разработки; - потенциально более долгие сроки разработки продукта.
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Модели жизненных циклов разработки программного обеспечения Спиральная модель (Spiral)
© В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Модели жизненных циклов разработки программного обеспечения Достоинства и недостатки спиральной модели Достоинства: -работающий продукт выпускается на более ранних стадиях; - не требуется полного и детального набора требований для начала разработки. Недостатки: - требуется очень хорошее знание предметной области; - начало проекта с плохо определёнными целями неудобно для менеджеров проекта.