Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
21-30.docx
Скачиваний:
5
Добавлен:
22.07.2019
Размер:
621.25 Кб
Скачать
  1. Збір даних. Вимірювання пз. Автоматизація вимірювань.

Вимі́рювання — пізнавальний процес знаходження відношення між двома величинами однакової природи — вимірюваною й умовноюодиницею вимірювання, а також дія, знаходження значення фізичної величини дослідним шляхом, порівнюючи її з одиницею виміру за допомогою спеціальних технічних засобів.

У більшості випадків вимірювання - це багаторазове спостереження величини, що вимірюється. При цьому одержують сукупність вимірів, які необхідно сумісно обробити для одержання результату. Виправлений результат вимірювання одержують шляхом вилучення систематичних похибок. Якість результатів вимірювання характеризується надійністю, правильністю і точністю. Існують три складові частини загальної похибки вимірювання і відповідні їм показники якості результатів вимірювання: грубі, систематичні і випадкові похибки. Відсутність грубих похибок (промахів) характеризує надійність результатів і досягається організацією вимірювання. Вилучення систематичних похибок характеризує правильність результатів і досягається за допомогою введення спеціальних коефіцієнтів або поправок. Випадкові похибки є неминучими, а їх величини і закон розподілу характеризують точність результатів вимірювання.

Важлива ознака вимірювання — точність. Ступінь точності змінюється залежно від вимог, які ставлять до результату вимірювання. На практиці не тільки неминучі, а й допустимі різні похибки вимірювання. Розроблено спеціальні методи оцінки й компенсації цих похибок. Аналіз механізму вимірювання має важливе гносеологічне значення в зв'язку з тим, що кількісні методи дослідження широко застосовуються в сучасній науці, охоплюючи сферу як природничих, так і соціальних явищ.

Вимірювання - основний метод отримання результатів; процес квантифікації властивостей(атрибутів) об’єктів(сутностей) реального світу. Метод –певна сукупність кроків щоб вирішувати певну задачу і отримати результат. Методика(техніка)- невелика дія, частина методу.

Розглянемо основні вимірювачі, що автоматизують вимірювання:

  • iPlasma - інструмент для C++ і Java; платформа, створена як університетський проект в Румунії, для якісної оцінки об'єктно-орієнтованого проекту. Вона створює звіт у вигляді піраміди, показуючи ключову метрику для вашого проекту разом з порівняннями до стандартних.

Кожен ряд має кольоровий відсоток; відсоток виходить через співвідношення номера на цьому ряду і тим, що під цим. В таблиці показано, що означають абревіатури метрик:

NDD Number of direct descendants (число прямих нащадків)

HIT Height of inheritance tree (висота дерева успадкування)

NOP Number of packages (число пакетів)

NOC Number of classes (число класів)

NOM Number of methods (число методів)

LOC Lines of code (рядки коду)

CYCLO Cyclomatic complexity (цикломатична складність)

CALL Calls per method (виклик методу)

FOUT Fan out (number of other methods called by a given method) (число інших методів, до яких звертається заданий метод)

Номери вказують на співвідношення; кольори вказують, як співвідношення відповідають стандартним рівням: зелений(в межах ряду), синій (нижче за ряд), або червоний (за межами ряду). Для розрахунків метрик в iPlasma також використовуються стандартні константні значення2. Analyst4j

  • Analyst4j автоматизує процес вимірювання і забезпечує опис оточення для знаходження, аналізу і виразного представлення якісті коду Java, його зразки і «небезпечні місця», які можуть виникнути в коді.

Об'єктно-орієнтовані метрики.

Додатки розвивалися для використання вихідних орієнтованих мов подібно до Яви і були задумані, як об'єкти зборів, які інтермедія один з одним, щоб досягти бажаної функціональності. Взаємодія між об'єктами створює взаємовідношення між ними.

Analyst4j вимірює ці метрики автоматично, які формують джерело для аналізу.

o Навантажена Складність Методів ( WMC)

o Відповідь Для Класу (RFC)

o Відсутність Методів, що Пов'язуються (LCOM)

o З'єднання Між Об'єктами (CBO)

o Глибина Дерева успадкування (DIT)

o Число нащадків (NOC)

Метрики складності

Складність системи або його компонентів визначається як ступінь, до якого система / компоненти має проект або виконання, яке важке, щоб розуміти і перевіряти. Взагалі програмна складність може бути класифікована в трьох напрямах: логічна складність категорій, психологічна складність і структурна складність.

Програмне забезпечення завжди «зв'язане» і має складні модулі або програми, цим самим знаходячи такі програми і плануючи їх, ми відповідно гарантуємо продуктивність. Метрика складності, запропонована Halstead, McCabe визначають кількість програмної складності, які широко використовуються, щоб оцінити і зрозуміти складність системи.

