Из Википедии, бесплатной энциклопедии
  (Перенаправлено из метрик программного обеспечения )
Перейти к навигации Перейти к поиску

Программное обеспечение метрика является стандартом меры степени , в которой система программного обеспечения или процесс обладает некоторым свойством. [1] [2] Даже если метрика не является мерой (метрики - это функции, а измерения - это числа, полученные путем применения метрик), часто эти два термина используются как синонимы. Поскольку количественные измерения необходимы во всех науках, компьютерные науки постоянно прилагают усилия.практикам и теоретикам привнести аналогичные подходы к разработке программного обеспечения. Целью является получение объективных, воспроизводимых и поддающихся количественной оценке измерений, которые могут иметь множество ценных приложений в планировании расписания и бюджета, оценке затрат, обеспечении качества, тестировании, отладке программного обеспечения, оптимизации производительности программного обеспечения и оптимальном распределении кадровых задач.

Общие программные измерения [ править ]

Общие программные измерения включают:

  • Метрика программного обеспечения ABC
  • Сбалансированная система показателей
  • Ошибок на строку кода
  • Покрытие кода
  • Сплоченность
  • Плотность комментариев [3]
  • Компоненты программного обеспечения Connascent
  • Конструктивная модель затрат
  • Связь
  • Цикломатическая сложность ( сложность МакКейба)
  • Плотность цикломатической сложности [4] [5]
  • Плотность дефектов - дефекты, обнаруженные в компоненте
  • Потенциал дефекта - ожидаемое количество дефектов в конкретном компоненте
  • Скорость удаления дефектов
  • DSQI (индекс качества проектной структуры)
  • Функциональные точки и автоматизированные функциональные точки, стандарт группы управления объектами [6]
  • Сложность Холстеда
  • Длина пути к инструкции
  • Индекс ремонтопригодности
  • Количество строк кода
  • Время выполнения программы
  • Время загрузки программы
  • Размер программы (двоичный)
  • Взвешенные микро-функциональные точки
  • Автоматизированные показатели качества CISQ
  • Время цикла (программное обеспечение)
  • Доходность за первый проход
  • Вероятность корректирующей фиксации [7]

Ограничения [ править ]

Поскольку разработка программного обеспечения представляет собой сложный процесс, с большим разбросом как методологий, так и целей, трудно определить или измерить качество и количество программного обеспечения и определить действительную и одновременную метрику измерения, особенно при выполнении такого прогноза до детального проектирования. Еще один источник трудностей и споров - это определение того, какие показатели имеют значение и что они означают. [8] [9] Таким образом, практическая полезность программных измерений ограничена следующими областями:

  • Планирование
  • Размер программного обеспечения
  • Сложность программирования
  • Оценка усилий по разработке программного обеспечения
  • Качество программного обеспечения

Конкретное измерение может быть нацелено на один или несколько из вышеперечисленных аспектов или на баланс между ними, например, как индикатор мотивации команды или производительности проекта.

Кроме того, показатели различаются между статическим и динамическим программным кодом, а также для объектно-ориентированного программного обеспечения (систем). [10] [11]

Принятие и общественное мнение [ править ]

Некоторые специалисты по разработке программного обеспечения отмечают, что упрощенные измерения могут принести больше вреда, чем пользы. [12] Другие отметили, что метрики стали неотъемлемой частью процесса разработки программного обеспечения. [8] Влияние измерения на психологию программиста вызывает опасения по поводу вредного воздействия на производительность из-за стресса, беспокойства по поводу производительности и попыток обмануть метрики, в то время как другие считают, что это оказывает положительное влияние на ценность разработчиков по отношению к их собственной работе и предотвращает их. недооценен. Некоторые утверждают, что определение многих методологий измерения неточно, и, следовательно, часто неясно, как инструменты для их вычисления достигают определенного результата [13].в то время как другие утверждают, что несовершенная количественная оценка лучше, чем отсутствие («Вы не можете контролировать то, что не можете измерить»). [14] Данные показывают, что показатели программного обеспечения широко используются правительственными учреждениями, вооруженными силами США, НАСА, [15] ИТ-консультантами, академическими учреждениями [16], а также коммерческими и академическими программами оценки развития .

Дальнейшее чтение [ править ]

  • Дж. Смит, Введение в линейное программирование , Acme Press, 2010. Вводный текст.
  • Рейо М. Савола, Качество показателей и измерений безопасности, Компьютеры и безопасность, Том 37, сентябрь 2013 г., страницы 78-90. [17]

См. Также [ править ]

  • Целевой вопрос-показатель
  • Список инструментов для статического анализа кода
  • Классификация ортогональных дефектов
  • Программная инженерия
  • Метрики программного пакета

