Главная страница

ТРПО. ТРПО 2.9 Сопровождение ПО. Технологии разработки по. Часть Тестирование, внедрение и поддержка по


Скачать 0.53 Mb.
НазваниеТехнологии разработки по. Часть Тестирование, внедрение и поддержка по
Дата07.06.2022
Размер0.53 Mb.
Формат файлаpdf
Имя файлаТРПО 2.9 Сопровождение ПО.pdf
ТипЛекции
#575313

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
План лекции:
Понятие сопровождения
• Структура сопровождения
• Техники сопровождения
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Сопровождение программного обеспечения —
процесс улучшения, оптимизации и устранения дефектов ПО после передачи в эксплуатацию.
Сопровождение ПО — это одна из фаз жизненного цикла программного обеспечения, следующая за фазой передачи ПО в эксплуатацию.
В ходе сопровождения в программу вносятся изменения, с тем, чтобы исправить обнаруженные в процессе использования дефекты, а также для добавления новой функциональности, с целью повысить юзабилити и применимость ПО.
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Область знаний
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Природа сопровождения
Сопровождение поддерживает функционирование программного продукта на протяжении всего операционного жизненного цикла, то есть периода его эксплуатации.
В процессе сопровождения фиксируются и отслеживаются запросы на модификацию (change requests), оценивается влияние изменений, модифицируются артефакты ПО, проводится необходимое тестирование, выпускаются обновленные версии продукта.
Кроме того, проводится обучение пользователей и обеспечивается их ежедневная поддержка при работе с текущей версией продукта.
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Задачи сопровождения
• устранение сбоев
• улучшение дизайна
реализация расширений функциональных возможностей
• создание интерфейсов взаимодействия с другими системами
• адаптация для возможности работы на другой аппаратной платформе
(или обновленной), применения новых системных возможностей, функционирования в среде обновленной инфраструктуры и т.п.
• миграция унаследованного (legacy) программного обеспечения
• вывод программного обеспечения из эксплуатации
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Деятельность персонала сопровождения
• поддержка контроля программного обеспечения в течение всего цикла эксплуатации
• поддержка модификаций программных систем
• совершенствование существующих функций
• предотвращение падения производительности программной системы до неприемлемого уровня
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Факторы стоимости сопровождения
• тип приложения
• новизна программного обеспечения
• наличие и квалификация персонала по сопровождению
• длительность использования программной системы
• характеристики и специфика аппаратной части, телекоммуникационной инфраструктуры
• качество дизайна (например, модульность или масштабируемость), кода, документации и соответствующих работ по тестированию системы
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Категории сопровождения
• Корректирующее сопровождение : “реактивная” модификация ПО, выполняемая после передачи в эксплуатацию для устранения сбоев;
• Адаптирующее сопровождение: модификация ПО на этапе эксплуатации для обеспечения продолжения его использования с заданной эффективностью
• Совершенствующее сопровождение: модификация ПО на этапе эксплуатации для повышения характеристик производительности и удобства сопровождения;
• Профилактическое сопровождение: модификация ПО на этапе эксплуатации для идентификации и предотвращения скрытых дефектов до того, когда они приведут к реальным сбоям.
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Процессы сопровождения (IEEE 1219)
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Процессы сопровождения (ISO/IEC 14764)
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Уникальные работы
• Передача (Transition): контролируемая и координируемая деятельность по передаче программного обеспечения от разработчиков группе, службе или организации, отвечающей за дальнейшую поддержку;
• Принятие/отклонение запросов на модификацию (Modification
Request Acceptance/Rejection): запросы на изменения могут как приниматься и передаваться в работу, так и отклоняться по различным обоснованным причинам – объему и/или сложности требуемых изменений, а также необходимых для этого усилий;
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Уникальные работы
• Средства извещения персонала сопровождения и отслеживания статуса запросов на модификацию и отчетов об ошибках
(Modification Request and Problem Report Help Desk): функция поддержки конечных пользователей, инициирующая работы по оценке (assessment), анализу приоритетности и стоимости модификаций, связанных с поступившим запросом или сообщенной проблемой.
• Анализ влияния (Impact Analysis): анализ возможных последствий изменений, вносимых в существующую систему
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Уникальные работы
• Поддержка программного обеспечения (Software Support): работы по консультированию пользователей, проводимые в ответ на их информационные запросы (request for information), касающиеся содержания данных, специфических (ad hoc) вопросов и сообщений о проблемах (ошибках, сбоях, непредусмотренному поведению, непониманию аспектов работы с системой;
• Контракты и обязательства: классическое соглашение об уровне предоставляемого сервиса - Service Level Agreement (SLA), а также другие договорные аспекты, на основании которых, группа/служба/организация по сопровождению выполняет соответствующие работы.
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Планирование сопровождения на разных уровнях:
• Бизнес-планирование (организационный уровень)
• Планирование непосредственных работ по сопровождению
(уровень передачи программного обеспечения)
• Планирование релизов/версий (уровень программного обеспечения)
• Планирование обработки конкретных запросов на изменение
(уровень запроса)
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Планирование релизов/версий включает:
• Получения и сбор информации о датах размещения индивидуальных запросов и отчетов
• Достижение соглашения с пользователями о содержании
(функциональности, поведении и т.п.) последующих релизов/версий
• Идентификацию потенциальных конфликтов и возможных альтернатив реализации необходимых запросов
• Оценку рисков для функционирования текущего релиза и разработку плана “отката” на немодифицированный вариант системы
Информирование всех заинтересованных лиц
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Мероприятия по сопровождению
Описаны в стандарте ISO/IEC 14764 «Сопровождение программных средств»: http://www.gosthelp.ru/gost/gost6426.html
1. Определение концепции сопровождения
2. Формирование плана сопровождения
3. Бюджетирование, финансовый менеджмент и управления человеческими ресурсами в разрезе сопровождения
4. Выполнение плана сопровождения
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Концепция сопровождения
Документ, касающийся:
• Содержания деятельности по сопровождению
• Адаптации процесса сопровождения
• Идентификации организации, которая будет заниматься сопровождением
• Оценки стоимости сопровождения
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Техники сопровождения
• Понимание программных систем (Program Comprehension)
• Реинжиниринг* (Reengineering)
• Обратный инжиниринг* (Reverse engineering)
* Часто путают, НЕ ОДНО И ТО ЖЕ
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Понимание программных систем
Средства работы с кодом являются ключевым инструментом для решения этой задачи.
Четкая, однозначная и лаконичная документация обеспечивает адекватное понимание программных систем.
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Реинжиниринг
Реинжиниринг определяется как детальная оценка (examination) и перестройка программного обеспечения для формирования понимания, воссоздания (на уровне модели и требований) и дальнейшей реализации его функций в новой форме (например, с использованием новых технологий и платформ).
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Обратный инжиниринг
Процесс анализа ПО с целью идентификации программных компонент и связей между ними, а также формирования представления о ПО, с дальнейшей перестройкой в новой форме.
Обратный инжиниринг является пассивным, предполагая отсутствие деятельности по изменению или созданию нового ПО.
Обычно, в результате обратного инжиниринга создаются модели вызовов (call graphs) и потоков управления (control flow graphs) на основе исходного кода системы.
Один из типов – создание новой документации на существующую систему (redocumentation), другой – восстановление дизайна системы
(design recovery).
___________________________
УГГУ, каф. информ@тики, 2014

Технологии разработки ПО. Часть 2. Тестирование, внедрение и поддержка ПО.
___________________________________________________________________
9. Сопровождение ПО
Рефакторинг
Относится к обратному инжинирингу.
Рефакторинг – трансформация программного обеспечения, в процессе которой программная система реорганизуется (не переписываясь) с целью улучшения структуры, без изменения поведения.
___________________________
УГГУ, каф. информ@тики, 2014


написать администратору сайта