Классы пользовательских объектов.




1) u_closebutton:

кнопка для закрытия родительского окна.

2) u_editmask_g0:

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

3) u_waitwindow:

представляет собой пользовательский визуальный объект, состоящий из индикатора прогресса, рамки, текстовой строки подсказки и строки состояния процесса. Объект служит для отображения информации о протекании какого-либо потенциально продолжительного процесса.

Классы окон.

1) w_db_struct:

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

2) w_flatpribors:

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

Окно позволяет редактировать данные для указанной квартиры в одном доме. Список в верхней части окна позволяет выбрать месяц, применительно к которому будут рассматриваться приборы.

Окно использует объект DataWindow temp_1. При модификации информации в нем производится пересчет количества энергии в кВ/ч, потребляемого квартирой за сутки.

3) w_flats:

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

Модификация информация о доме производится в DataWindow house_of_month_h_num (постоянная информация о доме) и пользовательском элементе управления u_editmask_g0 (информация, зависящая от месяца – тариф).

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

Из этого окна также осуществляется вызов окна w_flatpribors для редактирования списка приборов квартиры.

4) w_main:

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

5) w_params:

окно модификации параметров, принимаемых по умолчанию (в данной версии программы это – тариф оплаты одного кВ/ч).

6) w_pribors_edit:

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

7) w_report_house:

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

- информация об одном доме и одном месяце;

- информация о всех домах и одном месяце;

- информация о всех домах и всех месяцах;

- информация об одном доме и всех месяцах.

Описание программы

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

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

Описание главного меню:

1) “Программа”

а) “Структура БД” – просмотр информации о структуре БД (содержимого ее таблиц и связей между ними);

б) “Выход” – завершение работы с программой;

2) “Данные”

а) “Дома” – работа с информацией о домах. При этом появляется диалоговое окно, содержащее элементы управления для задания критериев отбора данных, и, непосредственно, сами данные.

Критерии отбора – это номер дома и месяц. Эти параметры задаются путем выбора значений из списков в верхней части экрана. При изменении текущих дома или месяца происходит автоматическое сохранение предыдущих данных в БД, после чего обновляется содержимое некоторых элементов управления.

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

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

Операции над домами:

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

- удаление. При этом у пользователя запрашивается подтверждение на выполнение этой операции;

- добавление. При этом месяный тариф устанавливается равным значению по умолчанию (меню “Вид”->“Параметры”). Активным становится окно данных для ввода постоянной информации о доме. При выходе из него, т.е. когда оно теряет фокус ввода, производится запрос на сохранение введенных данных, т.е. добавление записей в соответствующие таблицы.

Операции над квартирами:

- модификация;

- удаление;

- добавление. При этом квартире присваивается номер, равный максимальному номеру среди всех остальных квартир плюс единица;

- сортировка. Выполняются при щелчке мышью на одном из заголовков столбцов в таблице квартир. Первый щелчок на заголовке приводит к выполнению сортировки по возрастанию данных (Ascending), а повторный – по убыванию (Descending).

Рядом с каждой записью с информацией по квартире находится кнопка “Приборы”, нажатие которой вызывает диалог редактирования приборов данной квартиры:

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

- при изменении месяца или выходе из диалога выводится запрос для подтверждения сохранения данных (если они были изменены);

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

- кнопка “Копировать” осуществляет копирование информации о приборах в квартире для текущего месяца во все остальные месяцы года;

- кнопка “Undo” отменяет все изменения, сделанные в списке приборов текущего месяца. “Приборы” – работа со списком приборов, которые могут иметься в квартирах. Каждый прибор идентифицируется своим именем и потребляемой мощностью.

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

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

3) “Отчет”

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

Отображаемые данные:

информация о доме (его номер, число квартир и жильцов);

тариф и сумма, необходимая для погашения расходов на электроэнергию для дома в указанном месяце.

4) “Вид”

а) “Toolbar” – управление видимостью панели инструментов;

б) “Параметры” – изменение месячного тарифа, устанавливаемого по умолчанию при добавлении нового дома.

Программа и методика испытаний

Отладка программы

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

Процесс отладки в общем случае можно разделить на четыре этапа:

Обнаружение ошибки

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-08-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: