Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Метрики сложности программ





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

При оценке сложности выделяют 3 группы метрик: 1. Метрики размера.2. Метрики сложности потоков управления программы. 3.Метрики сложности потоков данных программы.

 

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

Непосредственное измерение размера программы, несмотря на свою простоту, дает хорошие результаты. Ее недостаточно для принятия решения о сложности, но она вполне применима для классификации программ, различающихся по объему.

Т.о., оценка размера программы – оценка по номинальной шкале.

К группе оценок размера программ можно отнести метрику Холстеда. За базу принят подсчет количества операторов и операндов, используемых в программе., т.е. также определение размера программы.

Основу метрики Холстеда составляют четыре измеряемые характеристики программы:

η 1 – число уникальных, различных операторов программы, включая символы-разделители, знаки операций, имена процедур и функций (словарь операций).

η 2 – число уникальных, различных операндов программы (словарь операндов).

N1 – общее количество операторов в программе.

N2 – общее количество операндов в программе.

Опираясь на эти характеристики, получаемые непосредственно при анализе исходных текстов программ, М.Холстед вводит следующие оценки:

словарь программы η = η 1 + η 2 (1)

длину программы N = N1+N2 (2)

объем программы V = Nlog2 η (3)

 

Далее М.Холстед вводит η * - теоретический словарь программы, т.е.словарный запас, необходимый для написания программы с учетом того, что необходимая функция уже реализована в данном языке и, следовательно, программа сводится к вызову этой функции.

Например: согласно М.Холстеду, возможное осуществление процедуры выделения простого числа могло бы выглядеть так:

 

CALL SIMPLE (X, Y),

где Y- массив численных значений, содержащих искомое число X.

Теоретический словарь в данном случае будет состоять из

 

η *: { CALL, SIMPLE (…)}, η 1*=2

η 2*: {X, Y}, η 2* = 2,

 

а его длина

η * = η 1* + η 2*, будет равна 4. (4)

 

Используя η *, Холстед вводит характеристику V*:

V* = η *log2 η *, (5)

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

Задание:

Для одной из своих программ рассчитать:

1) Реальную длину программы, (N).

2) Теоретическую длину программы, (η *)

3) Реальный объем программы, (V)

4) Потенциальный объем программы(V*).

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Перечислите наиболее известные методы оценки метрических характеристик качества программных продуктов.

2. Перечислите основные требования к критериям качества ПО.

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

4. Как с помощью метрик сложности программ определить длину и объём программы?

ЛИТЕРАТУРА

1. Липаев В.В. Качество программного обеспечения. – М.: Финансы и статистика, 1983.

2. Холстед М. Начала науки программирования. - М.: Финансы и статистика, 1981.

 

 







Дата добавления: 2014-11-10; просмотров: 4232. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия