43737

Система управління складським обліком продовольчих товарів

Дипломная

Информатика, кибернетика и программирование

Завдяки використанню топології складських приміщень, система наочно відображає завантаженість товаром осередків та стелажів Грамотна організація роботи підприємств складського комплексу веде до підвищення продуктивності праці, скорочує витрати робочого часу на виконання складських операцій і дозволяє ефективно використовувати складські приміщення. Все це сприяє підвищенню економічної ефективності підприємства.

Украинкский

2013-11-06

24.23 MB

22 чел.

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ

Кафедра інженерії програмного забезпечення

ДОПУСТИТИ ДО ЗАХИСТУ

Завідувач кафедри

 

___________ М.О. Сидоров

____” ___________ 2012 р.

ДИПЛОМНИЙ ПРОЕКТ

(ПОЯСНЮВАЛЬНА ЗАПИСКА)

ВИПУСКНИКА ОСВІТНЬО-КВАЛІФІКАЦІЙНОГО РІВНЯ

„СПЕЦІАЛІСТ

Тема: Система управління складським обліком продовольчих товарів 

Виконав:         Курач Ю. В. 

Керівник:         доцент, к.т.н., Крамар Ю.М.

Нормоконтролер:        доцент, к.т.н., Радишевський М.Ф.

Київ 2012

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ

Факультет комп’ютерних наук

Кафедра інженерії програмного забезпечення

Освітньо-кваліфікаційний рівень спеціаліст

Спеціальність 7.080403  Програмне забезпечення автоматизованих систем

ЗАТВЕРДЖУЮ

Завідувач кафедри

___________ М.О. Сидоров

____” ___________ 2012 р.

ЗАВДАННЯ

на виконання дипломного проекту студента

    Курача Юрія Володимировича   

1. Тема проекту: Система управління складським обліком продовольчих товарів 

затверджена наказом ректора  від  12.03.2012 р. 525/ст

2. Термін виконання проекту: з 25.10.2010 р.  до 21.01.2011 р.

3. Вихідні данні до проекту: Система управління розподільчим центром під управлінням СУБД Oracle.

4. Зміст пояснювальної записки (перелік питань, що підлягають розробці):

1. Автоматизовані системи управління обліком. 

2. Архітектура системи управління складом.

3. Розробка програмного забезпечення системи управління складським обліком. 

5. Перелік обов’язкового графічного матеріалу: 

1.  Діаграма компонентів системи.

2.  Діаграма структури бази даних.

3.  Діаграма варіантів використання диспетчера.

4.  Діаграма варіантів використання товарознавця.

5.  Діаграма класів системи.

6.  Діаграма пакетів системи.


6. Календарний план-графік:

п/п

Завдання 

Термін виконання 

Відмітка про виконання

1

Ознайомлення з літературою за темою дипломної роботи

2

Аналіз існуючих систем управління складським обліком

3

Формування вимог до розроблюваної системи

4

Розробка архітектури системи управління складським обліком

5

Вибір інструментальних засобів для розробки системи

6

Реалізація клієнтської частини системи

7

Реалізація серверної частини системи

8

Формування висновків по роботі

9

Оформлення пояснювальної записки

10

Оформлення графічного матеріалу для презентації

11

Розробка тексту доповіді

12

Представлення дипломного проекту на кафедрі

Дата видачі завдання «__» ___________ 2012 р.

Керівник дипломного проекту: _____________ Крамар Ю. М.

Завдання прийняла до виконання:___________ Курач Ю. В.

РЕФЕРАТ

Пояснювальна записка до дипломного проекту «Система управління складським обліком продовольчих товарів»: 83с., 20 рис., 24 табл., 7 літературних джерел.

СИСТЕМА УПРАВЛІННЯ, ВЕБ-ЗАСТОСУВАННЯ, СКЛАДСЬКА ЛОГІСТИКА.

Об'єкт дослідження існуючі системи управління складом.

Мета роботи – підвищення ефективності роботи складу за допомогою веб-застосування.

Метод дослідження – порівняльний аналіз та дослідження існуючих засобів управління складом, об’єктно-орієнтований аналіз.

Встановлено, що існуючі засоби управління складським обліком не повною мірою задовольняють потреби, отже, є необхідність у впроваджені нової системи управління складським обліком.

Результати дипломного проектування можна використовувати на певних продовольчих складах. Розробка програми проводилася у середовищі розробки PhpStorm та PL\SQL Developer на мовах програмування PHP та PL\SQL. 


ЗМІСТ

ВСТУП 8

АВТОМАТИЗОВАНІ СИСТЕМИ УПРАВЛІННЯ СКЛАДСЬКИМ 

ОБЛІКОМ 10

1.1 Система управління складом в структурі компанії 10

1.2 Порівняльний аналіз існуючих систем управління складом 19

         1.2.1 Система SOLVO.WMS 19

         1.2.2 Система Core.WMS 21

1.3 Вимоги до розроблюваного ПЗ 22

1.4 Функціональні вимоги до розроблюваної  WMS 25

   Висновки………………………………………………………………………28

АРХІТЕКТУРА СИСТЕМИ УПРАВЛІННЯ СКЛАДОМ 29

2.1 Загальна архітектура WMS 29

2.2 Структура бази даних WMS 32

2.3 Структура клієнтської частини WMS 47

         2.3.1 Клієнтська стаціонарна частина 47

         2.3.2 Клієнтська мобільна частина 51

   Висновки……………………………………………………………………..54

РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ СИСТЕМИ УПРАВЛІННЯ СКЛАДСЬКИМ ОБЛІКОМ 56

3.1 Вибір інструментальних засобів для розробки WMS 56

         3.1.1  Веб-сервер Apache 2 57

         3.1.2 Архітектурний шаблон MVC та його розширення HMVC 60

         3.1.3 СУБД Oracle PL\SQL 62

   3.2 Розробка клієнтської частини модулю прийому вантажів 64

   3.3 Розробка серверної частини модулю прийому вантажів 68

   3.4 Діаграми послідовності та інтерфейси створюваного 

   web-застосування   71

   3.5 Конфігурація та налагодження системи 75

   Висновки……………………………………………………………………..77

   ВИСНОВКИ ТА РЕКОМЕНДАЦІЇ………………………………………….82

   СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ…………………………………….84

   ДОДАТОК А. Програмний код процедури реєстрації паллети.85
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СКОРОЧЕНЬ, ТЕРМІНІВ

HTML HyperText Markup Language

PHP Hypertext Preprocessor

SQL Structured Query Language

CPU – Central Processing Unit

RAM – Random-Access Memory

MVC – Model-View-Controller

LIFO – Last In First Out

FIFO – First In First Out

FPFO – First Product First Out

FEFO – First Expire, First Out

BBD – Best Before Day

WMS – Warehouse Management System

ERP Enterprise Resource Planning


ВСТУП

Сьогодні, здавалося б, уже ні в кого не викликає сумнівів те, що впровадження новітніх технологій в складському бізнесі приносить компанії конкурентні переваги, знижує виробничі витрати, підвищує культуру обслуговування клієнтів і якість наданих послуг. Однак горезвісний людський фактор здатний звести нанівець всі досягнення прогресу.

Практика показує, що успіх складського бізнесу залежить не тільки від дій топ-менеджменту фірми, що визначає її стратегічний розвиток, а й від низових працівників, які здійснюють елементарні операції. Якщо склад приймає на зберігання різноманітні товари від численних клієнтів, при комплектації замовлень чималу роль відіграє вибір вірної послідовності вилучення вантажу з місць його розміщення. Людина просто не в змозі раз за разом миттєво аналізувати десятки чинників, що впливають на остаточне рішення (чи відправити замовнику саме цей товар або інший, який лежить у сусідній секції, прийнятий на зберігання раніше (пізніше) і т. н.). А деколи функціонування неавтоматизованого складу повністю залежить від працівника, який знає місцезнаходження вантажу.

На складі працюють звичайні люди, і людський фактор відіграє важливу роль в забезпеченні ефективної діяльності комплексу. Однак сьогодні, хоча частка фонду оплати праці в складських витратах досить висока, знайти кваліфікованих співробітників дуже складно (це стосується не тільки управлінців, а й звичайних вантажників). При цьому економія на підборі кадрів даного блоку негайно позначиться на працездатності всієї компанії.

Питомі витрати на складську діяльність, претензії до якості виконуваних операцій з боку зовнішніх споживачів і внутрішніх підрозділів фірми, збитки в результаті розкрадань, псування, зловживань персоналу змушують керівників переглядати підхід до управління складом. Сучасним рішенням може стати запровадження систем управління класу WMS.

Робота такої системи базується на технології автоматичної ідентифікації, принципі адресного зберігання і механізмі віддаленого управління службовцями. WMS функціонує в тісній взаємодії з корпоративною системою: надає всі необхідні дані по складу, приймає інформацію про замовлення, постачання і т. н.

Система формує завдання персоналу, дозволяє керувати діями людей і техніки, вести моніторинг і облік товарних запасів, залишаючи менеджерам складу функції спостереження за ходом технологічного процесу і вирішення проблемних ситуацій. В результаті упорядкування та оптимізації всіх бізнес-процесів та організації праці з використанням передових технічних засобів підвищується ефективність роботи складу.

Розташування складів поблизу ринками збуту полегшує поповнення запасів клієнтів. Географічні розміри ринку, який обслуговується таким складом, залежать від бажаної швидкості постачань, від середнього розміру замовлення і від величини питомих витрат на місцеве транспортування. Головним критерієм роботи таких складів є забезпечення належної якості обслуговування або мінімізація логістичних витрат.

Такі склади часто зустрічаються в торгівлі харчовими продуктами або промисловими товарами масового використання. Однак розміщення поблизу ринків збуту характерно для багатьох галузей. Така стратегія економічно виправдана, оскільки це найдешевший спосіб швидкого поповнення запасів.
          Розташування складів поблизу виробництв полегшує нагромадження необхідного для поставок споживачам асортименту продукції. Таке розташування складів дозволяє відправляти споживачам змішані вантажі за консолідованим тарифами. Перевага такого розміщення складів полягає в тому, що підвищений рівень сервісу поширюється на весь асортимент продукції, що поставляється. Такий виробник має можливість стати кращим серед інших постачальників. 

При проміжному розташуванні складів між виробництвом і споживанням склади працюють за тією ж схемою, що і склади, розташовані поблизу виробництва: накопичують повний асортимент продукції й відправляють замовникам змішані партії товарів за пільговими тарифами.
        Кількість, потужність, розташування і функції розподільчих центрів залежать від розмірів матеріальних потоків, стратегії і фінансового стану підприємства, яке проектує мережу розподільчих центрів. При цьому враховуються такі чинники: вартість транспортування, складські переробки вантажів, складування вантажів, оформлення замовлень і системи управління, рівень обслуговування клієнтів. 

Найкращою товаропровідної мережею з розподільчими центрами є мережа, що забезпечує найвищий рівень обслуговування споживачів за мінімальних загальних витратах.

Сучасний великий склад - це складне технічне спорудження, що складається з численних взаємопов'язаних елементів, має певну структуру і виконує ряд функцій з перетворення матеріальних потоків, а також накопичення, переробки і розподілу вантажів між споживачами. При цьому можливе розмаїття параметрів, технологічних і об'ємно-планувальних рішень, конструкцій устаткування й характеристик різноманітної номенклатури вантажів, що переробляються на складах, відносить склади до складних систем.

 У той же час склад сам є лише елементом системи більш високого рівня - логістичного ланцюга, який і формує основні та технічні вимоги до складської системі, встановлює цілі та критерії її оптимального функціонування, диктує умови переробки вантажу.
Тому склад повинен розглядатися не ізольовано, а як інтегрована складова частина логістичного ланцюга. Тільки такий підхід дозволить забезпечити успішне виконання основних функцій складу і досягнення високого рівня рентабельності.

Облік товарів можна вести вручну або з використанням технології автоматичної ідентифікації, що представляє собою засіб автоматизованого обліку руху товарів та фінансових потоків, зберігання, обробки, передачі і використання даних, закодованих за допомогою штрих-кодів або радіоміток. Автоматична ідентифікація товарів і місць зберігання в порівнянні з ручним способом значно підвищує точність і швидкість введення інформації та виконання різних операцій. Для зручності та прискорення бізнес-процесів використовують термінали збору даних - мобільні комп'ютери, оснащені вбудованим сканером. Технологія роботи терміналів базується на використанні автоматизованої системи управління складом в сукупності з технологією автоматичної ідентифікації. 

