Инфоурок Информатика КонспектыЛабораторная работа 4 «Использование инструментария анализа качества»

Лабораторная работа 4 «Использование инструментария анализа качества»

Скачать материал

Метрика Чепина

2.1. Теоретическое введение

Мерой сложности понимания программ на основе входных и вы­ходных данных является метрика Н. Чепина (Ned Chapin). Смысл метода, который предложил Чепин, состоит в оценке информацион­ной прочности отдельно взятого программного модуля на основе ре­зультатов анализа характера использования переменных, входящих в состав списка ввода и вывода.

Существует несколько модификаций метрики Чепина. Рассмотрим наиболее простой, но с точки зрения практического использования достаточно эффективный вариант этой метрики.

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

·          Р - вводимые переменные для расчетов и для обеспечения вы­вода. Примером такой переменной может служить используемая в программах лексического анализатора переменная, содержащая строку исходного текста программы - в этом случае сама переменная не модифицируется, а применяется только как контейнер для исход­ной информации;

·          М - модифицируемые, или создаваемые внутри программы, переменные. К таким переменным относится большинство традици­онно применяемых переменных, декларируемых в программных мо­дулях;

·          С - переменные, участвующие в управлении работой про­граммного модуля (управляющие переменные). Такие переменные предназначены для передачи управления, изменения логики вычис­лительных процессов и т. д.;

·          T - не используемые в программе (так называемые паразитные) переменные. Такие переменные не принимают непосредственного участия в реализации процесса обработки информации, ради которо­го написана анализируемая программа, однако они заявлены в про­граммном модуле. Такие переменные могут использоваться для вы­полнения промежуточных действий и не играют принципиальной роли в решении основной задачи.

В качестве особенности применения данной метрики следует на­звать необходимость учета каждой переменной в каждой функцио­нальной группе, поскольку каждая переменная может выполнять од­новременно несколько функций.

Исходное выражение для определения метрики Чепина записыва­ется в следующем виде:

                 Q =a1*P+a2*M + a3*C + a4*T                   (3)

где a1, a2, a3 и a4 ,    - весовые коэффициенты.

Весовые коэффициенты в расчетном выражении значения метри­ки применяются для отражения различного влияния на сложность программы каждой функциональной группы переменных. По мне­нию автора метрики наибольший вес, равный 3, должна иметь функ­циональная группа С, так как она непосредственно влияет на поток управления программы. Весовые коэффициенты остальных групп Чепин распределяет следующим образом:

·          a1 = 1;

·          a2 = 2;

·          a4 = 0,5;

Примечательно, что весовой коэффициент группы Т не равен 0, несмотря на то, что часть используемых переменных может не при­меняться в программе. Это объясняется тем, что «паразитные» пере­менные сами по себе не увеличивают сложность потока данных про­граммы, но очень часто затрудняют ее понимание.

С учетом весовых коэффициентов расчетное выражение метрики Чепина приобретает следующий вид:

Q = P+2*M + 3*C + 0,5*T.

Следует отметить, что метрика сложности программы Чепина также основана на анализе исходных текстов программ, что обеспе­чивает единый подход к автоматизации их расчета и может быть рас­считана с использованием специально разработанного программного анализатора.

2.2. Пример: «Простые числа в матрице»

Дана целочисленная матрица размером N*M. Вычислить и записать в одномерный массив количество простых чисел в каждом столбце матрицы. Размерность матрицы задается с клавиатуры, заполнение матрицы осуществляется посредством датчика случайных чисел. Разработать программу для решения задачи. На основе лексического анализа исходного текста программы определить значение метрики Чепина.

2.2.1 Реализация программы

Текст программы для реализации возможного алгоритма решения поставленной задачи представлен в таблице 3.

Таблица 3- Текст программы

Номера строк

Строки программы

1

using System;

2

namespace chapin

3

