Диплом: Автоматизация деятельности предприятий жилищно-коммунального хозяйства для УК "ПИК-Комфорт"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
81
Таблица 2.8
Структура таблицы client_payment
Поле
Тип
Связи
id
int(11)
payment_date
datetime
id_client
int(11)
client -> id
value
double
id_user
int(11)
Таблица 2.9
Структура таблицы client_privilege
Поле
Тип
Null
По умолчанию
Связи
id
int(11)
Нет
id_client
int(11)
Да
NULL
client -> id
id_service
int(11)
Да
NULL
service -> id
id_privilege
int(11)
Да
NULL
privilege -> id
id_privilege_type
int(11)
Да
NULL
privilege_type -> id
value
double
Да
NULL
Таблица 2.10
Структура таблицы home
Поле
Тип
Null
id
int(11)
Нет
title
varchar(255)
Да
address
varchar(255)
Да
Таблица 2.11
Структура таблицы privilege
Поле
Тип
Null
id
int(11)
Нет
title
varchar(255)
Да
Таблица 2.12
Структура таблицы privilege_type
Поле
Тип
Null
id
int(11)
Нет
title
varchar(255)
Да
Таблица 2.13
Структура таблицы reporting
Поле
Тип
Null
id
int(11)
Нет
creation_date
datetime
Да
reporting_date
datetime
Да
id_user
int(11)
Да
82
Таблица 2.14
Структура таблицы service
Поле
Тип
Null
По умолчанию
Связи
id
int(11)
Нет
title
varchar(255)
Да
NULL
id_service_type
int(11)
Да
NULL
service_type -> id
Таблица 2.15
Структура таблицы service_type
Поле
Тип
Null
По умолчанию
id
int(11)
Нет
title
varchar(255)
Да
NULL
Таблица 2.16
Структура таблицы settings
Поле
Тип
Null
По умолчанию
id
int(11)
Нет
organization_name
varchar(255)
Да
NULL
organization_requisites
text
Да
NULL
smtp_server_address
varchar(255)
Да
NULL
smtp_server_port
int(11)
Да
NULL
smtp_server_login
varchar(255)
Да
NULL
smtp_server_password
varchar(255)
Да
NULL
Таблица 2.17
Структура таблицы tariff
Поле
Тип
Null
По умолчанию
Связи
id
int(11)
Нет
tariff_date
datetime
Да
NULL
id_service
int(11)
Да
NULL
service -> id
value
double
Да
NULL
current
bit(1)
Да
NULL
83
Таблица 2.18
Структура таблицы user
Поле
Тип
Null
По
умолчанию
Связи
Комментарии
id
int(11)
Нет
surname
varchar(255)
Да
NULL
Фамилия
name
varchar(255)
Да
NULL
Имя
middle_name
varchar(255)
Да
NULL
Отчество
phone
varchar(255)
Да
NULL
email
varchar(255)
Да
NULL
user_login
varchar(255)
Да
NULL
user_password
varchar(255)
Да
NULL
user_block
bit(1)
Да
NULL
id_user_type
int(11)
Да
NULL
user_type ->
id
Таблица 2.19
Структура таблицы user_type
Поле
Тип
Null
По умолчанию
id
int(11)
Нет
title
varchar(255)
Да
NULL
84
2.3.3 Структурная схема пакета (дерево вызова программных
модулей)
Схематическое изображение дерева программных модулей системы
приведено на рисунке 2.8, а описание дано в таблице 2.20.
Unit 1
Unit 2
Unit3
Unit4
Unit5
Unit6
Unit7
Unit8
Unit9
Unit10
Unit11
Unit13
Unit12
Рисунок 2.8 Схема дерева программных модулей
85
Таблица 2.20
Описание к схеме дерева программных модулей
Модуль
Значение модуля
Unit1
Вход в программу (ввод пароля)
Unit2
Модуль главной формы (главное меню, смена
пароля, о программе)
Unit3
Справочник Клиенты
Unit4
Справочник Тарифы
Unit5
Справочник Услуги
Unit6
Справочник Квартиры
Unit7
Справочник Пользователи
Unit8
Работа с начислениями
Unit9
Справочник Льготы
Unit10
Отчет по должникам
Unit11
Отчет по начислениям
Unit12
Квитанция
Unit13
Редактирование отчетов
2.3.4 Описание программных модулей
Программная система состоит из следующих уровней: клиент; сервер
приложений; сервер базы данных.
Клиент это интерфейсный компонент, который представляет первый
уровень, собственно приложение для конечного пользователя. Первый уровень
не имеет прямых связей с базой данных и бизнес-логики [3].
Сервер приложений располагается на втором уровне. На втором уровне
сосредоточена основная часть бизнес-логики.
Сервер базы данных обеспечивает хранение данных и располагается на
третьем уровне.
Передача данных между клиентом и сервером осуществляется через
протокол Transmission Control Protocol (TCP).
Сервер приложений взаимодействует с базой данных через СУБД MySQL.
Подключение к базе данных выполняется по технологии ActiveX Data Objects
(ADO).
В структуре сервера можно выделить две основные части: Модуль
управления сервером (TdmServer) и модуль предоставления данных
(TdssmRemoteData). Описание модулей приведено ниже, в таблице 2.21.
86
Таблица 2.21
Структура сервера приложений
Название модуля
Описание
Функции
1
TdmServer
Содержит компоненты для
подключения к системе
управления базами данных
(через
ADO) и компоненты
для организации сервера
приложений (передача
данных выполняется через
протокол TCP).
Подключение к СУБД.
Управление сервером
приложений (установка
соединений с
клиентскими
приложениями,
аутентификация
пользователей, передача
данных клиентам).
2
TdssmRemoteData
Модуль системы, который
определяет доступные
клиенту данные и
функциональность системы.
Экземпляр данного модуля
создается для каждого
подключенного клиента.
Авторизация.
Предоставление данных;
Предоставление
функциональности;
Модуль управления сервером
При инициализации данного модуля автоматически выполняется
инициализация соединения с базой данных. Параметры соединения содержаться
в файле Settings.ini. Если соединение с базой данных по каким-то причинам не
удалось установить, то сервер выдаст сообщение о невозможности дальнейшей
работы, т.е. успешное подключение к базе данных обязательное условии запуска
сервера.
87
Рисунок 2.9 Состав модуля TdmServer
Cервер передает данные по протоколу TCP (за это отвечает компонент
DSTCPServerTransport). Потому, для сервера должен быть задан порт
прослушивания. В нашем случае он имеет значение 6000.
При подключении клиента, на сервере создается отдельный поток. Клиент
в обязательном порядке передает данные для выполнения аутентификации
(логин и пароль), проверку которых выполняет компонент
DSAuthenticationManager. В случае успешного прохождения процедуры
аутентификации, для передачи данных между сервером и клиентом, DSServer
создаст интерфейс взаимодействия. Этим интерфейсом является экземпляр
класса TdssmRemoteData.
В случае ошибки аутентификации сервер вызывает исключение и
уничтожает поток, который был создан для данного подключения (Рисунок 2.10
и таблица 2.22).
88
Рисунок 2.10 Состав класса TdmServer
Таблица 2.22
Поля класса
public TADOConnection
adoConnection
Компонент соединения с базой данных через
ADO
public
TDSAuthenticationManager
DSAuthenticationManager
Компонент аутентификации
public TDSServer
DSServer
Компонент управления сервера
public TDSServerClass
DSServerClass
Компонент определения серверного класса
public
TDSTCPServerTransport
DSTCPServerTransport
Транспорт сервера (как будут передаваться
данные)
internal TIniFile
FSettings
Компонент для работы с файлом настроек
Интерфейс взаимодействия
Экземпляр класса TdssmRemoteData создается после успешной
аутентификации пользователя и служит для предоставления клиентскому
приложению определенных данных и функций сервера.
Цепочка передачи данных между клиентом и сервером выглядит так:
1. Компонент подключения к БД (TADOConnection);
2. Набор данных (TADOTable или TADOQuery);
3. Провайдер набора данных (TDataSetProvider);
4. Компонент клиентского соединения (TSQLConnection);
89
5. Клиентский компонент соединения с провайдером данных
(TDSProviderConnection);
6. Клиентский набор данных (TClientDataSet).
Пункты 1, 2, 3 выполняются на сервере, а пункты 4, 5, 6 клиентским
приложением. Компоненты класса TDataSetProvider служат для определения
прав доступа и настройки параметров передачи данных клиентскому
приложению. В его настройках можно указать такие параметры как: доступность
набора данных для клиента, режим «только чтение», запрет редактирования,
запрет вставки, запрет удаления и т.д.
Клиент
Основой клиентской части является модуль TdmData. Модуль выполняет
следующие функции: соединение с сервером; управление предоставленными
сервером наборами данных; получение доступа к функциональности сервера
(создание проекции интерфейса взаимодействия «TdssmRemoteData»).
Для подключения к серверу используется компонент SQLConnection. В
качестве параметров подключения указывается: тип подключения (DataSnap); IP-
адрес сервера; порт подключения (6000); протокол взаимодействия (TCP); логин
и пароль пользователя.
Для доступа к функциональности и данным сервера используется
специальный компонент DSProviderConnection, который необходим для
подключения клиентского набора данных (TClientDataSet) к провайдеру набора
данных (TDataSetDrovider).
После успешного подключения к серверу выполняется активация
доступных наборов данных (открытие набора данных).
После открытия набора пользователь может редактировать набор данных
через визуальные компоненты (такие как TDBGrid, TDBEdit, TDBMemo,
TDBImage, TDBNavigator и т.д.), разработанные специально для работы с базами
данных. Но визуальные компоненты подключаются не напрямую к клиентскому
набору данных, а используют специальный «посредник» (объект класса
TDataSource) который призваны унифицировать использование визуальных
компонентов с различными типами наборов данных.
90
Клиент также получает доступ к интерфейсу взаимодействия сервера
TdssmRemoteData. На стороне клиента, через компонент DSProviderConnection,
создается «проекция» класса TdssmRemoteData, в которую входят все методы
серверного класса со спецификатором public. Класс «проекция»
инициализируется сразу после подключения клиента к серверу.
Все отчеты системы сконцентрированы в модуле TdmReport и
формируются при помощи генератора отчетов «Fast Reports». Простота в
использовании, высокая производительность и надежность генератора отчетов
делают его непревзойденным лидером в своей области. Концентрация всех
отчетов в одном модуле, а также использование компонента TActionManager
позволяет с легкостью вызывать отчеты из различных модулей интерфейса
системы. Ядро Fast Reports позволяет экспортировать созданные отчеты в
различные форматы: PDF, XLS, ODT, RTF и т.д.
Схема работы в главном меню представлена на рисунке 2.11.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")
Event - менеджмент: реализация проекта на примере ресторана "ДУБЛИН"