
- •1 Общая часть
- •1.1 Цель разработки
- •1.2 Средства разработки
- •1.2.1 Технические средства
- •1.2.2 Среда программирования
- •2 Специальная часть
- •2.1 Постановка задачи
- •2.2 Внешняя спецификация
- •2.2.1 Описание задачи
- •2.2.2 Входные и выходные данные
- •2.2.3 Метод
- •2.2.4 Тесты
- •2.2.5 Контроль целостности данных
- •2.3 Проектирование
- •2.3.1. Структурная схема программы
- •2.3.2 Схема пользовательского интерфейса
- •2.3.3 Схема данных
- •2.3.4 Блок-схема
- •2.4 Результаты работы программы
- •3 Технологическая часть
- •3.1 Отладка программы
- •3.2 Защита нарушения целостности программы и данных
- •3.3 Характеристика программы
- •3.4 Защита программы
- •4 Экономическая часть
- •4.1 Расчет трудоемкости и разработки программного продукта
- •4.2 Расчет затрат на разработку программного продукта
- •5 Обеспечение эргономики рабочего места
- •5.1 Анализ условий труда при эксплуатации проектируемого объекта
- •5.1.1 Проблемы влияния электромагнитных излучений
- •5.1.2 Проблемы перегрузки зрения
- •5.1.3 Проблемы, связанные с мышцами и суставами
- •5.1.4 Проблемы, связанные с электро- и пожаробезопасностью
- •5.2 Разработка инженерно-технических и организационных мероприятий по обеспечению безопасности труда
- •5.2.1 Мероприятия по снижению влияния электромагнитных излучений и электростатических полей
- •5.2.2 Мероприятия по улучшению условий зрительной работы
- •5.2.3 Мероприятия по снижению статических физических нагрузок
- •5.2.4 Мероприятия по поддержанию оптимальных параметров микроклимата
- •5.2.5 Мероприятия по снижению шума
- •5.3 Требования по электрической и пожарной безопасности
- •5.4 Мероприятия по повышению устойчивости функционирования проектируемой системы
- •5.5 Эргономический анализ программного обеспечения
- •5.6 Выводы
3.1 Отладка программы
При написании данного приложения допускались различные ошибки. Все ошибки можно разделить на следующие виды:
1. Синтаксические ошибки вызываются нарушением синтаксиса языка, они выявляются и устраняются при компиляции программы. Их обнаруживает компилятор, выдавая сообщение и указывая в тексте программы место, где возникла ошибка. Например,
Sheet.Range['AX20']:= Form6.ADOQuery1.FieldByName('Финансовый_орган).AsString;
Допущена ошибка – в записи операции отсутствует апостроф ('). При ее обнаружении в ходе компиляции будет выдано соответствующее сообщение.
2. Логические ошибки являются следствием реализации неправильного алгоритма и проявляются при выполнении программы. Их наличие обычно не приводит к выдаче пользователю каких-либо сообщений или прекращению работы всего приложения, однако программа будет работать некорректно и выдавать неправильные результаты. Например,
if not DBGrid2.DataSource.DataSet.Eof
DBGrid2.DataSource.DataSet.Delete;
В данном куске кода допущена ошибка – не верно задано логическое условие, в результате чего не будет выполняться удаление данных из базы. Необходимо данную ошибку исправить, добавив знак логической операции then.
3. Динамические ошибки возникают, если в программе есть не заполненные поля данных.
Здесь во время выполнения программы возможно появление ошибки, связанной с базой данных.
Как правило, логические и динамические ошибки находятся и исправляются после проведения тестов с использованием контрольных примеров.
Для поиска конкретной ошибки использовались возможности компилятора Delphi, обладающего следующими встроенными командами:
команда Step Over (Шаг с обходом) предписывает выполнение одной строки кода программы с обходом процедур (процедура выполняется как единый модуль);
команда Trace Into (Трассирование до) предписывает выполнение одной строки кода программы с заходом в процедуры и их последующим построчным выполнением;
команда Run To Cursor (Выполнение до курсора) задает выполнение загруженной программы до места размещения курсора.
Также использовались возможности Delphi для контролирования выражений:
1) Окно Watch позволяет ввести необходимое выражение и проконтролировать его значения после запуска программы.
Окно Modify позволяет не только просматривать значение выражения, переменной, но и изменять его. Данная опция применялась в том случае, когда во время выполнения программы по шагам была обнаружена ошибка, однако необходимо было дальнейшее выполнение программы без прерывания.
Весь процесс отладки можно разделить на ряд последовательных этапов:
Определение действий (ситуаций), после которых возникает ошибка.
Используя контрольные точки и пошаговое выполнение программы, определение точного места возникновения ошибки в исходном тексте программы.
Определение причины ошибки.
Исправление ошибки.
3.2 Защита нарушения целостности программы и данных
Защита от ошибок применялась в разных частях программы.
Защита от ошибок выражалась в контроле “опасного” фрагмента программы, если же возникает вероятность появления какой-либо ошибки, то программа выходит из “опасной” процедуры или пропускает “опасный” фрагмент кода, предварительно сообщив пользователю об ошибке в виде информационного окна.
Например, если при заполнении расшифровки не заполнена сама заявка, то при обновлении данных выводится сообщение об ошибке:
“Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени последнего чтения”. Программа требует заполнения полей заявки.
Рисунок 20 - Ошибка в проекте
Так же, если заносимые в базу данные имеют повторяющиеся значения индекса, ключевых полей или связей, то выводится сообщение об ошибке следующего вида:
Рисунок 21 - Ошибка при повторении индексов, ключевых полей или связей