Разработка программно-алгоритмического обеспечения для расчета индекса сопровождаемости исходного кода программ на языке программирования C#
ФИО: Грозов Р. А.
Направление: Информационные технологии
Научный руководитель: к.т.н. доц. Широков Андрей Игоревич
Институт: Институт информационных технологий и автоматизированных систем управления
Кафедра: Кафедра Инженерной кибернетики
Академическая группа: ММ-11-1
Хорошее программное обеспечение должно обладать рядом свойств, позволяющим успешно использовать его в течение длительного периода, т.е. обладать определенным качеством. Одним из таких свойств является сопровождаемость программы. Сопровождение программного обеспечения – процесс улучшения, оптимизации и устранения дефектов программного обеспечения. Индекс сопровождаемости количественно выражает относительную легкость сопровождения. Данное свойство должно отслеживаться на этапе разработки программного обеспечения. Оригинальная формула расчета индекса сопровождаемости, разработанная Оманом и Хагермейстером, имеет следующий вид :
Исследования в области метрик исходного кода показали, что существующий способ расчета и его модификации в некоторых случаях слабо отражают связь между значением метрики и затратами времени на сопровождение.
Основной целью работы является модификация оригинальной формулы расчета индекса сопровождаемости, с использованием функций, аргументами которых будут метрические показатели исследуемого кода программы, вместо константных значений.
Задача разбивается на следующие этапы:
1. Анализ существующих способов расчета индекса сопровождаемости.
2. Разработка ПО для статического анализа программного кода.
3. Сбор метрических данных большого количества программ и их анализ.
4. Выявление функций для модификации формулы расчета индекса сопровождаемости.
5. Анализ эффективности разработанного способа расчета.
В ходе исследования было разработано программное обеспечение, позволяющее проводить статический анализ исходного кода и вычислять следующие метрические показатели: количество строк кода, цикломатическая сложность и метрики Холстеда.