Ссылки [ править ]

  1. ^ Фентон, Норман Э. (2014). Метрики программного обеспечения: строгий и практичный подход . Джеймс Биман (3-е изд.). Бока-Ратон, Флорида. ISBN 978-1-4398-3823-5. OCLC  834978252 .
  2. ^ Тимотео, Алин Лопес; Альваро, Ре; Алмейда, Эдуардо Сантана Де; Де, Сильвио Ромеро; Мейра, Лемос. Метрики программного обеспечения: обзор . CiteSeerX 10.1.1.544.2164 . 
  3. ^ "Пороговые значения метрики описательной информации (DI)" . Инженерный центр наземного программного обеспечения . Архивировано из оригинала 6 июля 2011 года . Проверено 19 октября 2010 года .
  4. ^ Gill, GK; Кемерер, CF (декабрь 1991 г.). «Плотность цикломатической сложности и производительность сопровождения программного обеспечения» . IEEE Transactions по разработке программного обеспечения . 17 (12): 1284–1288. DOI : 10.1109 / 32.106988 . ISSN 1939-3520 . 
  5. ^ "Ремонтопригодность - имеет ли смысл вычислять цикломатическую сложность / соотношение строк кода?" . Обмен стеками программной инженерии . Проверено 1 марта 2021 .
  6. ^ «OMG принимает автоматическую спецификацию функциональных точек» . Omg.org. 2013-01-17 . Проверено 19 мая 2013 .
  7. ^ Амит, Идан; Фейтельсон, Дрор Г. (21.07.2020). «Метрика качества корректирующего кода вероятности». arXiv : 2007.10912 [ cs.SE ].
  8. ^ a b Бинсток, Эндрю. «Интеграция Watch: эффективное использование метрик» . SD Times . БЖ Медиа . Проверено 19 октября 2010 года .
  9. ^ Колава, Адам. «Когда, почему и как: анализ кода» . Кодовый проект . Проверено 14 февраля 2021 года .
  10. ^ Госаин, Анджана; Шарма, Ганга (2015). Mandal, JK; Сатапати, Суреш Чандра; Кумар Саньял, Манас; Саркар, Партха Пратим; Мухопадхьяй, Анирбан (ред.). «Динамические программные метрики для объектно-ориентированного программного обеспечения: обзор» . Дизайн информационных систем и интеллектуальные приложения . Достижения в интеллектуальных системах и вычислениях. Нью-Дели: Springer India. 340 : 579–589. DOI : 10.1007 / 978-81-322-2247-7_59 . ISBN 978-81-322-2247-7.
  11. ^ S, Парвиндер Сингх; Сингх, Гурдев. Динамические метрики полиморфизма в объектно-ориентированных системах . CiteSeerX 10.1.1.193.4307 . 
  12. ^ Канер, доктор Джем, инженер-программист. Метрики: что они измеряют и откуда мы знаем? , CiteSeerX 10.1.1.1.2542 
  13. ^ Линке, Рюдигер; Лундберг, Йонас; Лёве, Велф (2008 г.), «Сравнение инструментов метрик программного обеспечения» (PDF) , Международный симпозиум по тестированию и анализу программного обеспечения, 2008 г. , стр. 131–142
  14. Перейти ↑ DeMarco, Tom (1982). Управление проектами программного обеспечения: управление, измерение и оценка . ISBN 0-13-171711-1.
  15. ^ "Рабочая группа по планированию и отчетности НАСА (MPARWG)" . Earthdata.nasa.gov. Архивировано из оригинала на 2011-10-22 . Проверено 19 мая 2013 .
  16. ^ "Центр системной и программной инженерии USC" . Sunset.usc.edu . Проверено 19 мая 2013 .
  17. ^ Савола, Reijo М. (2013-09-01). «Качество показателей и измерений безопасности» . Компьютеры и безопасность . 37 : 78–90. DOI : 10.1016 / j.cose.2013.05.002 . ISSN 0167-4048 . 

Внешние ссылки [ править ]

  • Программные показатели (SQA.net)
  • Метрики программной инженерии: что они измеряют и откуда мы знаем
  • Стандарт НАСА NASA-STD-8739.8 (Стандарт Software Assurance и безопасности программного обеспечения)
  • Метрики исходного кода HIS ( устаревшие, но для справки ; см. AUTOSAR )
  • HIS Source Code Metrics версия 1.3.1 01.04.2008 ( устарело, но для справки ; см. AUTOSAR )
  • Фреймворк для показателей исходного кода
  • https://swehb.nasa.gov/display/SWEHBVB/Metrics+-+Software+Metrics+Report
  • Определения показателей SonarQube
  • Метрики объектно-ориентированного программного обеспечения (2010 г.)