- •Методические указания
- •Для студентов специальности 6.050102
- •Всех форм обучения
- •1.Разработка технического задания. Лабораторная работа № 1
- •1.1 Теоретические сведения
- •1.2 Задание на лабораторную работу
- •1.3 Список контрольных вопросов
- •2.Оформление программной документации. Лабораторная работа № 2
- •2.1 Теоретические сведения
- •2.2 Задание на лабораторную работу
- •2.3 Список контрольных вопросов
- •3. Расчет метрик холстеда. Лабораторная работа № 3
- •3.1 Описание метрик Холстеда
- •3.2 Пример определения характеристик программы
- •3.3 Порядок выполнения работы
- •3.4 Список контрольных вопросов
- •4. Оптимизация программ. Лабораторная работа № 4
- •4.1 Теоретические сведения
- •4.2 Порядок выполнения работы
- •4.3 Список контрольных вопросов
- •5. Структурное тестирование. Лабораторная работа № 5
- •5.1 Задачи и методы тестирования
- •5.2 Структурное тестирование
- •5. 3 Выполнение работы
- •5.5 Список контрольных вопросов
- •6. Метод эквивалентных разбиений. Лабораторная работа № 6
- •6.1 Теоретические сведения
- •6.2 Выделение классов эквивалентности
- •6.3 Построение тестов
- •6.4 Порядок выполнения работы
- •6.5 Список контрольных вопросов
- •7. Метод функциональных диаграмм. Лабораторная работа n 7
- •7.1 Особенности метода функциональных диаграмм
- •7.2 Базовые символы для записи функциональных диаграмм
- •7.3 Пример построения функциональной диаграммы
- •7.4 Преобразование функциональной диаграммы в таблицу решений и построение тестов
- •7.5 Порядок выполнения работы
- •7.6 Список контрольных вопросов
- •8. Расстановка контрольных точек. Лабораторная работа №8
- •8.1 Теоретические сведения
- •8.2 Порядок выполнения работы
- •8.3 Список контрольных вопросов
- •9. Мутационный анализ. Лабораторная работа № 9
- •9.1 Теоретические сведения
- •9.2 Описание мутаций
- •9.3 Порядок выполнение работы
- •9.4 Список контрольных вопросов
- •10. Оценка надежности программ. Лабораторная работа № 10
- •10.1 Теоретические сведения
- •10.2 Порядок выполнения работы
- •10.3 Список контрольных вопросов
- •11. Определение показателей качества программного средства. Лабораторная работа № 11
- •11.1 Теоретические сведения
- •11.2 Номенклатура показателей качества
- •11.3 Методы оценки уровня качества пс
- •11.3 Порядок выполнения работы
- •11.5 Содержание отчета
- •11.6 Список контрольных вопросов
- •12. Расчет метрик чидамбера-кемерера. Лабораторная работа № 12
- •12.1 Теоретические сведения
- •12.2 Использование метрик Чидамбера-Кемерера
- •12.3 Порядок выполнения работы
- •12.4 Содержание отчета о выполнении работы
- •12.5 Список контрольных вопросов
3.2 Пример определения характеристик программы
Программа, реализующая алгоритм Евклида на Паскале:
program Evclid;
var a,b,q,r,gcd:integer;
begin
readln(a,b);
if a=0 then gcd:=b
else
begin
r:=0;
while r<>0 do
begin
q:=a div b; r:=a-b*q;
a:=b; b:=r
end;
gcd:=a
end;
writeln(gcd)
end.
Подсчет характеристик программы:
Оператор Номер Число вхождений
readln 1 1
writeln 2 1
; 3 7
:= 4 7
begin...end 5 3
while...do 6 1
if 7 2
= 8 1
<> 9 1
div 10 1
- 11 1
* 12 1
n1=12 N1=27
Операнд Номер Число вхождений
а 1 6
b 2 6
r 3 4
q 4 2
gcd 5 3
0 6 3
n2=6 N2=24
Словарь n=n1+n2=12+6=18
Длина реализации N=N1+N2=27+24=51
Число входных и выходных операндов n2*=3
3.3 Порядок выполнения работы
1. Для программных модулей, из работ 1 и 2 определить характеристики программ (n1, n2, n, N1, N2, N, n2*).
2. Рассчитать метрики Холстеда по формулам 1-10.
3. Оценить качество двух реализаций алгоритма на основании метрик Холстеда. Провести их сравнительный анализ
4. Оформить отчет.
3.4 Список контрольных вопросов
1. Где можно использовать метрики Холстеда?
2. Чем определяются характеристики программы?
3. Как оценить качество реализации алгоритма по метрикам?
4. В чем недостаток программометрии?