- •Основные понятия мпо.
- •Основные цели:
- •Виды метрик и шкал, используемых при оценке:
- •Критерии оценки качества программ
- •Способ формирования зависит от этапа:
- •Классификация видов сложности пп
- •Метрики Холстеда.
- •Основные измеряемые параметры:
- •Дополнительные параметры:
- •6 Марта 2007 года
- •Методы и средства измерения характеристик программ
- •Необходимые условия применения измерительных методов:
- •Общая схема проведения измерений.
- •2 Основных способа регистрации параметров программы:
- •Измерительные мониторы (им)
- •Требования к им:
- •Классификации им.
- •Типы измеряемых характеристик программы.
- •Аппаратные измерительные мониторы (аим)
- •Достоинства аим:
- •Недостатки аим:
- •Гибридные измерительные мониторы (гим)
- •Программные измерительные мониторы (пим)
- •Автономные пим
- •Общие особенности программных мониторов.
- •Проблемы, возникающие при построении мониторов
- •Общая схема использования пим
- •Способы расстановки контрольных точек.
- •Основные способы мониторинга
- •Сопоставление возможностей аим и пим.
- •Структурный анализ качества программных продуктов
- •Маршруты делятся на:
- •Анализ сложности программных средств с модульной организацией
- •Свойства модульной организации
- •Понятие корректности программ
- •2 Метода проверки корректности:
- •Критерии корректности:
- •Корректность программ:
- •Эталоны и методы проверки корректности
- •Способы формирования эталонных тестов
- •Понятие верификации программы
- •Основные задачи анализа корректности при верификации
- •Тестирование программ
- •Особенности
- •Основные принципы тестирования
6 Марта 2007 года
Граничный объем
Интеллектуальное содержание(информативность) программы
Инвариантно представлению алгоритма на определенном языке.
Еще один способ вычисления Наибольшего Общего Делителя (НОД): все НОД вычислены и хранятся в таблице:
|
0 |
1 |
… |
1000 |
0 |
|
|
|
|
1 |
|
|
|
|
… |
|
|
НОД(i, j) |
|
1000 |
|
|
|
|
GCD:=Table[A,B]
Оператор |
Операнд | ||||
1 |
, |
1000001 |
1 |
Table |
1000001 |
2 |
: |
1 |
2 |
A |
1 |
3 |
:= |
1 |
3 |
B |
1 |
4 |
[] |
1 |
4 |
GCD |
1 |
|
|
Влияние несовершенств на информативность программы.
Программа вычисления выражения
1. Использование дополняющих операций
T:=P+Q; R:=T*T+T-T
I=(7+8)log2(5+4)*(2/4)*(5/8)=9.5
Корректно:
T:=P+Q; R:=T*T
I=(5+6)log2(4+4)*(2/4)*(4/6)=11.0 – можно считать идеальным для данного алгоритма
2. Повторное использование имен
R:=P+Q; R:=R*R
I=(5+6)log2(4+3)*(2/4)*(3/6)=7.7
3. Использование имен-синонимов
T1:=P+Q; T2:=P+Q; R:=T1*T2
I=(8+9)log2(4+5)*(2/4)*(5/9)=15.0
Увеличение I не всегда является положительным. Сильные отклонения от оптимального значения (11.0 в данном примере) в любую сторону говорят о стилистически неудачной программе.
4. Использование общих подвыражений
R:=(P+Q)*(P+Q)
I=(6+5)log2(4+3)*(2/4)*(3/5)=9.3
Работа по созданию программы.
Принимаются следующие допущения:
- алгоритм известен
- язык выбран, и разработчик владеет им свободно
Разработка рассматривается как N-кратный выбор объектов из словаря программы
Е дает оценку работы в мысленных различениях.
- из этого видно, что разбиение программы на модули позволяет снизить работу по созданию программы, так как квадрат суммы всегда больше суммы квадратов
Число Страуда (мысленных_различений / секунда)
Время по разработке программы.
Уровень языка программирования
Язык |
(СКО) | |
Английский |
2.16 |
0.74 |
ПЛ-1 |
1.53 |
0.92 |
Алгол |
1.21 |
0.74 |
Фортран |
1.14 |
0.81 |
Ассемблер |
0.88 |
0.42 |
Программа может содержать мало входных данных, но иметь очень сложный алгоритм, или наоборот – много входных данных и простой алгоритм, поэтому значение может сильно различаться.
Метрики числа ошибок.
Учитывается только первоначальное число ошибок в программе (без учета отладки и тестирования).
Закон «»
может быть реализована без допущения ошибок
, при
Число ошибок:
Все эти оценки подходят только для процедурных языков.
Методы и средства измерения характеристик программ
Назначение: Измерение характеристик программ является для большинства пользователей наиболее достоверной оценкой качества и служит для:
1. Нахождение «узких мест» потребления ресурсов программой
2. Проверка адекватности аналитических или имитационных моделей оценки качества программ
Необходимые условия применения измерительных методов:
1. Наличие готовой программы или ее исследуемых фрагментов
2. Наличие программных или аппаратных средств выполнения измерений
3. Наличие и доступность инструментальной машины, на которой выполняется программа