WMS-систему використовують дві категорії складських працівників: менеджери і оператори. Менеджер виконує контрольно-управлінські функції. Оператор працює безпосередньо з вантажами, керуючись дорученнями менеджера або системи. Співробітники входять в систему, вводячи ім'я користувача та пароль, і бачать на екрані тільки ті пункти меню, з якими мають право працювати. 

Сучасна система управління складом підтримує як паперову, так і безпаперову процедуру роботи з нарядами. Вибір тієї чи іншої технології залежить від особливостей бізнес-процесів конкретного складу. Найбільший ефект приносить безпаперова технологія, що мінімізує участь людини.
При необхідності інформація про операцію, яку необхідно виконати, з'являється на екрані терміналу співробітника. Він вилучає вантаж, за допомогою спеціального апарату зчитує з штрихкоду номер комірки і товару, підтверджуючи тим самим правильність виконання завдання, і видає повідомлення про закінчення операції. Якщо сталася помилка, термінал повідомляє про це. Таким чином, будь-яке переміщення товару по складу, формування замовлень і так далі оформляється через термінал і відображається в базі даних. Найкращих показників роботи складу можна досягти, застосовуючи радіотермінали. 

WMS використовує термінали, забезпечені пристроєм радіочастотного прийому-передачі даних, що дозволяє працювати в режимі реального часу і постійно перебувати на зв'язку з інформаційною системою. Перевага радіотерміналів полягає в тому, що автоматично в режимі он-лайн відбувається фіксація діяльності операторів та завантаження завдань  на виконання робіт. Термінал дозволяє контролювати виконання всіх операцій і виключати помилки, що особливо важливо при складанні замовлень. Безперервний контроль дає можливість отримувати практично стовідсотково точні відомості про стан складу. Таким чином, використання сучасної системи управління складом дозволяє зробити вплив людського фактора на процедуру прийняття рішень та кінцевий результат мінімальним. 

Автоматизація складу суттєво знижує ризики, пов'язані з помилками людей. Система оперативно планує роботу, контролює її виконання і враховує трудовитрати. Вона підтримує автоматичний розподіл завдань між робітниками, а також дозволяє відслідковувати сумарну і деталізовану інформацію про час виконання операцій. Оскільки система сама знає місцезнаходження вантажів та встановлює черговість виконання робіт, вимоги до кваліфікації виконавців знижуються. Одночасно зростає ступінь відповідальності людей, їх зацікавленість в результаті, що дозволяє впроваджувати ефективну систему стимулювання кадрів.
При плануванні завдань система слідує певним правилам (наприклад, розміщення, маршрутизації, злиття та ін.). Скажімо, при розподілі товарів на відбір користувач може вибрати правило відбору та встановити в ньому необхідну послідовність пріоритетів, керуючись якими система сама складе список вантажів, які підлягають зняттю зі зберігання за списком замовлення. Більшість правил налаштовують в процесі впровадження системи, згодом їх можна змінювати. 

В складській діяльності дуже важливо чітко контролювати операторів і нараховувати зарплату за підсумками вироблення на основі врахування всіх вироблених дій. Висококласна система управління складом здатна впоратися і з цим. Розташування співробітників і стан складу можна визначати візуально, використовуючи функцію «Топологія складу».

На виконання всіх складських робіт видають завдання, які генерує і відстежує система. Співробітник одержує тільки одне завдання, але воно може включати в себе кілька елементарних операцій. По кожному завданню реєструють тривалість його виконання та параметри вантажів (вага, об'єм, розмір і т. н.). Відомості за всіма проведеними операціями заносять в архів WMS і надалі використовують для персонального контролю над працівниками складу, обліку їх вироблення та розрахунку заробітної плати.
Операціями, що виконуються співробітниками, менеджер присвоює різні коефіцієнти (залежно від складності). Крім того, на основі раніше зібраної статистики для них можуть визначити норматив тимчасових витрат на основі середнього розрахункового часу. У кожному конкретному випадку система здатна уточнити відхилення від нормативу. Для різних видів складських робіт передбачено свої критерії оцінки діяльності персоналу, що залежать від специфіки складу. Так, при оцінці роботи приймальника правильніше зробити критерієм не кількість прийнятих одиниць товару, а його вага. Однак при розміщенні вантажів слід орієнтуватися на їх кількість. На основі коефіцієнтів система виставляє співробітнику певний бал. За місяць всі бали підсумовують, і виходить загальна оцінка роботи. Зарплату нараховують на основі кількості балів і відповідно до тарифної сітки. При цьому необхідно зазначити, що форма розрахунку заробітку у кожного складського комплексу своя.

Система WMS дозволяє менеджеру створювати безліч необхідних звітів, які крім усього іншого допомагають ефективно управляти персоналом.
Ефективність управління складом і діями персоналу дозволяє перевірити інвентаризація. WMS передбачає два типи інвентаризації: планову і по проблемі. При першій терміни і періодичність проведення задає менеджер. Другу починають після повідомлення оператора про проблему, викликаної, наприклад, відсутністю вантажу в належному осередку, його недостатньою кількістю, пошкодженням або наявністю в осередку не того товару. Тоді система закриває проблемну клітинку від будь-яких операцій і посилає завдання на проведення інвентаризації відповідального співробітника. Завдання відображається на екрані радіотерміналу. Менеджер складу може призначити інвентаризацію як на окрему клітинку, так і на групу клітинок, групу товарів, партію і будь-які інші об'єкти управління. Всі розбіжності, виявлені при перерахунку, відображають у спеціальній інформаційній таблиці. Інвентаризацію проводять без зупинки складу. Вона дає точні та оперативні відомості про наявність товару.
Впровадження системи управління покращує якість обслуговування замовників, виключає ситуації відвантаження замовлення в неповній комплектації. Грамотне управління персоналом підвищує ефективність управління складом в цілому. 

В результаті впровадження даної системи відбувається упорядкування та оптимізація технологічних процесів роботи з матеріальними потоками, підвищується точність даних про кількість і розміщення вантажу на складі (до 99,9%), забезпечується повний контроль над рухом товарів, оптимізується використання складських площ (місткість збільшується від 5 до 25%), прискорюється і зростає товарообіг, знижуються експлуатаційні витрати.

В результаті впровадження WMS крім оптимізації використання вантажної техніки і устаткування, зниження витрат на транспортування (за рахунок економії електроенергії, зменшення витрат на обслуговування, збільшення терміну експлуатації), підвищується ефективність управління працівниками та продуктивність праці (в середньому на 20-30%), присікається можливість непередбачених ситуацій, скорочується час виконання операцій. Це відбувається завдяки технології штрихкодування. Кількість випадків, коли службовці не можуть знайти на складі товар, зводиться практично до нуля. Зростання оперативності обміну даними в режимі реального часу між усіма учасниками складського процесу забезпечує відділ продажів точною інформацією про запаси. Інформація стає доступною в режимі реального часу, обсяг паперових робіт скорочується.

Якщо говорити про WMS - системи, то основне їх призначення - це управління технологічними процесами на складі. Професійні рішення забезпечують автоматизацію, оптимізацію і контроль всіх складських процесів в наскрізному режимі (приймання, розміщення, зберігання, комплектація вантажів та багато іншого, залежно від класифікації та комплектації програмного продукту). Також WMS дозволяють забезпечити контроль і оптимізацію роботи персоналу, техніки та складського обладнання та багато інших функцій. 

До «облікового» функціоналу можна віднести реалізацію процесу, коли співробітник самостійно приймає рішення про те, як він буде виконувати операцію набору. Співробітник оцінює необхідний обсяг, типорозміри тари і товароносіїв, вибирає собі конкретні завдання або їх групи у вигляді списку накладних, протягом виконання завдань вирішує, чи буде він їх виконувати або пропустить, щоб повернутися потім. Спеціаліст застосовує свої експертні знання, щоб працювати в рамках зазначеного функціоналу.

У випадку з WMS, співробітник отримує вже сформовані, конкретні вказівки від системи: взяти задані типорозміри тари, використовувати задану техніку, при спробі відмови від завдання - чітко вибирати причину, щоб система могла ініціювати запуск іншого, паралельного процесу (наприклад, контроль кількості в комірці , контрольний перерахунок вантажів з певними атрибутами, перевірка вагогабаритних характеристик та інше).
Чим більше залежність від співробітників, тим з більшою впевненістю можна сказати, що система відноситься до класу «облікових». У свою чергу, системи управління призначені саме для того, щоб забезпечити максимальну безпеку бізнесу в тому, що стосується залежності від кінцевих виконавців.
Основне призначення класичної складської облікової системи полягає у веденні автоматизованого обліку руху торгово-матеріальних цінностей. Базовий функціонал таких систем передбачає підтримку документообігу, що охоплює прийом, відпуск товару, інвентаризацію залишків та звіти про рух товарів. 

Функціонал деяких облікових систем можна розширювати, але, в будь-якому випадку, вони не зможуть забезпечити управління технологічними процесами на складі, здійснювати їх адаптацію та оптимізацію, в залежності від поставлених перед складським комплексом завдань, а також планувати і видавати завдання виконавцям. Пов'язано це з тим, що основне призначення таких рішень - облік, а не управління. На жаль, навіть окупність у нас багато хто вважає в режимі «скільки заощадимо на зарплатах». Є й такі величини, які складно порахувати «на колінці». Скажімо, скільки втратить компанія, якщо піде досвідчений комірник? Чи довго буде простоювати склад, якщо співробітники раптом вирішать піти до сусідів? Кадрові питання деколи стають визначальними, і якщо в Європі це давно вже зрозуміли, то ми ще тільки намагаємося усвідомити. 

У таблиці 1.1 наведено порівняння облікових і WMS - систем по декільком функціональним параметрам.

Таблиця 1.1

Порівняння функціональних параметрів облікових та WMS-систем

Процеси

Облікові системи

WMS-системи

Автоматична диспетчеризація завдань для складського персоналу 

-

+

Оперативний облік запасів на складу в любий момент часу

-

+

Облік запасів на складі в визначений момент часу

 

+

+

Адресне зберігання товару

 

+

+

Контроль роботи складського персоналу, техніки, обладнання

-

+

Частковий облік

+

+

Транзитне відвантаження продукції

-

+

Операційний біллинг

-

+

Наведені в таблиці параметри - це далеко не весь перелік, але підсумувати його можна тим, що WMS планує операції і розподіляє їх між співробітниками, а також забезпечує зворотний зв'язок при виникненні позаштатних ситуацій. Інший функціонал, де прийняття рішення залежить від співробітника на місці - це облікова система.

1.2 Порівняльний аналіз існуючих систем управління складом

1.2.1 Система SOLVO.WMS

Система Solvo.WMS - це система автоматизації складської діяльності, що дозволяє в режимі реального часу управляти всіма технологічними операціями на складі.           Система управляє роботою складської техніки і персоналу, контролює переміщення вантажів і вантажної техніки по території складу, оперативно планує завдання персоналу з урахуванням поточної обстановки. 

Solvo.WMS є експертною системою, здатною самостійно виробляти рекомендації щодо оптимізації всіх складських технологічних процесів та координації робіт персоналу і підйомно-транспортного устаткування з метою досягнення максимальної ефективності використання складських площ і підвищення продуктивності робіт на складі.

Cистема Solvo.WMS позбавляє користувача від необхідності складати на папері описи вибірки і замовлення, які задаються зазвичай головним комп'ютером або вручну. Замість цього дана інформація передається і обробляється самою системою і перетвориться в оптимізовані робочі завдання для кожного працівника складу. Управління персоналом складу на кожному етапі робіт здійснюється за допомогою радіотерміналів. Інформація про кожну операцію негайно вводиться в систему за допомогою сканування або з клавіатури. Це означає, що відомості про кількість і розташування товару на складі завжди точні і актуальні, і будь-які відхилення можуть бути враховані негайно. 

У завдання системи Solvo.WMS входить управління всім складським процесом - від очікування приймання товарів до їх доставки за замовленнями клієнтів. При цьому, виходячи з реальних потреб замовника, обсяг впровадження системи може варіюватися від початкового рівня (система управління на основі паперових листів-завдань) до повнофункціональної системи управління складом в режимі реального часу, з використанням технологій штрих-кодування, радіоустаткування передачі даних, системи позиціонування складської техніки та інших засобів автоматизації.
Система управління складом допомагає оптимізувати зберігання товару, розділяючи склад на зони таким чином, щоб площа складу використовувалася найефективніше. Постійний перерахунок товару на складі під час робочого циклу дозволяє скоротити або повністю уникнути зупинки робіт для проведення інвентаризації.

Досвід впровадження системи Solvo.WMS класу показує, що точність даних про кількість і розміщення товару при звірці досягає 99,9%, а терміни робіт з прийому та відвантаження товарів скорочуються в 2-3 рази.
Важлива якість системи управління складом Solvo.WMS - її адаптованість до умов конкретного замовника, специфіці його технологічних та організаційних вимог. Програмне забезпечення системи підтримує роботу з радіоустаткуванням, пристроями штрихового кодування, електронними вагами, принтерами і сканерами зображень. При розробці програмного забезпечення особлива увага була приділена питанням інтеграції системи з головними інформаційними системами підприємств. Система інтегрується як з російськими, так і західними корпоративними інформаційними системами.

1.2.2 Система Core.WMS

Система CoreWMS розроблена з урахуванням сучасних технологій управління складами, має модульну структуру, швидко настроюється, надійно працює і надає можливість ефективно використовувати самі передові інформаційні технології.

В основному модулі системи (ядрі), реалізована інформаційна підтримка всіх основних складських операцій: приймання, розміщення та переміщення товарів по складу, інвентаризації, відбору і відвантаження товарів. Функціональність системи легко розширюється і настроюється за бажанням замовника за рахунок додаткових модулів, що дозволяють автоматизувати складські бізнес - процеси для «комерційного» складу, враховувати штрих коди товарів, оптимізувати складські операції відповідно до топологією складу, автоматично розподіляти завдання персоналу складу, забезпечити доступ власників та замовників до складської інформації в реальному часі.

Система CoreWMS представляє завершене рішення для всіх типів складів і підтримує роботу як одного складу, так і більшої кількості складів
Легкість у використанні забезпечується тим,
 що при роботі з CoreWMS використовується добре структурований, простий і зрозумілий інтерфейс
В системі CoreWMS реалізована можливість одночасної підтримки кількох іноземних мов.
 Система CoreWMS успішно працює в США.

Система CoreWMS встановлюється на один сервер. Написана на мові Java, система CoreWMS повністю незалежна від серверної платформи та бази даних. Система може бути запущена під будь операційною системою, що підтримує Java. Система CoreWMS надає можливість обміну даними з іншими системами автоматизації, в тому числі бухгалтерськими та виробничими (MRP, ERP), CRM. Система CoreWMS заснована на Інтернет технологіях
Власники товару,
 замовники і партнери можуть мати доступ складу (складам) з будь-якої точки світу і переглядати інформацію про проходження замовлень в реальному часі за допомогою Системи CoreWMS
Інформація в системі CoreWMS оновлюється одночасно зі зміною стану складу, складських операцій, запасів і в реальному часі моментально стає доступною директорам - розпорядникам та іншим службам підприємства, користувачам.

Реалізована в системі технологія штрихового кодування дозволяє автоматизувати процес ідентифікації товарів при виконанні всіх складських операцій і значно зменшити кількість помилок під час роботи персоналу складу
Підтвердження виконаних складських операцій персоналом складу може здійснюватися за допомогою персонального комп'ютера,
 а також портативних радіочастотних і пакетної терміналів. Система зберігає всі дані про дії кожного робочого складу, що допомагає більш якісному контролю і управління персоналом складу

Завдяки використанню топології складських приміщень, система наочно відображає завантаженість товаром осередків та стелажів
Грамотна організація роботи підприємств складського комплексу веде до підвищення продуктивності праці,
 скорочує витрати робочого часу на виконання складських операцій і дозволяє ефективно використовувати складські приміщення. Все це сприяє підвищенню економічної ефективності підприємства.

1.3 Вимоги до розроблюваного ПЗ

Програмне забезпечення повинно бути достатнім для виконання всіх функцій системи, що реалізуються із застосуванням засобів обчислювальної техніки, а також мати засоби організації всіх вимагаємих процесів обробки даних, що дозволяють своєчасно виконувати всі автоматизовані функції у всіх регламентованих режимах функціонування.

Розроблюване ПЗ повинно володіти наступними властивостями:

1) Маштабовність.

