Разработка приложения для получения метрик программного продукта на языке объектно-ориентированного программирования

Авторы

  • Артем Олегович Корзников Пермский государственный национальный исследовательский университет https://orcid.org/0009-0006-3941-9214
  • Наталья Николаевна Дацун Пермский государственный национальный исследовательский университет https://orcid.org/0000-0001-8560-7036

DOI:

https://doi.org/10.17072/1993-0550-2023-3-76-84

Ключевые слова:

метрика, язык объектно-ориентированного программирования, статический анализ кода, оценка программного продукта

Аннотация

Все группы процессов жизненного цикла программного продукта на стороне разработчика сложны в осуществлении. При этом следует учитывать возможность генерации программного кода, а в случае командной работы – потребность оценки вклада каждого ее участника. В работе предлагается количественная оценка различных аспектов программного обеспечения путем вычисления метрик программного кода. Цель данной работы – разработка приложения расчета метрик для различных языков объектно-ориентированного программирования (ООП). Задачами являются раз-работка подходов к применению метрик для оценки и сравнения программного кода, реализация приложения расчета метрик. Создано описание для подмножества языков C#, C++ и Java. Впервые предложены шкалы значений для метрик Холстеда, подходы к анализу динамики изменения программного продукта и сравнению различных программ решения одной задачи. Это позволяет дать интерпретацию значений метрик. Разработано приложение Metrics Observer расчета 11 метрик для программ на языке ООП и 16 метрик, не зависящих от парадигмы. Практическая значимость состоит в подготовке решений для сравнения различных реализаций одной задачи, выявления участков кода для рефакторинга, оценки динамики изменения качества кода в процессе разработки / рефакторинга и вклада в проект отдельных разработчиков.

Библиографические ссылки

Xenos M. Software Metrics and Measurements // Encyclopedia of E-Commerce, E-Government and Mobile Commerce. Idea Group Publishing, 2006. P. 1029–1036.

ISO 9000 family. Quality management. URL: https://www.iso.org/iso-9001-quality-management.html (дата обращения: 30.06.2023).

CMM. Capability Maturity Model. URL: https://www.geeksforgeeks.org/software-engineering-capability-maturity-model-cmm/ (дата обращения: 30.06.2023)

CMMI. Capability Maturity Model Integration. URL: https://docs.microsoft.com/en-us/azure/-devops/boards/work-items/guidance/cmmi/-guidance-background-to-cmmi?view=azure-devops (дата обращения: 30.06.2023).

Звездин С. Метрики как средство управления качеством // Открытые системы. СУБД. 2009. № 08. C. 36–40.

Значения метрик кода – Visual Studio (Win-dows). URL: https://docs.microsoft. com/ru-ru/visualstudio/code-quality/code-metrics-values?view=vs-2019 (дата обращения: 30.06.2023).

SourceStat – расчет метрик программного обеспечения. URL: http://bitaks.com/products/sourcestat/sourcestat.html (дата обращения: 30.06.2023).

NLOC – Source Line Counter Tool. URL: http://nloc.sourceforge.net/index.html (дата об-ращения: 30.06.2023).

Lee M.-C., Chang T. Software Measurement and Software Metrics in Software Quality // International Journal of Software Engineering and Its Applications. 2013. Vol. 7, № 4. P. 15–34. URL: https://www.researchgate.net/publication/260480820_Software_measurement_and_software_metrics_in_software_quality (дата обращения: 30.06.2023).

Корзников А.О., Дацун Н.Н. Реализация приложения расчета метрик кода на объектно-ориентированном языке программирования / Актуальные проблемы математики, механики и информатики: сб. статей по материалам студ. конф. / Перм. гос. нац. исслед. ун-т. Пермь, 2022. С. 40–45. URL: https://www.elibrary.ru/item.asp?id=49889579 (дата обращения: 30.06.2023).

Ахо А., Сети Р., Ульман Д. Компиляторы: Принципы, технологии, инструменты. М.: Вильямс, 2008. 1184 с.

Загрузки

Опубликован

06.10.2023

Как цитировать

Корзников, А. О., & Дацун, Н. Н. (2023). Разработка приложения для получения метрик программного продукта на языке объектно-ориентированного программирования. ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА. МАТЕМАТИКА. МЕХАНИКА. ИНФОРМАТИКА, (3 (62), 76–84. https://doi.org/10.17072/1993-0550-2023-3-76-84

Выпуск

Раздел

Информатика, кибернетика и вычислительная техника