1.   Пошаговая отладка

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

После успешной компиляции модуля на полосе отладочной информации каждая строка кода, внесшая свой вклад в модуль, будет отмечена маленьким, синим кружком. Если же строка не помечена, значит, здесь поработал оптимизатор. Поскольку для таких строк выполняемый код не сгенерирован эти строки не будут помечены точкой выполнения.

Просмотр значений переменных

При пошаговом прохождении программы в отладчике вы, несомненно, захотите узнать, что содержится в различных переменных. Для этого можно использовать окно просмотра переменных Watch List, которое предоставляет возможность пассивно просматривать содержимое одной или нескольких переменных, или диалоговое окно Evaluate/Modify, позволяющее работать только с одной переменной (в нем можно не только просмотреть, но и изменить ее содержимое).

Установка точек останова

Точка останова (breakpoint) — своеобразный знак STOP для отладчика (на полосе слева в окне редактора она и выглядит как маленький красный значок). Когда приложение запущено под отладчиком и доходит до строки, в которой находится точка останова, оно прекращает работу и ждет ваших дальнейших распоряжений. Такие точки могут быть условными и безусловными. Отладчик всегда останавливается на точке безусловного останова и может останавливаться в точке условного останова, когда выполнено условие. Интегрированный отладчик Delphi поддерживает два типа условий — логическое и по количеству проходов.

1.6.2. Трансляция и синтаксическая отладка

На этом этапе происходит статический контроль- это проверка программы по ее тексту (без выполнения) с помощью инструментальных средств. Наиболее известной формой статического контроля является синтаксический контроль программы с помощью компилятора, при котором проверяется соответствие текста программы синтаксическим правилам языка программирования. Сообщения компилятора обычно делятся на несколько групп в зависимости от уровня тяжести нарушения синтаксиса языка программирования:

- информационные сообщения и предупреждения, при обнаружении которых компилятор, как правило, строит корректный объектный код и дальнейшая работа с программой (компоновка, выполнение) возможна (тем не менее сообщения этой группы также должны тщательно анализироваться, так как их появление также может свидетельствовать об ошибке в программе - например, из-за неверного понимания синтаксиса языка);

- сообщения об ошибках, при обнаружении которых компилятор пытается их исправить и строит объектный код, но его корректность маловероятна и дальнейшая работа с ним скорее всего не возможна;

- сообщения о серьезных ошибках, при наличии которых построенный компилятором объектный код заведомо некорректен и его дальнейшее использование невозможно;

- сообщения об ошибках, обнаружение которых привело к прекращению синтаксического контроля и построения объектного кода.

Однако, практически любой компилятор пропускает некоторые виды синтаксических ошибок. Место обнаружения ошибки может находиться далеко по тексту программы от места истинной ошибки, а текст сообщения компилятора может не указывать на истинную причину ошибки. Одна синтаксическая ошибка может повлечь за собой генерацию компилятором нескольких сообщений об ошибках (например, ошибка в описании переменной приводит к появлению сообщения об ошибке в каждом операторе программы, использующем эту переменную).

Второй формой синтаксического контроля может быть контроль структурированности программ, то есть проверка выполнения соглашений и ограничений структурного программирования. Примером подобной проверки может быть выявление в тексте программы ситуаций, когда цикл образуется с помощью оператора безусловного перехода (использования оператора GOTO для перехода вверх по тексту программы ). Для проведения контроля структурированности могут быть созданы специальные инструментальные средства, а при их отсутствии эта форма статического контроля может совмещаться с визуальным контролем (см. пункт 1.5.1.).

Третья форма статического контроля - контроль правдоподобия программы, то есть выявление в ее тексте конструкций, которые хотя и синтаксически корректны, но скорее всего содержат ошибку или свидетельствуют о ней. Основные неправдоподобные ситуации :

- использование в программе неинициализированных переменных (то есть переменных, не получивших начального значения) ;

- наличие в программе описаний элементов, переменных, процедур, меток, файлов, в дальнейшем не используемых в ее тексте;

