Диплом: Разработка системы оптимизации управления запасами на примере ООО "АВИАГАММА"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
32
Название поля
Тип данных
Длина поля
Доп. данные
count
int
11
data
datetime
comment
varchar
200
isdone
tinyint
4
idstaff
int
11
id
int
11
Ключевое поле
title
varchar
100
id
int
11
Ключевое поле
idmotor
int
11
count
int
11
data
datetime
idstaff
int
11
id
int
11
Ключевое поле
fio
varchar
100
idpost
int
11
phone
varchar
20
email
varchar
50
id
int
11
Ключевое поле
login
varchar
255
password
varchar
255
typeuser
int
11
На рисунке 8 представлена физическая схема данных базы данных.
33
Рисунок 8 — Физическая схема данных базы данных
Представим SQL код, который позволит создать указанную базу
данных в СУБД MySQL[5]:
CREATE TABLE `contract` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`idfirm` int(11) NOT NULL,
`idmotor` int(11) NOT NULL,
`count` int(11) NOT NULL,
`data` datetime NOT NULL,
`isdone` tinyint(4) NOT NULL,
`idstaff` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT
CHARSET=cp1251;
CREATE TABLE `firm` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`address` varchar(150) NOT NULL,
`phone` varchar(20) NOT NULL,
34
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT
CHARSET=cp1251;
CREATE TABLE `motor` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`info` text NOT NULL,
`price` float NOT NULL,
`mass` float NOT NULL,
`power` float NOT NULL,
`capacity` float NOT NULL,
`image` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT
CHARSET=cp1251;
CREATE TABLE `ordermotor` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`idmotor` int(11) NOT NULL,
`count` int(11) NOT NULL,
`data` datetime NOT NULL,
`comment` varchar(200) NOT NULL,
`isdone` tinyint(4) NOT NULL,
`idstaff` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT
CHARSET=cp1251;
CREATE TABLE `post` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT
CHARSET=cp1251;
CREATE TABLE `sklad` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`idmotor` int(11) NOT NULL,
`count` int(11) NOT NULL,
`data` datetime NOT NULL,
`idstaff` int(11) NOT NULL,
PRIMARY KEY (`id`)
35
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT
CHARSET=cp1251;
CREATE TABLE `staff` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fio` varchar(100) NOT NULL,
`idpost` int(11) NOT NULL,
`phone` varchar(20) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT
CHARSET=cp1251;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`typeuser` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT
CHARSET=cp1251;
2.3. Проектирование информационной системы
2.3.1. Информационная модель и ее описание
Представим информационную модель информационной системы
оптимизации управления запасами на рисунке 9 и обозначим ее основные
области.
Область 1 отображает процесс внесения в базу данных справочной
информации. К ней относится информация о сотрудниках предприятия,
должностях сотрудников, фирмах, что покупают двигатели у предприятия.
Также к данной информации относится подробная информация о
двигателях, которыми торгует предприятие. После заполнения оператором
соответствующей формы, информация поступает в таблицы
«Сотрудники», «Должности», «Фирмы», «Двигатели».
36
Оператор
«Сотрудники»,
«Двигатели»,
«Должности»,
«Фирмы»
Внесение
справочной
информации
«Контракты»
Внесение
информации
контрактах
предприятия
«Учет запасов»
Внесение
информации
поступлении и
выдачи запасов
«Заказы»
Внесение
информации о
заказе дв-ей у
производителя
Информация по
нехватке запасов
Оператор
1
5
Информация по
излишке запасов
Рисунок 9 — Информационная модель
2
3
4
37
Область 2 отображает процесс внесения в базу данных информации
о контрактах на продажу двигателей. К данной информации относится
информация о фирме, что осуществляет покупку, названии двигателя,
количестве продаваемых двигателей, дате продажи, ответственном
сотруднике. После заполнения оператором соответствующей формы,
информация поступает в таблицу «Контракты».
Область 3 отображает процесс внесения в базу данных информации
о поступлении и выдаче запасов со склада, а именно количестве
поступивших (положительное значение) или выданных (отрицательное
значение) двигателей, дате, ответственном сотруднике. После заполнения
оператором соответствующей формы, информация поступает в таблицу
«Учет запасов».
Область 4 отображает процесс внесения в базу данных информации
о заказе двигателей у производителя. К данной информации относится
информация о названии и количестве заказываемых двигателей, дате
заказа, ответственном сотруднике и примечании к заказу, в котором можно
указать контракт, для которого осуществляется заказ, или любую другую
информацию. После заполнения оператором соответствующей формы,
информация поступает в таблицу «Заказы».
После того как оператор внесет всю информацию в базу данных,
программа сможет проанализировать информацию и вывести отчеты о
нехватке и излишке запасов. Данный процесс отображен в области 5[25].
2.3.2. Характеристика входной и выходной информации
Входной информацией информационной системы является
информация, что хранится в базе данных, детальное описание которой
было представлено ранее. Также к входной информации относятся
команды пользователя, с помощью которых он осуществляет работу с
программой.
38
Выходной информацией информационной системы является:
анализ запасов двигателей для продажи по действующим
контрактам, что заключило предприятие;
анализ излишков запасов двигателей, что хранятся на складе;
экспортированные из программы в Excel данные.
2.3.3. Описание модулей и структурная схема информационной
системы
Информационная система оптимизации управления запасами создана
на основе двух уровневой архитектуры (клиент-сервер), структура,
которой показана на рисунке 10.
Рисунок 10 — Архитектура ПО
В двухуровневой архитектуре нагрузка распределяется между
сервером (в котором находится база данных) и клиентом (в котором
находится пользовательский интерфейс).
Взаимодействие между уровнями происходит следующим образом:
клиент отправляет запрос на сервер БД;
база данных обрабатывает запрос и отправляет его на
выполнение СУБД;
СУБД в свою очередь выполняет запрос и предоставляет
результат серверу БД;
Клиент
Сервер
СУБД
Запрос
Результат
Выполнить
запрос
Результат
39
сервер БД перенаправляет полученный результат клиенту.
Основным преимуществом данной архитектуры, является то, что
компьютер клиента выполняет лишь операции по отображению
существующей информации и внесению новой информации. Он не
выполняет никаких математических операций, а следовательно, таким
образом минимизируется нагрузка на него[38].
Для взаимосвязи базы данных и Delphi было решено использовать
компоненты библиотеки ADO. ADO это технология стандартного
обращения к реляционным базам данных от Microsoft. Эта технология
аналогична BDE по назначению и довольно близка по возможностям. К
компонентам ADO относятся следующие шесть компонентов:
TADOConnection, TADOCommand, TADODataSet, TADOTable,
TADOQuery, TADOStoredProc[39].
TADOConnection аналогичный компоненту BDE TDatabase и
используется для указания базы данных и работы
транзакциями;
TADOTable - таблица, которая доступна через ADO;
TADOQuery - запрос к базе данных. Это может быть как
запрос, в результате которого возвращаются данные с базы
(например , SELECT), так и запрос, не возвращающий данных
(например, INSERT);
TADOStoredProc - вызов хранимой процедуры. В отличие от
BDE и InterBase хранимые процедуры в ADO могут
возвращать набор данных, поэтому компонент данного типа
является потомком от TDataSet и может выступать источником
данных в компонентах типа TDataSource;
TADOCommand и TADODataSet являются наиболее общими
компонентами для работы с ADO, но и наиболее сложными в
работе. Оба компонента позволяют выполнять команды на
40
языке провайдера данных (так в ADO называется драйвер базы
данных).
Все элементы доступа к базе данных было вынесено в отдельный
модуль DataModule.pas, который представлен на рисунке 11.
Рисунок 11 — Модуль DataModule.pas
Для отображения и управления информацией из базы данных были
использованы стандартные компоненты TDBGrid, TDBNavigator, а также
TDBEdit, TDBLookupComboBox.
41
Компонент TDBGrid обеспечивает табличный способ отображения
на экране строк данных из компонентов TADOTable или TADOQuery.
Программа использует TDBGrid для визуализации данных, что находятся в
базе данных.
Компонент DBNavigator представляет собой набор командных
кнопок, обеспечивающих перемещение указателя текущей записи к
следующему, предыдущему, первому или последнему записям базы
данных, а также добавления в базу данных новой записи и удаления
текущей записи.
TDBEdit – связанный с данными аналог обычного окна
редактирования TEdit. Он позволяет отображать и редактировать данные
полей различных типов: строка, число, булева величина.
Компонент TDBLookupComboBox используется при использовании
связанных таблиц, когда необходимо вывести на экран описательную
информацию вместо поля, содержащего ее код.
Также в процессе создания программы, было использовано ряд
стандартных компонент, что позволяют сделать интерфейс программы
более красивым и функциональным.
Компонент TMainMenu является невизуальным и позволяет
конструировать и создавать на форме полосу главного меню, а также
сопутствующие выпадающие меню. Компонент TMainMenu отображает на
форме главное меню программы.
Компонент TGroupBox является контейнером для объединения
других компонентов. Используется для группировки компонентов,
которые выполняют некоторый однотипный функционал.

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

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