
- •Введение 22
- •1 Введение
- •2 Специальная часть
- •2.1 Постановка задачи
- •2.1.1 Назначение задачи
- •2.1.3 Требования к программе
- •2.4 Инструкция по эксплуатации
- •3 Охрана труда
- •3.1 Введение
- •3.2 Техника безопасности при работе на компьютере
- •3.2.1 Требования по электрической безопасности
- •3.2.2 Особенности электропитания системного блока
- •3.2.3 Система гигиенических требований
- •3.2.4 Требования к видеосистеме
- •3.2.5 Требования к рабочему месту
- •3.2.6 Требования по обеспечению пожарной безопасности
- •3.2.7 Необходимые действия при завершении работы
- •4 Экономическая часть
- •4.1 Технико-экономическое обоснование
- •4.2 Расчет трудоемкости
- •4.3 Расчет себестоимости
- •4.4 Анализ структуры себестоимости
- •4.5 Графическая часть
- •5 Заключение
2.1.3 Требования к программе
Программа должна соответствовать следующим требованиям:
диалоговая интерфейсная оболочка;
высокая скорость обработки данных;
многопоточность;
составление исчерпывающих отчетов.
В функционал программы входят:
возможность конфигурирования порта;
анализ поступающих сообщений от пульта КОРТ-М;
синхронизация с пультом КОРТ-М по команде «Контроль канала»;
ручной режим тестирования (выполнение инструкций таблицы в полном объеме, либо пошаговое отправление сигналов/прием ответов);
автоматический режим тестирования;
идентификаторы прогресса выполнения тестов (процентные шкалы);
возможность редактирования тестов без изменения исходного кода программы;
формирование файла отчета после тестирования;
возможность запуска программы без диалоговых окон из командной строки.
Программа должна быть написана на языке С++, так как этот язык программирования является широко распространенным промышленным языком с хорошими показателями быстродействия написанного кода и лаконичными синтаксическими конструкциями. При написании программы следует использовать библиотеку Qt – мощный, объектно-ориентированный инструмент разработки прикладных программ, включающий в себя множество основных классов – от элементов графического интерфейса до конфигурирования потоков ввода/вывода. Благодаря механизму сигналов/слотов, реализованному с помощью мета-объектного компилятора, Qt дает возможность соединять различные части программы в единое пространство событий с соответствующими обработчиками к каждому из них, чем достигается гибкость интерфейса, должный функционал, и, что немаловажно, легкая конфигурация приложения.
2.2 Схемы алгоритма программы
2.2.1 Схема алгоритма основной программы
2.2.2 Схема алгоритма функции Window.showWindow
2.2.3 Схема алгоритма функции Window.hideMode
2.2.4 Схема алгоритма потока проверки
2.3 Отладка программы
Отладка представляет собой процесс поиска и устранения ошибок в программном проекте. Она занимает значительную часть рабочего времени программиста, нередко большую, чем составление программы. Практически любая программа перед началом отладки содержит хотя бы одну ошибку.
Виды ошибок, допускаемых в процессе разработки:
технологические – это ошибки документации и фиксирования программ в памяти ЭВМ. Они составляют 5-10% от общего числа ошибок, обнаруживаемых при отладке;
программные. Количество этих ошибок зависит от квалификации разработчиков, от общего объема комплекса программ, от глубины логического и информационного взаимодействия модулей и от других факторов. Обычно программные ошибки составляют 1/3 всех ошибок;
алгоритмические. Эти ошибки обусловлены некорректной постановкой задачи. Такие ошибки составляют от 6% до 8% от общего числа;
системные. Такие ошибки возникают из-за неполной информации о реальных процессах, происходящих в источниках и потребителях информации. Обычно в начале отладки доля системных ошибок не велика (около 10%), но она существенно возрастает (до 35-40%) на завершающих этапах отладки.
Программные ошибки бывают двух типов: синтаксические и семантические (логические). Синтаксические ошибки состоят в нарушении формальных правил написания программы и появляются в результате недостаточного знания пользователем языка программирования и невнимательности при технической подготовке программы к обработке в ЭВМ. Причинами семантических ошибок могут быть несоответствие алгоритма поставленной задаче, неправильное понимание программистом смысла (семантики) операторов языка программирования, нарушение допустимых пределов и правил представления данных.
Во время отладки программы были обнаружены ошибки различных видов. Ниже приведены некоторые из них:
синтаксические:
отсутствие двоеточия после макроса private slots;
добавление некорректного символа в строку пути файла таблицы – «\» вместо «/»;
отсутствие закрывающей точки с запятой после определения дочернего класса SenderReciever;
отсутствие закрывающей операторной скобки переопределенной виртуальной функции run ();
алгоритмические:
неверное условие проверки заголовка таблицы (header==gotheader вместо header!=gotheader);
неверное использование декремента в функции удаления (table->removeRow(i--) вместо table->removeRow(--i)).
Все ошибки были исправлены. Испытания программы, проведенные с помощью эмулятора работы пульта, показали: успешное конфигурирование последовательного порта, верную обработку входящих сигналов, корректное составление отчетов, содержащих всю необходимую информацию о полученных ответах (правильный/неправильный/непоступивший).
Листинг программы приведен в приложении А, а результаты выполнения – в приложении Б.