{

4

class Program

5

{

6

static void Main(string[] args)

7

{

8

   int n, m;

9

10

  int[,] a;

11

  int[] b;

12

  ConsoleKeyInfo клавиша;

13

   int i, j, k, d;

14

  bool p = false;

15

  Random g;

16

  do

17

  {

18

    Console.Clear();

19

    Console.Write("Введите количество строк");

20

    n = int.Parse(Console.ReadLine());

21

    Console.Write("Введите количество столбцов");

22

 m = int.Parse(Console.ReadLine());

23

     g = new Random();

24

     a = new int[n, m];

25

     for (i = 0; i < n; i++)

26

        for (j = 0; j < m; j++)

27

        {

28

          a[i,j] = g.Next(0,101);

29

        }

30

31

     Console.WriteLine("\nИсходная матрица");

32

    for (i = 0; i < n; i++, Console.WriteLine())

33

      for (j = 0; j < m; j++)

34

        Console.Write("{0,8:d}", a[i, j]);

35

    b = new int[m];

36

37

    for (j = 0; j < m; j++)

38

    {

39

      for (i = k = 0; i < n; i++)

40

      {

41

        p = true;

42

           for (d = 2; d < a[i, j]; d++)

42

            if (a[i, j] % d == 0) p = false;

44

45

46

           if (p) k++;

47

               b[j] = k;

48

       }

49

            }

50

51

52

    Console.WriteLine("\nКоличество простых чисел");

53

   for (i = 0; i < b.Length; i++)

54

      Console.Write("{0,8:d}", b[i]);

55

56

    Console.WriteLine("\nДля выхода нажмите клавишу ESC");

57

   клавиша = Console.ReadKey(true);

58

} while (клавиша.Key != ConsoleKey.Escape);

59

}

60

}

61

}

2.2.2 Оценка характеристик программы

Выполним оценку качества программы с помощью метрики Чепина, которая позволяет оценить меру трудности понима­ния программы на основе входных и выходных данных. Все множе­ство переменных, составляющих список ввода-вывода, разбивается на четыре функциональные группы:

·          Р - вводимые переменные для расчетов и для обеспечения вывода;

·          М - модифицируемые, создаваемые внутри программы переменные;

·          С - переменные, участвующие в управлении работой программного модуля (управляющие переменные);

·          T - не используемые в программе переменные.

В таблице 4 приведен анализ исходного текста программы

Таблица 4 – Анализ исходного кода программы

№ п/п

Наименование переменных

Номера строк

Р ( для расчетов и для обеспечения вы­вода)

1

m

8

2

n

8

3

a

10

М ( модифицируемые или создаваемые внутри программы пере­менные)

1

i

13

2

j

13

3

k

13

4

d

13

5

b

11

C (управляющие переменные)

1

g

15

2

p

14

3

клавиша

12

T  (не используемые в программе переменные)

Отсутствуют

Переменные т,п и а используются в качестве исходных данных.

Переменные i, j, k, d и b в процессе выполнения программы создаются и модифицируются.

Переменные g, р и клавиша используются для управления выполнением программы.

Таким образом, исходя из результатов анализа исходного текста программы, получаем следующие значения характеристик:

Р = 3 - количество переменных для расчетов;

М = 5 - количество модифицируемых переменных;

С = 3 - количество переменных, используемых в управлении программой;

Т = 0 - количество неиспользуемых переменных (такие пере­менные в программе отсутствуют).

Расчет метрики Чепина:

Q = P + 2M + 3-C + 0,ST = 3 + 2-5 + 3-3 + 0,5-0 = 22.

На основе полученных значений метрики Чепина уровень сложности данного решения можно считать сравнительно низким, как так в исходном тексте программы используется незначительное количе­ство переменных, что не затрудняет понимание программы.

 

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Лабораторная работа 4 «Использование инструментария анализа качества»"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

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

Получите профессию

Экскурсовод (гид)

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 666 271 материал в базе

Скачать материал

Другие материалы

Презентация к проекту по информатике "Подпрограммы. Табличные величины " студента 1 курса Королёва Егора .
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 6. Программное обеспечение
  • 10.06.2020
  • 526
  • 12
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 10.06.2020 2822
    • DOCX 25.3 кбайт
    • 84 скачивания
    • Оцените материал:
  • Настоящий материал опубликован пользователем Шершнева Марина Александровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Шершнева Марина Александровна
    Шершнева Марина Александровна
    • На сайте: 3 года и 10 месяцев
    • Подписчики: 0
    • Всего просмотров: 15658
    • Всего материалов: 4

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Копирайтер

Копирайтер

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в профессиональном образовании

Преподаватель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 41 человек из 23 регионов
  • Этот курс уже прошли 53 человека

Курс профессиональной переподготовки

Разработка и сопровождение требований и технических заданий на разработку и модернизацию систем и подсистем малого и среднего масштаба и сложности

Системный аналитик

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 65 человек из 33 регионов
  • Этот курс уже прошли 84 человека

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в профессиональном образовании

Преподаватель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 49 человек из 22 регионов
  • Этот курс уже прошли 152 человека

Мини-курс

Инновационные технологии в краеведческой и географической работе со школьниками

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Концепции управления продуктом и проектом: стратегии и практика.

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Психологическая работа с эмоциональными и поведенческими проблемами

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе
  • Сейчас обучается 229 человек из 59 регионов
  • Этот курс уже прошли 55 человек