Диплом: Автоматизация процесса приёма техники на ремонтные работы в ОАО «Samsung Service»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
75
логической модели не имеет значения, какой точно тип данных содержит атрибут,
то в физической модели очень важно указать всю информацию о необходимых
физических объектах.
Схема базы данных приведена на рисунке 2.16
Рисунок 2.16 Физическая модель данных
Характеристика каждой таблицы и описание ее полей представлено ниже.
Таблица 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)
Да
76
Таблица 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)
Нет
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)
Да
77
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)
Да
2.3.3. Структурная схема пакета (дерево вызова программных модулей)
Анализ концептуальной модели позволил выделить следующие пакеты:
интерфейсные элементы - классы, реализующие интерфейсные
компоненты;
пользовательский интерфейс - классы, реализующие объекты
интерфейса с пользователем;
интерфейс с БД - классы, реализующие интерфейс с базой данных;
база данных
78
ИС
Интерфейс с
БД
Пользовательс
кий интерфейс
Интерфейсные
элементы
Рисунок 2.17 Диаграмма пакетов
Диаграмма развертывания системы представлена на рисунке.
79
Сервер приложений
ПК заказчика
Локальная сеть
компании
Клиентская
часть
программы
Серверная
компонента
ПК диспетчера
Панель
управления
системой
Сервер БД
БД
ПК исполнителя
Клиентская
часть
программы
ПК руководителя
Клиентская
часть
программы
Рисунок 2.18 Диаграмма развертывания
Как следует из приведенной диаграммы, для развертывания системы
необходим сервер баз данных, сервер приложений, а также персональные
компьютеры пользователей системы с установленными на них клиентскими
компонентами программы.
Программа является многопользовательским клиент-серверным
приложением, состоящим из следующих элементов:
Сервер приложений;
Сервер базы данных;
Клиент.
Сервер приложений разработан при помощи технологии DelphiXE2
DataSnap. Передача данных между клиентом и сервером осуществляется через
протокол TCP.
Сервер приложений взаимодействует с базой данных через СУБД Mysql.
Подключение к базе данных выполняется через технологию ADO.
80
В структуре сервера можно выделить две основные части: Модуль
управления сервером (TdmServer) и модуль предоставления данных
(TdssmRemoteData). Описание модулей приведено ниже.
Таблица 2.10
Структура сервера приложений
Название модуля
Описание
Функции
1
TdmServer
Содержит компоненты для
подключения к системе
управления базами данных
(через ADO) и компоненты
для организации сервера
приложений (передача
данных выполняется через
протокол TCP).
Подключение к СУБД.
Управление сервером
приложений (установка
соединений с
клиентскими
приложениями,
аутентификация
пользователей, передача
данных клиентам).
2
TdssmRemoteData
Модуль системы, который
определяет доступные
клиенту данные и
функциональность системы.
Экземпляр данного модуля
создается для каждого
подключенного клиента.
Авторизация.
Предоставление данных;
Предоставление
функциональности;
2.3.4. Описание программных модулей
Модуль управления сервером
При инициализации данного модуля автоматически выполняется
инициализация соединения с базой данных. Параметры соединения содержаться в
файле Settings.ini. Если соединение с базой данных по каким-то причинам не
удалось установить, то сервер выдаст сообщение о невозможности дальнейшей
работы, т.е. успешное подключение к базе данных обязательное условии запуска
сервера.
81
Рисунок 2.19.Состав модуля TdmServer
Cервер передает данные по протоколу TCP (за это отвечает компонент
DSTCPServerTransport). Потому, для сервера должен быть задан порт
прослушивания. В нашем случае он имеет значение 5000.
При подключении, на сервере создается отдельный поток. Клиент в
обязательном порядке передает данные для выполнения аутентификации (логин и
пароль), проверку которых выполняет компонент DSAuthenticationManager. В
случае успешного прохождения процедуры аутентификации, для передачи данных
между сервером и клиентом, DSServer создаст интерфейс взаимодействия. Этим
интерфейсом является экземпляр класса TdssmRemoteData.
В случае ошибки аутентификации сервер вызывает исключение и
уничтожает поток, который был создан для данного подключения.
82
Рисунок 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
Методы класса
publicSub
DataModuleCreate(Sender: TObject)
Обработчик события "Создание модуля данных"
publicSub
DSAuthenticationManagerUserAuthenticate(Sender:
TObject; Protocol: string; Context: string; User: string;
Password: string; valid: Boolean; UserRoles: TStrings)
Обработчиксобытия "Аутентификация"
publicSub
DSServerClassGetClass(DSServerClass: TDSServerClass;
83
PersistentClass: TPersistentClass)
Обработчик события "Получить серверный класс"
publicSub
DSTCPServerTransportConnect(Event:
TDSTCPConnectEventObject)
Обработчик события "Присоединение клиента"
publicSub
DSTCPServerTransportDisconnect(Event:
TDSTCPDisconnectEventObject)
Обработчик события "Отсоединение клиента"
publicfunctionTADOQuery
GetQuery(SQL: String)
Функция получения набора данных через
произвольный SQL запрос
publicfunctionTADOTable
GetTable(TableName: String)
Функция получения набора данных по имени таблицы
(запроса)
publicfunctionInteger
GetUserKey(Login: String; Password: String; Blocked:
Boolean; UserType: Integer)
Функция поиска идентификатора пользователя по
логину и паролю
Интерфейс взаимодействия
Как было сказано выше, экземпляр класса TdssmRemoteData создается после
успешной аутентификации и служит для предоставления клиентскому приложению
определенных данных и функциональности сервера.
84
Рисунок 2.21Состав модуля TdssmRemoteData
Цепочка передачи данных между клиентом и сервером выглядит так:
Компонент подключения к БД (TADOConnection);
Набор данных (TADOTable или TADOQuery);
Провайдер набора данных (TDataSetProvider);
Компонент клиентского соединения (TSQLConnection);
Клиентский компонент соединения с провайдером данных
(TDSProviderConnection);
Клиентский набор данных (TClientDataSet).
Пункты 1, 2, 3 – выполняются на стороне сервера, а пункты 4, 5, 6 – на
стороне клиента. Компоненты класса TDataSetProvider служат для определения
прав доступа и настройки параметров передачи данных клиенту. В его настройках
можно указать такие параметры как: доступность набора данных для клиента,
режим «только чтение», запрет редактирования, запрет вставки, запрет удаления и
т.д.

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

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