ТРПО. ТРПО 2.9 Сопровождение ПО. Технологии разработки по. Часть Тестирование, внедрение и поддержка по
Скачать 0.53 Mb.
|
Технологии разработки ПО. Часть 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 |