2) Надійність.

3) Зручність застосування.

4) Супроводжуваність.

5) Переносимість.

Функціональність (Functionality) –здатність ПЗ забезпечити функції, які виконують заявлені потреби та потреби, що маються на увазі при використанні ПЗ в заданих умовах, включає наступні функції:

функціональна повнотаздатність ПЗ забезпечити відповідний набір функцій для заданих завдань та цілей користувача;

–правильність  –здатність ПЗ забезпечувати вірні або припустимі результати або дії з необхідним ступенем точності;

–здатність до взаємодіїздатність ПЗ взаємодіяти із зазначеними системами;

–захищеність  –здатність ПЗ забезпечити захист інформації та даних (при їхньому зберіганні і передачі) таким чином, що неавторизовані користувачі та системи не будуть мати можливості до їх читання і модифікації, у той час як авторизованим користувачам і системам не буде відмовлено у доступі до них;

–узгодженість функціональності  –здатність ПЗ до дотримання відповідних стандартів, угод, положень законів або подібних рекомендацій, що стосуються функціональності. 

Надійність (Reliability) –група властивостей, що обумовлює здатність програмного забезпечення зберігати працездатність та перетворювати вихідні дані в очікуваний результат у заданих умовах за встановлений час, включає наступні підхарактеристики:

безвідмовністьздатність ПЗ  уникати відмов (функціонування без відмов), які є результатом наявності дефектів у ПЗ;

–стійкість до відхиленьздатність ПЗ підтримувати необхідний рівень працездатності у випадках прояву програмних дефектів або порушення його інтерфейсу;

–відновлюваністьздатність ПЗ відновлювати заданий рівень працездатності, а також відновлювати дані, які безпосередньо ушкоджені у випадку виникнення відмови, після перезапуску ПЗ (автоматичного або оператором);

–узгодженість надійностіздатність ПЗ дотримуватись відповідних стандартів, угод, положень законів або подібних рекомендацій, що стосуються надійності.

Зручність використання (Usability) –здатність ПЗ бути зрозумілим, придатним до вивчання і привабливим для користувача при його використанні в заданих умовах, включає наступні підхарактеристики:

зрозумілістьздатність ПЗ забезпечити користувачеві зрозумілість того, чи може ПЗ бути використано і яким саме чином, для конкретних завдань і умов застосування;

–придатність до вивчанняздатність ПЗ до надання користувачеві можливості його вивчення;

– зручність інтерфейсу для користуванняздатність ПЗ до надання користувачеві можливості управління та контролю за його роботою;

–привабливістьздатність ПЗ бути привабливим для користувача (відноситься до графічного інтерфейсу);

–узгодженість використанняздатність ПЗ до дотримання відповідних стандартів, угод, положень законів або подібних рекомендацій, що стосуються використання.

Переносимістьздатність ПЗ бути перенесеним з одного організаційного, апаратного або програмного середовища в інше, включає наступні підхарактеристики:

адаптованістьздатність ПЗ бути адаптованим до різних середовищ без застосування дій або засобів, відмінних від тих, що передбачено для цієї мети в розглянутому ПЗ. Адаптованість містить у собі масштабованість внутрішніх елементів ПЗ (екранних полів тощо);

–налагоджуваністьздатність ПЗ до інсталяції в заданому середовищі;

–сумісністьздатність ПЗ без конфліктів співіснувати з іншим незалежним програмним забезпеченням у загальному середовищі, що спільно використовує загальні ресурси.

1.4 Функціональні вимоги до розроблюваної  WMS

Розроблювана система має виконувати наступні задачі:

  •  Приймання товару і матеріалів
  •  Приймання товарів у режимі реального часу з використанням радіотерміналів або паперових носіїв;
  •  Друк штрихових кодів;
  •  Гнучка ідентифікація як із замовленням на закупівлю або надійшли від постачальника попередніми повідомленнями про відвантаження, так і без них;
  •  Приймання на відповідальне зберігання;
  •  Перевірка відповідності і коректування даних.
                                      
  •  Складування
  •  Автоматичне складування або складування під контролем персоналу;
  •  Настроювані правила складування для максимізації використання складського простору та / або продуктивності складських операцій;
  •  Всеохоплюючі критерії побудови осередків зберігання;
  •  Налаштовуване створення завдань зі складування;
  •  Підготовка нефасованого товару різних постачальників до складування.        
                            
  •  Автоматизація одноразової приймання і відвантаження товару
  •  Перевантаження отриманого товару для відправки замовникам;
  •  Транзитна відвантаження продукції через склад.
                    
  •  Гнучке управління замовленнями і групами замовлень
  •   Комплексна угрупування замовлень.
  •  Обробка і випуск замовлень групами з оптимізацією процесів і ресурсів;
  •  Об'єднання і поділ партій товарів;
  •  Функція ідентифікації товару за упаковці при відвантаженні і повернення.
                             
  •  Поповнення запасів
  •  Параметри необхідності поповнення;
  •  Поповнення неповними піддонами;
  •  Спільне поповнення групи товарів на одному піддоні;
  •  Автоматичне формування і відправка завдань поповнення;
  •  Змінні стратегії поповнення;
  •  Різні опції поповнення (штука, коробка, піддон).
                                                        
  •  Комплектація замовлень
  •  Автоматичне формування і відправка завдань співробітникам на комплектацію замовлень;
  •  Комплектація безпосередньо в піддон з урахуванням вимог ергономіки, а також розмірів, ваги та інших параметрів товару
  •  Комплектація на транспортерну стрічку;
  •  Комплектація партіями товару;
  •  Підтримка вибірки штуками, коробками, повними піддонами;
  •  Комплектація з використанням радіотерміналів або етикеток;
  •  Різні опції збірки (дискретна, групова, об'єднана);
  •  Персоналізація замовлень під час складання;
  •  Генерація ідентифікаційних номерів відправлених контейнерів та їх відстеження;
                                                                    
  •  Навантаження
  •  Складання розкладу відвантаження товарів з урахуванням пріоритетів;
  •  Упорядкування та об'єднання товарів при вантаженні залежно від послідовності доставки;
  •  Навантаження, перевірка і закриття операції, керовані радіотерміналами;
  •  Перевірка і закриття операції відправки;
  •  Визначення (вибір) перевізника;
  •  Маркування відповідності;
  •  Створення супровідних документів.
                                                                
  •  Управління запасами
  •  Відстеження контейнерів;
  •  Повна функціональність для роботи з ваговим товаром;
  •  Гнучкість при переміщенні і коректуваннях складських запасів;
  •  Проміжна часткова інвентаризація;
  •  Повна фізична інвентаризація з фіксацією ваги на вході і виході;
  •  Контроль стану і отримання інформації про складські запаси в режимі реального часу;
  •  Консолідація запасів по всіх РЦ;
  •  Локалізація запасів і конфігурація площ і зонування складу;
  •  Відстеження атрибутів майна (партія, код, серійний номер);
  •  Облік дати і відстеження термінів реалізації товарів;
  •  Відстеження власників закладеного майна;
  •  Гнучка система перевідправлення, розбивки на партії, переміщення запасів.
  •  Гнучкі методики обробки грузів LIFO, FIFO, FPFO, FEFO, BBD
                                                                                                              
  •  Управління завданнями персоналу
  •  Автоматичне формування і відправка завдань для:
  •  Приймання;
  •  Розміщення;
  •  Переміщення запасів;
  •  Підрахунку оборотності;
  •  Поповнення запасів;
  •  Комплектації замовлень;
  •  Навантаження;
  •  Відправки.
        
  •  Управління людськими ресурсами
  •  Облік робочого часу;
  •  Відстеження завдань персоналу;
  •  Звітність по людських ресурсів;
  •  Проектування стандартів трудових ресурсів;
  •  Визначення планової продуктивності праці.

Висновки

В умовах підвищеної конкуренції питання оптимізації витрат і підвищення якості обслуговування клієнтів входять в перелік ключових в діяльності сучасних дистриб’юторських компаній та роздрібних мереж. Одним з важливих ланок логістичного ланцюжка для даного виду бізнесу являється склад розподілу, ефективність функціонування якого, в кінцевому вигляді, в значній мірі впливає на ефективність бізнесу в цілому.

Для операторів складських послуг питання підвищення ефективності складу стоїть більш гостро, так як склад для них являється, фактично, основним виробничим підрозділом. Ефективна, з точки зору продуктивності і вартості, вантажопереробка на сучасному складі неможлива без якісної інформаційної та технічної підтримки складських процесів. Ріст об’ємів вантажопереробки, а також постійно зростаючий рівень вимог до якості складського сервісу примушують керівництво компаній задумуватись про інструменти підвищення ефективності функціонування складу. Одним з таких інструментів, являється система автоматизованого управління складом.

Багато компаній на даних момент вже використовують ті чи інші WMS. Причому, слід відмітити, не завжди досягаючи бажаного результату – підвищення продуктивності та зниження витрат на складську вантажопереробку.

В даному розділі було виконано наступні задачі:

  •  проаналізовано існуючі системи управління складським обліком
  •  виявлено їх основні переваги та недоліки
  •  прийняте рішення про необхідність створення нової системи управління складським обліком

Рис. 2.1 Взаємодія компонентів системи

ERP-система – конкретний програмний пакет, який реалізує стратегію ERP.  В даному проекті ERP-система розглядатися не буде.  

Взаємодія між ERP і WMS системами відбувається напряму на рівні синхронізації таблиць бази даних.

2). WMS сервер – компонент, який шляхом взаємодії між базою даних та клієнтською програмою реалізує бізнес-логіку процесів в системі.

