Similar presentations:
Документирование и сопровождение ПО
1.
Сопровождение ПОЛекция 15
Тема 5: Документирование и сопровождение ПО
1
2.
Сопровождение ПОСопровождение ПО – процесс улучшения
значений показателей качества, расширения
функциональных возможностей, оптимизации
и устранения дефектов ПО после передачи в
эксплуатацию
Эксплуатация
Пользователь
Внедрение
Сопровождение
Разработчик
3
3.
Сопровождение ПОНаиболее продолжительная стадия ЖЦ
Наиболее затратная стадия ЖЦ (превышают
затраты на разработку)
4
4.
СопровождемостьСопровождаемость – показатель качества
ПО, обратно характеризующий степень
усилий по внесению изменений в ПО
Отражает возможность и сложность внесения
изменений в ПО
Определяется в начале разработки
Обеспечивается в процессе разработки
Влияет на процесс разработки
5
5.
Необходимость сопровожденияИзменение условий эксплуатации ПО:
Введение в эксплуатацию новых технических
средств
Изменение смежного ПО
Возможное выявление дефектов ПО
Изменение требований к ПО:
Появление новых требований
Уточнение существующих требований
Отказ от отдельных требований
6
6.
Типы сопровожденияСОПРОВОЖДЕНИЕ
Без изменений
Изменения
Модернизация
Полное
Адаптивное
Коррекция
Корректирующее
Профилактическое
Эксплуатационное
Новый функционал
Поддержание работоспособности
7
7.
Типы сопровожденияПолное сопровождение – повышение качества и
расширение функционала ПО
Адаптивное сопровождение – изменение ПО,
обеспечивающее его работоспособность в
изменяющихся условиях эксплуатации
Корректирующее сопровождение – исправление
обнаруженных фактических ошибок ПО
Профилактическое сопровождение – обнаружение
и исправление скрытых потенциальных ошибок ПО
до их явного проявления
Эксплуатационное обслуживание – поддержание
ПО в работоспособном состоянии, тиражирование и
контроль распространения версий ПО
8
8.
Инструментальные средстваСреда программной инженерии –
совокупность инструментальных средств,
использованных при разработке ПО, а
также методов, руководств и стандартов
обеспечения сопровождения
Среда тестирования – совокупность
инструментальных средств для
тестирования измененного ПО вне среды
эксплуатации
9
9.
Процесс сопровожденияОрганизация процесса сопровождения
Анализ выявленных проблем и требуемых
изменений
Внесение изменений
Проверка и приемка изменений
Распространение изменений
Перенос на другие платформы
Снятие с эксплуатации
10
10.
Процесс сопровожденияОрганизация процесса
Создается план и определяются процедуры
сопровождения и взаимодействия с
организациями - участниками процесса
Концепция сопровождения
План сопровождения
Анализ ресурсов
11
11.
Организация сопровождения1. Концепция сопровождения
Область сопровождения программного
средства(1/3):
Типы выполняемого сопровождения
Для эксплуатационного обслуживания – выделение
наиболее ответственных узлов системы и
определение для них критичности простоя
Для полного и адаптивного сопровождения –
выделение области сопровождения и изменений
программного продукта
Уровень документирования процесса
сопровождения (фиксация изменений)
12
12.
Организация сопровождения1. Концепция сопровождения
Область сопровождения программного
средства (2/3 продолжение):
Обеспечиваемый уровень подготовки
персонала сопровождения
Организация справочной службы (горячей
линии) технической поддержки
Исходные данные:
Инструментальные средства разработчика
Проектная документация
Тексты программ
13
13.
Организация сопровождения1. Концепция сопровождения
Область сопровождения программного
средства (3/3 продолжение):
Состав инструментальных средств
сопровождения:
Среды программирования с поддержкой
коллективной разработки
Базы знаний проекта (wiki)
Системы управления проектом и контроля
версий
14
14.
Организация сопровождения1. Концепция сопровождения
Организации и лица, ответственные за
сопровождение и их квалификация:
Сопровождение пользователем (заказчиком)
Сопровождение разработчиком
Сопровождение третьей стороной
Основывается на ряде факторов:
Срок службы ПО
Бюджет сопровождения
Квалификация персонала и знание предметной области
Наличие места для персонала и оборудования
15
15.
Организация сопровождения1. Концепция сопровождения
Практическое применение
Определение задач технического обслуживания и их
разделение на внутренние, решаемые силами
обслуживающего подразделения, и внешние,
решаемые специализированными сервисными
организациями
Стоимость сопровождения
Стоимость оборудования и программного
обеспечения, лицензии
Трудозатраты и зарплата персонала
Расходы на обучение эксплуатационного и
сопровождающего персонала
Стоимость проезда до пользователя
16
16.
Организация сопровождения2. План сопровождения
Включает:
Этапы исполняемых действий, сроки и место их
исполнения
Затраты на этапах, требуемые ресурсы
Исполнители, их роль, обязанности и
ответственность
17
17.
Организация сопровождения2. План сопровождения
Определение порядка внесения изменений:
Плановое внесение изменений – для любого
изменения формируется:
Что будет меняться
Как будет меняться
Когда и в какой последовательности будет меняться
Кем будет меняться
Отражение изменений во всей документации
Внедрение изменений – в новой версии ПО или
в виде патчей/заплаток
19
18.
Организация сопровождения3. Анализ ресурсов
Ресурсы персонала
Ресурсы среды
Финансовые ресурсы
20
19.
Процесс сопровожденияАнализ проблем и изменений
Определение приоритетов изменений в
зависимости от доступности ресурсов
Анализ и воссоздание проблемы
Варианты внесения изменений, их
согласование
Анализ риска и оценка требуемых
ресурсов при изменении
Принятие решения о целесообразности
внесения изменений
21
20.
Процесс сопровожденияВнесение изменений
Разработка и тестирование изменения
Обновление документации
Проверка и приемка изменений
Подтверждение правильности изменений
Фиксация новой версии продукта как стабильной
(проверенной)
Распространение изменений
доведение изменений до конечного
пользователя
выпуск новой версии продукта или обновления
22
21.
Процесс сопровожденияПеренос
Модернизация для работы на других
аппаратных и программных платформах
Планирование переноса
Анализ требуемых ресурсов и
инструментальных средств
Анализ и минимизация рисков
Принятие решения о продолжении
поддержки для старой платформы
23
22.
Процесс сопровожденияСнятие с эксплуатации
Предлагаемые изменения выходят далеко за
рамки возможностей сопровождения
Система выходит из-под контроля служб
сопровождения, и последствия изменений
невозможно предвидеть
Дальнейшая модификация ПО невозможна из-за
отсутствия надлежащей документации
Полная несовместимость с новой аппаратной /
программной платформой
24
23.
Процесс сопровожденияСнятие с эксплуатации
Определение возможности продолжения
эксплуатации старых версий
Определение возможности сохранения
существующей технологии
(архивирование)
Принятие решения о разработке нового
программного продукта
25
24.
Принципы сопровождения1. Улучшение эксплуатационных
характеристик ПО
Улучшение функциональных
возможностей ПО
Улучшение показателей качества ПО
Повышение надежности ПО
Улучшение пользовательского
интерфейса
Совершенствование документации
26
25.
Принципы сопровождения2. Адаптация ПО к изменяющимся
условиям эксплуатации
Внесение новых функций в ПО в соответствиями
с требованиями пользователя
Внесение новых функций в связи с изменением
организационных / информационных процессов
организации
Внесение изменений в ПО в связи с
модификацией вычислительных систем (ПО и
аппаратные средства)
Перенос ПО на новую вычислительную
платформу
27
26.
Принципы сопровождения3. Обеспечение непосредственно
сопровождения (1/2)
ПО содержит не только пользовательскую, но и
всю проектную документацию
Ведение перечня тестов для каждой версии ПО
Применение принципов защитного
программирования
Изменяемые и новые модули должны
соответствовать стандартам на стиль
программирования, структурного и ООП
проекта в целом
28
27.
Принципы сопровождения3. Обеспечение непосредственно
сопровождения (2/2)
Сохранение качества архитектуры и
структуры ПО, связности модулей
Привлечения специалистов высокой
квалификации, которые в состоянии не
только решать каждодневные проблемы, но и
быстро восстанавливать работу системы при
сбоях
29
28.
Принципы сопровождения4. Внесение изменений
А стоит ли вносить изменения?
Риск внесения новых ошибок
Изменения не должны противоречить требованиям ПО
Изменения не должны противоречить условиям
сопровождения
Расходы на вносимые изменения, повторное
тестирование, обновление документации
Изменения должны обеспечивать совместимость
новых версий со старыми
Полнота внесения изменений – отражение изменений
не только в самой компоненте, но и во всей
документации с ней связанной во всем проекте
30
29.
Принципы сопровождения5. Ведение учета изменений ПО
Документирование процесса сопровождения
обеспечивает действие персонала
сопровождения в рамках единого процесса:
Кем инициировано изменение
Причина изменений
Порядок внесения изменений
Кем проводилось изменение
Информация о повторном тестировании
Информация о результатах внесения изменений
31
30.
Принципы сопровождения6. Управление версиями ПО:
Использование специальных систем контроля
версий (SVN, GIT и т.п.)
Добавление/удаление файлов из проекта
Отдельное сохранение новых версий
Задание глубины хранения версий
Обращение к конкретной версии
Поддержание распределенного архива версий
Синхронизация архивов версий
Хранение не менее трех последних стабильных
версий
32
31.
Сопровождение ПОЛекция 15
Тема 5: Документирование и сопровождение ПО
33
32.
Вопросы1.
Сопровождение ПО. Типы сопровождения
ПО. Организация процесса сопровождения
ПО.
34