Метрика программного обеспечения
Часть серии о |
Разработка программного обеспечения |
---|
В обеспечения разработке программного метрика программного обеспечения — это стандарт измерения степени, в которой программная система или процесс обладает каким-либо свойством. [1] [2] Даже если метрика не является измерением (метрики — это функции, а измерения — это числа, полученные с помощью метрик), часто эти два термина используются как синонимы. Поскольку количественные измерения постоянно прилагают усилия, необходимы во всех науках, специалисты-практики и теоретики информатики чтобы применить аналогичные подходы к разработке программного обеспечения. Целью является получение объективных, воспроизводимых и количественных измерений, которые могут иметь множество ценных применений при планировании графика и бюджета, оценке затрат, обеспечении качества, тестировании, отладке программного обеспечения , оптимизации производительности программного обеспечения и оптимальном назначении задач персоналу.
программные Общие измерения
Общие измерения программного обеспечения включают в себя:
- Метрика программного обеспечения ABC
- Сбалансированная система показателей
- Ошибки на строку кода
- Покрытие кода
- Сплоченность
- Плотность комментариев [3]
- Известные программные компоненты
- Конструктивная модель затрат
- Муфта
- Цикломатическая сложность (сложность Маккейба)
- Цикломатическая плотность сложности [4] [5]
- Плотность дефектов – дефекты, обнаруженные в компоненте.
- Потенциальный дефект - ожидаемое количество дефектов в конкретном компоненте.
- Скорость устранения дефектов
- DSQI (индекс качества проектной структуры)
- Функциональные точки и автоматизированные функциональные точки, группы управления объектами стандарт [6]
- Холстедская сложность
- Длина пути инструкции
- Индекс ремонтопригодности
- Исходные строки кода — количество строк кода.
- Время выполнения программы
- Время загрузки программы
- Размер программы (двоичный)
- Взвешенные микрофункциональные точки
- Время цикла (программное обеспечение)
- Выход с первого прохода
- Вероятность корректирующего фиксации [7]
Ограничения [ править ]
Поскольку разработка программного обеспечения представляет собой сложный процесс с большим разнообразием как методологий, так и целей, трудно определить или измерить качества и количества программного обеспечения, а также определить действительные и одновременные показатели измерения, особенно при составлении такого прогноза до детального проектирования. Еще одним источником трудностей и споров является определение того, какие показатели имеют значение и что они означают. [8] [9] Таким образом, практическая польза программных измерений ограничена следующими областями:
- Планирование
- Определение размера программного обеспечения
- Сложность программирования
- Оценка усилий по разработке программного обеспечения
- Качество программного обеспечения
Конкретное измерение может быть нацелено на один или несколько из вышеперечисленных аспектов или на баланс между ними, например, в качестве показателя мотивации команды или эффективности проекта.
Кроме того, метрики различаются для статического и динамического программного кода, а также для объектно-ориентированного программного обеспечения (систем). [10] [11]
и общественное мнение Принятие
Некоторые специалисты по разработке программного обеспечения отмечают, что упрощенные измерения могут принести больше вреда, чем пользы. [12] Другие отметили, что метрики стали неотъемлемой частью процесса разработки программного обеспечения. [8] Влияние измерений на психологию программистов вызвало обеспокоенность по поводу вредного воздействия на производительность из-за стресса, беспокойства по поводу производительности и попыток обмануть показатели, в то время как другие считают, что это оказывает положительное влияние на ценность разработчиками своей собственной работы и предотвращает их недооценку. Некоторые утверждают, что определения многих методологий измерений неточны, и, следовательно, часто неясно, как инструменты для их расчета приходят к конкретному результату. [13] в то время как другие утверждают, что несовершенная количественная оценка лучше, чем ее отсутствие («Вы не можете контролировать то, что не можете измерить»). [14] Опыт показывает, что метрики программного обеспечения широко используются правительственными учреждениями, военными США, НАСА, [15] ИТ-консультанты, академические учреждения, [16] а также программное обеспечение для оценки коммерческих и академических разработок .
Дальнейшее чтение [ править ]
- Дж. Смит, Введение в линейное программирование , Acme Press, 2010. Вводный текст.
- Рейхо М. Савола, Показатели и измерения качества безопасности, Компьютеры и безопасность, Том 37, сентябрь 2013 г., страницы 78–90. [17]
См. также [ править ]
- Цель Вопрос-Метрика
- Список инструментов для статического анализа кода
- Классификация ортогональных дефектов
- Программная инженерия
- Метрики пакета программного обеспечения
Ссылки [ править ]
- ^ Фентон, Норман Э. (2014). Метрики программного обеспечения: строгий и практичный подход . Джеймс Биман (3-е изд.). Бока-Ратон, Флорида. ISBN 978-1-4398-3823-5 . OCLC 834978252 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Тимотео, Алин Лопес; Альваро, Ре; Алмейда, Эдуардо Сантана Де; Автор: Сильвио Ромеро; Мейра, Лемос. Метрики программного обеспечения: опрос . CiteSeerX 10.1.1.544.2164 .
- ^ «Пороги показателей описательной информации (DI)» . Центр разработки программного обеспечения Land . Архивировано из оригинала 6 июля 2011 года . Проверено 19 октября 2010 г.
- ^ Гилл, ГК; Кемерер, CF (декабрь 1991 г.). «Цикломатическая плотность сложности и производительность сопровождения программного обеспечения» . Транзакции IEEE по разработке программного обеспечения . 17 (12): 1284–1288. дои : 10.1109/32.106988 . ISSN 1939-3520 .
- ^ «ремонтопригодность. Имеет ли смысл вычислять соотношение цикломатическая сложность/строки кода?» . Обмен стеками программной инженерии . Проверено 01 марта 2021 г.
- ^ «OMG принимает автоматизированную спецификацию функциональных точек» . Омг.орг. 17 января 2013 г. Проверено 19 мая 2013 г.
- ^ Амит, Идан; Фейтельсон, Дрор Г. (21 июля 2020 г.). «Метрика качества кода вероятности корректирующего фиксации». arXiv : 2007.10912 [ cs.SE ].
- ^ Jump up to: а б Бинсток, Эндрю (март 2010 г.). «Integration Watch: эффективное использование метрик» . СД Таймс . БЖ Медиа . Проверено 19 октября 2010 г.
- ^ Колава, Адам (7 августа 2008 г.). «Когда, почему и как: анализ кода» . Проект Кодекса . Проверено 14 февраля 2021 г.
- ^ Госайн, Анжана; Шарма, Ганга (2015). «Динамические метрики программного обеспечения для объектно-ориентированного программного обеспечения: обзор» . В Мандале, JK; Сатапати, Суреш Чандра; Кумар Саньял, Манас; Саркар, Партха Пратим; Мухопадхьяй, Анирбан (ред.). Проектирование информационных систем и интеллектуальные приложения . Достижения в области интеллектуальных систем и вычислений. Том. 340. Нью-Дели: Springer India. стр. 579–589. дои : 10.1007/978-81-322-2247-7_59 . ISBN 978-81-322-2247-7 .
- ^ С., Парвиндер Сингх; Сингх, Гурдев. Динамические метрики полиморфизма в объектно-ориентированных системах . CiteSeerX 10.1.1.193.4307 .
- ^ Канер, доктор Цем (2004 г.), Метрики инженера-программиста: что они измеряют и как мы это узнаем? , CiteSeerX 10.1.1.1.2542
- ^ Линке, Рюдигер; Лундберг, Йонас; Лёве, Вельф (2008 г.), «Сравнение инструментов метрик программного обеспечения» (PDF) , Международный симпозиум по тестированию и анализу программного обеспечения, 2008 г. , стр. 131–142.
- ^ ДеМарко, Том (1982). Управление программными проектами: управление, измерение и оценка . Юрдон Пресс. ISBN 0-13-171711-1 .
- ^ «Рабочая группа НАСА по планированию и отчетности по метрикам (MPARWG)» . Earthdata.nasa.gov. Архивировано из оригинала 22 октября 2011 г. Проверено 19 мая 2013 г.
- ^ «Центр системной и программной инженерии ОСК» . Sunset.usc.edu . Проверено 19 мая 2013 г.
- ^ Савола, Рейхо М. (1 сентября 2013 г.). «Качество показателей и измерений безопасности» . Компьютеры и безопасность . 37 : 78–90. дои : 10.1016/j.cose.2013.05.002 . ISSN 0167-4048 .
Внешние ссылки [ править ]
- Метрики программного обеспечения (SQA.net)
- Метрики разработки программного обеспечения: что они измеряют и откуда мы это знаем
- Стандарт НАСА NASA-STD-8739.8 (стандарт обеспечения программного обеспечения и безопасности программного обеспечения)
- Показатели исходного кода HIS ( устарело, но для справки ; см. AUTOSAR )
- Метрики исходного кода HIS, версия 1.3.1, 01.04.2008 ( устарело, но для справки ; информацию см. в AUTOSAR )
- Фреймворк для метрик исходного кода
- NASA.gov
- Определения метрик SonarQube
- Метрики объектно-ориентированного программного обеспечения (2010)