Як архітектурний шаблон програмного забезпечення була обрана трирівнева архітектура. Вона складається з рівня представлення, рівня логіки процесів, та рівня бази даних.

 Елементи системи зображені на рис. 2.2. 

Рис. 2.2 Трирівнева архітектура

Вона передбачає такі основні компоненти:

Клієнт – це інтерфейсний  (зазвичай, графічний) компонент, який представляє перший рівень, власне додаток для кінцевого користувача. Перший рівень не повинен мати прямого зв’язку з базою даних (в цілях безпеки), бути навантажений бізнес-логікою (по вимогам масштабування), і зберігати стан додатку (по вимогам надійності). Зазвичай, на перший рівень виноситься найбільш проста бізнес-логіка. Наприклад, інтерфейс авторизації, перевірка введених значень, сортування та групування даних, вже завантажених на термінал.

Сервер додатків – розміщений на другому рівні. Тут, розміщена більша частина бізнес-логіки.

Сервер бази даних – забезпечує зберігання даних і виноситься на третій рівень. Зазвичай, це стандартна реляційна, або об’єктно-орієнтована СУБД. Якщо третій рівень представляє собою базу даних зі збереженими процедурами,тригерами і схемою, яка описує додаток в термінах реляційної моделі, то другий рівень будується як програмний інтерфейс, зв’язуючий клієнтські компоненти з прикладною логікою бази даних. 

Порівняно з клієнт-серверною та файл-серверною архітектурою у трирівневої архітектури є наступні переваги:

  •  Маштабовність.
  •  Висока надійність
  •  Висока безпека 
  •  Низькі вимоги до швидкості інтернету для зв’язку між терміналами і сервером
  •  Низькі вимоги до продуктивності та технічних характеристик самих терміналів

Як недоліки можна виділити наступне:

  •  Більш висока складність розробки програмного забезпечення
  •  Система складніша в адмініструванні та розгортанні
  •  Високі вимоги до продуктивності серверів додатків та серверів баз даних
  •  Високі вимоги до швидкості интернету між серверами додатків та серверами баз даних

 

2.2 Структура бази даних WMS

База даних (БД) – це впорядкований набір  логічно взаємопов’язаних даних, що використовується спільно, та призначений для задоволення інформаційних потреб користувачів. У технічному розумінні включно й система керування БД. 

База даних – організована у відповідності з визначеними правилами і підтримує в пам’яті комп’ютера сукупність даних, що характеризує актуальний стан деякої предметної області і використання для задоволення інформаційних потреб користувачів.

Головним завдання БД є гарантоване збереження значних обсягів інформації та надання доступу до неї користувачеві, або ж прикладній програмі. Таким чином БД складається з двох частин: збереженої інформації та системи управління нею. З метою забезпечення ефективності доступу записи даних організовують як множину елементів даних.

В дипломному проекті база даних реалізована у вигляді  SQL файлу на основі бази даних Oracle. Повна схема бази даних представлена в додатку А.  Кожна таблиця складається з рядків і стовпців. Кожний стовпець містить дані одного типу. У БД рядки таблиці називаються записами, а стовпціполями. Поля утворять структуру бази даних, а записи складають інформацію, що у ній міститься. На рис. 2.3 представлена частково структура БД, яка використовувалась при розробці даного проекту.

До складу wms.sql входять 15 таблиць: TASKS, TASK_DETAILS, ROUTES, DOCKS, ZONES, CELLS, PALLETES, WARES, INCOMING_SUPPLIES, INCOMING_INVOICE, USERS, USER_RIGHTS, LOADS, INCOMING_SUPPLY_WARES, INVOICE_WARES.

Інформація стосовно полів таблиць та їх опис представлені в таблицях 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11, 2.12, 2.13, 2.15.

Рис 2.3. Схема БД

Таблиця 2.1

TASKS

Назва поля

Тип даних

Опис

ID_TASK 

number 

Унікальний ідентифікатор задачі

TASK_TYPE

number

Тип задачі

TASK_CREATE_TIME

timestamp

Дата створення задачі

TASK_START_TIME

timestamp

Дата початку виконання задачі

TASK_FINISH_TIME

timestamp

Дата закінчення виконання задачі

TASK_ORDER

number

Пріоритет задачі

ID_USER

number

Ідентифікатор користувача, виконуючого задачу

TASK_STATE

number

Стан задачі

TASK_INFO

text

Деталі задачі

TASK_ZONE_FROM

number

Ідентифікатор зони старту задачі

TASK_ZONE_TO

number

Ідентифікатор зони закінчення задачі

TASK_LAST_UPDATE

timestamp

Дата останнього оновлення задачі

Таблиця TASKS містить відомості про створені завдання в системі. Ії тип, час створення, час виконання, деталі про виконавця та стан виконаної роботи.

Таблиця TASK_DETAILS розширює дані про задачу, вказані в таблиці TASKS. Тут містяться специфічні для кожної задачі дані про цільові комірки, паллети, вантажі, рейси та ін.

Таблиця 2.2

TASK_DETAILS

Назва поля

Тип даних

Опис

ID_PARENT_TASK 

number 

Ідентифікатор «батьківської» задачі

TASK_ID_CELL_FROM

number

Ідентифікатор початкової комірки

TASK_ID_CELL_TO

number

Ідентифікатор цільової комірки

TASK_ID_PALLETE

number

Ідентифікатор паллети

TASK_ID_DOCK

number

Ідентифікатор доку

TASK_ID_LOAD

number

Ідентифікатор вантажу

TASK_ID_WARE

number

Ідентифікатор товару

TASK_WARE_QUANTITY

number

Кількість товару

TASK_ID_ZONE

number

Ідентифікатор зони

TASK_ID_ROUTE

number

Ідентифікатор рейсу

TASK_PALLETE_GROUP

number

Тип паллети 

TASK_ID_SUPPLIER

number

Ідентифікатор постачальника

TASK_CELL_LEVEL

number

Рівень комірки

TASK_CELL_TYPE

number

Тип комірки

TASK_TRANSFER_STATE

number

Статус проміжної задачі

TASK_ID_CELL_OWNER

number

Ідентифікатор власника товару

TASK_MAX_LEVEL

number

Максимальний рівень комірки

TASK_MAX_WEIGHT

number

Максимально допустима вага

TASK_ID_TRADE_PLACE

number

Ідентифікатор ТП

Таблиця 2.3

ROUTES

Назва поля

Тип даних

Опис

ID_ROUTE 

number 

Ідентифікатор рейсу

ROUTE_AUTO_NUMBER

varchar2

Номер авто

ROUTE_DRIVER_PHONE

varchar2

Телефон водія

ROUTE_AUTO_STATE

number

Статус рейсу

ROUTE_REGISTER_TIME

timestamp

Дата реєстрації рейсу

ROUTE_ARRIVAL_TIME

timestamp

Дата прибуття рейсу

ROUTE_LEAVE_TIME

timestamp

Дата покидання рейсу території складу

ROUTE_TYPE

number

Тип рейсу

ROUTE_DESC

text

Деталі рейсу

ROUTE_TRAILER_NUMBER

varchar2

Номер причепу рейсу

ID_SUPPLIER

number

Ідентифікатор постачальника

ROUTE_ORDER_TYPE

number

Тип рейсу

ROUTE_LOADED

number

Прапор статусу відвантаження рейсу

RETURN_PALLETES

number

Кількість пал лет на повернення

HAS_RETURN_PALLETES

number

Прапор наявності пал лет на повернення

ROUTE_MAX_WEIGHT

number

Вантажопідйомність рейсу

ROUTE_PRINT_STATE

number

Статус печаті документації по рейсу

ROUTE_LOAD_TYPE

number

Метод відвантаження товару

Таблиця ROUTES містить дані про рейси, які прибувають, або вже знаходяться на складі. А також інформацію про водія рейсу характеристики автомобіля, тип рейсу, дати прибуття і покидання рейсом складу, посилання на постачальника, від якого він їде та дані про кількість паллет, які має привезти.

Таблиця 2.4

CELLS

Назва поля

Тип даних

Опис

ID_CELL 

number 

Ідентифікатор комірки

CELL_NUMBER

number

Порядковий номер

CELL_ROW

number

Номер ряду

CELL_LEVEL

number

Рівень комірки

CELL_BARCODE

varchar2

Штрих-код комірки

ID_ZONE

number

Ідентифікатор зони

CELL_TYPE

number

Тип комірки

CELL_STATE

number

Стан комірки

CELL_GROUP

number

Група комірки

TRAVERSE

number

Приналежність до траверсу

ID_CELL_OWNER

number

Ідентифікатор власника

X

number

Координата X

Y

number

Координата Y

Z

number

Координата Z

CELL_HEIGHT

number

Висота комірки

Таблиця CELLS містить дані про комірки на складі, їх фізичне положення, поточний стан, інформацію про їх траверсне розміщення та ін.

Таблиця 2.5

PALLETES

Назва поля

Тип даних

Опис

ID_PALLETE 

number 

Ідентифікатор паллети

ID_CELL

number

Ідентифікатор комірки, де знаходиться паллета

PALLETE_WEIGHT

number

Вага паллети

PALLETE_STATE

number

Стан паллети

TRANSPORT_ID

number

Ідентифікатор транспорту, на якому знаходиться паллета

PALLETE_TYPE

number

Тип паллети

ID_ZONE

number

Зона, де лежить паллета

PALLETE_OWNER

number

Ідентифікатор власника

ID_INVOICE

number

Ідентифікатор рахунку

ID_SUPPLY

number

Ідентифікатор поставки

PALLETE_GROUP

number

Група паллети

ID_TRADE_PLACE

number

Ідентифікатор торгової площадки

ID_PARENT_PALLETE

number

Ідентифікатор «батьківської» паллети

ID_OUT_ROUTE

number

Ідентифікатор рейсу, на який паллета була відвантажена

PALLETE_HEIGHT

number

Висота паллети

PALLETE_WEIGHT_FULL

number

Вага паллети

ID_PREV_CELL

number

Ідентифікатор комірки, в якій паллета була

CREATE_TIME

timestamp

Дата створення паллети 

PALLETE_OUT_USER

number

Користувач, який відвантажив пал лету

PALLETE_OUT_DATE

timestamp

Дата відвантаження

PALLETE_PROCESS_TYPE

number

Тип обробки паллети

PALLETE_PROCESS_STATE

number

Стан обробки паллети

ID_CELL_OWNER

number

Ідентифікатор власника комірки, де знаходиться паллета

ACCEPT_USERID

number

Ідентифікатор користувача, який зареєстрував пал лету

FIRST_PUT_LOAD

timestamp

Дата розміщення першого вантажу

LAST_PUT_LOAD

timestamp

Дата розміщення останнього вантажу

