
- •А. Содержание
- •С. Лист учета экземпляров
- •Пояснительная записка
- •Тематический план
- •Перечень практических работ
- •Практическая работа № 1
- •Практическая работа № 2
- •Задание:
- •Практическая работа № 3
- •Практическая работа № 4
- •Практическая работа № 5
- •1.2Нужно составить программу, которая создавала бы случайным образом двумерный массив с девятью элементами и вычисляла сумму этих элементов.
- •Практическая работа №6
- •Задание:
- •Практическая работа №7
- •Практическая работа №8
- •Задание:
- •Практическая работа №9
- •Практическая работа №10
- •Перечень литературы и технических средств обучения
Практическая работа № 5
Тема: Использование метрик для оценки ПО
Цель: научиться использовать метрики для оценки ПО
Источники:
Рудаков А.В. Технологии разработки программных продуктов.- ОИЦ «Академия», 2010
Технологии разработки программного обеспечения/С.А.Орлов, - СПб: "Питер", 2004.
Бажин И.И. Информационные системы менеджмента. - М. ГУ-ВШЭ, 2000.
Оборудование: ПК, ООП, язык программирования, среда разработки.
Ход и содержание работы
Задание:
Написать программу, в которой создается случайным образом двумерный массив A[3][3], вычисляется сумма элементов, на экран выводится созданный массив в виде таблицы и значение суммы.
Спецификация программы:
Название задачи: подсчет элементов массива
Название программы: lab3
Система программирования: Turbo Pascal 7.0
Системные требования: IBM PC/AT 286 и выше
Входные данные:
нет
Выходные данные:
Созданный случайным образом двумерный массив A[3,3];
Сумма элементов массива.
Постановка задачи:
1.2Нужно составить программу, которая создавала бы случайным образом двумерный массив с девятью элементами и вычисляла сумму этих элементов.
Спецификация переменных:
A[3,3] – массив случайных чисел типа Byte
i – индекс строк массива, тип Byte
j – индекс столбцов массива, тип Byte
s – счетчик, накапливающий сумму элементов массива, тип Word
Блок-схема программы:
Текст программы:
program lab3;
uses crt;
var
a :array [1..3,1..3] of Byte ;
s, j : Byte;
i : Word;
begin
ClrScr;
Randomize;
s := 0;
for i := 1 to 3 do
begin
WriteLn;
for j := 1 to 3 do
begin
a[i,j] := round(random(100));
s := s+a[i,j];
Write (a[i,j]:3);
end;
end;
WriteLn;
Write ('Сумма элементов = ',s);
ReadLn;
end.
Контрольные вопросы
Что такое спецификация программы
Что такое постановка задачи
Что такое исходные данные задачи
Что такое тестирование
Что такое отладка программы
Для чего необходимо техническое задание
Перечислить методы тестирования, используемые в данной работе.
Практическая работа №6
Тема: Разработка ПО
Цель: научиться разрабатывать ПО по заданным условиям
Источники:
Рудаков А.В. Технологии разработки программных продуктов.- ОИЦ «Академия», 2010
Технологии разработки программного обеспечения/С.А.Орлов, - СПб: "Питер", 2004.
Бажин И.И. Информационные системы менеджмента. - М. ГУ-ВШЭ, 2000.
Оборудование: ПК, ООП, язык программирования, среда разработки.
Ход и содержание работы
Задание:
Составить тесты для проверки программы, используя методы покрытия операторов и покрытия условий. Сформировать список ошибок, которые могут быть выявлены этими тестами.
Задача: Вычислить число сочетаний из N по M по формуле:
,
при N >M
Значения M и N вводятся с клавиатуры. Результат вывести на экран.
Программа должна быть составлена с применением пользовательских процедур и функций.
Спецификация программы:
Название задачи: сочетание
Название программы: statist
Система программирования: Turbo Pascal 7.0
Системные требования: IBM PC/AT 286 и выше
Входные данные:
Два целых числа – члены сочетания
Выходные данные:
Вычисленное по формуле число сочетаний.
Постановка задачи:
Нужно составить программу, которая по двум введенным с клавиатуры числам, являющимся членами сочетания, вычисляла бы число сочетаний по формуле . Также, необходимо, используя метод покрытия операторов и метод покрытия условий, составить набор тестов, направленных на обнаружение возможных ошибок.
Спецификация переменных:
Имя переменной в программе |
Назначение переменной в программе |
Тип переменной |
Диапазон типа |
m |
Первый член сочетания, положительная переменная |
Integer |
-32768..32767 |
n |
Второй член сочетания, положительная переменная |
Integer |
-32768..32767 |
res |
Вспомогательная положительная переменная, используемая для хранения результата |
Real |
2.9e-39..1.7e38 |
Текст программы:
program Statist;
Uses Crt;
var
n, m : integer;
res : real;
procedure header;
begin
ClrScr;
Writeln (' N!');
Write ('Вычислим значение выражения: ─────────');
WriteLn (', при N > M');
Writeln (' M!*(N-M)!');
end; {procedure header}
function factor(a:integer):longint;
begin
if a = 1 then factor := 1
else factor := a*factor(a-1);
end; {function factor}
begin {program}
Header;
m := 0;
n := 0;
repeat
Write ('Введите значение M: ');
ReadLn (m);
Write ('Введите значение N: ');
ReadLn (n);
if (m >= n) then WriteLn ('M должно быть меньше N');
until m < n;
res := (factor(n)/(factor(m)*factor(n-m)));
Write ('Значение выражения: ',res);
ReadKey;
end. {program}
Набор тестов:
Метод покрытия операторов
Тест 1
Определяет, будет ли выполнен оператор вывода на экран сообщения «М должно быть меньше N», когда m > n
Входные данные: m=3; n=2
Тест 2
Определяет, будет ли выполнен оператор вывода на экран сообщения «М должно быть меньше N», когда m = n
Входные данные: m=3; n=3
Тест 3
Определяет, будут ли производиться вычисления, когда входные данные содержат хотя бы одно отрицательное число.
Входные данные: m=-1; n=5
Тест 4
Определяет, будут ли производиться вычисления, когда входные данные содержат хотя бы один ноль.
Входные данные: m=0; n=2
Тест 5
Определяет, будет ли выполнен оператор Factor := 1 в функции Factor, если во входных данных содержится хотя бы одна единица.
Входные данные: m=1; n=5
Тест 6
Определяет, будет ли выполнен оператор Factor := a*Factor(a-1) в функции Factor, если во входных данных содержится хотя бы одно число, удовлетворяющее условию a > 1
Входные данные: m=2; n=4
Метод покрытия операторов
Тест 7
Определяет, будет ли выполнен оператор вывода на экран сообщения «М должно быть меньше N», когда m > n
Входные данные: m=3; n=2
Тест 8
Определяет, будет ли выполнен оператор вывода на экран сообщения «М должно быть меньше N», когда m < n
Входные данные: m=2; n=3
Тест 9
Определяет, будет ли выполнен оператор вывода на экран сообщения «М должно быть меньше N», когда m = n
Входные данные: m=3; n=3
Тест 10
Определяет, будет ли выполнен оператор вывода на экран сообщения «М должно быть меньше N», когда m ≠ n
Входные данные: m=3; n=2
Тест 11
Определяет, будут ли производиться вычисления, когда входные условия удовлетворяют условию m < n
Входные данные: m=1; n=5
Тест 12
Определяет, будут ли производиться вычисления, когда входные условия удовлетворяют условию m ≥ n
Входные данные: m=3; n=3
Тест 13
Определяет, будет ли выполнен оператор Factor := 1 в функции Factor, если во входных данных содержится хотя бы одна единица.
Входные данные: m=1; n=5
Тест 14
Определяет, будет ли выполнен оператор Factor := a*Factor(a-1) в функции Factor, если во входных данных содержится хотя бы одно число, удовлетворяющее условию a > 1
Входные данные: m=2; n=4
Ошибки:
Тест 1: выявляет ошибку, когда при введенных значениях m > n вычисления производятся далее.
Тест 2: выявляет ошибку, когда при введенных значениях m = n вычисления производятся далее.
Тест 3: выявляет ошибку, когда во входных данных находится отрицательное число, а вычисления производятся далее.
Тест 4: выявляет ошибку, когда во входных данных находится ноль, а вычисления производятся далее.
Тест 5: выявляет ошибку, когда находим факториал от единицы, а программа либо зацикливается, либо выводит неверный результат.
Тест 6: выявляет ошибку, когда находим факториал числа, большего единицы, а в результате получаем единицу.
Тест 7: выявляет ошибку, когда при введенных значениях m > n вычисления производятся далее.
Тест 8: выявляет ошибку, когда входные данные удовлетворяют условию m < n, а вычисления далее не производятся.
Тест 9: выявляет ошибку, когда при введенных значениях m = n вычисления производятся далее.
Тест 10: выявляет ошибку, когда входные данные удовлетворяют условию m ≠ n, а вычисления далее не производятся.
Тест 11: выявляет ошибку, когда входные данные удовлетворяют условию m < n, а вычисления далее не производятся.
Тест 12: выявляет ошибку, когда при введенных значениях m > n вычисления производятся далее.
Тест 13: выявляет ошибку, когда находим факториал от единицы, а программа либо зацикливается, либо выводит неверный результат.
Тест 14: выявляет ошибку, когда находим факториал числа, большего единицы, а в результате получаем единицу.
Контрольные вопросы
Что такое спецификация программы
Что такое постановка задачи
Что такое исходные данные задачи
Что такое тестирование
Что такое отладка программы
Для чего необходимо техническое задание
Перечислить методы тестирования, используемые в данной работе.
Перечислить ошибки, которые могут встретится при тестировании данной программы