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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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