Таблиця PALLETES представляє собою паллети, створенні в системі. Таблиця містить посилання на поставку, по якій приїхала паллета на склад, посилання на рахунок-фактуру, по якій паллету зареєстрували, розміри та вагу паллети, дані про її поточну комірку, час створення та посилання на користувача, який її створив.

Таблиця LOADS відображає вантажі, які лежать на паллетах в системі. Їх ваго-вантажні характеристики, дату виробництва, ідентифікатор користувача, який створив даний вантаж в системі, дані про товар в вантажу, його упаковку, час створення вантажу в системі. Таблиця з вантажами відіграє ключову роль в управлінні обліком на продовольчому складі.

Таблиця 2.6

LOADS

Назва поля

Тип даних

Опис

ID_LOAD 

number 

Ідентифікатор вантажу

ID_UNIT

number

Ідентифікатор упаковки

ID_PALLETE

number

Ідентифікатор паллети

LOAD_QUANTITY

number

Кількість вантажу

LOAD_STATUS

number

Стан вантажу

LOAD_WEIGHT

number

Вага вантажу

LOAD_LENGTH

number

Довжина вантажу

ID_WARE

number

Ідентифікатор товару

ID_INVOICE

number

Ідентифікатор рахунку

LOAD_EXPIRE_TIME

timestamp

Дата закінчення терміну зберігання

LOAD_UNIT_SIZE

number

Кількість товарів в упаковці

LOAD_UNIT_COUNT

number

Кількість упаковок

ID_KDK_WARE

number

Ідентифікатор КДК-товару

LOAD_PRODUCE_TIME

timestamp

Дата виробництва

ID_SUPPLIER

number

Ідентифікатор постачальника

ID_USER_CREATED

number

Ідентифікатор користувача, який створив вантаж

TIME_CREATED

timestamp

Час створення вантажу

ID_PARENT_LOAD

number

Ідентифікатор «батьківського» вантажу

ID_OUT_TP

number

Ідентифікатор ТП

Таблиця 2.7

WARES

Назва поля

Тип даних

Опис

ID_WARE 

number 

Ідентифікатор товару

WARE_GROUP

number

Група відбору товару

WARE_TYPE

number

Тип товару

WARE_TITLE

varchar2

Назва товару

WARE_MARK

number

Артикул товару

WARE_MODE

number

Режим обробки товару

WARE_ALCOHOL

number

Прапор приналежності до алкоголю

WARE_BARCODE

varchar2

Штрих-код товару

WARE_EXPIRE_DAYS

number

Кількість днів до кінця терміну зберігання

Таблиця WARES описує товари, що можуть приходити в вантажах на склад.

Таблиця 2.8

DOCKS

Назва поля

Тип даних

Опис

ID_DOCK 

number 

Ідентифікатор доку

ID_ZONE

number

Ідентифікатор зони

DOCK_BARCODE

varchar2

Штрих-код доку

DOCK_STATE

number

Стан доку

DOCK_NUMBER

varchar2

Номер доку

ID_ROUTE

number

Ідентифікатор рейсу

DOCK_TYPE

number

Тип доку

ZONE_TYPE

number

Тип товарів, які може приймати док

Таблиця DOCKS описує характеристики та стан доків у яких відбувається розвантаження, або завантаження вантажів з рейсів.

Таблиця 2.9

ZONES

Назва поля

Тип даних

Опис

ID_ZONE

number 

Ідентифікатор зони

ZONE_NAME

varchar2

Назва зони

ZONE_TYPE

number

Тип зони

ZONE_MODE

number

Режим зони

ZONE_PRIORITY

number

Пріоритет зони

Таблиця ZONES описує зони в системі, по яким відбувається групування комірок. Наприклад, зона прийому товару, або зона комплектації тощо.

Таблиця 2.14

INCOMING_INVOICE

Назва поля

Тип даних

Опис

ID_INVOICE

number 

Ідентифікатор рахунку

ID_ROUTE

number

Ідентифікатор рейсу

ID_INC_SUPPLY

number

Кількість поставки

INVOICE_NUMBER

varchar2

Номер  рахунку

INVOICE_DATE

timestamp

Дата рахунку

INVOICE_STATUS

number

Статус рахунку

ID_SUPPLIER

number

Ідентифікатор постачальника

ID_TRADE_PLACE

number

Ідентифікатор ТП

INVOICE_TYPE

number

Тип рахунку

Таблиця INCOMING_INVOICE відображає рахунки, які створюють диспетчери при прийомі поставок.

Таблиця 2.10

USERS

Назва поля

Тип даних

Опис

ID_USER

number 

Ідентифікатор користувача

USER_NAME

varchar2

Ім’я користувача

USER_SURNAME

varchar2

Прізвище користувача

USER_BARCODE

varchar2

Штрих-код користувача

USER_STATE

number

Стан користувача

USER_LOGIN

varchar2

Логін користувача

USER_PASSWORD

varchar2

Пароль користувача

ID_TASK

number

Ідентифікатор задачі

LAST_PAGE

varchar2

Остання сторінка, де користувач був в системі

TRANSPORT_TYPE

number

Тип транспорту, який використовує користувач

Таблиця USERS містить дані про користувачів системи. Їх персональні дані, штрих-код для роботи на мобільному терміналі, або логін\пароль для роботи за стаціонарним комп’ютером. Таблиця дозволяє слідкувати за користувачами системи, за ії поточною зайнятістю, а також поточним положенням в системі.

Таблиця USER_RIGHT відображає зв’язок користувача і певної дії, яку він може виконувати в системі, наприклад виконання певної задачі, або доступ до певного інформаційного розділу .

Таблиця 2.11

USER_RIGHTS

Назва поля

Тип даних

Опис

ID_USER 

number 

Ідентифікатор користувача

USER_RIGHT

number

Ідентифікатор права

Таблиця 2.12

INCOMING_SUPPLIES

Назва поля

Тип даних

Опис

ID_INC_SUPPLY

number 

Ідентифікатор поставки

INC_ORDER_TIME

timestamp

Дата поставки

INC_SUPPLY_STATE

number

Стан поставки

INC_SUPPLY_TYPE

number

Тип поставки

INC_SUPPLY_NUMBER

varchar2

Номер поставки

INC_SUPPLY_PALLETE_COUNT

number

Кількість паллет в поставці

ID_TRADEPLACE

number

Ідентифікатор ТП

ID_CELL_OWNER

number

Ідентифікатор власника

RESUPLY

number

Прапор повторної поставки

ID_CONTRACT

number

Ідентифікатор замовлення з ERP

Таблиця INCOMING_SUPPLIES містить загальні дані про поставки товарів, які очікуються на складі.

Таблиця 2.13

INCOMING_SUPPLY_WARES

Назва поля

Тип даних

Опис

ID_WARE

number 

Ідентифікатор товару

ID_INC_SUPPLY

number

Ідентифікатор поставки

WARE_QUANTITY

number

Кількість товару

Таблиця INCOMING_SUPPLY_WARES  описує безпосередньо самі товари, що мають буди в поставці.

Таблиця 2.15

INVOICE_WARES

Назва поля

Тип даних

Опис

ID_INVOICE

number 

Ідентифікатор рахунку

ID_WARE

number

Ідентифікатор товару

WARE_REAL_QUANTITY

number

Кількість по рахунку

WARE_ACCEPTED_QUANTITY

number

Кількість прийнятого

WARE_PRODUCE_TIME

timestamp

Дата виготовлення

WARE_EXPIRE_TIME

timestamp

Дата терміну зберігання

WARE_UNSUITABLE_COUNT

number

Некондиція

WARE_INCOMPLETE_COUNT

number

Непоставка

WARE_UNDERORDER_COUNT

number

Зверхпоставка

WARE_SURPLUS_COUNT

number

Надлишки

WARE_WRITEOFF_COUNT

number

Кількість списаних

Таблиця INVOICE_WARES містить дані про товари, які безпосередньо були прийняті на склад в рамках певного рахунку.

2.3 Структура клієнтської частини WMS

Як вже зазначалось на діаграмі взаємодії компонентів системи, в розроблюваній системі є дві ключові ролі користувачів:

  •  Стаціонарний користувач (адміністратор, оператор, начальник складу). Користувачі, які знаходяться за стаціонарними комп’ютерами, займаються організаційними задачами, реєструють замовлення, оцінюють статистичні дані, друкують документи та ін.
  •  Мобільний користувач (вантажник, товарознавець, контролер). Користувачі, які працюють на складі з мобільними терміналами і виконують завдання, відповідно до своїх обовязків, таких як – прийом товару, переміщення паллет з однієї комірки в іншу, контроль вантажів тощо.

Отже, необхідно реалізувати дві окремі клієнтські системи.

2.3.1 Клієнтська стаціонарна частина 

Розглянемо інтерфейс диспетчера прийому товару.. 

Перш за все, користувач має авторизуватися в системі і якщо система розпізнає його як диспетчера прийому, йому стануть доступні операції управління доками для прийому рейсів, список рейсів в системі, механізми для додавання нових та редагування існуючих рейсів на прийом вантажів на складі, а також механізм по запуску на територію та покидання рейсами території складу, а також інтерфейс перегляду вхідних поставок на розподільчий центр.

На рис. 2. 4 зображена діаграма варіантів використання диспетчера системи.

Рис. 2.4. Use-case діаграма диспетчера прийому

Розглянемо більш детально модулі, які необхідно розробити задля реалізації даних  завдань.

1). Модуль аутентифікації та авторизації. 

Аутентифікація проводиться із зазначенням логіну та паролю. Для забезпечення реалізації функцій адміністративної частини необхідно реалізувати можливість «аутентифікаціїї користувачів». 

Аутентифікація (Authentication) —перевірка приналежності суб’єкту доступу пред’явленого ним ідентифікатору; підтвердження автентичності. Один із способів аутентифікації в комп’ютерній системі складається із введення ідентифікатору користувача, в просторіччі називаємим «логіном» (loginреєстраційне ім’я користувача) і паролюдеякої конфеденційної інформації, знання якої забезпечує володіння визначеним ресурсом. Отримуючи введений користувачем логін та пароль, комп’ютер порівнює їх зі значенням, яке зберігається в спеціальній базі і , у випадку співпадання, пропускає користувача в систему (Рис. 2.5). 

Авторизація (Authorization) - керування рівнями та засобами доступу до певного захищеного ресурсу. В нашому випадку – це отримання користувачем певних прав для виконання певних операцій.

Рис. 2.5 Форма авторизації стаціонарного користувача

2).  Модуль управління поставками. 

Модуль дозволяє переглядати наявні поставки (Рис. 2.6), їх статус та тип товарів, які очікуються в прибуваючих на склад рейсах. Самі поставки імпортуються в систему ERP системою.

3). Модуль управління доками.

Даний модуль дозволяє переглядати список наявних доків на складі, а також додавати нові, або редагувати існуючі.

При додаванні, або редагуванні доків треба передбачити наявність наступної інформації:

  •  «Номер доку» - порядковий номер доку в системі
  •  «Стан» - поточний стан доку в системі. Вибір з випадаючого списку.
  •  «Тип завдань» - завдання яких типів можуть виконуватись в даному доку. Можливі любі комбінації завдань.
  •  «Зона» - обмеження по типу товарів, які можуть оброблятись в даному доку. Можливі любі комбінації зон.

Процес проходження рейсу на складі до доку, зображений на рис. 2.6.

Рис. 2.6. Видача дока для рейсу на складі

4). Модуль управління рейсами.

Управління рейсами передбачає можливість диспетчера переглядати список рейсів на складі, реєструвати нові рейси, та керувати станом зареєстрованих.

Процес обробки рейсу зображений на рис. 2.6.

Рис. 2.7 Процес реєстрації рейсу на складі

При реєстрації нового рейсу треба передбачити наявність можливість внесення наступної інформації:

  •  «Назва постачальника» - назва компанії постачальника товарів
  •  «Код КДРПОУ» - код компанії
  •  «Номер поставки» - номер поставки в системі

Для початку реєстрації рейсу потрібно ввести будь-яке з цих значень. На основі цих даних системою буде прийняте рішення про можливість реєстрації рейсу в системі.

