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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
42
Рисунок 12 — Укрупненный алгоритм функционирования
информационной системы
43
Компонент TLabel предназначен для показа статического текста на
форме программы, который не будет изменяться в течение работы
программы.
Компонент TSplitter предназначен для перестроения размеров
панелей или других визуальных компонент пользователем.
Компонент TDateTimePicker предназначен для ввода даты и времени
с помощью специального календаря или непосредственно путем ввода
даты в виде строки[40].
На рисунке 12 представлено укрупненный алгоритм
функционирования информационной системы[26].
В таблице 2 изображено описание функций модулей, отражающих
структурную схему пакета, содержащие программные модули различных
классов.
44
Таблица 2 — Описания функций модулей
п/п
Наименование модуля
Функции модуля
1.
Основной модуль
«Main»
Содержит главную форму программы, а также
основные функции и процедуры управления
программой.
2.
Модуль «DataModule»
Содержит компоненты, что выполняют связь с базой
данных. Модуль предназначен исключительно для
взаимодействия с базой данных.
3.
Модуль
«FormRegisterDlg»
Форма авторизации пользователя при запуске
программы.
4.
Модуль
«FormContractDlg»
Представляет форму внесения, редактирования или
удаления информации об контрактах на продажу
двигателей, что заключило предприятие.
5.
Модуль «FormFirmDlg»
Представляет форму внесения, редактирования или
удаления информации о фирмах, которые являются
клиентами предприятия.
6.
Модуль
«FormMotorDlg»
Представляет форму внесения, редактирования или
удаления информации о двигателях, которые продает
предприятие.
7.
Модуль
«FormOrderMotorDlg»
Представляет форму внесения, редактирования или
удаления информации о заявках на поставку
двигателей от производителя.
8.
Модуль «FormPostDlg»
Представляет форму внесения, редактирования или
удаления информации о должностях сотрудников
предприятия.
9.
Модуль «FormSkladDlg»
Представляет форму внесения, редактирования или
удаления информации о поступлении или выдаче
запасов с склада.
10.
Модуль «FormStaffDlg»
Представляет форму внесения, редактирования или
удаления информации о сотрудниках предприятия.
Дерево вызова программных модулей представлено на рисунке 13.
45
Рисунок 13 — Дерево вызова программных модулей
Управление системой осуществляется с помощью главного меню. С
помощью которого, пользователь может выполнить экспорт информации в
Excel или выбрать форму для внесения, редактирования или удаления
информации в базе данных. Схема сценария диалога представлена на рис.
14.
Основной модуль «Main»
Модуль «DataModule»
Модуль
«FormContractDlg»
Модуль «FormRegisterDlg»
Модуль
«FormFirmDlg»
Модуль
«FormMotorDlg»
Модуль
«FormOrderMotorDlg»
Модуль
«FormSkladDlg»
Модуль
«FormStaffDlg»
Модуль
«FormPostDlg»
46
Рисунок 14 Сценарий диалога
Формы внесения, редактирования и удаления информации в базе
данных представляют собой модальные формы, вызов которых обобщѐнно
представлен ниже:
procedure FormXXXOpen;
var
FormXXX: TFormXXX;
begin
FormXXX := TFormXXX.Create(Application);
FormXXX.ShowModal;
FormXXX.Free;
end;
Представим SQL запросы, что используются в программе:
анализ запасов, необходимых для обеспечения всех контрактов
на продажу двигателей, что заключило предприятие:
SELECT M.title, Q1.count, IFNULL(Q2.count, 0), IFNULL(O.count, 0),
Q1.count-(IFNULL(Q2.count, 0)+IFNULL(O.count, 0))
FROM (
SELECT C.idmotor, SUM(C.count) AS count
FROM contract AS C
Главное меню
Меню
Справочники
Двигатели
Экспорт в Excel
Выход
Должности
Сотрудники
Фирмы
База данных
Контракты
Учет запасов
Заказы запасов
47
WHERE C.isdone = 0 AND C.data BETWEEN :D1 AND :D2
GROUP BY C.idmotor
) AS Q1
LEFT JOIN (
SELECT S.idmotor, SUM(S.count) AS count
FROM sklad AS S
GROUP BY S.idmotor
) AS Q2 ON Q2.idmotor = Q1.idmotor
LEFT JOIN ordermotor AS O ON O.idmotor = Q1.idmotor AND
O.isdone = 0');
LEFT JOIN motor AS M ON M.id = Q1.idmotor
ORDER BY M.title
анализ излишков запасов:
SELECT M.title, Q1.count, IFNULL(Q2.count, 0), IFNULL(O.count, 0),
Q1.count+IFNULL(O.count, 0)-IFNULL(Q2.count, 0)
FROM (
SELECT S.idmotor, SUM(S.count) AS count
FROM sklad AS S
GROUP BY S.idmotor
) AS Q1
LEFT JOIN (
SELECT C.idmotor, SUM(C.count) AS count
FROM contract AS C
WHERE C.isdone = 0
GROUP BY C.idmotor
) AS Q2 ON Q1.idmotor = Q2.idmotor
LEFT JOIN ordermotor AS O ON O.idmotor = Q1.idmotor AND
O.isdone = 0
LEFT JOIN motor AS M ON M.id = Q1.idmotor
ORDER BY M.title
информация по контрактам на продажу двигателей с
указанным названием:
SELECT F.name, C.data, C.count, S.fio, S.phone
FROM contract AS C
LEFT JOIN firm AS F ON F.id = C.idfirm
LEFT JOIN staff AS S ON S.id = C.idstaff
LEFT JOIN motor AS M ON M.id = C.idmotor
48
WHERE C.isdone = 0 AND M.title = :P3 AND C.data BETWEEN :D1
AND :D2
ORDER BY C.data
информация по заказам у производителя двигателей с
указанным названием:
SELECT O.data, O.count, O.comment, S.fio, S.phone
FROM ordermotor AS O
LEFT JOIN staff AS S ON S.id = O.idstaff
LEFT JOIN motor AS M ON M.id = O.idmotor
WHERE O.isdone = 0 AND M.title = :P3
ORDER BY O.data
2.4. Выводы
Информационную систему оптимизации управления запасами было
решено программировать на языке высокого уровня Object Pascal в среде
программирования Delphi XE5, поскольку Delphi XE5 является одной из
мощнейших сред программирования, что позволяет быстро создавать
программы под Microsoft Windows, Mac OS, Android, IOS. Также Delphi
XE5 имеет множество визуальных компонент VCL, что позволяют быстро
и надежно создавать приложения разной степени сложности.
В качестве СУБД было выбрано MySQL, которая является
бесплатной реляционной СУБД. При этом она является достаточно
функциональной и быстрой.
База данных информационной системы состоит из восьми
взаимосвязанных таблиц. Сама информационная система состоит из десяти
модулей и является клиент-серверным приложением. Все расчеты
выполняются на стороне сервера, что минимизирует нагрузку на
персональный компьютер клиента.
49
ГЛАВА 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
ИНФОРМАЦИОННОЙ СИСТЕМЫ
3.1. Инструкция администратора и пользователя
3.1.1. Инструкция администратора
Для установки и запуска разработанной программы необходимо:
1. Выполнить установку локального сервера MySQL. Для этого
можно установить сборку Denwer (http://www.denwer.ru/) или XAMPP
(https://www.apachefriends.org/ru/index.html), в состав которых помимо
других полезных программ и сервисов, входит локальный сервер MySQL.
Рисунок 15 XAMPP
После установки сервера, необходимо запустить его. Для этого
необходимо нажать на кнопку «Start» напротив надписи «MySql» для
XAMPP (Рисунок 15)[5].
50
2. Необходимо выполнить экспорт базы данных. Для удобства
выполнения данной операции необходимо установить программу Navicat
(http://www.navicat.com/download/navicat-for-mysql), которая облегчит
процесс создания и экспорта базы данных.
После запуска программы Navicat, необходимо воспользоваться
меню «File – New Connection – MySQL» и в появившемся окне, что
изображен на рисунке 16, указать настройки для соединения с сервером
MySQL.
Рисунок 16 — Navicat. Новое соединение
После этого, в левой части формы программы Navicat должно
появиться новое соединение localhost. Необходимо клацнуть правой
51
кнопкой по соединению localhost и выбрать меню «New DataBase». В
появившемся окне, необходимо прописать настройки согласно рисунка 17.
Рисунок 17 — Navicat. Создание базы данных
После этого в соединении localhost будет создана пустая база данных
с именем «zapasu». Необходимо клацнуть правой кнопкой по созданной
базе данных и выбрать меню «Execute SQL File». В появившемся окне в
поле «File», необходимо выбрать файл zapasu.sql, что прилагается с
программой.
3. Выполнить установку ODBC драйвера, который нужен для связи
Delphi XE5 с MySQL с помощью стандартных компонент ADO. Данный
драйвер можно найти на официальном сайте
(http://dev.mysql.com/downloads/connector/odbc/).
4. Выполнить запуск программы.

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

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