Analyst4j вимірюють наступні метрики складності автоматично:

  • цикломатична складність за МакКейбом;

  • істотна складність;

  • метрики Хольстеда.

Метрика індексу ремонтопридатності

Кількісне вимірювання ремонтопридатності оперативної системи бажане як і миттєвий захід, так і як провісник ремонтопридатності через якийсь час.

Analyst4j автоматизує процес вимірювання МІ.

Кодова метрика

Поки досліджується метрика, що спеціалізується, вище зазначені метрики забезпечують специфічні інтуїції про кодову якість; загальні кодові метрики мають своє використання, коли використовуються в комбінації один з одним або з метрикою, що спеціалізується, подібно до Метрики OO або Метрики Складності.

Analyst4j автоматизує наступну кодову метрику, через чотири рівні (Метод, Клас, Файл і Пакет).

    • Method Level

  1. Number of lines of Code (NLOC_MTD)

  2. Percentage of comments (POC_MTD)

  3. Number of Variables (NOV_MTD)

  4. Number of Unused Variables (NOUV_MTD)

  5. Number of comment lines (CL_MTD)

  6. Number of Parameters (NOP_MTD)

  7. Number of Unused Parameters (NOUP_MTD)

    • Class Level

  1. Number of Lines of Code(NLOC_CLS)

  2. Number of Parents (NOPNT_CLS)

  3. Number of Fields (NOFLD_CLS)

  4. Percentage of Non-Private Fields (NPFP_CLS)

  5. Percentage of Non-Private Methods (NPMP_CLS)

  6. Number of Inner Classes (NOIC_CLS)

    • File Level

  1. Number of Lines of Code (NLOC_FIL)

  2. Halstead Effort / Volume (HE_FIL, HV_FIL)

  3. SEI Maintainability Index (MI_FIL)

    • Package Level

  1. Number of Lines of Code (NLOC_PKG)

  2. Number of Classes (NOCLS_PKG)

  3. Number of Interfaces(NOIFC_PKG)

  4. Number of Files (NOF_PKG)

  • CCCC - інструмент для аналізу початкового коду в різних мовах (перш за все C++), який генерує повідомлення в HTML форматі на різних вимірюваннях обробки коду. Хоча інструмент спочатку здійснювався, щоб обробити C++ і ANSI C, теперішня версія також може обробити початкові файли Java, і підтримувати теперішні версії на Ada95. Абривіатура CCCC розшифровується як 'C and C++ Code Counter'. Вимірювання початкового коду цього вигляду загалом прямують до того, як 'метрика програмного забезпечення', або точніше метрика «програмного продукту» (оскільки термін'метрика програмного забезпечення` також покриває вимірювання процесу програмного забезпечення, які є під назвою 'software process metrics').

    LOC

    Лінії коду

    Цей показник перераховує рядки коду, початкового коду без коментаря у функції (LOCf), модулі (LOCm), або проекті (LOCp). Дана метрика була однією з найраніших, яка використовувалася.

    Це має очевидне відношення до розміру або складності частини коду, і може бути відкалібрований для використання в прогнозі зусиль.

    MVG

    Цикломатична складність за Мак Кейбом

    Дана метрика призначена для оцінювання складності потоку управління програми (control flow graph) і обчислюється на основі орієнтованого графа, де обчислювальні оператори або вирази представляються у вигляді вузлів, а передача управління між вузлами - у вигляді дуг.

    COM Коментовані рядки

    Рядок коментаря - лінія або частина лінії в програмі, яка призначається як зауваження, або коментарій проігнорених програмних дій. Це наголошується в межах файлу, використовуючи крапку з комою або REM, щоб відзначити лінію як коментар

    Fan-out, Fan-in

    Для даного модуля А, fan-out - число інших модулів, які модуль А використовує, а fan-in - число інших модулів, які використовують модуль А.

    NOM

    Число модулів присутніх в проекті.

    WMC Зваженість методів класу

    Ця метрика - сума складнощів методів, визначених в класі. Тому вона представляє складність класу, як ціле і тому вона може використовуватися, щоб вказувати розвиток і підтримку зусиль для класу.

  • Visual Studio 2008Team Edition для розробників програмного забезпечення, який являється частиною Visual Studio Team System має інструмент, який називається Code Metrics. Він використовується для визначення того як написаний код, ґрунтується на певних критеріях і показує результати в окремому вікні. Підрахунки ґрунтуються на таких критеріях: цикломатична складність, кількість рядків коду, глибина наслідування і т.д. все це впливає на індекс зручності підтримки коду (maintainability index).

Code Metrics забезпечує зворотній зв’язок з розробниками за наступними факторами:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]