.RU

Оценка значений метрик - Разработка программного модуля расчета метрик исходного кода программ Направление: 230100...


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

Суммарная корректность определяется как сумма некоторых функций корректности метрик каждой программной единицы. Функция корректности отражает степень близости значения метрики ее идеальному значению и может задаваться в зависимости от требований к конкретному проекту. Область значений функции: [0..1]. Значение функции равное 1 соответствует корректному значению метрики, значение 0 максимальному удалению значения метрики от корректного значения. В простейшем случае функция корректности метрики равна 1, если значение метрики укладывается в рекомендуемый диапазон, и 0 — если не укладывается. В других случаях, функция может принимать значение 1, если величина метрики совпадает с каким-либо оптимальным значением и увеличиваться, стремясь к 0, по мере удаления от него и приближения к границам диапазона корректных значении. Для задания значимости степени близости конкретной метрики корректному значению необходимо введение весового коэффициента для каждой метрики. Сумма весовых коэффициентов всех метрик должна равняться 1. Варьируя весовыми коэффициентами можно задавать направление оптимизации для достижения требуемого корректного значения определенного набора метрик. В простейшем случае при наличии N метрик весовой коэффициент может быть равен 1/N для каждой метрики. Суммарную корректность можно определить как сумму произведений значений функции корректности и весового коэффициента для каждой составляющей метрики.[10]

    1. ^ Обзор современных средств расчёта метрик
1.1.7Средства расчёта метрик для сред разработки
Для обзора средств расчёта метрик были выбраны две наиболее популярные среды разработки Eclipse и NetBeans. Обе среды свободно распространяемы и являются «open source» проектами.

Eclipse Metrics Plugin для среды Eclipse. Поддерживает следующие метрики:




Рис. 1.5. Отображение метрик Eclipse Metrics Plugin.


JDepend Plugin для среды Eclipse. Поддержка метрик:





Рис. 1.6. Отображение метрик JDepend Plugin.


Обзор средств расчёта метрик для среды NetBeans выявил недостаток. Набравшая большую популярность в последнее время она не имеет собственных средств оценки качества кода. Что касается встраиваемых дополнений в виде модулей, то все они имеют больше минусов, чем плюсов. Рассмотрим некоторые из них.

Одним из первых модулей для расчёта метрик являлся плагин “NetBeans Metrics Module” (рис. 1.7), разработанный сообществом NetBeans. В его состав входило 7 метрик. Модуль имел много недостатков и его так и не включили в стандартный пакет.[8] Большим минусом было то, что модуль не имел никакого отношения к исходным кодам. Он работал напрямую с откомпилированными .class файлами вместо исходных кодов Java (.java).



Рис. 1.7. Отображение метрик NetBeans Metrics Module


Другим средством расчёта был плагин JRefactory. Помимо своего главного назначения применять рефакторинг он также мог рассчитывать метрики. Автор программы Майк Аткинсон пытался поддерживать работу плагина параллельно в 4 средах разработки. По мере развития сред проект медленно переставал развиваться. Последний раз он был модифицирован в 2004 году. Минусом данного проекта было наличия своего собственного парсера, который тащил за собой плагин. Некоторые дефекты парсера не позволяли полностью распознать все конструкции языка Java.[9]
^ 1.1.8Специализированные программные продукты анализа кода
Borland Together – коммерческий инструмент UML-моделирования, дополненный возможностями вычисления метрик исходного кода. Поддерживается обширное число различных метрик, значительная часть которых – объектно-ориентированные: SLOC, количественные метрики классов (число атрибутов, классов, конструкторов, операций), цикломатическая сложность, метрики сложности классов (LOCOM1, LOCOM2, LOCOM3, WMPC1, WMPC2, NORM), метрики связности, Холстеда, наследования, полиморфизма, процентные соотношения (доля комментариев, приватных, публичных и защищенных членов классов), максимальные значения (уровня вложенности, числа параметров и операций).

Verisoft Complexity Measures Tool – коммерческий продукт. Поддерживаются только языки C/C++ и Java (поставляется в виде двух различных редакций). С помощью этого продукта можно рассчитывать следующие метрики: SLOC, цикломатическую сложность, метрики Холстеда, индекс сопровождаемости . Имеет графический интерфейс (с возможностью работы в режиме командной строки), позволяет формировать отчеты в текстовой форме или HTML.