Деталі реєстрації рейсу передбачають внесення наступної інформації:

  •  «Номер замовлення» - існуючі замовлення в системі. Вибір з випадаючого списку
  •  «Номер рахунку-фактури» - номер рахунку-фактури який має при собі водій рейсу
  •  «Дата» - дата рахунку-фактури
  •  «Номер автомобілю» - номерний знак рейсу
  •  «Номер причепу» - номерний знак причепу рейсу
  •  «ПІБ водія» - поле для ПІБ водія рейсу
  •  «Телефон водія» - телефон водія рейсу
  •  «Примітка» - довільна інформація

2.3.2 Клієнтська мобільна частина 

Клієнтська мобільна частина дозволяє працівнику з терміналом виконувати певні завдання на території складу. На рис. 2.12 представлена діаграма варіантів використання для товарознавця, який виконує прийом  та реєстрацію вантажів на складі.

Рис. 2.8 Use-case діаграма товарознавця

1). Модуль авторизації

В мобільній частині системи даний модуль виконує ті самі функції, що і в стаціонарній, однак замість введення логіну та паролю для авторизації користувача тут використовується сканер штрих-кодів. 

Штрих-код  спосіб запису даних, зручний для зчитування машиною. Частіше зустрічається штрих-код, записаний за допомогою смуг різної товщини, який містить інформацію про товар. Також існують штрихові коди, складені з крапок, квадратів та інших геометричних фігур, які легко розпізнаються машиною.

Це означає, що кожен користувач системи має при собі штрих-код за яким система може його однозначно ідентифікувати. Отже, таке використання штрих-кодування не тільки прискорює аутентифікацію користувача в системі, але й забезпечує більшу безпечність використання системи. 

2). Модуль вибору задач

Після авторизації користувач мобільного терміналу попадає  на сторінку вибору задач. Тут він може взяти завдання з системного пулу. Тоді система сама обере йому задачу, залежно від його прав доступу, та пріоритету існуючих задач. 

3). Модуль прийому товару

Прийом товару відбувається в декілька етапів. Першим етапом є відкриття доку для автомобіля. Для цього товарознавець має підійти до доку, який йому вказує система та відсканувати штрих-код доку.

Наступним кроком користувач має вибрати операцію в рамках прийому рейсу. В змодельованій ситуаціє це безпосередньо прийом товару.

Далі товарознавець має вибрати рахунок-фактуру, внесену в систему диспетчером на етапі реєстрації рейсу.

Обрав рахунок-фактуру товарознавець має зареєструвати паллету в системі, на яку буде відбуватися прийом вантажів. В цей процес входить вибір типу паллети, сканування штрих-коду комірки, куди розміщується паллета, та штрих-коду який буде присвоєний самій паллеті в системі.

Після операції реєстрації паллети товарознавець переходить на форму списку товарів на паллеті. На цьому етапі товарознавець має відсканувати штрих-код товару, який він приймає на паллету. Після цього йому відображається інтерфейс реєстрації вантажу.

Після введення усіх необхідних даних товарознавцем, система приймає рішення про можливість додання цього вантажу в систему та відповідно або повідомляє товарознавця про помилку, або реєструє вантаж та повертає користувача на форму товарів на паллеті.  Далі він має вибір продовжити реєструвати нові вантажі, редагувати вже зареєстровані, або завершити прийом рейсу.

 Діаграма прийому вантажу зображена на рис. 2.9.

Рис. 2.9 Діаграма прийому вантажу на склад

Висновки

В даному розділі була проаналізована загальна архітектура системи. Розроблена модель таблиць бази даних. Розроблені алгоритми роботи окремих модулів системи, та вимоги до клієнтського інтерфейсу системи.

Були використані засоби UML, за допомогою яких були встановлені основні вимоги до системи та спроектовані основні моделі поведінки системи. Було вивчено та розроблено основні діаграми варіантів використання застосування та діаграми послідовності.

d0 3

d0   d1   c1

  1.  

3.1      WMS

c0 ,         .           Linux. ce         ,         PL\SQL. c0  ee  ff   fe,    .        PHP,   MVC.     :

  •  f0   ;
  •  ef    ;
  •  f8  ;
  •  ed 
  •  ec  MVC e4  ;
  •  ef,         .

В якості функціональної платформи використовується поєднання web-серверу Apache, мови програмування PHP з використанням шаблону HMVC, пакетів Oracle PL\SQL та бази даних на основі Oracle 10g.

3.1.1 Веб-сервер Apache 2

Apache HTTP Server,  який, як правило, називають Apache, являє собою веб-сервер. Це програмне забезпечення відрізняється тим, що зіграло ключову роль в початковому рості World Wide Web. У 2009 році він став першим веб-сервером, який перейшов кордон в 100 000 000 веб-сайтів.  Apache була першою життєздатною альтернативою веб-серверу Netscape Communications Corporation (в даний час названий Oracle IPLANET), і з тих пір розвивався, щоб конкурувати з іншими веб-серверами з точки зору функціональності та продуктивності . Зазвичай Apache запускається на Unix-подібних операційних системах.

Ядром Apache являється протокол HTTP, а також включає в себе основні функціональні можливості, такі як обробка конфігураційних файлів, і система завантаження модулів. Ядро (на відміну від модулів) повністю розробляється Apache Software Foundation, без участі сторонніх програмістів.

Теоретично, ядро ​​Apache може функціонувати в чистому вигляді, без використання модулів. Однак, функціональність такого рішення вкрай обмежена. Ядро Apache повністю написано на мові програмування C.

Система конфігурації Apache заснована на текстових конфігураційних файлах. Має три умовних рівня конфігурації:

  •  конфігурація сервера (httpd.conf). 
  •  конфігурація віртуального хоста (httpd.conf з версії 2,2 додаткових / HTTPD-vhosts.conf).
  •  конфігурація рівня директорії (. htaccess).

Має власну мову конфігураційних файлів, засновану на блоках директив. Практично всі параметри ядра можуть бути змінені через конфігураційні файли, аж до управління MPM. Велика частина модулів має власні параметри. Частина модулів використовує в своїй роботі конфігураційні файли операційної системи. Крім цього, параметри можуть бути задані через ключі командного рядка.

Існує понад 500 модулів, що виконують різні функції. Частина з них розробляється командою Apache Software Foundation, але основна кількість - окремими відкритим вихідним кодом-розробниками. Модулі можуть бути як включені до складу сервера в момент компіляції, так і завантажені динамічно, через директиви конфігураційного файлу. 

У модулях реалізуються такі речі, як: 

  •  Підтримка мов програмування.
  •  Додавання функціоналу.
  •  Виправлення помилок або модифікація основних функцій.
  •  Посилення безпеки. 

Apache має вбудований механізм віртуальних хостів. Він дозволяє повноцінно обслуговувати на одному IP-адресі безліч сайтів (доменних імен), відображаючи для кожного з них власне вміст. 

Для кожного віртуального хоста можна вказати власні настройки ядра і модулів, обмежити доступ до всього сайту або окремих файлів.
Також, існують модулі, що дозволяють враховувати і обмежувати ресурси сервера (CPU, RAM, трафік) для кожного віртуального хоста.
Apache має різні механізми забезпечення безпеки та розмежування доступу до даних. 

Основними є:    

  •       Обмеження доступу до певних директорій або файлів.
  •  Механізм авторизації користувачів для доступу до директорії за методом HTTP-Авторизації (mod_auth_basic) і дайджест-авторизації (mod_auth_digest).
  •  Обмеження доступу до певних директорій або всьому серверу, засноване на IP-адресах користувачів.  
  •  Заборона доступу до певних типів файлів для всіх або частини користувачів, наприклад заборона доступу до конфігураційним файлів і файлів баз даних.
  •  Існують модулі, що реалізують авторизацію через СУБД або PAM.

Apache обробляє надійшов запит приблизно в 11 етапів. Кожному етапу відповідає певний модуль Apache. Більшість модулів призначені для безпосередньої обробки HTTP-запиту.

На рис. 3.1 зображений потік даних, які проходять через Apache 2. 

Рис. 3.1 Потік даних в Apache 2

3.1.2 Архітектурний шаблон MVC та його розширення HMVC

MVC - (модель-представлення-контролер, англ. Model-view-controller)архітектурний шаблон, який використовується під час проектування та розробки програмного забезпечення.

Цей шаблон поділяє систему на три частини: модель даних, представлення та керування (рис. 3.2). Застосовується для відокремлення даних від інтерфейсу користувача (виду) так, щоб зміни інтерфейсу користувача мінімально впливали на роботу з даними, а зміни в моделі даних могли здійснюватися без змін інтерфейсу користувача.

Шаблон MVC дозволяє розділити дані,  представлення і обробку дій користувача на три окремих компонента:

  •  Модель (Model). Модель представляє дані (зазвичай для View), а також реагує на запити (зазвичай від контролера), змінюючи свій стан.
  •  Представлення (View). Відповідає за відображення інформації (користувальницький інтерфейс).
  •  Поведінка (Controller). Інтерпретує дані, що введені користувачем, і інформує модель і представлення про необхідність відповідної реакції.

Представлення і поведінка залежать від моделі. Однак модель не залежить ні від представлення, ні від поведінки. Ця перевага дає можливість будувати модель незалежно від візуального представлення, а також створювати декілька різноманітних представлень для однієї моделі.

Мета шаблону — гнучкий дизайн програмного забезпечення, який повинен полегшувати подальші зміни чи розширення програм, а також надавати можливість повторного використання окремих компонент програми. Крім того використання цього шаблону у великих системах призводить до певної впорядкованості їх структури і робить їх зрозумілішими завдяки зменшенню складності.

Рис 3.2 Взаємодія компонентів шаблону

HMVC - це еволюція концепції MVC, яка використовується в багатьох веб додатках. Вона з'явилася як рішення деяких проблем, що проявилися при використанні MVC в веб додатках. Пропонувалося використати стандартну тріаду Модель-Поведінка-Представлення використовувати в якості слоїв в "ієрархії батько-нащадок".

Рис. 3.3 Архітектура HMVC

Кожна тріада (MVC) функціонує незалежно від інших. Тріада може запросити доступ до іншої тріаді через їх контролери. Обидві точки дозволяють додатку розподілятися по декількох місцях, якщо потрібно. На додаток, використання слоїв тріад MVC дозволяє домогтися більш глибокої і ретельної розробки додатків. 

3.1.3 СУБД Oracle PL\SQL

Oracle Database або Oracle RDBMS - об'єктно-реляційна система управління базами даних компанії Oracle.

Oracle Database пропонує важливі нові можливості в області секціонування і стиснення даних, забезпечуючи економічно ефективне управління життєвим циклом інформації та її зберіганням. Oracle Database  дозволяє автоматизувати безліч ручних операцій секціонування даних, доповнюючи вже існуючі методи секціонування (за діапазоном, за списком і хеш-секціонування) методами секціонування по інтервалу, заслання і віртуальному стовпцю. Крім того, Oracle Database пропонує повний набір варіантів комбінованого секціонування, забезпечуючи управління зберіганням відповідно до бізнес-правилами. Oracle Database забезпечує ефективне стиснення як структурованих так і неструктурованих даних в додатках, сховищах даних і системах управління контентом. Реалізовані в Oracle Database нові передові технології забезпечують стиснення в 2-3 рази і більше для будь-яких даних. Нова версія СУБД також пропонує механізм Oracle Total Recall, що дозволяє адміністраторам застосовувати запити до таблиць по їх станом на певні моменти часу в минулому.

PL\SQL – це процедурна мова програмування, розроблена компанією Oracle на основі мови Ada. 

PL\SQL дає можливість використовувати змінні, оператори, масиви, курсори і виключення. Починаючи з версії 8 доступна і об'єктно-орієнтована модель.

Стандартний SQL є спеціалізованою декларативною мовою програмування. На мову накладені певні обмеження, такі як, наприклад, відсутність прямої підтримки циклів. PL\SQL дозволяє розробникам обробляти дані в реляційній базі, використовуючи імперативний стиль програмування. Оператори SQL можуть бути легко викликані безпосередньо з PL\SQL-процедури, функції або з тригера (іноді з деякими обмеженнями).

Програма на PL\SQL складається з блоків (анонімних або пойменованих). Блок може містити вкладені блоки, звані іноді підблоками.

В PL\SQL допускається включати готові SQL-вирази безпосередньо в код. В такому випадку перевірка виразу на коректність здійснюється вже при компіляції коду. Так, наприклад, якщо використовується в запиті таблиця не існує, то помилка буде видана вже на етапі компіляції.

