Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 4794 Методичні вказівки до лабораторної роботи №3 на тему Вимірювання програмного забезпечення

Методичні вказівки до лабораторної роботи №3 на тему Вимірювання програмного забезпечення

« Назад

Методичні вказівки до лабораторної роботи №3 на тему Вимірювання програмного забезпечення

Мета роботи: навчитися отримувати значення метрик для різного програмного забезпечення за допомогою вимірювачів. 

Завдання:

  1. Зрозуміти основні принципи вимірювання та особливості вимірювання програмного забезпечення.

  2. Знати засоби для вимірювань ПЗ та метрики, які можна отримати за допомогою цих засобів.

  3. Дослідити засіб для вимірювань iPlasma. Знати його архітектуру та можливості застосування.

  4. Провести вимірювання отриманого раніше програмного забезпечення. Проаналізувати отримані результати. 

ТЕОРЕТИЧНІ ВІДОМОСТІ

За допомогою iPlasma можна отримати значення 80-х об’єктно-орієнтованих метрик. Функціонально повний засіб для вимірювання, який вимірює метрики, які відносяться як до окремих класів, методів та пакетів, так і для проекту в цілому. Крім того, метрики виводяться не тільки в числовому вигляді, а й у графічному – у вигляді гістограми. Інструмент вільно розповсюджується.

На рис. 1 показано архітектуру платформи iPlasma. Інструмет починає роботу прямо Рис. 4.1. Архітектура платформи iPlasma з вихідного коду програм на мові Java або C++ та забезпечує повну підтримку всіх фаз,

необхідних для аналізу програмного забезпечення, починаючи від аналізу вихідного коду та побудови моделі до налаштування середовища для окремих видів аналізу, включаючи навіть пошук дублювання коду (рис. 2). Усі підсистеми інтегровані разом за допомогою інтерфейсу INSIDER.

Рис.4.2 Функціонування iPlasma

Основні компоненти

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

Для JAVA системи використовується відкритий аналізатор коду що називається RISODIR для отримання об’ектно-орієнтованої моделі FAMIX.

MSS (екстрактор моделі для C++) інструмент що вилучає згадано вище модель з С++ вихідного коду, побудований на основі TILILOJIS`S-FAST бібліотеки. Вона отримує не обхід дерик торію що містить вихідні коди та проектну інформацію.

FAMIXМодель. FAMIX мета модель може представляти JAVA та С++ системи у однорідному вигляді, фіксуючилише проектну інформацію. Одна з основних ролей FAMIX – забезпечення цілісної моделі навіть якщо код, який підлягає аналізу неповний або відсутні бібліотеки; а також – в забезпеченні великих програмних систем спрощенням навігації.

INSIDER. INSIDER – це інтегрований інтерфейс що об’єднує інтерфейси різних аналітичних інструментів, забезпечуючи їм однорідний зовнішній вигляд.

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

МЕТОДИЧНІ ВКАЗІВКИ 

Вивчити можливості функціональності iPlasma. Дослідити засіб спочатку на малих проектах: зрозуміти, які дані можна отримати за допомогою цього засобу, як їх інтерпретувати, провести вимірювання ПЗ. Потім провести дослідження проектів, отриманих в 1-й лабораторній роботі. Дослідження провести як проекту в цілому, так і окремих компонентів. Результати досліджень: значення метрик, гістограми, залежності та висновки помістити у звіт. Пояснити отримані результати. Співставити отримані результати досліджень ПЗ за допомогою iPlasma з власними дослідженнями, проведеними в лабораторній роботі № 1. Вимірювання метрик провести згідно варіанту. 

ВАРІАНТИ ЗАВДАНЬ 

Варіант

Прямі метрики

Непрямі метрики

1

CYC, NOM, NOC, CALL, FOUT

AMW, ATFD, BOvR

2

LOC, NOM, NOP, HDD, HIT

CC, CDISP, CINT

3

CYC, LOC, NOC, FOUT, HDD

CM, WOC, FDP

4

NOM, NOC, NOP, HDD, CALL

WMC, TCC, PNAS

5

NOP, LOC, HIT, NOM, CALL

NProtM, NOPA, NOAV

6

CYC, NOP, HIT, FOUT, NOC

NOAM, MAXNESTING, LAA

7

LOC, NOC, HDD, CALL, NOM

AMW, ATFD, BOvR

8

CYC, NOM, NOC, CALL, FOUT

CC, CDISP, CINT

9

LOC, NOM, NOP, HDD, HIT

CM, WOC, FDP

10

CYC, LOC, NOC, FOUT, HDD

WMC, TCC, PNAS

11

NOM, NOC, NOP, HDD, CALL

NProtM, NOPA, NOAV

12

NOP, LOC, HIT, NOM, CALL

NOAM, MAXNESTING, LAA

13

CYC, NOP, HIT, FOUT, NOC

AMW, ATFD, BOvR

14

LOC, NOC, HDD, CALL, NOM

WMC, TCC, PNAS

15

CYC, NOM, NOC, CALL, FOUT

NProtM, NOPA, NOAV

КОНТОЛЬНІ ЗАПИТАННЯ 

  1. Що таке вимірювання?

  2. Які прямі метрики можна отримати за допомогою iPlasma?

  3. Які основні непрямі метрики можна отримати за допомогою iPlasma?

  4. Які є можливості для візуалізації метрик в iPlasma?

  5. Поясніть отримані значення прямих метрик та їх графічну інтерпретацію.

  6. Які висновки та рекомендації можна зробити на основі проведених вимірювань?

  7. Поясніть отримані значення деяких непрямих метрик.

  8. Продемонструйте та поясніть взаємозв’язки між класами.

  9. Продемонструйте та поясніть взаємозв’язки між методами.

  10. Порівняйте виміряні проекти та поясніть плюси та мінуси кожного із них та в цілому всіх на основі проведених вимірювань.

З повагою ІЦ "KURSOVIKS"!