Search Header Logo
Открытый урок

Открытый урок

Assessment

Presentation

Information Technology (IT)

University

Practice Problem

Hard

Created by

Юлия Анищенко

Used 1+ times

FREE Resource

12 Slides • 0 Questions

1

​Методы сопровождения и эволюции ПО

Подготовлена: доц. ОшТУ, к.т.н. Анищенко Ю.В.

2

media

Повторим!

3

Определение

Сопровождение программного обеспечения (Software Maintenance) – процесс модификации программного продукта после его передачи пользователю для исправления ошибок, повышения производительности или адаптации к изменяющимся условиям.

media

4

media

Корректирующие (Corrective): "Скорая помощь". Исправление ошибок. (Пример: "Кнопка 'Отправить' не работает").
Адаптирующие (Adaptive): "Эволюция". Приспособление к новой среде. (Пример: "Приложение не работает на iOS 17").

Превентивные / предупреждающие (Preventive): Предотвращение проблем. (Пример: Оптимизация кода для уменьшения риска багов, рефакторинг устаревших модулей).

Совершенствующие (Perfective): "Развитие". Улучшения и новая функциональность. (Пример: "Добавить оплату через криптокошелек").

Классификация Лиентца

5

Cистема правил именования версий

Semantic Versioning (SemVer)

media

6

PATCH (третья цифра): Исправление багов. Обратная совместимость сохраняется. (*Пример: 2.1.12 -> 2.1.13*)
MINOR (вторая цифра): Новая функциональность. Обратная совместимость сохраняется. (*Пример: 2.1.13 -> 2.2.0*)

MAJOR (первая цифра): Критические изменения. Обратная совместимость нарушена. (*Пример: 2.2.0 -> 3.0.0*)

media

​Процесс выпуска

7

Определение

media

Анализ влияния изменений – это процесс идентификации всех потенциальных последствий правки.

8

media

Визуализация связей между функциями
Пример: main() → processOrder() → validatePayment()
Инструменты: IDE, NDepend

​2.Анализ графа вызовов

media

Матрица "требование → код"
Пример: Требование "Оплата картой" → Класс PaymentProcessor
Инструменты: Jira, DOORS

1.Прослеживание требований

9

media

Запуск старых тестов после изменений
Цель: Убедиться, что новое не сломало старое
Инструменты: JUnit, Selenium

4.Регрессионное тестирование

Поиск "запахов кода" без запуска программы
Что находит: Сложные участки, потенциальные ошибки
Инструменты: SonarQube, ESLint

media

3. Статический анализ кода

10

Чек-лист: "Что учитывать при внесении изменений?"

  1. Определи тип изменения (Корректирующее/Адаптирующее/Совершенствующее).

  2. Проведи анализ влияния: Какие модули, функции и документация будут затронуты?

  3. Запланируй регрессионное тестирование для проверки старого функционала.

  4. Присвой версию согласно правилам SemVer.

  5. Проинформируй пользователей о сути обновления (особенно для MAJOR версий).

11

Домашнее задание

Найдите описание обновления для любого известного вам программного продукта (Windows, VS Code, Instagram). Определите тип этого обновления и обоснуйте, по каким признакам вы это определили.

12

Мейр М. Лэхман

"Программа, которая не меняется, — мертвая программа" 

​Методы сопровождения и эволюции ПО

Подготовлена: доц. ОшТУ, к.т.н. Анищенко Ю.В.

Show answer

Auto Play

Slide 1 / 12

SLIDE