Обзор автоматизированных средств для расчета объектно-ориентированных метрик

Определение качества продукта, прогнозирование качества и улучшение программной системы. Рассмотрение метрик, позволяющих определить сложность объектно-ориентированного проекта. Рассмотрение основных инструментов для оценки метрик программного кода.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 12.03.2019
Размер файла 461,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Волжский политехнический институт (филиал) Волгоградского технического университета

ОБЗОР АВТОМАТИЗИРОВАННЫХ СРЕДСТВ ДЛЯ РАСЧЕТА ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ МЕТРИК

Ткачева А.Ю.

Метрика - это мера, позволяющая оценить степень системы, компонентов или процессов, обладающих заданным атрибутом. Например, эту меру можно использовать в расчетах числа ошибок на затраченный человеко-час. Их основное назначение - определение качества продукта, прогнозирование качества и улучшение данной программной системы. Этот процесс актуален в разработке программного обеспечения, так как он решает ряд следующих задач:

? оценить стоимость проекта;

? определить график выполнения работ;

? оценить производительность применяемых средств и методов с течением времени;

? спрогнозировать потребности в персонале;

? сократить расходы на техническое обслуживание.

Объектно-ориентированные метрики нацелены на оценку сложности объектно-ориентированных проектов. Основу программного кода таких проектов составляют классы. Они имеют возможность инициализироваться и существовать самостоятельно, наследоваться, зависеть друг от друга, ассоциироваться.

Существует ряд метрик, позволяющих определить сложность объектноориентированного проекта:

? Weighted Methods Per Class (WMC) - взвешенная насыщенность класса. Отражает относительную меру сложности класса на основе цикломатической сложности каждого его метода. Класс с более сложными методами и большим количеством методов считается более сложным. При вычислении метрики родительские классы не учитываются.

? Depth of inheritance tree (DIT) - длина самого длинного пути наследования, заканчивающегося на данном модуле. Чем глубже дерево наследования модуля, тем может оказаться сложнее предсказать его поведение. С другой стороны, увеличение глубины даёт больший потенциал повторного использования данным модулем поведения, определённого для классов-предков.

? Number of children (NOC) - количество наследуемых модулей. Большие значения этой метрики указывают на широкие возможности повторного использования; при этом слишком большое значение может свидетельствовать о плохо выбранной абстракции.

? Coupling between objects (CBO) - количество модулей, связанных с данным модулем в роли клиента или поставщика. Чрезмерная связность говорит о слабости модульной инкапсуляции и может препятствовать повторному использованию кода.

? Response For Class (RFS) - количество методов, которые могут вызываться экземплярами класса.

Практически на всех платформах для разработки ПО присутствуют инструменты для оценки метрик программного кода. Обычно, они совмещаются с системами статистического анализа кода.

Одна из самых распространённых сред разработки программного обеспечения - Visual Studio. Получить оценку кода можно нажав правой кнопкой на проекте и выбрав пункт “Calculate Code Metrics” (Рис.1).

программный метрика код проект

Рис. 1 Пример расчета метрик в Visual Studio

Данное программное обеспечение позволяет определить цикломатическую сложность, глубину наследования, взаимозависимость классов - объектноориентированные метрики. Глубина наследования определяется числом уровней наследования в модуле; чем меньше, а взаимозависимость классов - определяет число классов, на которые есть ссылки. Чем данные показатели ниже, тем качественнее считается продукт.

Другой не мало известной средой создания программного обеспечения является Oracle Solaris Studio.

В OSS включены средства сборки, отладки, профилирования и анализа многопоточных приложений. В ней для подсчета объектно-ориентированных метрик используется Performance Analyzer (Рис.2).

Рис. 2 Пример работы Performance Analyzer

Oracle Solaris Studio позволяет разрабатывать приложения на объектноориентированных языках С++, С#, Java, а Performance Analyzer позволяет подсчитать сложность классов и их взаимодействия.

GlowCode используется разработчиками программного обеспечения для анализа и оптимизации приложений, производительности, скорости и использования ресурсов. Возможности GlowCode включают в себя обнаружение низкой производительности и утечек памяти (Рис. 3).

Рис. 3 Пример работы GlowCode

GlowCode показывает продолжительность, частоту использования вызовов методов и определяет, какие функции играют наиболее важную роль во времени ресурсоемких задач. GlowCode также выявляет проблемы в динамическом связывании методов, глубине абстракции, скорости доступа к данным, динамического создания и уничтожения объектов.

Shark от Apple является анализатором производительности, используемый разработчиками программного обеспечения для оптимизации программ программного обеспечения на Mac OS X (Рис.4). Он предоставляет образцы программного обеспечения через определенные промежутки времени (или движимый монитор производительности аппаратных средств событий), позволяет делать моментальные снимки стека, показывающий функции, которые требуют больше ресурсов приложения. Включает в себя инструменты для анализа данных, полученных с помощью прогона выборки. На основе этих данных обычно подсчитываются простые метрики для оценки производительности труда (KLOC/человеко-месяц) и качества изделия. Эти метрики не универсальны и спорны, особенно это относится к такому показателю как LOC, который существенно зависит от используемого языка программирования.

Рис. 4 Пример работы Shark

Таким образом, были рассмотрены наиболее используемые автоматизированные средства расчета объектно-ориентированных метрик для различных операционных систем. Программ исключительно для расчета объектно-ориентированных метрик очень мало, они могут создаваться предприятиями, деятельность которых тесно связана с объектноориентированным программированием. Все вышеперечисленные средства могут применяться не только для расчета объектно-ориентированных метрик, но и для расчета метрик количества строк кода, цикломатической сложности, количества ошибок, степени покрытия кода, покрытия требований. Существуют средства, поддерживающие работу исключительно на одной операционной системе (например, Shark), и те, которые совместимы с несколькими операционными системами (например, с Windows и Linux).

Список литературы

1. Марков А.С., Цирлов В.Л., Барабанов А.В. Методы оценки несоответствия средств защиты информации / А.С.Марков, В.Л.Цирлов, А.В.Барабанов; под ред. А.С.Маркова. М.: Радио и связь, 2012. 192 с.

2. Широков А.И., Потоцкий Е.П. Стандартизация, сертификация и оценка качества программного обеспечения: учеб. Пособие. М.: Издательский дом МИСиС, 2013. 208 с.

3. Статья Code Metrics Values в справочном руководстве по C# MSDN. http://msdn.microsoft.com/en-us/library/bb385914.aspx.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.