Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект.doc
Скачиваний:
148
Добавлен:
01.05.2014
Размер:
606.21 Кб
Скачать

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. Наличие и доступность инструментальной машины, на которой выполняется программа