Смекни!
smekni.com

Кодирующее устройство для кода Файера (стр. 4 из 6)

6.2. Описание пользовательского интерфейса.

6.2.1. Меню системы.

Интерфейс системы выполнен в графическом режиме с соблюдением всех установленных ГОСТОВ. Экран разбит на три части: верхняя часть - горизонтальное меню с выпадающими окнами; нижняя часть - строка состояния; средняя часть - окно диалога.

Горизонтальное меню состоит из трёх пунктов:

-Работа.

В этом пункте предусмотрено выпадающее меню для облегчения поиска соответствующего пункта. В подменю находятся следующие пункты:

-Ввод.

-Вывод

-Выход.

-О программе.

-Помощь.

Передвижение по меню осуществляется с помощью клавиш управления курсором. Каждый пункт меню активизируется при нажатии клавиши <Enter>. Обработку пунктов меню осуществляет Основная программа. В неё передаётся управление и соответствующие координаты пунктов на выполнение.

В пункте меню <Работа>, в подпункте <Ввод > осуществляется ввод данных, необходимых для работы программы. При этом в Модуле ввода предусмотрено редактирование вводимого результата. В подпункте <Вывод> происходит выполнение алгоритма и вывод образующей матрицы на экран в удобном для визуализации виде.

В подпункте <Выход> происходит предупреждение пользователя о выходе из программы с соответствующими запросами.

В пункте <О программе > дана краткая аннотация программы.

В пункте <Помощь> представлена помощь по обработке пунктов меню и по соответствующим клавишам.

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 :

Two_Matrix );

Выходные параметры:Нет.

Выполняемые функции: Вывод образующей матрицы.

Особенностей:Является универсальной.

Процедура 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) Реальная стратегия обычно сочетает оба метода. При помощи метода "чёрного ящика" делается:

-Проверка в нормальных условиях.

-Анализ граничных значений.

-Проверка в исключительных ситуациях.

-Предположение об ошибке.

При помощи метода "Белого ящика" делается:

-Покрытие операторов.

-Покрытие решений.

-Покрытие условий.

7.2. Результаты тестирования

При тестировании программы был использован восходящий метод тестирования. С помощью этого метода сначала были протестированы отдельные модули программы, а затем и вся программа. Результаты тестирования показаны на рисунке Приложения.

Тестирование системы включало в себя:

- тестирование ввода различных набора данных;

- получение комбинаций для кода с любым образующим многочленом;

Тестирование ввода различных наборов кодовых комбинаций не показало ни одной исключающей ситуации.

ВЫВОДЫ. В данной главе был выбран метод тестирования системы. В результате тестирования были обнаружены ошибки, которые впоследствии были устранены. В результате тестирования было получено, что программа является работоспособной. Программа правильно находит образующую матрицу и строит код Файра..

8. Ограничения на разработку.

Для выполнения программы необходимо соблюдать некоторые требования, а именно:

1) Программа может работать на персональных компьютерах с процессором не ниже 80486 .