Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Презентации / Lecture02p

.pdf
Скачиваний:
0
Добавлен:
23.06.2026
Размер:
987.84 Кб
Скачать

Процессы разработки программного обеспечения

Основы программной инженерии

Кулямин В.В., ВМК МГУ

Разработка ПО

Это сложная деятельность (как ПО – сложные системы)

Поэтому нужно применение тех же общих принципов

Выделение модулей (отдельных видов работ) и их интерфейсов (артефактов разработки)

Абстракция и уточнение (решаемых в ходе работ задач)

Повторное использование (максимальное переиспользование полученных результатов работ вместо их повторения)

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

2

Процесс разработки ПО

Определяет структуру выполняемых работ (список и иерархию вложенности), их возможные последовательности, набор создаваемых и используемых артефактов и роли разработчиков

Пример

Анализ требований/Requirements analysis

(вид работ или вид деятельности)

Выполняется инженерами по требованиям, пользователями и экспертами в предметной области/requirements engineers, users, domain experts

(роли)

Инженеры выявляют и оформляют требования, пользователи и эксперты в предметной области служат источниками требований, пользователи используются для первичного сбора требований, эксперты – для уточнений и совместного анализа

Входным документом является общее назначение и цели создания системы/system vision Результатом является техническое задание/requirements specification

(артефакты)

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

3

Общие замечания

(Также, как нет универсальных законов построения ПО)

Нет универсальных процессов разработки, их применимость и эффективность зависят от контекста – вида создаваемого ПО, предметной области, рыночной ситуации, вовлеченных людей

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

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

4

Жизненный цикл ПО

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

 

Кодирование

 

Эксплуатация

Проектирование Развертывание

Период от возникновения идеи о создании данного ПО до удаления последней его копии

Цикл – поскольку время от времени над ПО выполняется примерно одна и та же последовательность работ, чтобы получить очередную версию

Хотя наиболее трудоемким выглядит создание первой версии, от 70% до 95% всех трудозатрат для практически полезного ПО уходит на сопровождение уже после выпуска первой версии

Отсюда сосредоточенность на снижении трудоемкости сопровождения в долгой перспективе

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

5

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

Определяет общую последовательность работ

Основные виды моделей жизненного цикла

Водопадная/каскадная (waterfall)

Итеративная (iterative)

Спиральная (spiral)

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

6

Водопадная/каскадная модель

Виды деятельности выстраиваются в последовательность во времени и выполняются так всегда, без возвращений, кроме как на самый первый вид

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

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

Кодирование

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

Развертывание

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

7

Итеративная модель

Возможны возвращения на предыдущие шаги (и еще дальше), если обнаруживаются недоделки, ошибки, несогласованности и пр.

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

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

Кодирование

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

Развертывание

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

8

Сопоставление моделей

Даже в работе W. Royce (1970), на которую часто ссылаются как формулирующую водопадную модель, на самом деле описывается итеративная

Применимость

Водопадная модель эффективно применима к небольшим проектам с очень малыми рисками возникновения изменений требований в ходе работ

Итеративная модель применима гораздо чаще

Управляемость

Планировать и контролировать работы по водопадной модели значительно проще

Итеративная модель связана с рисками выхода за рамки бюджета и времени

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

9

Спиральная модель

Итеративная, в которой все итерации имеют общую структуру (в каждой итерации повторяется некоторая последовательность действий)

Повышает управляемость

Изображается обычно спиралью, в которой

каждый виток – итерация, удаление от центра – затраченные ресурсы

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии

Соседние файлы в папке Презентации