Скачиваний:
30
Добавлен:
26.12.2017
Размер:
715.09 Кб
Скачать

Министерство образования и науки Российской Федерации

Тверской государственный технический университет

Кафедра информационных систем

Расчетно-графическая работа

по дисциплине «Стандартизация программных средств»

Задание № 10

Выполнил: %username%

группа ИСТ

Проверил: Котов С.Л.

Тверь 20xx г.

Оглавление

Часть 1.......................................................................................................3

1.1 Построение модульной структуры программы......................................3

1.2 Построение списка путей вызовов...........................................................3

1.3 Определение количественных характеристик программы....................4

1.4 Вывод о качестве программы...................................................................6

1.5 Разработка программы на основе заданной матрицы............................7

1.6 Скриншоты работы программы...............................................................9

Часть 2......................................................................................................................10

2.1 Построение матрицы вызовов и достижимости...................................10

2.2 Построение графа вызовов.....................................................................10

2.3 Определение количественных характеристик программы..................11

2.4 Расчет сложности по Маккейбу.............................................................11

2.5 Расчет тестируемости..............................................................................12

2.6 Расчет сложности по Холстеду..............................................................14

2.7 Вывод о качестве программы.................................................................16

Часть 3.....................................................................................................................17

3.1 Расчет трудоемкости разработки...........................................................17

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

Часть 1

1.1 Построение модульной структуры программы

В соответствии с представленной матрицей вызовов и достижимости, модульная структура программы будет выглядеть следующим образом:

1.2 Построение списка путей вызовов

В соответствии с построенной модульной структурой программы составляем список путей вызовов:

Р1: М1-М2-М5-М10

P2: M1-M2-M6-M11

P3: M1-M3-M7-M10

P4: M1-M3-M7-M11

P5: M1-M4-M9-M12

P6:M1-M4-M8

1.3 Определение количественных характеристик программы

Расчет иерархической сложности:

Иерархическая сложность программы рассчитывается по следующей формуле:

I=N/L,

где N – количество вершин в графе вызовов модулей;

L – количество уровней.

I = 12/4 = 3

Расчет структурной сложности:

Структурная сложность программы рассчитывается по следующей формуле:

S=D/N,

где D – количество ребер (стрелок) в графе вызовов модулей;

N – количество вершин.

S= 13/12 = 1,083

Расчет тестируемости:

Оценка тестируемости ПС– (T) может быть проведена с использованием формул:

Nв

Т=[(1/Nв) · (∑1/Pi)]-1 ,

i=1

где NВ – количество путей вызовов в графе вызовов модулей;

Pi – тестируемость i-го пути вызовов.

k

Pi=[∑1/A( Mj )]-1,

j=1

где k – количество модулей в пути вызовов;

А (Мj) – доступность модуля Мj, принадлежащего пути Рi,.

n

А (Мj)=∑ А (Мx)/ C (Мx),

x=1

где А (Мx) – доступность x-го модуля, вызывающего Мj;

C (Мx) – количество всех модулей, которые вызывает Мx;

n – количество модулей, которые вызывают Mj;

А (М)=1, если модуль М является самым верхним (головным) модулем.

Расчет доступности:

A (M1) = 1 (главный модуль);

Модули 2-4 вызываются только модулем 1 и имеют одинаковое число входящих вызовов. Следовательно, коэффициенты их доступности равны.

A (M2) = A (M3) = A(M4)= 1/3

А(М7)= А(М10)= А(М11) = 1/3

Модули 5, 6, 8, 9 вызываются модулями (2 и 4) с равными коэффициентами доступности и имеют одинаковое число входящих вызовов. Следовательно, коэффициенты их доступности равны.

A(M5)= A(M6)= A(M8) = A(M9) = 1/6

А(М12)= 1/6

Расчет тестируемости i-го пути вызова

P1: (1:1+1:(1/3)+1:(1/6)+1:(1/3))-1 =1/13

P2: (1:1+1:(1/3)+1:(1/6)+1:(1/3))-1 =1/13

P3: (1:1+1:(1/3)+1:(1/3)+1:(1/3))-1 =1/10

P4: (1:1+1:(1/3)+1:(1/3)+1:(1/3))-1 =1/10

P5: (1:1+1:(1/3)+1:(1/6)+1:(1/3))-1 =1/13

P6: (1:1+1:(1/3)+1:(1/6))-1 =1/10

Расчет оценки тестируемости

Т = [1/6 * (13 + 13+ 10 + 10 + 13 + 10 )]-1 = 0,09

Расчет энтропии вызовов

,

где Li – количество модулей (длина) i-го пути в графе вызовов;

N – количество тестовых путей.

E = -1,79