183.02K

Документирование и сопровождение ПО

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
English     Русский Правила