Для більшої гнучкості часто статичні запити замінюються запитами, формованими динамічно. Недолік динамічного SQL в тому, що динамічні запити, зрозуміло, не можуть бути перевірені на етапі компіляції. Якщо, наприклад, використовуваної в запиті таблиці не існує, то при роботі виконанні операції OPEN буде викинуто виключення.

3.2 Розробка клієнтської частини модулю прийому вантажів

Адміністративна частина для диспетчера, що виконує функції додавання та редагування доків, додавання/видалення рейсів складається з групи сторінок, групи класів для обробки подій та веб-сервісів для взаємодії з клієнтською частиною. 

Діаграма класів створюваного веб-застосування наведена на рис. 3.4

Рис. 3.4 Діаграма класів веб застосування

Опис класів, що представлені на діаграмі класів  та їх методів наведено в таблицях 3.1, 3.2, 3.3, 3.4 відповідно.

CUser.php -  клас, якій відповідає за управління користувачами системи. Містить методи для аутентифікації користувача в системі, ініціалізації його початкових даних, а також для зміни паролю для входу в систему.

CDock.php – клас, який відповідає за управління доками. Містить методи для додавання, редагування та видалення доків, а також відображення існуючих доків в системі для користувача.

Таблиця 3.1. 

Опис методів класу CUser

Клас  CUser.php

Операції

Опис

рublic function login()

Метод аутентифікації

рublic function initCurrentUser()

Метод ініціалізації початкових даних користувача

рublic function changePassword()

Метод, що відповідає за зміну пароля

Таблиця 3.2. 

Опис методів класу CDock

Клас  CDock.php

Операції

Опис

public function actionDockList()

Метод, що відповідає за відображення сторінки 

public function details(int id)

Метод, відображення деталей доку

public function create()

Метод, який відповідають за створення доку

public function edit(int id)

Метод, що відповідає за редагування доку  

public function delete(int id)

Метод, що відповідає за видалення доку

public function free(int id)

Метод, який відповідають за звільнення доку

CRoute.php клас, який відповідає за управління рейсами. Містить методи по перегляду рейсів, створенню нових, або редагуванню існуючих. 

Таблиця 3.3. 

Опис методів класу CRoute

Клас  CRoute.php

Операції

Опис

рublic function actionRouteList()

Метод, який відповідає за відображення сторінки «Управління рейсами»

рublic function details(int id)

Метод, який відповідає за детальне відображення рейсу

рublic function create()

Метод, що відповідає за створення рейсу

рublic function createToAccept(int id)

Метод, що відповідає за створення рейсу на прийом вантажу

рublic function edit(int id)

Метод, що відповідає за редагування 

рublic function passKPP(int id)

Метод, що відповідає за перетин рейсом території КПП.

рublic function delete(int id)

Метод, що відповідає за видалення рейсу

CPallete.php - клас, який відповідає за створення та редагування паллет на складі. Методи, що входять до складу класу та їх призначення наведено в таблиці 3.4.

Таблиця 3.4. 

Опис методів класу CPallete

Клас  CPallete.php

Операції

Опис

рublic function createAction(int taskID, int routeID, int invoiceID)

Метод, який відповідає за створення паллети.

рublic function editAction(int id)

Метод, який відповідає за редагування палети

Крім того в роботі також були створені наступні класи:

CTask – клас, що відповідає за створення і управління завданнями в системі.

CLoad – клас, що відповідає за вантажі на паллеті.

CWare – клас, що від повідає за товари в вантажах.

CIncomingSupply – клас, що відповідає за поставки на склад.

CIncomingInvoice – клас, що відповідає за рахунки-фактури.

CCell  – клас, який відповідає за комірки на складі.

CZone – клас, що відповідає за зони комірок.

CUnit – клас, який відповідає за упаковки вантажів.

CMenu – клас, який відповідає за меню диспетчера та товарознавця.

3.3 Розробка серверної частини модулю прийому вантажів

Серверна частина системи складається з пакетів PL\SQL, в яких зберігаються процедури та функції, що виконують основу бізнес-логіку процесів, а також тригери та планові задачі.

Концепція пакетів, які ще називають модулями в PL / SQL прийшла все з тої ж мови програмування Ada. Пакет дозволяє в точному визначенні зберігати пов'язані об'єкти в одному місці.

Пакет - це об'єкт бази даних, який групує логічно
пов'язані типи, програмні об'єкти і підпрограми. Пакети зазвичай складаються з двох частин, специфікації і тіла, хоча
іноді в тілі немає необхідності. Специфікація пакета - це
інтерфейс з вашими додатками; вона оголошує типи, змінні,
константи, виключення, курсори і підпрограми, доступні для
використання в пакеті. Тіло пакета повністю визначає
курсори і підпрограми, тим самим реалізуючи специфікацію пакета. 

Діаграма пакетів створюваної системи представлена на рис. 3.5

Рис. 3.5 Серверні пакети PL\SQL 

Опис пакетів та їх методів представлений в таблицях 3.5, 3.6 і 3,7 відповідно.

WMS_TASK -  пакет, що містить процедури по створенню та управлінню системними завданнями. 

Даний пакет являється ключовим елементом в системі по управлінню зайнятістю працівників. За допомогою процедур з даного пакету система здатна автоматично реагувати на певні події, створювати нові завдання для працівників, або модифікувати існуючі.

Таблиця 3.5. 

Опис методів пакету WMS_TASK

Пакет  WMS_TASK

Операції

Опис

procedure CREATE_ACCEPT_SUPPLY_TASK (idRoute in number, dockID number := 0)

Процедура створення завдання на прийом рейсу

procedure START_TASK (idTask in number, idUser in number)

Процедура початку виконання задачі користувачем

procedure FINISH_TASK (idTask in number)

Процедура завершення виконання завдання

procedure PROCESS_TASKS()

Процедура, яка в фоновому процесі слідкує за статусом завдань в системі, та при необхідності переводить їх в інший статус (наприклад, з підготовки в доступність для виконання)

WMS_ROUTE – пакет, який відповідає за управління рейсами.

Даний пакет дозволяє системі оброблювати додані в систему рейси, обчислювати їх тип та на основі цього створювати відповідні завдання для працівників складу. Також, в завдання процедур пакету входять задачі по встановленню рейсу в док, зміну його статусу, або пересічення території складу.

Таблиця 3.6. 

Опис методів пакету WMS_ROUTE

Пакет  WMS_ROUTE

Операції

Опис

procedure PROCESS_ROUTE(idRoute in number)

Процедура, що визначає тип рейсу і створює відповідне завдання для його обробки

function FIND_DOC_FOR_ROUTE (rtype IN NUMBER, roid in number) RETURN NUMBER

Функція, яка підбирає док для рейсу, відповідно до його типу та типу вантажів, що він привіз

procedure SET_STATE (idRoute in number, state in number)

Процедура, яка змінює статус рейсу

procedure SET_IN_DOCK (idRoute in number, idDock in number)

Процедура, що встановлює рейс в відповідний док  

procedure INTERSECT_KPP(idRoute in number)

Процедура, яка визначає статус рейсу після перетину ним КПП

WMS_ACCEPTANCE пакет, який відповідає за прийом вантажів.

Пакет містить процедури, які виконують бізнес-логіку по початку прийому рейсу, відкриттю дока на прийом, створенню паллет на складі, реєстрації вантажів на них, видалення помилково добавлених паллет, та завершення прийому товару.

Таблиця 3.7. 

Опис методів пакету WMS_ACCEPTANCE

Пакет  WMS_ACCEPTANCE

Операції

Опис

procedure OPEN_DOCK_TO_ACCEPT (taskID in number, dockID in number)

Процедура, що відповідає за відкриття доку для прийому вантажів

procedure CREATE_PALLETE_ACCEPT (invID in number, pType in number, pWeight in number, pCell in number, pOwner in number, barcodes in varchar2, newPalID out number)

Процедура, яка створює пал лету при прийому рейсу

procedure REGISTER_LOAD_ACCEPT (palleteID in number, invID in number, wareID in number, unitID in number, ldQuant in number, barcodes in varchar2,  produceTime varchar2 := '0', expireTime varchar2 := '0')

Процедура, яка відповідає за створення, або редагування вантажу на палеті під час прийому

procedure DELETE_PALLETE_ACCEPT (palleteID in number)

Процедура, що видаляє прийняту паллету, зі всіма вантажами, що на ній містилися

procedure COMPLETE_ACCEPTANCE (taskID in number)

Процедура, що ініціює завершення прийому рейсу

 

3.4 Діаграми послідовності та інтерфейси створюваного web-застосування

Діаграми послідовності

Діаграма послідовності (англ. sequence diagram) діаграма, на якій показані взаємодії об’єктів, упорядковані в часі їх виникнення. Зокрема, на ній зображуються об'єкти, що беруть участь у взаємодії  і послідовність повідомлень, якими вони обмінюються.

Діаграма послідовності «реєстрації рейсу» представлена на рис.3.7.

Рис. 3.7. Діаграма послідовності «створення рейсу»

При переході на форму створення рейсу на прийом визивається метод рublic function createToAccept(int id), який викликає стандартне представлення для кожної сторінки _Layout.tpl, яке в свою чергу викликає метод public function OperatorMenu(). Метод OperatorMenu() викликає представлення OperatorMenu.tpl, яке підвантажується до стандартного шаблону, а потім уже завершається виконання методу рublic function createToAccept(int id) і користувач получає сторінку створення рейсу.

Інтерфейс додавання рейсу зображений на рис 2.9, 2.10.

Рис. 3.8. Інтерфейс додавання рейсу

Рис. 3.9 Форма внесення деталей рейсу

Діаграма послідовності «створення паллети» представлена на рис. 3.9.

Рис. 3.9. Діаграма послідовності «створення паллети»

При створенні паллети викликається метод public function createAction(int taskID, int routeID, int invoiceID), який в свою чергу викликає стандартну валідацію форм public function validateForm(array vals), яке викликає метод public function processData(array vals). Даний метод виконує виклик серверної процедури procedure CREATE_PALLETE_ACCEPT(), а потім уже завершається виконання методу public function createAction(int taskID, int routeID, int invoiceID) і користувач отримує результат створення паллети. Код процедури створення паллети приведений в додатку А.

 Інтерфейс реєстраціє паллети зображений на рис. 3.11, а вантажу на рис. 3.12.

Рис.3.11 Форма реєстрації паллети

Рис. 3.12 Форма реєстрації вантажу

3.5 Конфігурація та налагодження системи

Розглянувши процес формування, розробки та створення застосування по управлінню складом, висвітливши його основні параметри та описавши процес застосування, перейдемо до опису вимог до системного ПЗ та технічного забезпечення. 

Серед основних критеріїв можна виділити: 

  •  технічне забезпечення повинно відповідати вимогам до техніки, викладених в нормативних документах: «Правила охорони праці під час експлуатації електронно-обчислювальних машин», ГОСТ 21552-84, ГОСТ 27201-87;
  •  технічне забезпечення повинне бути інваріантним по відношенню до ПЗ і забезпечувати виконання всіх вимог, висунутих до даного ПЗ;
  •  технічне забезпечення повинно відповідати вимогам функціонування програмних продуктів у середовищі Windows 2000/XP та вище;
  •  технічні засоби локальних та глобальних мереж повинні забезпечувати швидкісний обмін даними між робочими станціями та іншим обладнанням і ресурсами локальної та глобальної мережі.

Представимо основні вимоги до сервера додатків та до технічного забезпечення в таблиці 3.8 та таблиці 3.9 відповідно. Отже, до вимог сервера додатків належать: 

Таблиця 3.8

Вимоги до сервера 

Мінімальні вимоги

Комп’ютер з процесором

Intel core 2 duo та вище

Оперативна пам’ять

4 ГБ

Жорсткий диск

100 Гб

Периферійні пристрої

Пристрій безперебійного живлення

Рекомендовані вимоги

Комп’ютер з процесором

Intel i-7

Оперативна пам’ять

8 ГБ

Жорсткий диск

200 ГБ

Периферійні пристрої

Пристрій безперебійного живлення

 Перейдемо до характеристики вимог до клієнтської частини. Тож, технічне забезпечення повинно відповідати вимогам функціонування програмних продуктів у середовищі Windows і базуватися на комп’ютерах, сумісних з PC такої конфігурації (таблиця 3.9):

