- •Анализ кода программ:
- •1)Анализ кода с точки зрения размера программы по Холстеду:
- •2)Анализ программы с точки зрения сложности потока управления по МакКейбу:
- •3)Анализ кода с точки зрения сложности потока данных по Чепину
- •4)Анализ программы с точки зрения ее интеллектуальности по Холстеду:
- •5)Анализ кода программы с точки зрения стилистики и коментированности:
- •1)Анализ кода с точки зрения размера программы по Холстеду:
- •4)Анализ программы с точки зрения ее интеллектуальности по Холстеду:
- •Cводная таблица метрик по 2 програмам
- •2)Анализ программы с точки зрения сложности потока управления по МакКейбу:
- •3)Анализ кода с точки зрения сложности потока данных по Чепину
2)Анализ программы с точки зрения сложности потока управления по МакКейбу:
граф программы:
L=18
V=18
P=1
Z=18-18+2=2
3)Анализ кода с точки зрения сложности потока данных по Чепину
using System;
using System.Collections.Generic;(T)
using System.Linq;(T)
using System.Text;
namespace lab2_metrologia
{
class Program
{
static void Main(C)(string[] args(C))
{
string chislo1(P);//обявляем строковые переменные
string chislo2(P);
int ch1(M);//обявляем числовые переменные
int ch2(M);
int summa(P);
.
.
.
P=3
M=2
C=2
T=2
Q=3+2*2+3*2+2/2=3+4+6+1=14
4)Анализ программы с точки зрения ее интеллектуальности по Холстеду:
L=
=
0.07
I=0.07*18 = 1.26
E=122.79*log2
= 1079
Ʌ= 0.072*18 = 0.0882
программа разбита на 9 фрагментов, началом каждого фрагмента служит пустая строка:
F1=0/3 – 0.1 = -0.1
F2=0/3 – 0.1 = -0.1
F3=1/2 – 0.1 = 0.4
F4=1/3 – 0.1 = 0.2
F5=3/3 – 0.1 = 0.9
F6=1/3 – 0.1 = 0.2
F7=1/1 – 0.1 = 0.9
F8=1/1 – 0.1 = 0.9
F9=2/2 – 0.1 = 0.9
F=-0.1-0.1+0.4+0.2+0.9+0.2+0.9+0.9+0.9=4.2
Cводная таблица метрик по 2 програмам
метрика |
Программа 1 |
Программа 2 |
n1-словарь операторов |
53 |
17 |
n2-словарь операндов |
51 |
14 |
N1-общее число операторов |
132 |
36 |
N2-общее число операндов |
92 |
23 |
n-оценка словаря программы |
104 |
31 |
N-оценка длины программы |
224 |
55 |
V-объем программы |
1501 |
292.298 |
Ň-теоретическая длина программы |
592.873 |
122.79 |
L-число дуг |
83 |
18 |
V-число вершин |
85 |
18 |
P-количество мер связности |
3 |
1 |
Z-цикломатическое число МакКейба |
4 |
2 |
P-количество переменных, вводимых для расчета и обеспечения вывода |
7 |
3 |
M-модифицируемые переменные |
5 |
2 |
C-управляющие переменные |
2 |
2 |
T-количество паразитных переменных |
0 |
2 |
Q-метрика Чепина |
23 |
14 |
L-оценка уровня программирования по Холстебу |
0.02 |
0.07 |
I-интеллектуальность программы |
1.7 |
1.26 |
E-оценка интеллектуальных усилий для написания программы |
7319 |
1079 |
Ʌ-оценка уровня языка программирования |
0.034 |
0.0882 |
F-метрика коментируемости |
4.1 |
4.2 |
