пункты:
V Ввод.
V Вывод
V Выход.
V О программе.
V Помощь.
Передвижение по меню осуществляется с помощью клавиш управления
курсором. Каждый пункт меню активизируется при нажатии клавиши .
Обработку пунктов меню осуществляет Основная программа. В неё передаётся
управление и соответствующие координаты пунктов на выполнение.
В пункте меню , в подпункте осуществляется ввод
данных, необходимых для работы программы. При этом в Модуле ввода
предусмотрено редактирование вводимого результата. В подпункте
происходит выполнение алгоритма и вывод образующей матрицы на экран в
удобном для визуализации виде.
В подпункте происходит предупреждение пользователя о выходе из
программы с соответствующими запросами.
В пункте дана краткая аннотация программы.
В пункте представлена помощь по обработке пунктов меню и по
соответствующим клавишам.
6.2.2. Обработка ошибочных ситуаций.
В программе предусмотрена защита от ввода нестандартных данных, а
также защита от нажатия различных клавиш. Для обработки этих ситуаций
предусмотрен Модуль обработки ошибок. Пользователь может вводить только 0
или 1.
Если пользователь ввел по ошибке неправильные данные, то у него есть
возможность исправиться на стадии ввода. Для этих целей в программе
предусмотрен повторный ввод с предыдущими данными.
6.3. Спецификация на программные модули.
Процедура initgrf.
Входные параметры:Нет.
Выходные параметры:Нет.
Выполняемые функции:Инициализация графики.
Особенностей:Нет.
Функция Sum(F,P : Byte) : Byte;
Входные параметры: F,P : Byte
Выходные параметры: Sum
Выполняемые функции: Суммирование по модулю 2
Процедура Dopoln(Var F : Mass1);
Входные параметры: F : Mass1
Выходные параметры: F : Mass1
Выполняемые функции: Умножение на старшую степень
образующего многочлена .
Особенностей: НЕТ .
Процедура Delenye(F : Mass1;P : Mass2);
Входные параметры: F : Mass1;P : Mass2
Выходные параметры: нет.
Выполняемые функции: Деление многочлен на многочлен
Особенностей:Имеет свои особенности.
Процедура Ed_Matrix(Var A : Two_Matrix);
Входные парамеры: Var A : Two_Matrix
Выходные параметры: Var A : Two_Matrix
Выполняемые функции: Составление единичной матрицы.
Особенности: нет.
Процедура Obr_Matrix(Var A : Two_Matrix);
Входные параметры A : Two_Matrix
Выходные параметры: A : Two_Matrix
Выполняемые функции: Получение образующей матрицы
Особенностей: нет.
Процедура Visual(Var sa:mass);
Входные параметры: Var sa:mass
Выходные параметры: Var sa:mass
Выполняемые функции: Ввод информационных символов.
Особенностей: нет
Процедура OutPutObr_Matrix(x,y : Integer;Obr_Matr :
Two_Matrix );
Входные параметры: x,y : Integer;Obr_Matr :
Выполняемые функции: Вывод образующей матрицы.
Особенностей:Является универсальной.
Процедура OutPut(x,y : Integer;F,A : Mass1);
Входные параметры: x,y : Integer;F,A : Mass1.
Выполняемые функции: Вывод полученной кодовой
комбинации.
Функция _Exit(Fon,Color : Integer;Col_Simv : Byte) :
integer;
Входные параметры Fon,Color : Integer;Col_Simv : Byte
Выходные параметры: _Exit : integer.
Выполняемые функции: выход из программы
Основная программа
Входные параметры:нет.
Выполняемые функции:Обьединяет в себя все процедуры и
управляет работой.
ВЫВОДЫ. В данной главе были описаны принципы разработки программы и
интерфейса. Дана модульная структура программы и межмодульные связи. Описан
принцип работы программы и дана спецификация на программные модули. Если
это всё объединить, то нетрудно будет разобраться в отдельных деталях
программы. Дальше будет рассмотрено одно из основных мероприятий при
программировании - тестирование.
7. Тестирование.
7.1. Выбор методики тестирования.
Без тестирования программ невозможно создать правильно работающую
программу, так как всегда существуют какие-то граничные условия, за
пределами которых программа даёт ошибки. При этом не следует путать
отладку программ и тестирование.
Отладка программ - используется при неправильной работе программы.
Тестирование - ищет ошибки.
Существует много методов тестирования:
1) Статическое тестирование является наиболее формализованным и
автоматизируемым методом проверки программ. В качестве эталонов
применяются правила структурного построения программных модулей и
обработки данных. Проверка степени этих правил проводится без
использования объектного кода программы путем формального анализа
текста программы на языке программирования. Операторы и операнды
текста программ при этом анализируется в символьном виде, поэтому
такой метод называют символьным тестированием.
2) Детерминированное тестирование является наиболее трудоёмким и
детализирующим. При детерминированном тестировании контролиру-
естся каждая комбинация исходных эталонных данных и
соответствующая ей комбинация результатов функционирования
программы. Это позволяет выявлять отклонение результатов от эталона и
реализующих данных, при которых это отклонение произошло.
3) Стохастическое тестирование применяется в тех случаях, когда
невозможно в сложных задачах перебрать все комбинации исходных
данных и проконтролировать результаты функционирования программы
на каждом из них. При этом исходные тестовые данные задаются
множеством случайных величин с соответствующими распределениями и
для сравнения полученных результатов используются также
распределения случайных величин. Стохастическое тестирование
применяется в основном для обнаружения ошибок.
4) Тестирование в реальном масштабе времени. В процессе такого
тестирования проверяется исполнение программ и обработка исходных
данных с учетом времени их поступления , длительности и
приоритетности обработки , динамика использования памяти и т.д.
5) При восходящем тестировании прежде всего проверяются модули нижних
иерархических уровней, к которым постепенно подключаются вызывающие
их модули. При этом обеспечивается работоспособность вызываемых
компонент и функции группы программ проверяются в их естественном
исполнении. Основные трудности состоят в необходимости полного
обновления тестовых наборов при подключении каждой новой программы
более высокого уровня.
6) При нисходящем тестировании проверки начинаются с программ
управления и организации вычислительного процесса. Первоначально
тестируется управляющее ядро комплекса программ и программы решения
функциональных задач, размещенных на высших иерархических уровнях.
К ним постепенно подключаются для тестирования программы
последующих более низких иерархических уровней. Преимуществом
такого метода является возможность сохранения и развития наборов
тестовых данных по мере подключения программ нижних уровней.
На практике обычно используются три стратегии тестирования:
1) Тестирование программ как "Чёрного ящика ". Имеет цель выяснения
обстоятельств, в которых поведение программ не соответствует
спецификации. Тестовые данные составляются и используются без учета
знаний о внутренней структуре программы.
2) Тестирование программ как "Белого ящика ". Тестовые наборы данных
проектируются на основе внутренней логики программы. Цель тестирования
- проверить каждую ветвь, каждый путь и каждый оператор. Спецификация
программы при этом не используется.
3) Реальная стратегия обычно сочетает оба метода. При помощи метода
"чёрного ящика" делается:
V Проверка в нормальных условиях.
V Анализ граничных значений.
V Проверка в исключительных ситуациях.
V Предположение об ошибке.
При помощи метода "Белого ящика" делается:
V Покрытие операторов.
V Покрытие решений.
V Покрытие условий.
7.2. Результаты тестирования
При тестировании программы был использован восходящий метод
тестирования. С помощью этого метода сначала были протестированы отдельные
модули программы, а затем и вся программа. Результаты тестирования показаны
на рисунке Приложения.
Тестирование системы включало в себя:
- тестирование ввода различных набора данных;
- получение комбинаций для кода с любым образующим многочленом;
Тестирование ввода различных наборов кодовых комбинаций не показало ни
одной исключающей ситуации.
ВЫВОДЫ. В данной главе был выбран метод тестирования системы. В
результате тестирования были обнаружены ошибки, которые впоследствии были
устранены. В результате тестирования было получено, что программа является
работоспособной. Программа правильно находит образующую матрицу и строит
Страницы: 1, 2, 3, 4, 5, 6