Технология программирования. Жизненный цикл. Каскадная модель. Быстрая разработка приложений. Спиральная модель. Экстремальное программирование
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Технология программирования
Лекция 7
О. А. Мирзеабасов
Кафедра ИС
Весна 2021
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
1 / 15
Содержание
1
Жизненный цикл
2
Каскадная модель
3
Быстрая разработка (RAD)
4
Спиральная модель
5
Экстремальное программирование
6
Модель ISO/IEC 12207
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
2 / 15
Жизненный цикл
Жизненный цикл
Жизненный цикл
Жизненный цикл ПО — период от момента появления замысла создания
программного обеспечения до момента завершения поддержки.
Стратегии разработки:
однократный проход — линейная последовательность этапов
инкрементная стратегия — последовательность версий (первая реализует
часть запланированных возможностей, следующая —
дополнительные возможности, и т.д.)
эволюционная стратегия — последовательность версий, требования
уточняются по мере разработки
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
3 / 15
Каскадная модель
Каскадная модель
Постановка задачи
Анализ требований
Проектирование
Кодирование
Тестирование
Сопровождение
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
4 / 15
Каскадная модель
Каскадная модель
Достоинства и недостатки
Достоинства:
получение в конце каждой стадии законченного набора документации
простота планирования процесса разработки
Недостатки:
модель пригодна для задач, допускающих точную и полную
формулировку всех требований
не предусмотрена необходимость возврата на предыдущую стадию,
возникающая в случае неудачных решений
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
5 / 15
Каскадная модель
Каскадная модель с возвратами
Модель с промежуточным контролем
Постановка задачи
Анализ требований
Проектирование
Кодирование
Тестирование
Сопровождение
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
6 / 15
Быстрая разработка (RAD)
Быстрая разработка приложений
RAD — rapid application development
Последовательность этапов:
моделирование логики (архитектуры системы)
моделирование данных
моделирование обработки (преобразования данных)
генерация приложения
тестирование и объединение
Ограничения применимости RAD:
большие проекты требуют управления большим количеством рабочих
групп
задача должна допускать декомпозицию на отдельные модули
неприменима в условиях высоких технологических рисков
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
7 / 15
Спиральная модель
Спиральная модель
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
8 / 15
Спиральная модель
Спиральная модель
Действия в спиральной модели:
планирование — определение целей, вариантов, ограничений
идентификация и анализ приемлемости риска
разработка — создание очередного прототипа
оценивание заказчиком
Достоинства:
явно учитывает риск разработки
соответствует эволюционному характеру разработки ПО
позволяет уточнять требования по мере разработки
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
9 / 15
Экстремальное программирование
Экстремальное программирование
XP-процесс
eXtreme Programming — облегченный (подвижный) итерационный процесс
разработки, ориентированный на группы малого и среднего размера.
XP-цикл состоит из следующих базовых действий:
кодирование
тестирование
выслушивание заказчика
проектирование
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
10 / 15
Экстремальное программирование
Экстремальное программирование
Методы
Планирование — определение задач; заказчик определяет приоритеты и
сроки, разработчики оценивают возможность реализации.
Частая смена версий — новые версии реализуются в коротком (обычно
двухнедельном) цикле.
Метафора — глобальное представление о системе.
Простое проектирование — из возможных проектных решений вначале
выбирается наиболее простое и понятное.
Тестирование — опережающая разработка тестов.
Реорганизация — реструктуризация системы с целью устранения
дублирования, улучшения взаимодействия, упрощения
системы.
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
11 / 15
Экстремальное программирование
Экстремальное программирование
Методы
Парное программирование — код пишется двумя программистами
Коллективное владение кодом — любой разработчик может улучшать код
системы в любой время.
Непрерывная интеграция — сборка и построение системы по мере
завершения задач, регрессионное тестирование.
40-часовая рабочая неделя — сверхурочная работа не допускается.
Локальный заказчик — в группе все время должен находиться
компетентный представитель заказчика.
Стандарты кодирования — все разработчики должны следовать одним и
тем же стандартам кодирования.
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
12 / 15
Модель ISO/IEC 12207
Модель ISO/IEC 12207
ISO/IEC 12207
Стандарт описывает структуру жизненного цикла программного обеспечения
и его процессы.
Процесс
Процесс жизненного цикла определяется как совокупность взаимосвязанных
действий и характеризуется определенными задачами и методами их
решения, а также исходными данными и результатами.
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
13 / 15
Модель ISO/IEC 12207
Модель ISO/IEC 12207
Основные процессы
Приобретение
Вспомогательные процессы
Поставка
Документирование
Разработка
Управление конфигурацией
Эксплуатация
Обеспечение качества
Сопровождение
Верификация
Организационные процессы
Управление
Аттестация
Совместная оценка
Усовершенствование
Аудит
Создание инфраструктуры
Разрешение проблем
Обучение
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
14 / 15
Модель ISO/IEC 12207
Модель ISO/IEC 12207
Процесс разработки: действия
подготовительная работа
интеграция ПО
анализ требований к системе
квалификационное тестирование
ПО
проектирование архитектуры
системы
анализ требований к ПО
интеграция системы
проектирование архитектуры ПО
квалификационное тестирование
системы
детальное проектирование ПО
установка ПО
кодирование и тестирование ПО
приемка ПО
О. А. Мирзеабасов
(Кафедра ИС)
Технология программирования
Весна 2021
15 / 15