Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KursovAZAZAya.doc
Скачиваний:
62
Добавлен:
07.02.2015
Размер:
689.66 Кб
Скачать

2.2.2. Проектирование интерфейса

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

  • База данных (см. Таблица 2.1);

  • Блок просмотра и редактирования (см. Таблица 2.2).

Таблица 2.1. Спецификация функционального блока "База данных"

Атрибут

Значения

Назначение

Упорядоченное хранение данных

Описание

Возможность отображения и редактирования данных с СУБД

Внешнее отображение

Таблицы с данными

Входные/выходные данные

Данные абонентов, тарифов, оплат

Входные/выходные сигналы управления

Команды редактирования

Таблица 2.2. Спецификация функционального блока "Блок просмотра и редактирования"

Атрибут

Значения

Назначение

Обеспечение возможности редактирования и просмотра базы данных

Описание

Возможность отображения и редактирования базы данных без СУБД

Внешнее отображение

Совокупность форм на каждую из таблиц

Входные/выходные данные

Данные абонентов, тарифов, оплат

База данных

База данных интернет провайдера

Входные/выходные сигналы управления

Команды редактирования

База данных должна быть приведена к третьей нормальной форме. Логическая модель базы данных отображена на диаграмме ErWin(рис. 2.2).

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

  1. Добавление/удаление/редактирование записей

  2. Составление запросов

  3. Выдача информации по конкретному пользователю

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

Структура интерфейса представлена на рисунке 2.3.

Рисунок 2.3. Схема интерфейса программы

2.3. Реализация программного средства

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

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

Таблица 2.3. Абоненты

Имя поля

Тип данных

Код

Счетчик

Фамилия

Текстовый

Имя

Текстовый

Отчество

Текстовый

Паспорт

Числовой

Телефон

Числовой

Адрес

Текстовый

Таблица 2.4. Тарифы

Имя поля

Тип данных

Код

Счетчик

Название

Текстовый

Минута

Денежный

Мегабайт

Денежный

Сутки

Денежный

Таблица 2.5. Оплата

Имя поля

Тип данных

Код

Счетчик

Тариф

Числовой

Плательщик

Числовой

Дата начала

Дата/время

Дата окончания

Дата/время

Минут

Числовой

Мбайт

Числовой

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

Создано девять форм. Основная (Main) форма представляет собой главное меню (рис. 2.4), в котором располагаются: меню, логотип интернет провайдера, и три кнопки для открытия других форм, каждым из которых соответствует отдельная таблица.

Рисунок 2.4. Главная форма приложения

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

procedure TFormMain.btn1Click(Sender: TObject);

var tarf: TFormTariff;

begin

tarf := TFormTariff.Create(Self);

tarf.ShowModal;

end;

procedure TFormMain.btn2Click(Sender: TObject);

var usrf: TFormUsers;

begin

usrf := TFormUsers.Create(Self);

usrf.ShowModal;

end;

procedure TFormMain.btn3Click(Sender: TObject);

var billf: TFormBills;

begin

billf := TFormBills.Create(Self);

billf.ShowModal;

end;

Так же нужно заметить, что главная форма не отображается сразу. Перед ней появляется форма «Вход в систему» (рис. 2.5), которая служит для проверки кто – пользователь или администратор пытается войти в систему. Проверка осуществляется путем ввода пароля для администратора, или простым нажатием кнопки «Войти» для пользователя. Если был введен неверный пароль – программа уведомит об этом и сделает поле для ввода пароля красным, а если верный – выдаст уведомление с приветствием.

Пользователь и администратор обладают разными правами доступа в приложении.

Рисунок 2.5. Форма для входа

На главной форме находится компонент ADOConnectionс именемMainCon, в котором установлена связь с созданной базой данных, находящейся в той же папке что и сам файл приложения.

Рисунок 2.6. Настройки соединения с базой данных

На остальных формах добавлены компоненты для работы с базой данных, охарактеризованные в таблице 2.6:

Таблица 2.6. Свойства компонентов

Компонент

Свойство

Значение

ADOTable

Connection

FormMain.MainCon

TableName

Имя таблицы

Active

True

DataSource

DataSet

ADOTable

DBGrid

DataSource

DataSource

DBNavigator

DataSource

DataSource

ADOQuery

Connection

FormMain.MainCon

Active

True

Компонент ADOQueryбыл использован только на одной форме для реализации фильтрации и сортировки таблицы.

Примеры интерфейсов форм представлены на рисунках 2.7 – 2.9

Рисунок 2.7. Форма «Абоненты»

Рисунок 2.8. Форма «Тарифы»

Рисунок 2.9. Форма «Оплата»

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

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

Для фильтрации по промежутку было использовано два компонента DateTimePicker, одинADOQueryи одинCheckBox.

Код реализации фильтрации:

procedure TFormBills.btnFILTClick(Sender: TObject);

begin

if (chk1.Checked = True) then

ADOQuery1.Filter:= '( [Дата начала] > '+DateToStr(dtp1.Date)+

') and ( [Дата начала] < '+DateToStr(dtp2.Date)+

') and ( [Дата окончания] > '+DateToStr(dtp1.Date)+

') and ( [Дата окончания] < '+DateToStr(dtp2.Date)+')';

ADOQuery1.Filtered:=chk1.Checked;

end;

Как видно из кода, мы передаём параметру Filterнаш фильтр в виде строки и затем состояниюFilteredпередаём текущее состояниеCheckBox.

Результаты работы фильтра приведены на рисунках 2.10 – 2.12.

Рисунок 2.10. Форма без применения фильтра

Рисунок 2.11. Форма с применением фильтра от 03.06.2005 до 21.12.2005

Рисунок 2.12. Форма с применением фильтра от 03.06.2006 до 21.12.2007

Для сортировки таблицы по определенному полю был использован SQLзапрос вADOQuery.

Поле для сортировки выбирается с помощью RadioGroupс именемrg1. Так же существует возможность выбора типа сортировки либо по возрастанию, либо по убыванию, используяRadioGrouprg2.

Код реализации сортировки:

procedure TFormBills.btnSORTClick(Sender: TObject);

var s: string;

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('SELECT * FROM [Оплата]');

case rg2.ItemIndex of

0: s:= 'ASC';

1: s:= 'DESC';

end;

case rg1.ItemIndex of

0: s:='ORDER BY [Код] ' + s;

1: s:='ORDER BY [Тариф] ' + s;

2: s:='ORDER BY [Плательщик] ' + s;

3: s:='ORDER BY [Дата начала] ' + s;

4: s:='ORDER BY [Дата окончания] ' + s;

5: s:='ORDER BY [Минут] ' + s;

6: s:='ORDER BY [Мбайт] ' + s;

end;

ADOQuery1.SQL.Add(s);

ADOQuery1.Open;

end;

Примеры работы сортировки приведены на рисунках 2.13 - 2.15.

Рисунок 2.13. Форма без применения сортировки (по умолчанию)

Рисунок 2.14. Форма с применением сортировки по полю «Плательщик» по возрастанию

Рисунок 2.15. Форма с применением сортировки по полю «Дата окончания» по убыванию

Так же я добавил возможность смены пароля, только для администратора (рис. 2.15). Вызвать окно смены пароля можно из Меню->Операции->Админ->Сменить пароль.

Рисунок 2.15. Форма для смены пароля администратора

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]