Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Метрическая теория программ. Разновидности метрик. ШкалыСодержание книги
Поиск на нашем сайте
Метрика – это мера, определяющая расстояние между элементами множества, которая обладает следующими свойствами: 1. Неотрицательна (>=0) 2. Нулевая при совпадении элементов 3. Симметрична (AB = BA) 4. Подчиняется закону треугольника (AB + BC > AC) Метрика качества программ – система измерений качества программ. Эти измерения могут поводится на уровне критериев качества программ (сравнение программ по качеству) или на уровне отдельных характеристик качества. В исследовании метрик выделяют два основных подхода: 1. Метрики оценки самого ПО (поиск метрик, характеризующих наиболее специфические свойства программ) 2. Метрики оценки технологии разработки ПО (оценка технических характеристик и факторов разработки программ) По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы: 1. Метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов (устанавливают полноту заданных технических характеристик исходного кода); 2. Метрики, позволяющие прогнозировать качество разрабатываемого ПО; 3. Метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы: 1. Номинальной шкале соответствуют метрики, классифицирующие программы по признаку наличия или отсутствия какой-либо характеристики без учёта градации. Например: программы можно группировать как "нетрудные для понимания", умеренно трудные для понимания", "трудные для понимания", "очень трудные для понимания". 2. Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторые характеристики путем сравнения с опорными значениями, т.е.программы классифицируются по градации наличия какой-либо характеристики и упорядоченно располагаются по оси этой характеристики. Например: некоторые программы А,В,С, относятся к разряду "умеренно трудных для понимания", но программа В труднее программы А, а программа А труднее программы С. 3. Метрики интервальной шкалы показывают не только относительное положение программ, но и то на сколько условных единиц отстоит одна программа от другой. Например: можно сказать: программа В труднее программы А на 10 единиц. 4. Относительная шкала позволяет не только расположить программы определенным образом и оценить положение программ относительно друг друга, но и позволяют классифицировать их таким образом, что возможна сравнительная оценка других программ относительно базовой. Например: можно сказать, программа В в два раза труднее программы А. 3. В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки можно сгруппировать по 6 основным направлениям: 1. Оценка топологической и информационной сложности программ. 2. Оценка надёжности ПС, позволяющая прогнозировать отказы и отказовые ситуации. 3. Оценка производительности ПО и повышения его эффективности путем выявления ошибок проектирования. 4. Оценка уровня языковых средств и их применения. 5. Оценка трудности восприятия и понимания программных текстов, ориентированная на психологические факторы, существенные для сопровождения и модификации программ. 6. Оценка производительности труда программиста для прогнозирования сроков и этапов разработки программ. Метрики сложности программ Поскольку проблема сложности программ включает широкий круг вопросов, начнем с рассмотрения основных направлений исследований в области оценки сложности программ, используя примеры метрических характеристик, применяемых на практике. При оценке сложности выделяют 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.
Лабораторная работа №6
|
||||
|
Последнее изменение этой страницы: 2016-12-28; просмотров: 1237; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.15 (0.006 с.) |