Таблиця 3.9

Загальні вимоги до клієнтського технічного забезпечення

Мінімальні вимоги

Комп’ютер з процесором

1600МГц та вище

Оперативна пам’ять

512 МБ

Жорсткий диск

80 МБ

Монітор

Super VGA (800x600) 256 кольорів та вище

Периферійні пристрої

Мишка Microsoft Mouse, пристрій безперебійного живлення, матричний або лазерний принтер

Рекомендовані вимоги

Комп’ютер з процессором

Pentium2000МГц та вище

Оперативна пам’ять

1000 МБ

Монітор

Super VGA (1280x760) 256 тис. кольорів та вище

Периферійні пристрої

Мишка Microsoft Mouse, пристрій безперебійного живлення, українізований матричний або лазерний принтер

Висновки

Розроблюване застосування надає своїм користувачам певний набір сервісів, що реалізовані за допомогою технології PHP. Для розробки модулів системи були обрані середовища розробки PhpStorm та PL\SQL Developer в зв’язку з можливістю повторного використовування готових програмних компонент, наявністю великої кількості стандартних компонентів, а також достатньої кількості бібліотек компонентів від сторонніх фірм, що розширюють і доповнюють можливості стандартних, достатньо високою швидкістю і надійністю роботи скомпільованих програм, орієнтацією на «візуальні» методи розробки програм, що дозволяє швидко і якісно спроектувати та реалізувати стандартний інтерфейс, що призначений для користувача.

ВИСНОВКИ І РЕКОМЕНДАЦІЇ

Підвищення вимог сучасного бізнесу до рівня логістичного сервісу в рамках загального завдання максимального задоволення кінцевого споживача ставить питання про необхідність модернізації логістичних технологій і автоматизації складу. Оскільки складська логістика грає роль ключової ланки в управлінні запасами і товаропроведенії, питання про вибір автоматизованої системи управління складами або ж системи автоматизації складу стало останнім часом актуальним для широкого круга компаній. 

Сучасна система WMS повинна не тільки відповідати поточним вимогам бізнесу, але і підтримувати його подальший розвиток за рахунок автоматизації складу. Головне завдання впровадження системи WMS – підвищення ефективності складських процесів і, як результат, підвищення ефективності всього бізнесу за рахунок автоматизації складу.

В даному дипломному проекті представлені результати аналізу, проектування та розробки web-застосування по управлінню складом компанії використовуючи сучасні програмні засоби. 

Було проведено аналіз сучасних систем управління складом, досліджено їхні основні можливості. В результаті чого була виявлена структура схема застосування, спроектовано основну схему модулів з яких повинне складатися застосування та основні їх можливості при взаємодії. 

Web-застосування являють собою особливий тип програм, заснованих на архітектурі "клієнт-сервер". Web-застосування розташовується і виконується на сервері, отримуючи від клієнта вихідні дані для роботи, а також передаючи йому результати роботи у вигляді HTML-коду, який відображається в браузері.

Існує кілька технологій розробки інформаційних систем, орієнтованих на Інтернет. Web-застосування, створене в дипломному проекті розроблено на основі PHP, працює в середовищі веб-серверу Apache 2. Для написання програмного коду в роботі використовувалася мова програмування PHP, а також Oracle PL\SQL.

На етапі проектування були використані засоби UML, за допомогою яких були встановлені основні вимоги до системи та спроектовані основні моделі поведінки системи. Було вивчено та розроблено основні діаграми варіантів використання застосування, діаграми послідовності та  діаграми розгортання застосування.

В результаті розробки було встановлено, що дане застосування відповідає всім сучасним вимогам, які ставлять до інформаційного веб-застосування: надійність, швидкодія, зручність застосування, багатокористувалиницький режим роботи.

Отже, розроблене веб-застосування надає наступні функціональні можливості:

  •  редагування параметрів складу;
  •  додавання рейсів на прийом товару.
  •  реєстрація та розміщення вантажів на складі;
  •  проходження реєстрації та аутентифікації, зміна паролю;

Дане web-застосування дозволяє:

  •  скоротити час на виконання робіт та підвищити ефективність їх виконання;
  •  контролювати зайнятість співробітників;
  •  полегшити логістичні задачі та бізнес-процеси.

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

  1.  Современные телекоммуникации. Технологии и экономика. Под общей редакцией С. А. Довгого. М.: Эко-Трендз, 2003. 320 с.
    1.  Бабенко Л.П., Лавріщева К.М. Основи програмної інженерії: Навч. посіб.  К.:Т-во «Знання», 2001.  269 с.
    2.   Дейт К. Дж. Введение в системы баз данных. — 8-е изд. — М.: Вильямс, 2006. — 1328с. 
    3.  Мэтью Мак-Дональд Microsoft PHP 5.3 с примерами 2005 для профессионалов.: Пер. с англ. – М.:ООО «И.Д. Вильямс», 2006. –1408с.
    4.   Пол Спенсер. XML. Проектирование и реализация. Издательство: Лори, 2001 
    5.  Крэг Ларман Применение UML 2.0 и шаблонов проектирования. – 3-е издание. – Диалектика-Вильямс, 2007. – 736.
    6.  РИХТЕР ДЖ., КЛАРК ДЖ., Программирование серверных приложений для Microsoft Windows 2000. Изд-ва: Питер, Русская Редакция, 2001 г., 592 стр.

ДОДАТОК А

Програмний код процедури реєстрації паллети

procedure CREATE_PALLETE_ACCEPT(invID in number, pType in number, pWeight in number, pCell in number, pOwner in number, barcodes in varchar2, newPalID out number) is

bcList WMS_TOOLS.strArrayType := WMS_TOOLS.strArrayType();

incSupplyID number;

supplierID number;

tradePlaceID number;

ProcessType number;

taraID number;

routeID number;

cellOwner number;

cellInfo cells % rowtype;

taraAcceptPossible number;

taraInvoice number;

taskID number;

begin

begin

 --  отримуємо ідентифікатор задачі

 taskID := WMS_USER.GET_USER_TASK(WMS_USER.activeUserID);

-- Перевіряємо статус комірки

 select * into cellInfo from cells where id_cell = pCell and cell_state = WMS_CELL.csFree;

--  якщо комірка зайнята

 exception when NO_DATA_FOUND then

WMS_EXCEPTION.MESSAGE('Ви не можете розмістити паллету в зайняту комірку' );

end;

-- Перевіряємо, щоб комірка знаходилась в зоні прийому

if cellInfo.Id_Zone != WMS_ZONE.ztAccept then WMS_EXCEPTION.INVALID_FIELD('CELL_NUMBER', 'Комірка має знаходитись в зоні прийому');

end if;

-- Отримуємо ідентифікатор поставки з накладної

select ii.id_inc_supply,   nvl(ii.id_supplier,0),   nvl(ii.id_trade_place,0),

iis.inc_supply_type,   iis.id_cell_owner,   ii.id_route into

incSupplyID,

supplierID,

tradePlaceID,

ProcessType,

cellOwner,

routeID

from

INCOMING_INVOICE ii,

incoming_supplies iis

where

ii.id_invoice = invID and

ii.id_inc_supply = iis.id_inc_supply

;

-- Створюємо нову паллету

insert into PALLETES (ID_PALLETE, ID_INVOICE, ID_CELL,PALLETE_WEIGHT, PALLETE_STATE,PALLETE_TYPE, PALLETE_OWNER, ID_SUPPLY, CREATE_TIME, ID_CELL_OWNER)

values (uniqid.nextval, invID, pCell, pWeight, psInCell, pType, pOwner, incSupplyID, CURRENT_TIMESTAMP, cellOwner) returning ID_PALLETE into newPalID;

--  Ставимо їй статус

CHANGE_PALLETE_PROCESS_STATE(newPalID, pssInBegin);

-- Розміщуємо паллету в комірку

PLACE_PALLETE(newPalID, pCell);

-- Перетворюємо строку ШК в масив

bcList := WMS_TOOLS.explode(',', barcodes, 200);

-- Створюєм кожний окремий ШК

if bcList.count > 0 then

for i in bcList.first..bcList.count loop

begin       WMS_BARCODE.CREATE_BARCODE(bcList(i),WMS_BARCODE.otPallete, newPalID);

end;

end loop;

end if;

exception when NO_DATA_FOUND then

 WMS_EXCEPTION.INVALID_FIELD('CELL_NUMBER', 'Данная ячейка занята.');

end;


 

А также другие работы, которые могут Вас заинтересовать

31708. Складові психології спілкування 47 KB
  Складові психології спілкуванняСпілкування завжди займало важливе значення в житті людини. Хоч людське спілкування належить до основи соціального буття безпосереднім об’єктом психологічного та соціальнопсихологічного аналізу воно постало лише в ХХ столітті. Спілкування – дуже складний та многогранний процес. Паригіна “Основи соціально – психологічної теоріїâ€ автор відзначив що процес спілкування може виступати як процес взаємодії людей як інформаційний процес як відношення людини до оточуючих як процес впливу один на одного а...
31710. Основні види діяльності 59 KB
  У дошкільному віці провідним різновидом діяльності є гра у шкільному навчання а в зрілому праця. Гра та навчання властиві і людям і тваринам. Але вона відрізняється від навчання та праці.
31711. Колектив як соціокультурне середовище виховання і розвитку 52.5 KB
  Емоціональний рівень ввзаємодії в колективі відображає домінуючі емоціональні стани дітей їх спільні переживання стосунки симпатій чи антипатій між членами колективу гуманістичні та суспільно значимі мотиви. Ініціатива творча позиція особистості зростання самостійності і самоуправління дітей ціннісний зміст їх спільної діяльності є індикаторами виховного потенціалу дитячого колективу. Підходи до розробки колективу та індивідуальності. Погляди на проблеми колективу відобразили сутність суспільних культурноісторичних процесів розвитку...
31712. Двіжущіе сили та умови розвитку особистості 99 KB
  Двіжущіе сили та умови розвитку особистості Розвиток особистості слід розуміти як процес формування особистості як соціальної якості індивіда в результаті його соціалізації та виховання. Володіючи природними анатомофізіологічними передумовами до становлення особистості в процесі соціалізації дитина вступає у взаємодію з навколишнім світом опановуючи досягненнями людства. Створювані в ході цього процесу здібності і функції відтворюють в особистості історично сформувалися людські якості. Оволодіння дійсністю у дитини здійснюється в його...
31713. Соціалізація особистості 95.5 KB
  socilis суспільний характеристика це процес входження індивіда в суспільство соціалізації особистості активного засвоєння ним соціального досвіду соціальних ролей норм цінностей необхідних для успішної життєдіяльності в даному суспільстві. У процесі соціалізації в людини формуються соціальні якості знання вміння відповідні навички що дає їй змогу стати дієздатним учасником соціальних відносин. Отже основа соціальнопсихологічного розуміння соціалізації особистості грунтується на характеристиці соціальнопсихологічного типу...
31714. Загальні поняття про особистість 49 KB
  В особистості немовби концентруються особливості суспільства основні його риси. Тому зрозуміти життя особистості можна тільки розглядаючи її у конкретних суспільних умовах в діяльності та стосунках з іншими людьми аналізуючи її соціальний статус та місце в суспільних відносинах. Усі особистості – індивіди але не кожен індивід – особистість. Паригіна модель особистості котра повинна зайняти місце в системі психології припускає поєднання двох підходів: соціологічного й загальнопсихолоігчного.
31715. ХАРАКТЕРИСТИКА МЕТОДІВ СОЦІАЛЬНОЇ ПСИХОЛОГІЇ 105 KB
  Метод спостереження може використатися як один із центральних самостійних методів дослідження. Метод спостереження здійснюється також з метою збору первинного матеріалу дослідження а також для контролю отриманих емпіричних даних. Класифікація спостереження виконується на різних підставах.
31716. Соціалізація старшокласників у школі 89.5 KB
  Ціннісні орієнтації референтної групи істотною мірою визначають соціальнопсихологічне обличчя підлітка. Оскільки група єдина площина соціальнопсихологічного досвіду в якій може проявити себе підліток яку він може засвоїти й через яку пізнати сукупність суспільних відносин то саме група стає формівною силою в соціалізації підлітка. Тут надзвичайно суттєвим є питання про те що визначає референтну значущість тієї чи іншої групи в очах підлітка або навпаки сприяє її зниженню.