Диплом: Автоматизация процесса приема техники на ремонтные работы в ООО "МБ ЗАПАД"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
72
Характеристика каждой таблицы и описание ее полей представлено ниже.
Таблица 2.4
Характеристика таблицы equipment
Поле
Тип
Null
id
int(11)
Нет
id_workshop
int(11)
Да
id_equipment_type
int(11)
Да
name
varchar(255)
Да
inventory_number
varchar(255)
Да
serial_number
varchar(255)
Да
start_date
datetime
Да
info
mediumtext
Да
downtime
float
Да
stand
bit(1)
Да
Таблица 2.5
Характеристика таблицы request
Поле
Тип
Null
id
int(11)
Нет
id_state
int(11)
Да
id_sender
int(11)
Да
id_equipment
int(11)
Да
request_date
datetime
Да
repair_date_1
datetime
Да
repair_date_2
datetime
Да
user_reason
varchar(255)
Да
true_reason
varchar(255)
Да
info
mediumtext
Да
id_subdivision
int(11)
Да
description
mediumtext
Да
culprit
varchar(255)
Да
performed_work
mediumtext
Да
production_culture
varchar(255)
Да
id_production_master
int(11)
Да
id_mender
int(11)
Да
id_dispatcher
int(11)
Да
kind_of_repair_work
varchar(255)
Да
Таблица 2.6
Характеристика таблицы request_spares
Поле
Тип
Null
id
int(11)
Нет
id_request
int(11)
Нет
id_spare
int(11)
Нет
73
date
datetime
Нет
spare_count
double
Нет
Таблица 2.7
Характеристика таблицы subdivision
Поле
Тип
Null
id
int(11)
Нет
name
varchar(255)
Да
Таблица 2.8
Характеристика таблицы user
Поле
Тип
Null
id
int(11)
Нет
surname
varchar(255)
Да
name
varchar(255)
Да
patronymic
varchar(255)
Да
login
varchar(255)
Да
password
varchar(255)
Да
id_user_type
int(11)
Да
phone
varchar(255)
Да
email
varchar(255)
Да
id_subdivision
int(11)
Да
id_workshop
int(11)
Да
block
bit(1)
Да
report_date_1
datetime
Да
report_date_2
datetime
Да
Таблица 2.9
Характеристика таблицы workshop
Поле
Тип
Null
id
int(11)
Нет
name
varchar(255)
Да
Анализ концептуальной модели позволил выделить следующие пакеты:
интерфейсные элементы - классы, реализующие интерфейсные
компоненты;
пользовательский интерфейс - классы, реализующие объекты
интерфейса с пользователем;
интерфейс с БД - классы, реализующие интерфейс с базой данных;
база данных
74
ИС
Интерфейс с
БД
Пользовательс
кий интерфейс
Интерфейсные
элементы
Рисунок 2.17 Диаграмма пакетов
Диаграмма развертывания системы представлена на рисунке.
75
Сервер приложений
ПК заказчика
Локальная сеть
компании
Клиентская
часть
программы
Серверная
компонента
ПК диспетчера
Панель
управления
системой
Сервер БД
БД
ПК исполнителя
Клиентская
часть
программы
ПК руководителя
Клиентская
часть
программы
Рисунок 2.18 Диаграмма развертывания
Как следует из приведенной диаграммы, для развертывания системы
необходим сервер баз данных, сервер приложений, а также персональные
компьютеры пользователей системы с установленными на них клиентскими
компонентами программы.
Программа является многопользовательским клиент-серверным
приложением, состоящим из следующих элементов:
Сервер приложений;
Сервер базы данных;
Клиент.
Сервер приложений разработан при помощи технологии Delphi XE2
DataSnap. Передача данных между клиентом и сервером осуществляется через
протокол TCP.
Сервер приложений взаимодействует с базой данных через СУБД Mysql.
Подключение к базе данных выполняется через технологию ADO.
76
В структуре сервера можно выделить две основные части: Модуль
управления сервером (TdmServer) и модуль предоставления данных
(TdssmRemoteData). Описание модулей приведено ниже.
Таблица 2.10
Структура сервера приложений
Название модуля
Описание
Функции
1
TdmServer
Содержит компоненты для
подключения к системе
управления базами данных
(через ADO) и компоненты
для организации сервера
приложений (передача
данных выполняется через
протокол TCP).
Подключение к СУБД.
Управление сервером
приложений (установка
соединений с
клиентскими
приложениями,
аутентификация
пользователей, передача
данных клиентам).
2
TdssmRemoteData
Модуль системы, который
определяет доступные
клиенту данные и
функциональность системы.
Экземпляр данного модуля
создается для каждого
подключенного клиента.
Авторизация.
Предоставление данных;
Предоставление
функциональности;
Модуль управления сервером
При инициализации данного модуля автоматически выполняется
инициализация соединения с базой данных. Параметры соединения содержаться в
файле Settings.ini. Если соединение с базой данных по каким-то причинам не
удалось установить, то сервер выдаст сообщение о невозможности дальнейшей
работы, т.е. успешное подключение к базе данных обязательное условии запуска
сервера.
77
Рисунок 2.19 Состав модуля TdmServer
Cервер передает данные по протоколу TCP (за это отвечает компонент
DSTCPServerTransport). Потому, для сервера должен быть задан порт
прослушивания. В нашем случае он имеет значение 5000.
При подключении, на сервере создается отдельный поток. Клиент в
обязательном порядке передает данные для выполнения аутентификации (логин и
пароль), проверку которых выполняет компонент DSAuthenticationManager. В
случае успешного прохождения процедуры аутентификации, для передачи данных
между сервером и клиентом, DSServer создаст интерфейс взаимодействия. Этим
интерфейсом является экземпляр класса TdssmRemoteData.
В случае ошибки аутентификации сервер вызывает исключение и
уничтожает поток, который был создан для данного подключения.
78
Рисунок 2.20 Состав класса TdmServer
Таблица 2.11
Поля класса
public TADOConnection
adoConnection
Компонент соединения с базой данных
через ADO
public TDSAuthenticationManager
DSAuthenticationManager
Компонент аутентификации
public TDSServer
DSServer
Компонент управления сервера
public TDSServerClass
DSServerClass
Компонент определения серверного класса
public TDSTCPServerTransport
DSTCPServerTransport
Транспорт сервера (как будут передаваться
данные)
internal TIniFile
FSettings
Компонент для работы с файлом настроек
Таблица 2.12
Методы класса
public Sub
DataModuleCreate(Sender: TObject)
Обработчик события "Создание модуля данных"
public Sub
DSAuthenticationManagerUserAuthenticate(Sender: TObject;
Protocol: string; Context: string; User: string; Password: string; valid:
Boolean; UserRoles: TStrings)
Обработчик события "Аутентификация"
public Sub
DSServerClassGetClass(DSServerClass: TDSServerClass;
79
PersistentClass: TPersistentClass)
Обработчик события "Получить серверный класс"
public Sub
DSTCPServerTransportConnect(Event: TDSTCPConnectEventObject)
Обработчик события "Присоединение клиента"
public Sub
DSTCPServerTransportDisconnect(Event:
TDSTCPDisconnectEventObject)
Обработчик события "Отсоединение клиента"
public
function
TADOQuery
GetQuery(SQL: String)
Функция получения набора данных через произвольный SQL
запрос
public
function
TADOTable
GetTable(TableName: String)
Функция получения набора данных по имени таблицы (запроса)
public
function Integer
GetUserKey(Login: String; Password: String; Blocked: Boolean;
UserType: Integer)
Функция поиска идентификатора пользователя по логину и
паролю
Интерфейс взаимодействия
Как было сказано выше, экземпляр класса TdssmRemoteData создается после
успешной аутентификации и служит для предоставления клиентскому приложению
определенных данных и функциональности сервера.
Рисунок 2.21 Состав модуля TdssmRemoteData
80
Цепочка передачи данных между клиентом и сервером выглядит так:
Компонент подключения к БД (TADOConnection);
Набор данных (TADOTable или TADOQuery);
Провайдер набора данных (TDataSetProvider);
Компонент клиентского соединения (TSQLConnection);
Клиентский компонент соединения с провайдером данных
(TDSProviderConnection);
Клиентский набор данных (TClientDataSet).
Пункты 1, 2, 3 – выполняются на стороне сервера, а пункты 4, 5, 6 – на
стороне клиента. Компоненты класса TDataSetProvider служат для определения
прав доступа и настройки параметров передачи данных клиенту. В его настройках
можно указать такие параметры как: доступность набора данных для клиента,
режим «только чтение», запрет редактирования, запрет вставки, запрет удаления и
т.д.
Клиент
Основой клиентской части является модуль TdmData. Модуль выполняет
следующие функции: соединение с сервером; управление предоставленными
сервером наборами данных; получение доступа к функциональности сервера
(создание проекции интерфейса взаимодействия «TdssmRemoteData»).
Для подключения к серверу используется компонент SQLConnection. В
качестве параметров подключения мы указываем: тип подключения (DataSnap); IP-
адрес сервера; порт подключения (5000); протокол взаимодействия (в нашем
случае TCP); логин и пароль пользователя.
Для доступа к функциональности и данным сервера используется
специальный компонент DSProviderConnection, который необходим для
подключения клиентского набора данных (TClientDataSet) к провайдеру набора
данных (TDataSetDrovider).
После успешного подключения к серверу выполняется активация доступных
наборов данных (открытие набора данных).
81
После открытия набора пользователь может редактировать набор данных
через визуальные компоненты (такие как TDBGrid, TDBEdit, TDBMemo,
TDBImage, TDBNavigator и т.д.), разработанные специально для работы с базами
данных. Но визуальные компоненты подключаются не напрямую к клиентскому
набору данных, а используют специальный «посредник» (объект класса
TDataSource) который призваны унифицировать использование визуальных
компонентов с различными типами наборов данных.
Клиент также получает доступ к интерфейсу взаимодействия сервера
TdssmRemoteData. На стороне клиента, через компонент DSProviderConnection,
создается «проекция» класса TdssmRemoteData, в которую входят все методы
серверного класса со спецификатором public. Класс «проекция» инициализируется
сразу после подключения клиента к серверу.
Все отчеты системы сконцентрированы в модуле TdmReport и формируются
при помощи генератора отчетов «FastReports». Простота в использовании, высокая
производительность и надежность генератора отчетов делают его
непревзойденным лидером в своей области. Концентрация всех отчетов в одном
модуле, а также использование компонента TActionManager позволяет с легкостью
вызывать отчеты из различных модулей интерфейса системы. Ядро Fast Reports
позволяет экспортировать созданные отчеты в различные форматы: PDF, XLS,
ODT, RTF и т.д.

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)