- наличие в тексте программы фрагментов, никогда не выполняющихся;

- наличие в тексте программы переменных, ни разу не используемых для чтения после присваивая им значений;

- наличие в тексте программы заведомо бесконечных циклов ;

Даже если присутствие в тексте программы неправдоподобных конструкций не приводит к ее неправильной работе, исправление этого фрагмента повысит ясность и эффективность программы, т. е. благотворно скажется на ее качестве.

Для возможности проведения контроля правдоподобия в полном объеме также должны быть созданы специальные инструментальные средства, хотя ряд возможностей по контролю правдоподобия имеется в существующих отладочных и обычных компиляторах.

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

1) проведение этих дополнительных форм статического контроля после завершения компиляции и только для синтаксически корректных программ ;

2) максимальное использование результатов компиляции программы и, в частности, информации, включаемой в листинг компилятора;  

3) вместо полного синтаксического разбора текста проверяемой программы построение для нее списка идентификаторов и списка операторов с указанием всех их необходимых признаков.

При отсутствии инструментальных средств контроля правдоподобия эта фаза статического контроля также может объединяться с визуальным контролем (см. пункт 1.5.1.).

На этом этапе разработки программы наиболее часто встречающимися ошибками являлись:

1.           EArrayError – данная исключительная ситуация вызывается, если для доступа к элементу массива используется недопустимый индекс, если массив, имеющи1.й определенный размер, добавляют слишком много элементов, а также при попытке вставки элемента в отсортированный массив.

2.           EconvertError – данная исключительная ситуация вызывается, если StrToInt или StrToFloat не в состоянии преобразовать определенную строку в корректное значение типа Integer или значение с плавающей запятой соответственно. Названная исключительная ситуация возникает также при ошибочном копировании данных из одного объекта в другой.

3.           EDdatabaseError – эта исключительная ситуация вызывается, если компонент при выполнении программы обнаруживает ошибку в базе данных.

4.           EDBEditError – указанная исключительная ситуация вызывается, если приложение пытается ввести данные, несовместимые с заданной маской.


1.7.     Инструкция по использованию программы

1.7.1.  Инструкция для программиста

Программа «Распределение затрат» состоит и 3-х файлов:

1.   RaspZatr.exe – исполняемый файл программы

2.   Tabl.db – файл таблицы Базы Данных, совместимый с Paradox 7

3.   Tabl.px – индексный файл таблицы (создается автоматически).

Для работы программы на компьютере необходимо иметь утилиту Borland Database Engine (BDE) Admistrator.

Мощность и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). Сейчас не различают эти два названия (BDE и IDAPI) и считают их синонимами. BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. Но, как показывает практика, производительность систем с использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC драйвера работают через специальный “ODBC socket”, который позволяет встраивать их в BDE.

Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этими же особенностями обладает и Delphi.

Для запуска программы необходимо произвести следующие действия:

1.   Скопировать файлы программы в директорию на каком либо диске.

2.   Запустить программу BDE Administrator.

3.   В меню Object выбрать New или нажать Ctrl+N.

4.   В появившемся окне выбора типа драйвера БД необходимо указать «Standard» и нажать Enter.

5.   Далее следует ввести АЛИАС БД – «RaspZatr».

6.   Во вкладке Definition в поле Path необходимо указать путь местоположения программы. (Например C:\RaspZatr)

7.   В меню Object выбрать Apply или нажать Ctrl+A.

8.   Закрыть утилиту.


1.7.2.  Инструкция для оператора

Из директории где располагается программа необходимо запустить файл RaspZart.exe для запуска программы.

После этого на экране появится главная форма приложения. На форме находятся поля для ввода данных (слева каждое из них подписано), но они на начальном этапе не активны, т.к. форма находится в режиме «Просмотра записей». Снизу под полями ввода находятся две кнопки с синими стрелками. Они предназначены для просмотра введенных данных. Стрелка «Вправо» переводит запись в таблице на одну вперед. Стрелка «Влево» - на одну запись назад.