Существуют также специализированные продукты в основном рассчитанные на набор метрик Чидамбера и Кемерера и обычно являются коммерческими.(табл. 1.2)

Таблица 1.2.

Специализированные коммерческие продукты для расчета метрик

Пакет

Производитель

Поддерживаемые языки

^ Считаемые метрики

RSM Metrics

M Squared Technologies

C++, Java

DIT, NOC

Project Analyzer

Aivosto

Visual Basic

Весь набор

SDMetrics

SDMetrics

C++, Java

WMC, DIT, NOC, CBO, RFC

Krakatau Metrics

Power Software

C++, Java, Visual Basic

Весь набор

Software Metrics

McCabe & Associates

C++, Java

WMC, DIT, NOC, RFC, LCOM


Проанализировав данные программные пакеты можно сказать, что все они достаточно узконаправленны, это очевидно является недостатком. Метрики для конкретно поставленной задачи часто ограничивают пользователя. Приходится прибегать к сторонним поискам, находить другие пакеты. В итоге это всё часто приводит к параллельной работе пользователя сразу в нескольких средств.



  1. ocherk-3-stupeni-i-etazhi-poznaniya-mira-zemli-ditmar-a-d-d-49-ot-ptolemeya-do-kolumba.html
    ocherk-7-tropoyu-borbi-ditmar-ot-ptolemeya-do-kolumba.html
    ocherk-ii-ob-upravlenii-dvizheniyami-programma-oborona-nikolaj-aleksandrovich-bernshtejn-olovkosti-i-ee-razvitii-o.html
    ocherk-iv-o-postroenii-dvizhenij-programma-oborona-nikolaj-aleksandrovich-bernshtejn-olovkosti-i-ee-razvitii-o-lovkosti.html
    ocherk-prirodi-istoricheskij-ocherk-turistsko-ekskursionnie-marshruti.html
    ocherk-teorii-socialnogo-gosudarstva-stranica-18.html
  2. upbringing.bystrickaya.ru/konkurs-prizvan-stimulirovat-tvorcheskuyu-aktivnost-uchashihsya-i-studentov-v-odnom-iz-vazhnejshih-vidov-vospitaniya-molodih-muzikantov-ovladenii-igroj-na-fortepiano.html
  3. holiday.bystrickaya.ru/o-malchike-kotorij-umel-letat-ili-put-k-svobode-stranica-29.html
  4. znaniya.bystrickaya.ru/rabochaya-programma-pedagogicheskaya-psihologiya-specialnost-030301-65-020400-psihologiya-kaliningrad.html
  5. zadachi.bystrickaya.ru/nalogooblozhenie-malogo-biznesa-v-razlichnih-stranah.html
  6. ekzamen.bystrickaya.ru/smi-regionalnaya-pressa-16-06-2009-mediaset-vsya-rossiya-novosti-regionov.html
  7. kanikulyi.bystrickaya.ru/vvedenie-v-psihologiyu-lekciya-psihicheskie-yavleniya-i-zhiznennie-processi.html
  8. zadachi.bystrickaya.ru/obraz-carya-ivano-groznogo-v-pesne-pro-kupca-kalashnikova-myu-lermontova.html
  9. crib.bystrickaya.ru/indeks-potrebitelskih-cen-na-prodovolstvennie-tovari-vklyuchaya-alkogol.html
  10. reading.bystrickaya.ru/konvenciya-o-likvidacii-vseh-form-diskriminacii-v-otnoshenii-zhenshin.html
  11. shpargalka.bystrickaya.ru/vliyanie-rechevoj-tonalnosti-na-evolyuciyu-intonacionnogo-stroya-yazika-eksperimentalno-foneticheskoe-issledovanie-na-materiale-anglijskogo-nemeckogo-i-russkogo-yazikov-stranica-3.html
  12. paragraph.bystrickaya.ru/konspekti-individualnih-logopedicheskih-zanyatijs-detmi-so-stertoj-dizartriej.html
  13. notebook.bystrickaya.ru/harkov-ul-girshmana-4-telefon-057-752-10-70.html
  14. lesson.bystrickaya.ru/programma-po-russkomu-yaziku-5-9klassi-1-stranica-2.html
  15. tetrad.bystrickaya.ru/uchebno-metodicheskij-kompleks-po-discipline-case-sredstva-proektirovaniya-informacionnih-sistem.html
  16. obrazovanie.bystrickaya.ru/pravila-ustrojstva-i-bezopasnoj-ekspluatacii-truboprovodov-para-i-goryachej-vodi-pb-10-573-03-sm-takzhe-p-17.html
  17. textbook.bystrickaya.ru/gosudarstvennij-obrazovatelnij-standart-visshego-professionalnogo-pedagogicheskogo-obrazovaniya-19-struktura-podgotovki-pedagogicheskih-rabotnikov.html
  18. tests.bystrickaya.ru/metodicheskie-rekomendacii-po-provedeniyu-gosudarstvennoj-akkreditacii-obrazovatelnih-uchrezhdenij-orlovskoj-oblasti-orel-2009-stranica-18.html
  19. occupation.bystrickaya.ru/o-strukture-literaturnogo-teksta.html
  20. institute.bystrickaya.ru/glava-3pravovie-i-eticheskie-osnovi-otnoshenij-s-obshestvennostyu-upravlenie-obshestvennimi-otnosheniyami.html
  21. knowledge.bystrickaya.ru/monitoring-smi-rf-po-pensionnoj-tematike-2-noyabrya-2010-goda.html
  22. pisat.bystrickaya.ru/ssha-tur-vsya-amerika-nyu-jork-filadelfiya-vashington-orlando-majami-las-vegas-los-anzheles-zaezd-i-24-12-10-02-01-11-21-01-11-11-02-11-04-03-11-18-03-11.html
  23. zadachi.bystrickaya.ru/metodi-raskrashivaniya-poverhnostej-metod-guro-fonga-trassirovka-luchej-prelomlenie-sveta.html
  24. bukva.bystrickaya.ru/nekrasov-nikolaj-alekseevich-2.html
  25. notebook.bystrickaya.ru/ilin-gv-konferencii-po-sozdaniyu-programmi-mezhdunarodnogo-polyarnogo-desyatiletiya-4-7-oktyabrya-2010-g.html
  26. predmet.bystrickaya.ru/respublika-hakasiya-s-maya-2010-goda-po-aprel-2011-goda.html
  27. spur.bystrickaya.ru/literatura-25-poyasnitelnaya-zapiska-programma-obsheobrazovatelnoj-uchebnoj-disciplini-informatika.html
  28. thescience.bystrickaya.ru/hristianstvo-segodnya-kniga-enciklopedicheskogo-soderzhaniya-vobravshaya-v-svoi-500-stranic-informaciyu-pochti-obo-vseh.html
  29. kanikulyi.bystrickaya.ru/zakona-kemerovskoj-oblasti-ot-26-12-2009-136-oz-ob-organizacii-i-obespechenii-otdiha-i-ozdorovleniya-detej.html
  30. letter.bystrickaya.ru/nalogovoe-zakonodatelstvo-doklad-osostoyanii-i-perspektivah-razvitiya.html
  31. college.bystrickaya.ru/3-nauka-kabbala-i-ee-sut-metodika-izucheniya-kabbali-11-vozdejstvie-kabbalisticheskih-tekstov-11-kratkoe-opisanie.html
  32. paragraph.bystrickaya.ru/kontrolnaya-rabota-1-po-kursu-doshkolnaya-pedagogika.html
  33. nauka.bystrickaya.ru/uchyonij-i-praktik-polkovnik-medicinskoj-sluzhbi-zapasa-uchastnik-likvidacii-mediko-sanitarnih-posledstvij-avarij-na-himicheski-opasnih-obektah-i-navodnenij-v-dal-stranica-17.html
  34. predmet.bystrickaya.ru/specialnaya-chast-voprosi-i-programma-vstupitelnogo-ekzamena-v-klinicheskuyu-ordinaturu-po-programme-infekcionnie-bolezni.html
  35. esse.bystrickaya.ru/programma-uchebnoj-disciplini-nemeckij-yazik-v-sfere-yurisprudencii.html
  36. thesis.bystrickaya.ru/pravila-pozharnoj-bezopasnosti-dlya-predpriyatij-i-organizacij-gazovoj-promishlennosti-vppb-01-04-98.html
© bystrickaya.ru
Мобильный рефератник - для мобильных людей.