Анализ влияния изменений
Эта статья написана как личное размышление, личное эссе или аргументативное эссе , в котором излагаются личные чувства редактора Википедии или представлен оригинальный аргумент по определенной теме. ( январь 2022 г. ) |
Эта статья может сбивать с толку или быть неясной для читателей . ( январь 2022 г. ) |
Анализ влияния изменений ( IA ) или анализ воздействия [1] — это анализ изменений в развернутом продукте или приложении и их потенциальных последствий. [2] [3] [ нужен лучший источник ]
Анализ воздействия изменений определен Боннером и Арнольдом. [4] как «выявление потенциальных последствий изменения или оценка того, что необходимо изменить для достижения изменения», и они сосредотачиваются на IA с точки зрения определения объема изменений в деталях дизайна. Напротив, Пфлигер и Атли [5] сосредоточьтесь на рисках, связанных с изменениями, и заявите, что IA — это «оценка многих рисков, связанных с изменением, включая оценку воздействия на ресурсы, усилия и график». Как детали проекта, так и риски, связанные с модификациями, имеют решающее значение для выполнения IA в рамках процессов управления изменениями . В этом контексте иногда также упоминается технический разговорный термин « ад зависимости» .
Типы методов анализа воздействия
[ редактировать ]Методы IA можно разделить на три типа: [6]
- След
- Зависимость
- Экспериментальный
Бонер и Арнольд [7] выделить два класса IA: отслеживаемость и зависимость IA. В IA прослеживаемости фиксируются связи между требованиями, спецификациями, элементами дизайна и тестами, и эти взаимосвязи можно проанализировать, чтобы определить масштаб инициирующих изменений. [8] В зависимости IA оцениваются связи между частями, переменными, логикой, модулями и т. д. для определения последствий инициирующего изменения. IA зависимости возникает на более детальном уровне, чем IA прослеживаемости. При разработке программного обеспечения статические и динамические алгоритмы могут запускаться в коде для выполнения IA зависимостей. [9] [10] Статические методы фокусируются на структуре программы, а динамические алгоритмы собирают информацию о поведении программы во время выполнения.
Литература и инженерная практика также предполагают третий тип IA, экспериментальный IA, поскольку влияние изменений часто определяется с использованием экспертных знаний в области проектирования. Ознакомьтесь с протоколами совещаний, [11] неформальные командные обсуждения и индивидуальное инженерное суждение [12] все они могут быть использованы для определения последствий модификации. [ как? ]
Управление пакетами и зависимостями IA
[ редактировать ]Программное обеспечение часто поставляется в пакетах, которые содержат зависимости от других пакетов программного обеспечения, необходимые для запуска развернутого пакета. Просмотр этих зависимостей в обратном порядке — удобный способ определить влияние изменения содержимого программного пакета. Примеры программного обеспечения, полезного для этого:
- скрипты типа Whatrequires [13] [ неуместная внешняя ссылка? ] для RPM и Debian форматов пакетов
Исходный код и зависимость IA
[ редактировать ]Зависимости также объявляются в исходном коде. [[Метаданные|Метаданные [ который? ] ]] можно использовать [ как? ] понять зависимости посредством статического анализа . Среди инструментов, поддерживающих отображение таких зависимостей, можно выделить:
Существуют также инструменты, применяющие полнотекстовый поиск по исходному коду, хранящемуся в различных репозиториях. Если исходный код доступен для просмотра в Интернете, можно использовать классические поисковые системы. Если исходный код доступен только в среде выполнения, ситуация усложняется, и могут помочь специальные инструменты. [14] [ нужна проверка ] [ неуместная внешняя ссылка? ]
Требования и прослеживаемость исходного кода
[ редактировать ]Последние инструменты [ который? ] часто используйте стабильные ссылки для отслеживания зависимостей. Это можно сделать на всех уровнях, включая спецификацию, план, ошибки и коммиты. Несмотря на это, использование средств проверки обратных ссылок, известных из поисковой оптимизации, не является распространенным явлением. Исследования в этой области также проводятся, просто чтобы назвать карты вариантов использования. [15]
Коммерческие инструменты в этой области включают Rational DOORS .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Анализ воздействия — обзор | Темы ScienceDirect» . www.sciencedirect.com . Проверено 27 января 2022 г.
- ^ «Анализ воздействия изменений – Введение» . ktern.com . 2021-12-29. Архивировано из оригинала 27 января 2022 г. Проверено 27 января 2022 г.
- ^ «Анализ влияния изменений | Инструменты SMS» . www.aviationsafetyplatform.com . Проверено 27 января 2022 г.
- ^ Бонер и Арнольд, 1996, стр.3.
- ^ Пфлигер и Атли, 2006, стр.526.
- ^ Килпинен, 2008 г.
- ^ Бонер и Арнольд, 1996 г.
- ^ Эйснер, 2002, стр. 236-237.
- ^ Райлих, 2000
- ^ Рен и др., 2005.
- ^ Эндрес и Ромбах, 2003, стр.17.
- ^ Эмблер, 2002, стр. 244
- ^ «что требуется» . www.pixelbeat.org . Архивировано из оригинала 26 апреля 2006 г. Проверено 27 января 2022 г.
- ^ «охло, открывайте, отслеживайте и сравнивайте открытый исходный код» . Архивировано из оригинала 12 января 2011 г. Проверено 27 января 2022 г.
- ^ Анализ влияния изменений для эволюции требований с использованием карт вариантов использования. Архивировано 5 марта 2016 г. в Wayback Machine , Джамеледдин Хассин, Юрген Риллинг, Жаклин Хьюитт, факультет компьютерных наук, Университет Конкордия, 2005 г.
Дальнейшее чтение
[ редактировать ]- Эмблер, С. (2002). Гибкое моделирование: эффективные практики экстремального программирования и унифицированного процесса. Нью-Йорк, Нью-Йорк, США, John Wiley & Sons.
- Бонер, С.А. и Р.С. Арнольд, ред. (1996). Анализ влияния изменений программного обеспечения. Лос Аламитос, Калифорния, США, Издательство IEEE Computer Society Press.
- Эйснер, Х. (2002). Основы управления проектами и системной инженерией. Нью-Йорк, Нью-Йорк, США, John Wiley & Sons.
- Эндрес, А. и Д. Ромбах (2003). Справочник по программному обеспечению и системной инженерии: эмпирические наблюдения, законы и теории. Нью-Йорк, Нью-Йорк, США, Аддисон-Уэсли.
- Килпинен, М.С. (2008). Появление изменений в интерфейсе системной инженерии и проектирования программного обеспечения: исследование анализа воздействия. Кандидатская диссертация . Кембриджский университет. Кембридж, Великобритания.
- Пфлигер, С.Л. и Дж.М. Атли (2006). Программная инженерия: теория и практика. Река Аппер-Сэддл, Нью-Джерси, США, Прентис-Холл.
- Райлих, В. (2000). «Модель и инструмент распространения изменений в программном обеспечении». Примечания по разработке программного обеспечения ACM SIGSOFT 25(1):72.
- Рен X., Ф. Шах и др. (2005). Кьянти: инструмент для анализа влияния изменений в Java-программах. Международная конференция по программной инженерии (ICSE 2005), Сент-Луис, Миссури, США.