В правом нижнем углу формы находятся две кнопки: «Просмотр таблицы» и «Выход». При нажатии кнопки «Просмотр таблицы» появится следующая форма, предназначенная для редактирования любой записи в таблице. Здесь можно увидеть две кнопки: «Ок» и «Отмена». Первая для подтверждения изменений и выхода, а вторая для отмены всех изменений и выхода из этой формы. Кнопка «Выход» предназначена для выхода из приложения.

Справа на главной форме находится панель с тремя кнопками: «Добавить», «Удалить» и «Расчет». Для добавления новых записей в таблицу необходимо нажать на кнопку «Добавить», при этом форма перейдет в режим добавления новых записей. В этом режиме активизируется первое поле со списком. В этом поле необходимо выбрать нужный счет или «Итого». После этого программа активизирует, исходя из счета, поле для введения значений. Программа может «перепрыгивать» некоторые счета, т.к. она выбирает какое поле вводится при текущем счете. Для удобства ввода цифр программа показывает справа от поля ввода еще два дополнительных. Фокус автоматически передается в нижнее. Здесь можно непосредственно вводить значение, если есть необходимость произвести суммирование то следует ввести значение и нажать “+” на вспомогательной цифровой клавиатуре. При этом значение перейдет в верхнее поле и станет выделено красным цветом. Таким образом можно вводить значение, нажимать “+” и значения будут суммироваться. После того как получилась сумма которую нужно запомнить необходимо нажать «Enter» и сумма перенесется в нужное поле и программа активизирует следующее поле для ввода. В конце ввода программа попросит ввести дату, нужно ввести дату в формате ДД.ММ.ГГГГ и нажать «Enter». Ввод данных можно в любое время отменить нажатием кнопки «Отменить», при этом форма перейдет в режим «Просмотра записей».

Для удаления записи необходимо встать на нужную запись и нажать на кнопку удалить. При этом программа попросит подтвердить удаление.

После того как возникла необходимость расчета таблицы нужно нажать кнопку «Расчет» и ввести дату расчета. Поле этого программа выполнит запрос по введенной дате и выведет на экран все счета по этой дате. На этой форме находятся кнопки: «Подготовка к печати», «Расчет» и «Назад». Если таблица еще не рассчитана то нужно нажать кнопку «Расчет». Если необходимо распечатать таблицу – нажать «Подготовка к печати». Для перехода в главную форму – нажать «Назад».



Информация о работе «Написание БД «Распределение затрат аварийно-диспетчерской службы предприятия»»
Раздел: Информатика, программирование
Количество знаков с пробелами: 78161
Количество таблиц: 8
Количество изображений: 1

Похожие работы

Скачать
140479
7
13

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

Скачать
91060
12
3

... предприятия, расходования материальных и денежных средств. Бухгалтерия ведет бухгалтерский учет всех затрат хозяйственной деятельности предприятия, составляет бухгалтерские отчеты и балансы, проводит расчеты с рабочими и служащими. В состав бухгалтерии входят, следующие группы: - финансовая, отвечающая за учет приобретения материальных ценностей, их поступления и расходования. В этой же группе ...

Скачать
154811
25
43

... дипломного проекта, также был проведён обзор рынка существующих информационных систем, решающих задачи автоматизации предприятия. Результатом данной квалификационной работы является разработка информационной системы учета товаров на примере АГЗС «Северного объединения по эксплуатации газового хозяйства». В процессе выполнения работы были составлены алгоритмы, необходимые для работы системы, был ...

Скачать
195508
19
4

... и обслуживания жилфонда, использовать рычаги государственного регулирования системы управления жилищно-коммунальным комплексом, активизировать процесс формирования различных форм самоуправления городским жилфондом. 3.1.2 Рыночные механизмы функционирования коммунального хозяйства Коммунальная сфера в городе Черемхово является в основном муниципальной собственностью. Коммунальные предприятия в ...

0 комментариев


Наверх