Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал: https://er.chdtu.edu.ua/handle/ChSTU/9167
Повний запис метаданих
Поле DCЗначенняМова
dc.contributor.advisorПервунінський, Станіслав Михайлович-
dc.contributor.authorЖилін, Максим Вікторович-
dc.date.accessioned2026-03-27T19:05:16Z-
dc.date.available2026-03-27T19:05:16Z-
dc.date.issued2024-06-17-
dc.identifier.urihttps://er.chdtu.edu.ua/handle/ChSTU/9167-
dc.description.abstractАНОТАЦІЇ Виконавець: Жилін Максим Вікторович Назва кваліфікаційної бакалаврської роботи: Програмне забезпечення системи постачання продуктів Спеціальність: 121 Інженерія програмного забезпечення Навчальний заклад :"Черкаський державний технологічний університет" М. ЧерkаСІІ , 2024р. У бакалаврській роботі розглядається розробка програмного забезпечення для системи постачання продуктів. Основною метою розробки є створення ефективної та надійної системи , яка автоматизує процеси управління замовленнями, продуктами та логістикою. Система повинна відповідати вимогам користувачів щодо функціональності, зручності використання та продуктивності. У ході роботи було проведено детальний аналіз предметної області, сформовано вимоги до програмного забезпечення, виконано моделювання ключових процесів та реалізовано систему на основі РІ-ІР (5) з використанням бази даних phpMyAdmin [6] через ХАМРР [7]. Основні ідеї та результати досліджень включають: - реалізація системи: були розроблені модулі управління замовленнями, управління продуктами, логістики та звітності . Система реалізована ва основі РHР, що забезпечує її гнучкість можливість масштабування. Використання phpMyAdmin [6] через ХАМРР [7] забезпечив ефективне управління базою даних та зручність у використанні для розробників. Висновки роботи показують, шо створене програмне забезnечення успішно автоматизує ключові процеси системи постачання продуктів, nокращуючи ефективність роботи, знижуючи витрати часу та ресурсів. Система відповідає вимогам користувачів та демонструє високу продуктивність і надійність у практичному використанні.uk_UA
dc.description.abstractABSTRACTS ZHILYN МАХІМ VIKTOROVYCH Торіс: SOFТWARE OF PRODUCT SUPPLY SYSTEM Specialty: 121 Software engineering Educational institution: "Cherkassky State Technological University" Cherkasy, 2024 Тhе bachelor thesis deals with, the development of software for the product supply system. Тhе main goal of the development is to create an effective and reliable system that automates the processes of managing orders, products and logistics. Тhе system must meet user requirements for functionality, usability, and performance. In the course of the work, а detailed analysis of the subject аrеа was carried out, software requirements were formed, modeling of key processes was performed, and а PHP-based system was implemented using the phpMyAdmin database through ХАМРР. Кеу insights and research findings include: - system implementation: modules for order management, product management, logistics and reporting were developed. Тhе system is implemented оn the basis of РНР, which ensures its flexibility and scalability. Using phpMyAdmin through ХАМРР provided efficient database management and ease of use for developers. The conclusions of the work show that the created software successfully automates the key processes of the product supply system, improving work efficiency, reducing time and resource costs. The system meets user requirements and demonstrates high performance and reliability in practical use.uk_UA
dc.language.isoukuk_UA
dc.subjectСИСТЕМА ПОСТАЧАННЯ ПРОДУКТІВuk_UA
dc.subjectПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ,uk_UA
dc.subjectРHРuk_UA
dc.subjectPНPMYADMINuk_UA
dc.subjectХАМРРuk_UA
dc.subjectАВТОМАТИЗАЦІЯuk_UA
dc.subjectБАЗА ДАНИХuk_UA
dc.subjectЛОГІСТИКАuk_UA
dc.subjectУПРАВЛІННЯ ЗАМОВЛЕННЯМИuk_UA
dc.subjectУПРАВЛJННЯuk_UA
dc.subjectSUPPLY SYSТEMuk_UA
dc.subjectSOFТWAREuk_UA
dc.subjectРНРuk_UA
dc.subjectPHPMYADMІNuk_UA
dc.subjectХАМРРuk_UA
dc.subjectAUTOMATIONuk_UA
dc.subjectDATABASEuk_UA
dc.subjectLOGISTICSuk_UA
dc.subjectORDER MANAGEMENТuk_UA
dc.subjectSUPPLY CHAINuk_UA
dc.titleПрограмне забезпечення системи постачання продуктівuk_UA
dc.typeBachelor Thesisuk_UA
Розташовується у зібраннях:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)

Файли цього матеріалу:
Файл Опис РозмірФормат 
Кваліфікаційна робота бакалавра Жилін Максим Вікторович.pdf
  Restricted Access
13.72 MBAdobe PDFПереглянути/Відкрити    Запит копії


Усі матеріали в архіві електронних ресурсів захищено авторським правом, усі права збережено.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКР лrни 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УІ-ПВЕРСИТЕТ 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
ПОЯСЮОВАЛЬНАЗАПИСКА 
до кваліфікаційної роботи 
бакалавра 
на тему: «Програмне забезпечення системи постачання продуктів» 
Виконав: студент 4 курсу, групи ПЗС-2244 
спеціальності 
121 «Інженерія програмного забезпечення» 
(w11фр і 11азво 11anp•~ty підrотовt.11) 
СтудеІіТ Жилін М.В. 
(nрізn11щс тn i11i11iiu111) 
Керіон11к Пероу11іноьк11n С.М. 
(11різв11111с тn І11І11ім11) 
Рецс11зент Золотооерх11n Я.В. 
(11рІзu11що тn і11і11Ім11) 
ЧерІ<ОСІ1 2024 
Чсркасью1іі дсржао1111іі тсх1юлогі•11111іі у11іосрс11тст 
П08ІІС ІІВ і1МСІІ)'МІП~ 111111\ОГО ІІа8'1і\ІІМІОГО :J.11U13,iy 
Факультет іщІ10рмацііі1111х тсхнологііі і с11стсм 
Кафедра програмного зобсзnсчс1111я nnтома111зооа1111х с11стсм 
Ocвin~ili ріоень '"б"=а=к=ал=а=в,,.р.__ _____________________ ____  
Спеціальність 121 «l11жс11срія 11рограм11оrо зобсзuс•1с1111я1> 
Освіn~я програма Інженерія nрограм,юrо забсзпсчс1111я 
ЗА TDEP ДЖУІО 
Зао. кафсщщ ПЗАС, професор 
С. Голуб 
« » _______ 2024 року 
ЗАВДАННЯ 
НА К.ВАЛІФІ.КАЦІЙПУ РОБОТУ СТУДЕНТУ 
Жилін Максим Вікторов11ч 
(пріЗВJ~ще, ім ' 1, по б:~n.коаі) 
1. Тему nрое1,.-ту (робощ) Програмне забезпечення систем11 постачання продуктів 
Керівник проекrу (роботи) Первупінський Станіслав Михайлович д.т.н., професор 
(прізвпmс, і~1•11 , по батькові, о:ІУ):ОВІІІ'і СТ)11іІІІ,, вчспс звn111ІJІ) 
Затверджені наказом Черкаського державного технологічного універс11тету від «26>> лютого 2024 
року №60/04 
2. Строк подання студентом проекту (роботи) .7.:...;ч:.::е:.&<р.,.в..,,ня.....,2с:а:0=2...:.4~р _____ ________  
3. Вхідні дані до проекту (poбonr) Технічне завдання на розробку, Довідкова література з с11стем 
постачання ПJ)Одуктів. методичні рекомендації до в11конання бакалаврської роботи, автоматюовані 
системи, терміни та визначею1я. 
4. Зміст розрахунково-пояснювальної заm1с1ш (перелік пнта,rь, які потрібно розроб11т11) 
Вступ; 
Розділ І. Jснуючі метод11 та засоби розn'яза1111я nостаоле1111х зnвдn11ь; 
Розділ 2. Впровадження результатіn дослідже11ь у nрnктнку npoeirrynn1111я nроп,nмноrо зnбез11счен11я 
інформаційних систем; 
Розділ 3. Розробка та тестуоа1111я проrрам1юго зnбсзnе11е1111я: 
Висновки· 
Список оикористаних джерел: 
Додатки. 
5. ПсрсліІ< rpaфiLJJJOГO мnтсріШІу (з ТО1/ІІІІМ З!1ЗІІІІ'ІСІІІІJІМ обон 'язКОRІІХ робіт npOCt,.їy; 
СпnіІд І : слnіІд 2: СJІn іід З; слnіід 4; слnіід 5; слnіі11 6; с11n іід 7: ст1 іід 8; ст1 іід 9: crнiii~ 
слnЇtл 12: слnїщ І З ; слвіІд 14: спвjіл 15; слnі1л J6. 
6. Ко11сульт:11m1 розліпіо прос"-ту (робоn1) 
Прізонщс, i11iui:u111 тn 110см11 Підпнс, щm1 ----.... 
Розділ 
"'() ІІС}'Л ЬТ 3ІJТ3 Зnнл:1111111 011дпо Заода111111 ІlJЩі\няв 
-.. 
І 
2 -.. 
-.. 
з 
--.. 
7. Д:п:~ 81Ід3'11 ЗЗВД:ІІtІІ JІ Ql.rn.i.Y/JІJІll~ll:l...,,"_20'2,:.,3цf:1 .·=--- ----------------
КАЛЕНДАРНИЙ ПЛАН 
Строк 
ВНКОН3111111 l 
№ 
Назоз етапів в11nусюt0ї робот11 ета11ів ПрнміТІіІІ 
n/n 
01111ускної 
роботt1 
І Постn11ов"-а зnда•1 і 05. 12.2023 811"1)113 ІІО 
2 Підготовка завда111111 13.12.2023 ВІІКОІ\3110 
з Поrоджс111111 завда111111 16.12.2023 ВНІ<ОІІ3.ІІО І 
4 Затвсрджс11ш1 зав.дання 19.02.2024 ВНКОІ ІаІІО І 
Осиов11а сrадіа І 
І Підбір матеріалів 27.02.2024 ОІІК0113ІІО І 
2 АJ1аліз шляхів в11ріwс11н11 поставленої задачі 04.02.2024 Dllh'OlliJHO І 
з Розрахунок ос11ов11нх параметрів роботtr 10.03.2024 Bl l"'OHatlO І 
4 В11бір кі1111свого варіанту проектного рішення 17.03.2024 811"'0113110 І 
5 Оформле111111 первісної редакції робопr 25.03.2024 Pllk'OIIDIIO І 
Закл10•111а стадІа 
І Узгодження пр11іі11яn1х nроеКТJJІІХ рішень з З 1.04 .2024 ВІІКОІІШІО 
керів11111Ф~1 
2 Оформлення ПОЯС ІІ ІОDWІ ЬНО Ї 3311ІІ СКJІ ро001'11 о 13.05 .2024 Dllh'QIIIIIIO І 
кінцевііі редзкції І 
3 Попередній зах11ст робоn1 15.05.2024 811 "'()І\!1110 І 
4 Затверджс1111я роботtt 02.06.2024 ІІІІІЮІІUІІО 
5 Рецсюува1111я робот11 20.05.2024 ВІІКОІІОІІО 
6 Захнст poбont 03.06.2024 J 
Студент Ж1,пінМ . В . 
(n ід1111с) (11різ111щс тn і11і11ім11) 
Керів1111к проекту (робот11) ~~ Перnу11і11сь1ші'і С. М . 
(11рі:~а11щс та і11і11і111111) 
J 
АНОТАЦІЇ 
В11ко11авець: Жнлін Макс11м Віктороо11ч 
Назва кваліфікаційної бакалаорсь·кої роботи: Програмне забезпечення 
с11стем11 постачання продуктів 
Спеціальність: 121 Інженерія програмного забезпече1111я 
Навчальний заклад :"Черкаський державний технологічний університет" 
М. ЧерkаСІІ, 2024р. 
У бакалаврській роботі розглядається розробка проrрамrюго забезпечеrшя 
для снстеми постачанн.я продуктів. Основною метою розробки є створення 
ефекrивної та надійної системи, .яка автомап1зує процеси управюння 
замовленнями, продуктами та логістикою. С11стема повинна відповідати вимогам 
користувачів щодо функціональності, зручності використання та прод}'kїивності. 
У ході робот було проведено детальний аналіз предмепюї області, 
сформовано вимоги до програмного забезпечення, виконано модеmовання 
ключових процесів та реалізовано систему на основі РІ-ІР (5) з викорнстанпям баз11 
даних pbpMyAdmin [6] через ХАМРР [7] . Основні ідеї та результа111 досліджень 
включають: 
- реалізація систе!'>ш: були розроблені модулі управління замовленнями, 
управління продукrами, логістt{](ІІ та звітності . Система реалізована ва основі РІ-ІР, 
що забезпечує її гнучкість можливість масштабува1шя. Використання 
pl1pMyAdmin [6] через ХАМРР [7) забезпечило ефективне управління базою даних 
та зручність у використанні для розроб1шків. 
Висновки роботи показують, шо створене програмне забезnечеm~я успішно 
автоматизує ключові процеси системи постачання продуктів, nокращуюч11 
ефективність роботи, зннжу~оч_и внтраm часу та ресурсів. Система відповідає 
вимогам користувачів та демонструє високу проду~--тивність і надійність у 
практичному використа11н1. 
Кл10•1ові слова. СИСТЕМА ПОСТАЧАННЯ ПРОДУКТІВ, ПРОГРАМНЕ 
ЗАБЕЗПЕЧЕННЯ, РІ-ІР, PНPMYADMIN, ХАМРР, АВТОМАТИЗАЦІЯ, БАЗА 
ДАНИХ, ЛОГІСТИКА, УПРАВЛІННЯ ЗАМОВЛЕННЯМИ, УПРАВЛJННЯ . 
ABSTRЛCTS 
ZHILYN МА.ХІМ VIKTOROVYCH 
Торіс: SOFТ\\1ARE OF PRODUCT SUPPLY SYSTEM 
Specia\ty: 121 Sofu,,arc cпgi11ecri11g 
Educational instit11tion: "C\1erkassky Statc ТесІшоІоgісаІ Uпiversity" 
Cherkasy, 2024 
ТІ1е bachelor thesis deals \\'itl, tl1c de,•elopmcnt of soft,varc for tl1c product supply 
system. ТЬе main goal of t11e de,,elopn1cnt is to create an efТectivc a11d reliable system 
that autoшates the processes of managing orders, products and logistics. ТІ1е system must 
meet user requirements for functionality, usability, and performance. 
In the course of tbe ,vork, а detailed analysis of tl1e subject а.-еа was carried out, 
sofuvarc requirements ,vere forшed, modeling of key processes was perfonned, and а 
PHP-based system ,vas implemented using the phpMyAdrnin database tl1rougl1 ХАМРР. 
Кеу insights and research findings include: 
- system implemcntation: modules for order management, product management, 
logjstics and reporting ,vere developed. ТІ1е system is implemented оп tl1e basis of РНР, 
,vl1ich ensures its flexibility and scalability. Using phpMyAdmin tmoug\1 ХАМРР 
provided efficient database management and ease of use for developers. 
The conclusions of the work slюw that the created software successft11ly automates 
the key processes of the product supply system, in1proving work efficiency, reducing 
time and resource costs. The system meets user requirements and deшoвstrates l1igl1 
performance and reliabitity in practical use. 
Keywords. SUPPLY SYSТEM, SOFТWARE, РНР, PHPMYA.DMfN, Х№ІРР, 
AUTOMATION, DATABASE, LOGISTICS, ORDER MANAGEMENТ, SUPPLY 
CHAIN. 
ЗІ\1 1СТ 
всn'п ......................................................................... ................................................ s 
'· РОЗДІЛ 1 ІСНУJОЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ'ЯЗАННЯ ПОСТАВЛЕНИХ 
ЗАВДАНЬ ........... ..................... ..... ............................................................................. 12 
1.1 Огляд платформ та фрсіімnоркіn для розробю1 с1 1стсм 11 1юстn,~а1111я продуктів 
" ................................................................................................................................. 14 
1 
1.2 Методн аналізу с11стсм11 постnчшшя 11родуктіn розгля11смо о тою1х пу11ктах : 
... ... ........................................................................................................................... 16 
І .З Поріnняль1шіі аналіз існуюч11х рішень ........................................................... 16 
1.4 Поставовка задачі .................................... ........... ........ .... .... .............................. 19 
ВИСНОВОК ДО ПЕРШОГО РОЗДІЛУ .... ............... ......... ... ................... .. ...... ...... 21 
РОЗДІЛ 2 ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ досmдЖЕІ-ІЬ У ПРАКТИКУ 
ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ І НФОРМАЦІЙНИХ 
СИСТЕМ ....... .. ...................... ............... ............................. ......... ......... ...... ........ ......... 22 
2.1 ~.fоделюва1щя предмсnюї області ......................... .................................... .. .... 22 
2.1.1 Предметна область моделювання. Модель предметної області. Слов1111к 
предметної області ............. ............... ...... ..... ............ ............. .. ............................ 22 
2.1 .2 Елементи моделювання предметної області ........................................ ..... 24 
2.1 .3 Робоча область моделювання ..................................................................... 29 
2.2 Формування та аналіз вимог ....... ... ........................................ .......................... 31 
2.2.1 Формування вимог до програмного забезпечення. Первинні і детальні 
вимоги. Вимоги замовника і розробника. Функціональні та нефункціональні 
вимоги ........ ...... ........................... ....... ....... ....... ............. ........... ....... ....... .............. 31 
2.2.2 Формування в11мог за допомогою діаграми прецедентів ......................... 33 
2.3 Проектування логічної структури програм,юго комплексу ........................... 35 
2.3.1 Діаграми класів .......................... .. ................. .... ........... ........ .......... ..... ........ 35 
2.3.2 Діаграми пакеті о ............................ ............................................................. 42 
2.4 Архітектурне проектуnа1111я .. ................. ..... ........................................................ 45 
2.4.1 Діаграма компо11е1-tтів .............. ................................................. .... .............. 45 
І 
З,т. І Лr,к. №докvu. Пі 1/JІІС Іlат" Ч ПТУ 242244 . ООбПЗ 
Рооnм. ЖилІнМ.В. J-~ •Проrра1м1е забезnече111~n сиnемІ4 JІІт. І Jl11c1· l Jl11c1i11 
_.,. 
Перееі11. ПереунІнсокнА С.М. ~//). 1,І nocтa•1a1111n nроду,1110• І І І з l 
IV•~ Z/ 
f/7(1..- ПОАСІІІООіJЛЬІІО ,an1tcн~. ФІТІС, кnфс/\рn І ІЗЛС, І ІЗС.2Н•І 
Н. Контр. Півень О.Б 
Зотш:рд. rолvб С. В. 
з 
2.4.2 Розrорт-.1111,я nроrрам11ої с11стсм11 ІН\ аnарат1111х засобах. Діnr·рама 
розгорт.11111я ............................................ .......................................... .......... ... ....... 48 
2.5 Моделювання поnсді11ю1 с11стем11 .. .................................................................. 50 
2.5.1 Діаграма діяль11ості ...... .......................................................................... ... .. 50 
2.5.2 Діаграма послідовності .. .. ...... .. ............................. .... .............................. ... . 53 
2 .5  . 3 д1· аrрама 1,.--·о муt.н ·к аu1·1- .................................................................................. 55 
2.5.4 Діаграма скшче,шого автомату ............... ....... .......... .................................. 56 
ВИСНОВОК ДО ДРУГОГО РОЗДІЛУ .......... ...... ................................................. 59 
РОЗДІЛ 3 РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ" 60 
3.1 Розробка програr.шоrо комплексу ............................... ... .. ........................ .... .. .. 60 
3.1.1 Обrрунтуванпя вибору засобів реалізації ................................................. 60 
3.1.2 Omtc структурної (функuіональноі) схемн ............................................... 62 
3.1.3 Omtc логічної схеми с11стем11 .................................................................... 69 
3.1.4 Розробка бази даних .... ........... ...... ................... ......................... ..... ....... .... .. 70 
З. І .5 Розробка інтерфейсу користувача ........................... .. ......... ........................ 76 
3. І .6 Опис розробки програмних компонентів ............... ................................... 79 
3.2 Тестування системи .......................................................................................... 80 
3 .2. 1 Модульне тестування ................................................................................. 80 
3.2.2 Інтеграційне тестування .......................................... .... ................... ..... ....... 82 
3.2.3 Систеr.mе тестування .................................................................................. 83 
3.2.4 Приймальне тестувапня ...... ........ ... ................ ............. .............. .... ..... .. .. .... 84 
3.3 Приклади впровадженого програмного комплексу ..... .... ......... ..... .... ........... .. 85 
ВИСНОВОК ДО ТРЕТІ>ОГО РОЗДІЛУ ........................ ........................................ 90 
висновки .............. ······"···· ................................................................. ................... 91 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ .................................................................. 93 
Додаток А ................................................................................................................... 96 
Додаток Б ................................................................................................................... 98 
Додаток В ........................... ...... .................... ..... ............................................... ..... ... І І О 
Додаток Г ................................................................................................................. 114 
ЧДТУ 242244.ООбПЗ 
4 
ЧДТУ 242244.ООбПЗ 
ВСТУП 
Лкrуаль11ість тсм11. Актуальнісп, в11з11а•1.tсться потребою у 11рогршш1іЛ 
реалізації с11стем11 постача1111я продуктів. Ві11 забсз11с•1ує шв,шкс додавання, 
в1щале1111я , та редаrува,шя і11формації с11стсм11 1юстач:11111я продуктів. 13 сучас1111х 
умовах розв11тку е1,."01юмікн та зроста1111я внмоr до сфскn1щюсті біз11ес-11роцесів , 
с11стема постачання продуктів відіграє ключову роль у забсзпечс1111і безnсрсбійrюго 
функціонування підприємств. Аюуальність тем11 "Програмне забезпечення 
с11стем11 постачання nродую·ів" зумовлена кількома важл1Lв11м11 асnектам11 . 
По-перше, глобалізація та розв11ток технологій сугrєво змінили підходи до 
організації постачань. Сучасні підприємства функціонують у д11наміч1юму 
середовиші, де шв11дкість і точність доставки товарів стають вирішальнш,ш 
ф~1Аїорами успіху. Це обумовлює необхідність впроваджею~я ефекпшш1х 
інформаційних с11стем, якj здаrnі автоматизувати та оптимізувати процес11 
постачання, знижуючи витрат11 і підв11щуючи ко11куре11тоспроможність. 
По-друге, збільшення обсягів даних, шо генеруються в процесі постачаю., 
вимагає використання спеціалізованого програмного забезпечення для ·~:хнього 
оброблення та аналізу. Використання сучасних [Т-рішень дозволяє знизити ризию1 
помилок, забезпечиnt прозорість ланцюга постачань пр11ймати більш 
обrрунтовані управлінські рішення. 
По-третє, пандем~я СОVШ-19 пов'язані з нею обмеження 
продемонстрували важливість гнучких надійних систем постачання. 
Підприємства, що впровадили сучасні іиформаuійні системи, змогли шв1щше 
адаптуватися до змінних умов ри11ку, уникнуги перебоїв у постn•1ш-1ні та 
забезпечити безперервність бізнесу. 
По-четверте, зростання попиту на екологічно '111сті та енергоефективні 
рішення також впл~шає на розвиток систем поста•1а1шя продуктів. Сучос11е 
програмне забезпечення дозволяє відстежуоат11 екологічні по1<аз1111ю1 лn1щю1·іn 
постачань, сприяти зме11шсшrю внющ~о оуrлекнслоrо rnзy та опт11мізуnот11 
лоrісти•111і процеси з урахува1111ям скологі•ших сп111дартіn. 
5 
чдn' 242244 .ООбПЗ 
Т.~юш ч1111ом, розrобк.~ m nпрооnлжс1111я сфскт11n11ого r1rorraм11oro 
забсзпсчс1111я для с11стсм11 nocr.1чn1111я npOJ\Y"їin с nктуа111,1111м і 11собхіт 111м 
завд:111ням. що сnrняс nідонщсн1110 сфскn101юсті 11 ідпр11смсто, з1111жс1111ю 01rrraт, 
nоt-1):~щс11ню якості обс,1)'1'0 П)'Оа1111я кліснтіо m з:~бсзnс•1с111110 стііtності бізнесу n 
умовах 11остііt1111х змін. 
J\Іста і завла1111я розроб..:11 
І\Іста розроб..:11 . Є розроб~;а сфс~..ї1ш11оrо 11рограм11оrо з11бсз псчс1111.11 для 
с11стем11 nостачаtшя nроду~..їів, я~;с забсзnс•нm аnтомnn□ацію та 011n1м із1щію осіх 
етапів nоСТ3ча1111я , з1111жс111UІ 01rтрат, підо11щс1111я то•11юсті та шn1111кості лостаок11 , 
а таt,."ОЖ покращення уnравлі1111я nроду"там11 . Це nрограм11е з116сзnс•1сн11я 11001111110 
cnp11яn1 nідвншенню t,."011курс11тоспромож1юсті nідnрнсмстоn за рахунок і1псгр:щії 
сучас1111х інформаціііннх технологій у щюцес11 постачання. 
Заодаu11я розроб..:11 розrля11ущ1 1·а1шх вндів: 
І A11a.riiз в11111ог до 11porpa~1uoro забсзпс•1с1111я: 
811311:ІЧІmІ ос110011і UІІМОГІІ ДО функціоналу СІІСТСМІІ nocтatJ3IIJIJI 
проду~..тів ; 
зібра111 та с11стсма111зувап1 в11мог11 кор11стувачів та зацікавлених 
стор1н. 
2 Ог;,яд іс11уючнх ріше11ь: 
провест11 аналіз існ)'10•111х nporpaм111rx рішень для снстем постачання ; 
в11яв11n1 їхні nеревап1 та иедоліюt, а також моЖJ11шості дпя 
вдосконале1111я . 
З Розробюа архітсК'І)'рІІ nporpa~111oro забсзnсчс1111я: 
створ11111 концептуальну модель с11сте~111; 
ВІІ]Н3'1/ІТІІ оснооні КОМПОІІСІІТІІ та їх взаємодію; 
розробttтн схему баз11 д:~ннх, необхід11у для зберіr111111я та обробкн 
Д31/ІfХ . 
4 РеаJ1ізацІя 11рограм11оrо забез11с•1е1111я : 
- розробнт11 і11теrфеfіс кор11стуuа'111, зру•11111іі д11н робот11 ; 
6 
Чдn' 242244 .006ПЗ 
- рсзлізуоаn, ОСІІОnІІі 1/t)'І ІЮ.ІіОІІМL,ІІі ~1011уп і СІІ СТС~ІІІ : уr1раолі1 111я 
ЗQМОВЛСІ\ІІЯМІІ , )11J)ООЛЇ ІІІІЯ nрод)').Т3МІІ , лоrіст11кn , з uіn , іст ,, та 
з 1нш ітн ка ; 
npooccn, TCCt)'D.JIIIUI СІІСТСМІІ для ОІІЯDЛСІІІІЯ Т3 усу11с1111я ПОМІІЛОК . 
5 І11тсгра11ін т:а 011рооаджс1111я с11стсм11 : 
розроб11Т11 стратегію інтс1-рації nporpnмiю1·0 зобез11е• 1с1111я з 
іс11уюч11м11 і11форма11ііі111~м11 с11стсмам11 11ідпр11смсто:~ ; 
- poзpoбtmt ПЛ3І1 опроnадЖСПІІЯ СІІСТС/,UІ, окл10•1аю•111 IIDD'131.lllЯ 
nсрсона.лу та nідтрнмку 11.-ор11стувачіо . 
6 Ouiui-a ско110~1іч11ої сфе1,.ї1шuості : 
nрооест11 розрзхунок економічної ефект11вності від оnрооаджсння 
програмного з;:~безnе•jСJІНJІ ; 
01онач1m1 nотеuціііні в11rодп та рnз11ю1, пов'язані з в11кор11станням 
НОВОЇ СІІСТСМІІ. 
Ui завдання дозоо11яn. забезnеч11т11 комллекс1111іі підхід до розробю, 
nporpar,шoro забезпечення дJІJІ с11стемп nостача1111я продуктів, що враховує ос і 
аспекn1 процесу постачання та сnрш1с досягнеипю макс,rмальної ефект1rоності . 
Об'є~.ї розробюt. Об'є~..їОм с розробка програмного забезпечс11ня 
інформаціі111ої с11стем11 nоста•1ЗІшя продуктів, яка оключас всі етапн лоrіст11чного 
npouecy. Це комплексна с11стема, Я1Са охоплює упрааnіння nроду~..тамн , логіс111чні 
nроцсс11, І(()ІJтроль та шв11дкості nоста•,ання, а та~..-ож анапоrічLІу скпа.аооу процесі о 
nостачаш,я . 
Пред~tет розробк11. Процес С111оре1111я nporpur,nюro зnбезnс•1е11ш1 
nідсистем11 управлішtя : 
УnравліІUІЯ ЗЗМООЛСІІІІЯ.МІІ : с11стемn ПОВІІІІІІ!1 ДUЗВОЛЯТІІ стоорс11ш1 , 
рсдаrува1111я, відстеження та закр11rrя замо011с11ь 110 nоста•~а1111я nроду1<Тіn. 
2 Уnрао11і1111я сІ<Ладськ11м11 11родуктам11 : відстеження 11tu1u1111x npoдyi..тiu 110 
скдаді, автомат11•111е 01юВJ1е1111я да1111х 11ро nродукт11 та їх розтnшуо:1111111. 
З Логісn1ка : ПJ1а11у11:11111я т:~ 01п11мізоція моршруrіо достuuкн 11poJ1y1,1iu до 
7 
ЧДТУ 242244.006ПЗ 
кі1щсn11х cnoж11na•1in nбо ло 11роміж1111х сктщіn. Відстеже1111я трrн1с1101п1111х з:~собіn 
та оа11тажіn. У11раnлі1111я 110nср11е1111ям11 томріn. 
4 Зоіn1 та :111:1ліn1ка: Ге11срація звітів т:~ 11рооеде1111я 011:~ліп1•111ого а11:1лізу 
для оuі11ю1 сфсю110110,сті процесів ПОСТ:І' ІІІІІІІЯ . 
І\1стош, ІІрОСІ,."Т)'DІІІІІІА тn '-ОІІСТР)'ІООDІІІІЯ 
Мстоп11 11рос1,."Т)' Оа1111я. Прос"туо::11111.R 11рогрвм11оrо зобезr1е•1е111111 с11стсм11 
ПОСТ3ЧІUІІІЯ прод)'l-Тіо 11средба'ІВС ретел~,1111іі 11ідхід )tJIJI звбе:)ІІе11с1111я 1101·0 
ефсrn1в11ості, 11адііі1юсті та масштзбоошюсті. У цііі бnк11л11прс1,кіїt роботі 
в111-"Ор1tстооувал11ся 11асТ)'ІШі метод11 прос"туоа1111я [І). 
Об'с"ї1tо-оріс11rовзнс просІ\тувз111tя (ООП) с ос1юв1111м методом, що 
ВІІ""ОРІІСТОВ)'СТhСЯ для розробкн с11стем11. ооп дозооляс орг:111ізуо11т11 прогр,ІМІІНЇІ 
І\"Од у в11гляді об'с"тів, .які представляють реальні сутності та їхні взасмодії. Основні 
пр11нш1n11 ООП вк..,ючаюп, і11каr1суляuію, що дозволяє пр11ховат11 в11утрішню 
реалізацію об'а,.тів і 11адава111 доступ до 1111х •1ерез публі•ші метод11, наслідув:1~1ня , 
.яке дозвол.яс створ1оват11 нооі юшс11 11а осrюоі іс11ую•111х, поліморфізм, що дозволяє 
об'єктам різ111rх класів віппооідат11 на од1111кооі метод11 по-різному, та абстр:~кцію, 
.яка в11діляс заrалмtі хара ..т. ср11ст11к11 і поведінку об'сктів для створен11я 
абстрактних класів і інтерфейсів [2). 
Моделювання за допомогою UML (U11ilicd Modeliog Language) також 
внкорнстовусться для візуально1·0 nредстаолешtя струкrур11 та пооеді11к11 снстемн. 
Основні UМL-діаграмн, що застосовуют1,ся о проеюува11ні снстемн 11ост:~•1а1шя 
продуктів, ою1ючають діаграм11 прс1~сдс11тіо, які n11з1ш•111rот1, озnємодії між 
користува•tамн (акторам11) т-а с11стемоrо, окреслrою•rн 001(on11i фу11кціо11аль11і 
можливості, класові діаrрамн, які 01111сують структуру с11стемн, oю110•1nro•111 кл11с11, 
їхні власт11оості, метод11 та озасмозв'язк11 між 1111м11, ді11rр11м11 110с,1ідо111юстсі1, що 
показують порядок взасмодії між 061ЄІ(І':ІМІІ о процес і 011ко1111111rя nco1101·0 сцс1111рію, 
та діаrрам11 станів, які оідображаrоть можтrоі ста~111 об'сктn та 11срсход11 між 111~м11 
протягом його жи·гrс1ю1·0 шниrу (3). 
В11кор11сто1111я 111абло11і11 11poc1rry111111ш1 с ще ол1111111 1111жт1111~м 11с111жтом. 
UJаб1ю11 Si11glcto11 :н1бсзnс 11ус іс11у1111111111 СJщ1ю1 ·0 c1,Jc11111m11ш 1<J111cy і 1 ·,юба,11,11у 
8 
ЧДТУ 242244.ООбПЗ 
точку доступу до 111,oro, що кор11с110 для упраnлі1111я ресурсами. Шаблон Factory 
~1etl10d 011значає інтерфейс для стоорс11ня об'єктів, але дозволяє підкласам 
зміmоваn1 ТІІП створюоа1111х об'с,пів, що спр11яс rнуt~кості коду. Шабло11 Observer 
встановлює залежність "ощш-до-баrатьох" між об'єктам11 так, що пр11 зміні стану 
одного об'єкта всі залежні об'є1пи сповіщаються і оновлюються, що допомагає 
пЇД'Jl)имуваn, с1mхронізаuію станів (4] . 
1\fстод11 коuструюваJ111я. Ко11струюван11я 11porpaм11oro забезпечення для 
с11стеl\Ш постачання продукпв передбачає безпосередню рсатзашю 
заnроектова1шх рішень. У рамках цієї робоп1 використовувалися наступні методи : 
Огrruмізація зашпів до бази даних для підвищення швидкості роботи 
системи. В1-1кор11стання індексів у базі даних для прискорення пошуку та обробки 
даних. Використання кешування для зменшення навантажеІІRЯ на сервер 1 
прискорення доступу до даних. Впровадження механізмів аутентифікації та 
авторизації для контролю доступу до системи та захисту конфіденційної 
інформації. Інтеrраuійне тестуваRНЯ: перев1рка взаємодії м~ж окремими 
компонентами або модулю.m дл.я забезпеqення іхньої сумісності. Функціональне 
тестування: перевірка роботи системи в цілому для забезпечення відповідності 
функціональним вимогам. Ювіт-тестування: тестування окре1"'mх модулів або 
коl\mонентів системи дл.я перевірки їхньої коректної робоn-1. 
Опис отрІD1ап11х результатів. Розробка систеl\Ш постачання проду1,..1в, 
реалtЗована на мові РНР [5] з використанням баз дашІХ PНPmyAdmin [6] та 
серверного середовища ХАМРР [7], призвела до створення комплексного рішення, 
що забезnе<rує ефек-mвве управління процесом постачання. У цьому розділі будуть 
представлені результати, отрима11і під час реалізації проекту, та їх відповідність 
поставленим цілям і вимогам. 
Одним із основних результатів є розробка функціональної серверної частини 
системи, яка реалізує всі необхідні бізнес-nроuес11. Викор11стання мов11 РНР 
дозволило швидко та ефективно створити серверну логіку, зnбезпе•1уючи обробку 
запитів від клієнтів, управліJІня да1111мн та в11ко1ш1111н склад1111х 011ераціІі. 
Використанля PНPmyAdmin для уr1раолі1111я бnзам11 дn1111х с11р11яло зручному 
9 
ЧДТУ 242244 .ООбПЗ 
ад111і11іструnа111110 та зобсз11счш10 11адііі11с збсріго1111я да111 1х . Впроnалжс1111я ХАІ\ІІРР 
як лоk"ЗЛЬІІОГО серверного ссрсл.оn11що спрост11ло пронсс розробк11, тсстуnа1111я та 
нnлаrоджс1111я с11стс11111 . 
Клієнтсь"а часn111а с11стсм~1 булn рсnлізов:111а з 011кор11ста1111ям HTML [8], 
CSS [9] та Ja,111Script, що 11:~дало кор11с1)'uо•111м іІП)'ЇТІІОІІО зрозумітtіі п1 зруч1111іі 
інтерфеііс ДЛJІ взаємодії із с11стс111ою. Д11110111іч11 і оеб-сторі11к11 , створені за 
допомогою Ja,1aScript, забсзпс•111л 11 і11тсра1<Т1щ11ість і зру•111ісп, 1<ор11стув.н111я. 
Форми для введення да1111х, табл1щі для відображе1111я і11формації та інші елемс11т11 
інтерфеіісу бул11 розроблені з урахув:н111ям потреб кор11стува 1 1ів, що спр11яло 
покращеш1ю ,_-ор11стувацькоrо досвіду. 
Іншнм важл1ш11м результатом с і11теграція с11сте1ш1 з базою даннх М ySQ L [ І О] 
через PНPmyAdmin, що зnбезnечнло надій11е та ефе1,.ї11внс зберігання вел11ких 
обсягів дан11х . Було реалізовано різноманітні CRUD-onepaцiї (створення, ч11т,:н1ня, 
оновлення, в1щалення), що дозволяють управляти дани111 11 про nродукт11, 
nостачальн11ків, замовлення та інші важливі аспекти системи [ 11]. Оnntмізація 
заmпів до бази даmІХ та індексування кл10чов11х табл11ць сприял11 підвпщенню 
продуктнвност1 системн. 
Безпека даних була забезпе•1сна за допомогою впровадження механізмів 
аутентифікації та авторизації кор11стувачів. Вю<орнстання сесій РНР для 
управління сеансами користувачів та хешування nаролів rapauryє захпст вщ 
песанкціонованоrо доступу та забезпечує конфіденційність інформації. 
ТестуваmІЯ та налагодження системи проводилися на всіх етапах розробю1, 
що забезпечило високу якість проrрам11ого забезпече,шя. Модульне тестування, 
вико11а11е за допомогою PНPUnit, дозволило в1UІ011ти та усу11ут11 rюм 11лк11 на ра1111іх 
етапах розробки. Інтсrраuійне тестува1111я забезnсч11ло перевірку nзnємодії між 
різними компоне1пам11 системи та їх корс1сr11у роботу в цілому. З1шдню1 
с11сте.мному тестуванню буJІо тдтuерджено відповіднісп, фу111щіо1~n11ь1111х 
можливостей системи заяuлс11им вимогам тr1 забез11е11е1ю стnбіт,1 1у роботу 11ід 
11аоа11таже11ням ( 12]. 
10 
ЧДТУ 242244 .ООбПЗ 
Оnтнмізація nрОд)'"ї\ІDІІОСТі СІІСТСМІІ булn досягнутn ЗОDДЯКІІ ОІІІ(ОJ)ІІСТаІІІІІО 
кешування дан11х та опт11мізації коду. В11корнста11ня ХЛМРР як ccrnepнoro 
середов11ща дозвол11ло створ1п11 ізольошше тестове ссредоn11щс, що сприяло 
ефе"ї11вному виявленню та усуненню вузьк11х місць у продуктивності [7]. Аналіз 
логів та моніторинг робот11 СІІСТСМІІ ДОЗВОЛІІЛІ{ ВІtЗІtаЧИТІІ критичні точки 
навантаження та оптимізувати роботу с11стем11 для досяп1еш-1я високої швидкості 
обробки запитів. 
У результаті розробю1 систсм11 постачання nродукпв було створено 
ефективне програ1'.ше забезпечення, яке відповідає всім вимогам. 
Праа..ї11чне з11аче1111я отр11ма111tх результатів. Практичне значення 
отриманих результатів розробки с11стемн постачання продукпв полягає n 
ефективному впровадженні інноваційного програмного забезпе•1ення, що 
забезпечує оmимізацію процесів управління поста•1анням товарів. Система має 
значний потенціал для по"-ращею1я операційної діяльності компаній у сфері 
логістики та торrшл1, а також для забезпечення високої якості обслуговування 
клієнтів. 
Особосn1й внесок автора. Мій особистий внесок у проект допом1г 
забезпечит11 успішне впроваджеmІЯ системи постачання продутсrів та досягнення 
поставлених цілей. Я вклав багато зусиль у кожен етап розробки, забезпечуючи 
високу якість та ефективність програмного забезпечення. 
І І 
ЧДТУ 242244.ООбПЗ 
РОЗДІЛ І І СНУІОЧІ МЕТОДИ ТЛ ЗАСОБИ РОЗВ 'ЯЗАННЯ 
ПОСТАВЛЕНИХ ЗЛUДЛІІІ, 
Існус бnг::~то мстодіn т.~ засобіо д11я n11р ішс1111я з.~од::1111, , nоn'яз.11111х з 
СІІСТСІ\І3МІІ ПОСТ.І•ШІІНЯ ттродуктіо. Во1111 ОІ(ЛІО'НІІОТІ, О себе як програм11і ріІUСІІІІЯ , 
так і технологічні інструмс11n1 , які дозооляють 011п1мізуо:п11 111юцсс11 nоста•111 111111 
та забез11ечуnат11 ефекпшне ущк1nлі1111.я nсіма стn11ам11 лn1щюп1 11ocтntJn1111я . Н.11ж• 1 с 
11аведе11O огляд ос11001111х мстодіu та зnсобіо, що u11кор11стову1оться д11я роз0 'язшrшr 
поставлс1111х завдань. Н11ж•1с ІНІDсдс11і осноо11і з 1111х : 
J\'Іето.1111 розn'яза1111я завда11ь. Для розробк11 nрограм,ю забсзnс'Іе1111я 
с11стсм_11 постачання проду1,.-тіо в11кор11стооую1·ься такі с11стсм11 .ЕRР-с11стем 11 
(Enterprise Resource РІаnлілg) - це 1,.-0~111лскс11с програмне забсзnе•1ення, яке інтегрус 
та авrомат11зує основн1 біз11ес-nроцес11 організації. 801111 забезпечують 
централізоване управл ін11я дзн11м11 і допомагають коорд111-1уват11 дії різ1111х uідділ іо 
1\-омпаніі, таких я:к фінанс11, постачання, в 11робн11цтоо, продажі, маркеттrг, 
управл іння персоналом та інші [ 13). 
SСМ-снстеми (Supply Chain Manageinent) - це nрограмю інструменти та 
методології, що допомагають компаніям керувати всіма аслектам11 ланцюга 
постачання. Вони охоплюють планування, управління та контроль матеріальннх 
потоків, інформації та фінансів від постачальників до кінцевих споживачів. Метою 
в11користання $СМ-систем є підвищення ефективності, зниження 011трат та 
покращення якості обслуговування клієнтів [14). 
WМS-системн (Warehouse Mallilgeinent Systems) - це програмні систем11, що 
забезпечують улрааліш-ІJІ складськи~m операціями та процесамJІ . Основ1юю метою 
WМS-систем с підвищення сфект1rn11ості роботи складу, оптимізація розміще1111я 
товарів, зниження витрат на логістику та покращення то•тості обліку запасів [ І 5J. 
ТМS-систсми (Transportation Managerncnt Systems) - це програмні рішення, 
які допомагають підприємствам планувати, оико11уоаn1 та опт11мізуоаn1 фіз11ч 11е 
переміщення товарів . Осноrтою метою ТМS-систем є nідонще11ш1 ефt.:кт11u1юсті 
тра11спортуоа11ня, зш1жен11я nнтрат, поліпшсшш обсJІуrоnуош111я кліє11тіо 
забсзnс11е1тя тоLJ11ості та прозорості лоrіст11 11ш1х оnср1щі1ї [ 16]. 
12 
ЧДТУ 242244.ООбПЗ 
Зnсоб11 молс.~11оnn1111я т:, npoch."'J)'O:t1111я. В розробці модслrоn:н111я та 
11роектуоа11ня nрограм11ого зобсзпс•1е1111я с11стсм11 011кор11стооусться UML о с 
стандартн11м пщходом д11я моделюuа1111я струІ<'Іур ПОВСДІІІКІІ СІІСТСМ. 
В11кор11стання UML-дinrp::iм , тnю1х як діагрnм11 r1рсцсде11тіо, класові діагрnм11, 
діаграм11 nослідов11остеіі та діаграм11 станів, до11оr.шгає створ1пи uізуал1,нс 
уявлення с11стем11, що nоле1·шує її розробку і докуме1вуо~ншя (3 ] . 
ERD в11кор11стовується для модетова1шя баз да1111х, що дозоо11яс 011з1~а•111п1 
сутності, їх атр11бути та взаємозв'язюt. Це забезпе•1ує чітку CTPY1<'fYPY бази да1111х і 
спрощує процес їі nроектуnан11я. 
Мов11 11роrра111ува1111н. РНР є популярною мовою програмування для 
розробюt веб-додатків , яка забезпечує оисоюtй ріве11ь інте,·раuії з базами даних та 
можл,шість швидкої розроб1<и (29]. Вона підтримується велик11м числом 
фреймооркіо, так11х як Laravel Symfony, яю полегшують стnоре11ш1 
масштабованих і 11ідтр11муван11х додатків. 
Codelgniter: Фреймоорк для розробки 1Jеб-додатків, який може 
в11користовуватися для стnоре1шя системи управління постачанням. Ві11 забезnе<~ує 
швидку розробку завдяки простоті та легкості використання . 
JavaScript викор11стоnується для створе11ня д11J1ar.ti•iниx і інтерактивних всб­
інтсрфейсів. Бібліотеки та фреймворки, такі як React, Angular і Vuc.js, дозволяють 
розроблят11 сучасні односторінкові додатки (SPA) [28). 
SQL є стандартноІО мовою за1111тіn для робо111 з реляційю1м11 база11111 да1н1х. 
Вона дозволяє вико11уват11 011ерації створе1111я , •11панш1 , 01юв11еrн1я та nидале1111.я 
да1111х (CRUD), а та~<ож забезпечує високу продукт11nність та вадіііність при роботі 
з nелик11ми обсягами да1111х [ 17). 
Спстем11 управліашя базами даних. MySQL є однією з на1їпошире1-1іших 
систем управління базами даних з відкритим вихідним кодом. Вона забезпечує 
високу продуктивність, надійність та масштабованість, що робить її ідеальною для 
розробки веб-додатків [ 18]. 
PostgreSQL є потужною системою упраолнrня базащ1 да1111х з ощкр11т11м 
оихід1-mм кодом, яка підтримує розширені 11юЖJ1ноості робоп1 з да1шм11, такі 
13 
ЧДТУ 242244 .006ПЗ 
я~- ск.1щд11і зап11111 , транзакції і rс1~лі1ащія [ 19]. 
І11тсгрова11і ccpCJtoo11щn ІJоз1Jобю1. Для розробк11 програ~111ого 
забезпечення в111,ор11стову10ться та~- ссрсдоонща. rІ1pS1orin с nonym1p1111м 
ссрсдов11щс111 розробю, для РНР, я~-с 11.~дас розw11рс11і можл11оості для рсдаrуоа111111 
"-оду, 11алаrодже1шя, тестування тз інтеrр:щії з с11стс1щ1м11 ко11тролю осрсііі (20). 
\ 1isual Studio Codc є багатофункціо11а.,11,1111м тскстоонм редактором з 
підтр11111"-ою ч11слс11н11х мов нроrрамуо:11111.11 і фрсіtмооркіо. Оош1 про1ю11ує ш11рокі 
111ож.т11шості для 11алаштуоа1111я і розш11рс1111я за допомогою 11лагі11іо [21 ]. 
Іuструме1m1 автомат11зації та тссТ)'Dn1111я. В розробці nporpaм11oro 
забезпечення можна в11кор11стовуват11 такі інструмснn, Jenkiпs с сервером 
автоматтtзації з оід1'1)Іm1м 011хідшtм кодом, якніІ дозволяє автомаnrзув:~тн процсс11 
збірю1, тестування і розгортання коду (22). Це забезпечує безперервну інтеграцію 
та безnерерв11е постачання (CVCD). 
Seleniuш є інструментом для автомат11зованого тестування веб-додатків, що 
дозволяє створюват11 тесrооі сценарії дJІя перевірки функціональності і11тсрфейсу 
1,.-ор11стувача (23). 
ХАМРР - це платформа для розробю1 веб-програм, що вклю•~ає в себе 
АрасІ1с, MySQL, РНР і Perl. Для автомаn-tзації та тестування вам з11:1добляться 
додаткові інструменти, які можуть бути використані з ХАМРР (24). 
І.І Огляд платформ та фрсіімворt.:ів для розробк~1 с11стсм11 ооста•1а111ш 
продуктів 
Під час розробю1 снстем~1 постачання продуктів, важливо 011брат11 підходящі 
платформи та фреймоорк11, які зuбезпеq:1т1, швндку розробку, 1шдііі11ість т11 
масштабова11ість про1"))ам1юrо забезnече,шя. Ннж•1с 11аведе1111іі огляд ос1юв1111х 
платформ та фреймворків, які можуть бути кор11с1fш,ш для tticї с11стем11: 
Laravel - це однп з 11айпопулярніших фреіімворкіо длs, розроб1<11 uеб~додnтків 
11а мові проrр:~муваш,я РНР. Ві11 мпс прост11й та е,1е1·а11пшй с1111тn1<с11с, 011сою1іі 
рівень безпеки та вбудов1111у підтримку д1111 робот11 з бnзn11111 дn1111х (25). 
Перевап1 : IJJ11111щa розробка зо1щяк11 обуJ.1ош11111111 і11струмс11т11111 , тnк11111 ІІІ( 
14 
ЧДТУ 242244 .ООбПЗ 
маршрут11з::щія, ш::~блn11ізrщія та міrрnнії баз д::~1111х. І3сл11кс т::~ :11п11011с 
сnівтоварнстnо, що забсзnсчус nідтр11мку та 11абір 1юзш11рс11ь . 
Нсдолію1 : Може бутн ме11ш nідходящнм пля дуже ncm11<11x та склад11JtХ 
прос"їів, де потрібна в11сока масштабованість. 
Syшfony - це ПО1)'ЖШtй фрсймоорк для розробк11 оеб-дощ~ткіо на РНР. В і 11 
має модульну архітекrуру та ш11рокі можлноості д11я розuшрення 
функціо11аль11ості за допомогою багаторззоu11х комnо11е11тіn [26). 
Перевапt : Внсока рівень п1учкості тn ко11фігуруоа~шя, що дозволяє 
створ1оват11 дуже складні та масштабоnані додаткн. Ш11рокиіі набір зру•11111х 
інструментів для poбonJ з базам11 даннх, формами, безпе1.-ою тощо. 
Недоліки: Потребує більше часу для в11очення оорівня1ю з інш11м11 
фреймворками, такими як Laravel. 
React - це бібліотека для розробки штерфеіісів користувача. Вона дозволяє 
створювати динамічні та інтерактивпі веб-додатки з використанням компонентного 
підходу. Переваг11: Простота вшrористання та ефективне відображе11ня зміn у ставі 
додатку Велика акr11вна спільнота розробників та багато готових "-оr.mонептів . 
Недолію1: Вимагає використання додаткових бібліотек для створен11я поnноці1ш11х 
веб-додатків, таюJх як React Router та Rcdux [27J. 
Codelgniter - це легкий та ефект1fОН11Й РНР-фреймворк, яю1й надає nрост11й 
та елегантний спосіб для розробки веб-додатків. Він моє мінімальні 01-1мог11 до 
конфігурації та в1<лю•1ає в себе багато корисн11х бібліотек дня робот•~ з база~ш 
даннх, сесіями, формами тощо (ЗО]. 
Лерсвап1: Швидка розробка завдяк11 простоті в111<0р11ст:11111я тn пеосп11кому 
обсягу коду. Можливість 011користооуоuт11 тілью1 необхід11і комnо11е11т11 
бібліотеки, що дозволяє підтрнмуоап, леrк11й та сфскт1101111й 1юд. 
Недоліки : Мс11ша І<ількісп, вбудова,шх можливостей порівшшо з 111ш11м11 
фреймворками, так11ми як Laravel та Sy111fony. Обмежена 11ідтр11мка 011ілмюп1 та 
засобів розш11рення . 
Внкор11ста1111я Codelgnitcr може бу111 11111·іJщ11111 для 11сос,111ю1х тn ссрсд11іх 
просктіn, ш<і оимаrаюп, шо1щ1<0ї розробю1 та 11ростого у11р11ш1і111111 . Йо1·0 ,1с1· кіс·1·1, 
15 
ЧДТУ 242244 .006ПЗ 
0111юр11стш-111я п1 11сnсл~1кі в11моп1 до ресурсів робляп, iioro nр11ообт11111м варіантом 
для розробк11 с11стем11 nоста'Іа1111я проду1пів. 
1.2 Мстод11 ni1aJ1iзy с11стсм11 поста•ш11ш1 ІJІJОду,піо роз1·ш111смо о таю1х 
11у111,.·тах : 
І S\VОТ-nналіз: оц111кn с1~льн11х і слабк11х сторі11 снстс11111 rюста•ш1111я, а 
також можщ1оостеіі та загроз зoo11iw111,oro середов11ща. 
2 АІшліз д111шх : обробка та а11n11із ос1111коrо обсягу да1111х про 
постз•1алt,ІШІ<іо, СКЛОДІІ, 011робш1ків ПІ СІІОЖІІDа'Іі.в ДJLЯ ОІНLВЛСІІШІ те11денцііі та 
оідхнлснь. 
3 Моде111ова1111я npoцeci.u : в11кор11стан11я матемап1•1ш1х модслсіі для 
прогнозування обсягів попиту, оnтнмізації запасів та розподілу ресурсі о. 
4 Аналіз р11з11ків: в11яnле1шя потс1щіїшнх ризиків, nоо'юшшх з 
11остача11ням, та розробка страте1·ііі їх у11раміння. 
5 АІшліз вартості: оці1шn вартості 011робн1щтва, лоrіст11ю1 та постача111111 
д1LЯ в11з11а•1е1111я оnт11мал1,1111х ріше1-1ь з·то•1ю1 зору економі•11юї ефекn,оності . 
6 Аналіз кліс11тсt.1<оrо попиту: вно<~енця потреб та опмоr сnожнвачів для 
011значе1шя найбільш в11rід1-111х стратегій постачання. 
І.З ПорІв11яль1111іі а111u1із існушчпх ріше11ь 
Для проведе1-111я порівняльного а11алізу існу1о•тх проrрuмюfх ссрсдов11щ для 
с11стем поста•~ання продуктів, розrля11емо декіJ1ька по11уJІярш1х рішень: 
SAP Ariba 
Фу1-1кціо11ал1,ність: SAP Ariba пропонує 1ювш1іі набір і11струме1пів для 
уnраоліш1я закупівлям11, поставкам11 та управлінням контрактам11 показано на 
р11сунку 1.1. 
Вартість: 811сокі внтрап1 на впровадження та nідтрн~rку, що робнть fioro 
більш підходяшнм для вел11ких підприємств . 
Ефективність: Дозволяє оптимізувати процеси закупівель та nост:~чання , 
зменшуючи час та в11трати. 
Надііі11ість: SAP відомиfі своєю надійністю та стабіл,,ністю. 
16 
ЧДТУ 242244 .ООбПЗ 
/ 1 
І 
:-r_ І 
298 4 361 2 497 ...о  r~ .. 
.., .__..... .,, ___ ., 
о 
,_-·. . ~__-..·,,  .-.. _ 
··- ,- ,- · - U-.-•• · 
п 
І 
c--==-[J,.....,,, .-=::, 
Рнсунок 1.1 - Головна сторі11ка SAP Ariba 
2 Oracle SCM Cloud 
Функціональність: ОгасІе SCM Cloud надає рішення для уnраш1іння 
поставками, логістнкою, складам11 та в11робн1щтвом показано на рисунку 1.2. 
Вартість: Потребує з11аttн11х витрат 11а вnроваджс1111я та nідтр11м11.-у. 
Ефектнв11ість : Забезпечує в11соку ефе11.111в11ість управл11шя поставкам11 та 
оnтнмізацію лоrістнч11их процесів . 
Надій11 ість: Oracle відоr.rнfі своею стабільнісnо та 11адіі'і11істю своїх рішень. 
17 
чдn' 242244 .ООбПЗ 
Р11сунок 1.2 - Голоn,щ сторіш«:t ОгасІс SCM Cloud 
З Microsoft Dупзшісs 365 Supply Cliain Management 
Функuіональність: Microsoft Dynaшics 365 SCM надає іJпегровані рішення 
для управління nостачаuням, в11робmщтвом та логістикою noi-aзa.uo на р11сунку І .З. 
Вартість: Помірні в11трат11 11а впровадження та nідтр11мку, що роб11ть його 
підходящнм для пілприємств різного розміру. 
Ефекrивність: Забезпечує ефекmв11е упраміння ланцюгом постачання та 
оптимізацію процесів. 
Надійність: м_їcrosoft відомий своєю надійністю та підтримкою. 
-- -- ,.____ - .., 
. . 
.... 
• 
1060 81% 
__ ,,_---,:_ ·-
І- ··-·-.. .............. ._  .. . -·· ...... ..... .... 
--- t"'----•·--··~ 
- ·- ... _. ..·.-~- ~·- ..·.. . 
------ ,.  .... ... , .-·-v --- ~...  , .  
~ ""' . 
Р11сунок І .З - Головна стuрі11ка Microsoft Dyпamics 365 Supply СІшіп Mnш:1ge111e111 
18 
чдn' 242244 .ООбПЗ 
4 Zol10 Ін,,сnІоІ)' 
Функціощ~ль11ісп, : Z()IJO l11\lc111ory 1111.1ц1с інструмснт11 лля упр11n11 і1111·я 
за11осам11 , замоnлс11ням11 r.i лоrіс11 1кою для малого тn ссрсд111,ого біз11ссу rюказ3110 
113 J)IIC)'IIK)' J .4. 
Вартість : Відносно дОСТ)'llІІніі варіз 11т д11я м3лого Т3 середнього бізнесу. 
Ефе"т11в11ісп,: Забезпсчус сфс"-т,1онс уnр11мін11я з3n3сам11 та ло1·істн•11111м11 
процесам 11 . 
Надіііr1ість: Забсзnсчус 11адій11 іст,, то стабіль11 ісn. для 11сосл111<11х та серсд11іх 
11ідпр11смств. 
1,-.«•ООФ (і 
228 б 
• ••' - -10 474 
с ,•- О ••- Q • • -
............. tQJlfu.. .Щ '4 
.,t,,_. :,,.~-- .,,~.,.., 
...., ,. 
., .... ... -~- ·-+-- 
.l~ -C<rt:. ~-. ~ 111 IIQ, •S"ь 
--· ~-- -....,..., .... - ...... 
O...,rc:,1~• -
>с:1 .... , • о • 
652.00 " 
--. --\; -.. -, --
Р11сунок 1.4 - Голов11а сторі11 ка zo,10 lnvc11101·y 
Залежно від потреб ВІІШ,01'0 бюджету та рівня СКJІІ)ДІІОСТЇ , І(ОЖJ І(\ 3 ЦІ ІХ СІІСТС~ І 
може бут олт11мал1,1111м 11нбором . Для nem1к11x підпр11смст11 можуть буш біJІІ,Ш 
лідходящ11м11 SAP Ariba або Oraclc SCM Cloutl, тоді як для мал11х т11 ссрсю1іх 
nідлрнсмств може бутн 1тrід1111м11 Microsofl Dyrшmics 365 SCM 1160 ZоІю l11vo11101y . 
1.4 Поста1101нrа за1111•1J 
19 
ЧДТУ 242244 .ООбПЗ 
Оr,ке можна сформуruоваn1 таку постановку зада•tі до кnаліфікаці.Jїної 
роботн бакал.111ра. Метою даної коаліфікзціnиої poбont є розробка інформацій11ої 
снсте~ш для уnрав11івня поста•1.:111ням np<»дyi..-riв, яка забезпе'Пrть оптимізацію та 
авто111апrзац1ю ОСНОВНІІ}. ЛОГІСПІЧЮ{Х nроцесtв, підвІLЩСНІіЯ ефект1101юсті 
викорнстання ресурсів та покращення якості обслуrовуваІО.1Я кліснтів. 
Для досяrnеu.н.я цісї мети 11еобх.ід.но в11ріш.~m1 наступні завдання : 
npooecnt аналіз сучас1шх SCM, \VМS та TMS с11стсм для 011значе1111я їх 
кmо•1O011х фу11кцііі, переваг та uедоліхів; 
- ВІІЗІІаЧJt111 оснооні ВІІJ\ІОПІ ДО іttформаці.йноі с11сте111 11 , врахову10•111 
потрсбн замовника та спец11ф іку підпрнємства ; 
сформувапt в11моп1 до програмного забезпс•1еню1 . 
20 
ЧДТУ 242244 .ООбПЗ 
висновок ДО ПЕРШОГО rоздІЛУ 
Псрш11і1 розділ даної с11стсм 11 11оста•1111шя 11родуктіu був nр11соя•1ст1і1 огш1ду 
іс11ую•шх методів та засобів розо'язз1111я заодо11ь у сфері nост:~1 1011ня nродуктіо. 
Бу;ю розглянуто ос110011і ТІІЛJJ СІІСТСМ, що 0111,ор11стовуються ДJUJ О[ІТІІМіз,щії та 
аотомап1за11ії 1югіс111•ншх 11роцесіо, зокрема SСМ-с11стем11 (Supply СІ1аі11 
Managcmcnt) (14 ], \VМS-с11стсм11 (\\1arclюusc ManagcmcnІ Syslcms) [ 15) та ТМ S­
с11стсм11 (Trnnsportation Managcmcnt Systcms) (16). Також було порів11я11і іс11ую•1і 
програмні середов1rща і в111,.1>11а1ю а11аліз mтх програм . 
21 
І\ДТУ 242244 .ООбПЗ 
РОЗДJЛ 2 ПТТРОПАДЖЕНUЯ РЕЗУЛЬТАТІВ ДОСЛІДІІ(ЕІІЬ У ПРЛКТІіІ(У 
пrоЕКТУВАВНЯ ОРОГРАі\ІНОГО ЗЛБЕЗПЕ'ІЕІІПЯ ІІ~ФОІ'і\І.АЦІЙВИХ 
СІІСТЕМ 
2.1 J\·Іоз_сл1оnа1111я 11редмстuої області 
Моде.rнов:uш.я nрсдмсnюї обнасті с важл1ш11м етапом у npoucci 11роеюуоа1111я 
програмиого забсз11сtfен11я, оскі.11r.к11 во110 дозuоняє детаJ1r.110 on11can1 струкгуру, 
npouccн та взаємозв'язкн у рамках с11С'1·см11 пост1І'І111111я 11родуІ\їів. Ос1101тою 
мстою модсл1оваm1я с створс1шя абс,раІ\їJІОГО nрсдстаnлеппя rcaJ11,11oro еві-гу, що 
дозволяє . зрозуміnt та авалізувuт11 ос11ов11і асr1скт1J прслмеn1ої області для 
подаЛ'ьшої реалізації їх у програмному забезnсчс1mі. 
2.1. І Предметна область модслюванш . Модель предметної області . Слоо11111с 
предмсп-юї області 
Прсдмстuа област1., 111оде.r11оваnнн. Предметна областr. модслrова111111 
охоплює всі аспе1п11 діяльності, що підлягають nвтоматнзаuії у с11стем і поста.чаmu 
продуктів. В011а окпючас om,c бізнес-проuссів, об'є1,,їів та їх озаоюдііі, 111,j є 
оспооо10 дня розробю1 rтрогра~шого забсзпечеmu~ [З І). Ос11оопі компоне1~т11 
предметної області для спстемн поста•1ан11я продукrіо 0КЛІ011ають: 
nродукт11: це xaptfoв.i тооар11. Кожен продукт має свої унікальні 
характер1tст11ю1, такі JJК код продукту, назва, опис; 
замоаленнJІ : проuес11 оформлснRJІ, обробки ТіІ 811.КОІІіІJІНя зіІмовлснь 
включають створення замоВІІент1, підтвердження, обробку, достаоr<у. Кожне 
замовлення має статус11, таю як "п обробuі '', ' 'відпраw1е11с", "доставnе11с", 
"1Jовер11утс"; 
- 1спіснn1: ue кі11uеві спож11nа•1і продукнії. І11формаuія про кліс11тів 11клю•шє 
їх профілі, історію замовлень, конта1,r11і дані; 
- скпад11: локації та структура складів, упраwшrня щюдукrам11 та 
11огіС'ТНчні npouec11. Інформація про склад11 оключас їх місткіст1,, пото•111і продукпt, 
облік руху товарі.о. 
Moдe.rr,, rrрсдмст11ої обJ1астІ. Модел~. nрсд~1с11юї 0611асті є nбстрnк11111м і'  
прелстаn11с1111я.м реального світу, що ши11о•щс суІ'ІІості та їх nзасмоз11'11з1<11 . 1301111 
22 
ЧДТУ 242244 .ООGПЗ 
створюсться 1:1 доnомоrо10 різ1111х мстодіо ~t0лсшооз1111я. так11х як ЕR-діnграм11 
(E11tity-Rclalionsl1ip Diзgrn111s) та UМL-дізгрn~щ (U11ificd Modcli11g UПb'113gc) L32J. 
ЕR-діаграмJ1 в111,орuстооуюn.с1 для візуалізації суnюстсіі та з 11'11зкі о між 
ЮІМІІ, у СІІСТСмі nостачаІІІUІ npoдyi,.,io С)'ТНОСТJІМІІ можуть буn, "Продукт", 
"Замоw~сння" та "Клієнт". Зв'язкн м іж 11nм11 можуп, оідображзn, оіл11ос1ш11 т1111у 
"один до багзтьох" або "баr3то до багатьох". В ER-nia11,aм:.1X та ..1. >ж заз11а1н11оп,с ~ 
атрнбуnt супІОстсіі та пср1ш1111і/зооnіш11і ключі, що впз11а<1а1оп, у11ікал~.11ісп, 
заш1сів та зв'язк11 ~tіж табmщ11~111 (34]. 
UМL-ді311'а~111: В11.1,-орuста111111 UМL-діаграм. так~rх як днира~,11 класш, 
дозво.ru1с створ1m1 бі11ьщ дета.,1ь11у та формалізовану модель. Вони оn11сують клас11 
(с уn1ості), їх ат~,11буn1, метош, та взасмозв'u1ш. Діаграма КJJacio ~,ожс оклю•1ат11 
клас11 "Продукт" , "Замоале1111я", "К11іс11т" з відповідпr1м11 атр11бутам11 (назва для 
класу "Продут-,") та метода.,111 [35]. 
Cлoouui.: nрсдмсТ11оі обл.асrі. Словннк предметної області є в::~жлт1в11м 
документом, яюtіі місnrть в11з11ачс1~н1 термінів тз понять, mo в111юр11стову1оп,ся у 
моделі предметної області. Віп забезnечус єд1шс розумілля тсрміполоrії всіма 
учасн11ками nрое1пу, оключа1очт1 розробm1ків, анаяіпuсів та І\1>р11стувачіо. 
Словшtк вкточає •1іткі тз однозnа<rnі внзначеНUJІ всіх клю11ов1Jх термінів 
предметної області, а саме: 
продукт : товар, що nоста11ається та пропонується для 11рода;ку клієнтам . 
ВІІЗначення вкшочає ос,ювні харакrернсnnш , такі як назва, om1c; 
поснлю1: зал~п 11з r1р11дбаш111 певної кількості nроду~-'Тів ощ клієнта. 
Вк111очас деталі, такі як ідеrm1фік.щійвиіі номер ззмовлсm1я. датt~ стооре1111я , 
перелік продуктів, статус; 
к.r1іє11т : кіиnеоніі сnож11ва•1, якніі здіііс111ос замовлення продуктів. 
Включає і11формаці10 про КОFІТ31\-Пtі дані, історі10 замовлень; 
вантаж : локація, де відбувасться упакування nро.!1)'1''ТЇВ та їх оідnравле1111я 
клієнтам . Вкл10•1ає інформацію про місткість, дата ш1куо:111r~я, поточні 11родукr11; 
звіт: рсзульт:~т nостача1111Я продукп11; 
марwут: лоrіст11ч11а інформація для nокраще1111я маршу,1. 
23 
\!ДnІ 242244 .006ПЗ 
Т:uщм •1 1шом, модсmо11.111ш1 npcд~tcnioї області, 111v110•1a10•111 стnорс 1111я 
модслt т:~ с,1ов111 1 к.1 предметної області, с фу11л:~мс11та111,111щ кро,-ом у ороскrуш11111 і 
програмного забезпс•1с1111.я дл.я с11стсм11 1юсn•1:11111я r1poдyi-.,io. Це дозооляс 
ззбсзпс•11m1 зрозумілість, точність rn узго.11же11ість щ1 осіх cтan:ix розр0Gю 1 
СJІСТСМ ІІ . 
2. 1.2 ЕлсмсН111 модел1ооа1111я предме111ої області 
ЕлсмеrrГІІ МQДСЩ()ВЗІІІІЯ оредмстної області с ІЩІОЧОВІІМІІ KOMJIOIICI/T.JMII, JІІ<і 
ВІІ'-1JРІІСТОву1оться для С'Т11Орс1111я абстрактного предстаалс1111.11 рса.л1,пої с11стем11 . 
Воuн оклю•1ають суnюсті , атр116}'111 , зв'яз,ш т;~ об~1сжеш1я, які ра.зом форму~от~, 
модель предме'ПІої об,qзсті. Ці слемсН111 допомагають забезnе•111111 точність та 
nов11оту ~юдслі, шо с основою мя подальшого nроскrуо,шня rn розробкн 
nporpaмнoro забез.пе•1енпя. 
Супtості прсдставля1011, осuооні об'с1п11 або кпасu, яю с важл11в111,111 для 
фу11кuіо11ува111ІJІ с11стем11 . Во1111 мо;~;.уть в=чаn, фізпчні об'єкти, такі я1, проду~-.-11 1 
або склаш1, а mкож абстра~-,11і об'а--n1, такі 111< замов11еш1я або кліє11т11 . В11Зuачс11ня 
суn1остсй позволяс створ1m1 чітку структуру даm1х, яка буде 011кор11стовуоа111ся в 
снстемі. 
Атр11буn1 ош1сують х.~ра"1ерт1сn11ш тз аласт11вості суmостсй. Вош1 надають 
петальну і11формаuію про І(()ЖНУ суn1ість, забезnс•1уtоч11 uеобхідп11іі ко11текст для 
розуміння даю,х. Атр11буп1 мо;1,,уrь включатп •111слов~ текстові r.i логі•111і 11а11і, а 
таІ(()Ж сnеm1фіч11і llJlJІ r~свної cyrnocтi характер11с11001. В11з11ачеm111 атр11буті11 
допомаrас формалізуват11 і11форм:щі10, що б~е збсрі1-а111ся та обробля111ся в 
с11стемі. 
Зв'язк11 оrп11а•1ають, як супюсті взаємодіють між собою. В01111 показують, як 
одна суrність поо':я.зава з іншо10, і які взаємозо'язю1 ісR)'Іоть між ш1м11. Т11п11 
зв'язкіо можуть оарі1оват11ся від од1111 до одного до багато до багатьох , що 
відображає складність взаємодііі у с11стемі. В11з11а•1сння зв'язків допомагає 
сrвориn1 інтеrрова11у модель да111rх, яка відображає реальuі npoucc11 та від11ос111111 
n предметні.П області. 
Обмеже1111я 11:аклвда1оть npao1u1a нз дані для забсзnс•1с111 1я їх uі11іс11ості тu 
24 
lЩТУ 242244.006113 
11р:1011ль1юсті . Во1щ мо;~,.уть DІ(ЛІО'І:ІТ1І ncpo111111i 1u110•1i, які у11і1,.-:~ль110 ідс11т11фікуюп, 
зз1111с11 о С}'ТІюсті, зоон іш11 і І(ЛІОЧі, 11кі 0111юр11стооуютьс11 для стоорс1111я зо'яжів між 
су11юстям11, r.:i унікальні обмсжс1111я , які 01щагзюn., шоб з 1111чс 1111я атр116утіо бу111 1 
}~• ікзль 1111м11 . В11 з 11а•1 с11ня обмсжс11ь допож1гас з:111обігт11 1юм11т,nм та з11бсз11с•111т11 
узrоджс11іст1, lНIIIIL'( у СІІСТСМЇ . 
ЕnсмсІІТ11 МО!lСЛЮІІ.:J ІІІІЯ rтрсдМСТІІОЇ обл:~сті з:~бсзпс•1у1оть фу11д11мСІІТ ДІІЯ 
створе1111я точного тз 11:~лііі1юrо прогр::ш11оrо ззбсзпсчс1111я . 1301111 допомn ,·ають 
8113113'111Т11 струІП)'J)У д3 1\\ІХ, ВЗ3СМОДLЇ мі.ж р іЗ ІІІfМІІ КОМІІОІІСІІТ:'ІМІІ СІІСТСМІІ та 
11ран1111а, шо забезnечуюп, uіліс11ість до11 11х. Це дозвоru1с розроб1111кам створюозт11 
програм11с забсз11счс1111я, 11кс о ідnооідnс потребам бізнесу rJ зобс:111с•rус ефскт111111 у 
аотомот11заuію npouccio, nідв11щую,111 nроду1,.ї11011іСТL, змс111uую•111 011трuт11, 
11окращу1оч11 обслугооува1111я 1u1іс11тів і забсзnс•1у10•111 г11учкіс,ь для :щаnтаuії до 
змі 11 у б із11сс-серсдов11щі . 
Зuоnик11 •1іткому в11з1~а•1е111110 суг11осте іі, 11тр11бутів , зо'язкіn та обмсже111,, 
модель предм1.-пюї області може бут11 лсг1,.-о зрозумілою ДЛJІ всіх у•tас~шкіо проекту, 
вкпt0•1а1о•п1 розроб1111кіn, :mаліn1ків тз кі1щсв11х корнс,уоа•t ів. Це забезnс•rус 
ефекrнону комунікаuію 1·а с11ів11рац~о 110 всіх етапах розробк11 11рогрзм1101·0 
забсзnе•1с111 1я , віл 11очатконо1·0 а11nлізу в11мог до в11рооаджс1111я ПІ 11ідтрщ11,11 
. . . 
С ІІС1СМ11 , ШО СПfІІІJІС З~ІСНІІІСІІ\110 р11з11ку llO~tll.llOK, НІДОІІЩСІІІІІО RKOCT/ КІІЩС[ІОІ'О 
продукту та досяг11с111110 поставле1тх біз11сс-1.1ілсіі. 
Таю,м •111ном , с,1смс1,m1 модс111ован11я нрсдметної облосrі 01л1грають 
в11ріш,111ьну роль у створенні якіс11оrо програмного забез11сче1шя для с11стсм11 
постача1шя 11роду~.їів. 001111 допомага1011. забсз11сч_11т11 точ11ість, узr·оджс11ісп, т;~ 
11адііі11 ість да1111х, що с клю•юо1~м11 1ІЛJІ успішrюї :1оrо~1ап1за 11ії біз11сс-nронссів, 
спрш11оть сфскmвно~гу ynpaoлimuo заласам11, опn1міз:~ції 1югісn1•11111х оnср,щііі , 
покращенню взаємодії з І(Ліапам11 та nоста•1а11ь1111кам11 , n також пщо11щс111110 
загаль11ої продую11в11ості та ко11курс11rоспромож11ості ком11u11ії. (36]. 
25 
--
чдn' 242244 . ООбПЗ 
Елемент Значення Елеv.ент Значен ня 
~лор 
(( ()рі' Сі) :.З.) 
Actor 
Оо;:<І Ооо.і 
Scr,,Js'T 
U$~ca:e :11op1cra.<◄~ 
о Mod~ 
І Koмrio~~нr 
Ко11~р 
І 
І 
package narei 
clnteiface, 
Classname Нмnе 
кriac 
• metllOd(ty~): ІуJ 
r11су11ок 2.1 - Елсмс11т11 моо11 UML (37] 
Оп11с елементів ва 1шсу11ку 2. 1. пr11стосов:н111 іі до rозробю1 прогрrш1101·0 
забезпс•1е1 111я СІ-ІСТСМІІ ПОСТ3•ІШІІІЯ ІІfЮJІУ'-їіП, П с,шс: 
26 
ЧДТУ 242244.ООбПЗ 
І Лсtог (А1,.їор, кор11стуnа•1). Це кор11стуnа•1і с11стс~ш, як1 11зnє.\Іодіюп, з 
проrрам~ш.м ззбсзnсчс1111я.м для nост:~•1щ111я nроду1,.їіо. В 11ашііі с11стсмі 11с можуп, 
буп1 адміністраторн, водії. 
2 Usc Сзsс (Варіщгг в11кор11стn1111я). Цсіі слсмс1гr оп11сус ко11кrст11і сuс11арії 
вззсмодії коrшстувn•1ів із сис1-смо10. І-Іа11р1rк.аад, :~дміністрзтор додає 1100111ї пакет. 
А.цмі11іС1ратор nерегляд3С звіп1 про доставку. Водііі 011ом1оє ст:пус доста11ю1. 
Адмі11істратор 11ідстежує пос11лку. 
З Commcnt (Koмeirrnp). Впкористовусться дл.я додnв31mя пояс11с11ь або 
пр11міто" до діаграми, щоб забсзпсч11n1 додаттооу іиформаuію або уrоч11с1111я. 
Напр11кл3д, я можу додап1 комс1гтарі про спсuнфічні в11моп1 до пакету або 
обмеження маршругу. 
4 Packagc (Пакет). Uc лоrі•111с групування класів або компонент1в, як1 
пов'язані між собо10. Нзлр11клад, пакет "Delivery" може оклю•1а11J клас11, пов'язан і 
з обробкою доставк11, такі "" Deli,•eryМanager, RoutePlanner, Deli,•eryS1n1us. 
5 Class (Клас). Цеіі елс:ме1п оnнсує стру~-їуру об'єь-rа, окmоча~очн iioro 
атр11буn1 і метод11 . Наприклад, клас Product може маn1 атр11буn1 namc, ,vcigl11, pricc 
і методп calculateShippingCostO, gel.ProductDctailsO. 
6 Object (Об'єкт). Ue конкретн11іі скземпляr класу. Н3nр11клад, об'скт 
Produc\ може представляти ко1rкрет1шіі продукт, якиіі є •шсnшою nа1<сту для І 
доставкн. І· 
7 Module (Компонент). Представляє логі•11111і:і компонент с11стсм~1, як11іі І 
може буrн замінений або змі11с1111іі 11езаJ1сж110 від і11ш11х •шст1111 снстсмн. 
Наприклад, ко~mо11с1п Paymc111Moclule відповіпас за обробку nлотсжів за ЛО<.,'l1Jв1<у. 
8 Block (Вузол). В11кор11стовується для прсдстаnлс1111я фіз11•11юго або 
лоrі•111ого nр11строю або ресурсу в с11стсмі. Напр11клад, вузол Servcr може 
прсдст:~вляти сервер, на 11кому розгорнуrа с11стсма nоста•1а1111я продуктів. 
9 lnterrace (111тсрфеііс). В11зна'Іас набір методів, як і nou1111нi бут11 
реалізовані класами. Напр11клад, інтерфсііс IDclivcryService може міст1п11 мстод11 
schcduleDclivcryQ, trackPnckagc(), 11pda1cS101us(). 
27 
11 
1 1дn' 242244 .ООбПЗ 
Си1.1вол З11аченнА 
AcouІaui;; 
Зале.,:-.ість 
············Use-••··· · ···)> 
...... . ................. [> РеалІ:~ацL:; 
------<> Arpera triя 
КО!.! ііОJІЩі;; 
Поєідомленн;; 
< ········r·e·t·u·m· ··········· 
---Єxlends----{> Узаrальнен;;;:; 
PІlC)'lfO I( 2.2 • Зв'яж11 мов11 UML (37] 
Оп11с зn'яз"іо у мові UМL по"3з3ІІО на р11сую,-у 2.2, пр11стосооа1111іі до тсм 11 
розробки програмного забезnечеЮUІ д11.я с11стем11 поста•1ан11я про.Цуh-тіо, а саме : 
І АсоціаціJІ . Цей зв'язо" показує, шо два клас11 пов'язані між собою 
МОЖ)'fЬ обм інювап1ся і11формапією. І Ізпр11клал, клас Packages поо·яза 1111іі з класом 
l'roduct, що оз1fачає, що кожс11 пакет міст11т1, од1ш або дскі,11,1«1 продуктів. 
2 Залежність. Цей зв'язок оказує 11а те, що од~11 1 КJІЗС залеж11т1, nіл і ншого, 
тобто змі1111 о одному класі мо;~.-уть вru111оап1 11а і11ш11й. І ·Іа11р11клад, клас Dclive1·y 
зале-м,пь від класу Routes, що оз ,~:~•шс, що зм і н а маршруту може 11пл1111ут11 1ш 
процес ДОСТЗВЮІ. 
3 Реалізація . Цей зв'язок по"азус, 1110 0111111 клос рсал1зус і 11тсрфсііс, 
вю11ачс1нrй іншнм класом . І ·Іа11р11ю1зд, кJІас DcJi,,cryScrvicc може рсn.пізуоат11 
і11терфеііс /Dclivcry, забезпечу1оч11 ко 11крет11і мстод11 для r111n11yuш111н тn 
вщстеже1111я доставок. 
28 
ЧДТУ 2422<14 .006ПЗ 
4 A.rpcraui.я . Цсіі зв'язок оказус на те, що ОJ\ІІІІ клас сю111л;1tї1,ся :1 і1111111 х 
1v1acio, але 1ю1111 можуть іс11уnап1 11езі1J1сж110 . Нttnр11 кл11д , юшс C:irgo ~,ожс 
ск1щдзт11ся з кількох 0G'с1,їів класу J>ackages, але n.1ксп 1 можуп, ic11yoan1 окrсмо 
від uантажу . 
5 Комnоз,ruія . Цсіі зв'язок 11оказуr., що од1 111 1v1oc сt<л:щаt-11,ся з і11ш 11 х 
класів, які не можуть іс11ущ1п1 окремо оід 11ьоrо . Н:шр11ю11111, юшс ОнІс1· може 
скла11.~п 1ся J кіл t,кох об'с 1,,·ів КJ1асу Ordc1·І1c111, які 11с мо1от1. • се11су без замош1е111111 . 
6 Повідомлс1111я . Цеіі зв'язок 011кор11стооус11,с я для 11к ~зіо1т обмі11у 
і11форма11ісю збо n111U111кy методів між об'с"тамн . І І аr1р11клад, юшс Dri,,er може 
відr1равлят11 повідомле1111я класу T1·ucks, щоб 01юв11т11 tїату\: тр:111спорпюго 
засобу. 
7 Пооср11е 111111 . Цей зв'язок вказус 11а те. що метод nooepr.ic з 11а• 1 е1-111JІ 
іншому мс1оду. l la11p111uraд, метод ca lculв1eSl1ippi11gC0s1 у ю~ас і L)clivcry може 
повертаr11 з11в•1е1111я методов і updatc:OrtlerTot.J І у клuсі Order. 
8 Узш·ш1 ь11с 1111я . Цсіі зu'язок 11оказус. що од111 1 КJІіІС с уз111·~1J11,11с1111ям 
(батькіоськ11м КJ111сом) дJІя і1111111х кJІасіn. І·Іш1р11кжщ, клас Vcl1iclc може бут11 
ба11,ківс1, к11м дJІя класів Truck та Va11, які усnадкоnують з11rаль11і хар111пср11сп1к1t 
1тш1сnортн11х засобів . 
2. 1.3 1'06011а область модСJ11ова1111я 
Робоча oбJJ3CTb МОДСJІ ІОІJ3ІІ ІІІІ ЩІ}! СІІСТСМІІ 11ос·rа•1ання продуктів 0КJІІ01І3С О 
себе різ1юма11іп1і ас11ект11, які можно 1ш11•111п1 та пrоащu~ізувап1 дru1 розробк11 
оnтr1маJІІ,ІІОГО рішс111111 . Ос1. КJІІО•юn і ІJСІlСКТІІ , qкі МОЖІІ3 ІІКJІІОЧІІПІ ДО робо•юї 
області моделюва111111 : 
ПроцесІt 11ui:ra•ia1111я : МОДСJІІО03ІІІІJІ та а11uліз КОЖІІОГО "РОКУ про11ссу 
nоста•н~1111я , ою11очаю•нt замоw1е111111, дост11 11ка та nр11ііма11ня тonapin. 
2 Управлін11я продуктам11 : М(ІJІСJІІОІJаt11111 процесів упрnuлі111 1я nродукп1м11 , 
ВКJJ1011аю•ш про1·11озуu;111ня по1111ту, 011111мізацію рівнів зanaciu. 
З Лоrіст11ка та тра11спорт: а11аніз сфект11111юсті трш1с1юрт1111 х мnршруті11 , 
ск,1адсью,х просторів та ло1·ісrн•11111х 011сра11ііі для зuбсзnс•1с111 111 шu11ю<ої та 
ефскr11n1юї дост:шкн продуктів. 
29 
чдТУ 24224..І ООбПЗ 
..І Tcx.11 oлoriq11i р1шсн11я : молслю11.11111я ОІІ~'ОІ\ІІСТ3 1ІІІЯ тех І І(\J10ГІ'ІІІ ІІХ 
р ішс111,. тзкнх як 11рограJІшс забсзпсчсння для упрамі1 111я з,111асащ1 , с11стс.,111 
аВТQМ3111J3UіЇ І10СТ3Ч3ІІІІЯ Т3 31J(IJ1i111..-a па1111х . 
5 Упраnпінш р11з11..-::~м11 : а наліз потс1ш1і1111 1х р11 з11 кіо та розроб ..-а стр:пспіі 
їх управтння. 8КІІІОЧ3ЮЧІІ :~зтр11мю1 )' ПОСТ30Іі3;1.. з;~ап11сть 113 ІІООСJlІІСІІІІЯ тоu.~ру. 
-
l ·- ·-l -
... -
-- -- \ +J 
Рнсунок 2.3 - Б11ок-схсма поета1111ої poбonr с11стсм~1 nоста•1а1111я ПІ)Оду~..тіu 
Блок-схему показано ва р11сунку 2.3 для с11стем11 nос1·а•1а1111я nроду~..тіо 
демо11струє фу11кuіонал1,11111і процес poбonr с11стсм11 упраол11111я достаокам11, 
зокрема взаємодію корнстува•rів різ1111х ролей (адміністраторів та оодіїо) ·• 
CltCТCMOJO. Во11а показує 11ослідо1111ісn. !ВІЇ та МОЖJШDі сце11:'Ірії ОІН(QрІІСТ(ІІІІІЯ 
С ІtСТСМІt , під входу ДО ВІІІФІІаІІІІІІ різ1111х операцій. 
Пояс11е1111я 
Старт : Початок робот11 с11сте~t11 . 
С1орі11ка входу: Кор11стуоа•1 оводнп, соої об11ікоnі дані . 
T1tn кор11стуоа•1u : В11 ·та•1ас ТІІП кор11стуо,1•1.1 (одмі111стратор або водій). 
Лдмі11іс-rратор: 
- rо1юо11а сторінка адміністратора : ос110111111 ІНІІІСІІІ, nдм і 11істр11тора ; 
J(J 
ЧДТУ 242244 .006ПЗ 
nос11лк11 : стоrінка з і11фоrм:щісrо пrо пос1шк11 : 
npoдy",i1 ; інфор~1аuія про npoлyi..,11 о пос11Лк:1х; 
ва11п1ж : сторі1~ка з інформаuіс.rо про о.11rт:~жі ; 
в:i1rr:iжimш : сторі.u.ка з і.ІJформ::щіао про ВJ11тажіо1ш ; 
інф. в::uпажівю,: дсr.~ль11а інформаuu~ 11ро ва11тажівк11 ; 
водії: сторін.ка з і.uформ;щісю про водіїв ; 
інф. водіїв: дсталь11а і11формШJіJІ 11ро водіїв ; 
поставкн: сrорінкз з inфop~1auic10 npo лоставкп ; 
інф. доставк11 : детальна і.11фор~1:~uія про доставки; 
звіnt : сторін~...~ дл.11 генерації звітів про доставк11 ; 
BIL'WI: внхіа З СІІСТС~UІ. повер11енн.11 11(1 сторіш,-у входу. 
Водш : 
rоловна сторіnка водія : ос11ов11а панель воді,~; 
достав~..11: сторu1ка з і.11формаuією оро поставки; 
і11ф. достаn1ш: деталь11а інформаоіА про доставки ; 
звіт11: сторінка нля ге11ераuії звітів про доставк11; 
вихід : в11хід з с11стсм11, повернення на сторі11ку входу. 
Кінеuь : Завершен1111 робоn1 в снстемі. 
2.2 Фор~rува1ш11 та а11аJ1із в11~1ог 
2.2.1 Формування вимог до програм11оrо забезпечення. Перо111111і і детальні 
ВІІМОПІ. Вю,ІОГІІ замовm11ш і розро61111ка. ФУ1ІКUіо11w11,11і 111 11сфункціо11ал~.11і 
ВІІ)ІОПІ 
Фор~1ува1ІІІJІ 011моr до nporpaм11oro забезnе•1е1ш11. Процес формуuа111111 
ВІШОГ ДО програМІІОГО забезпе•tСІІІІЯ ДЛ.11 СІІСТСМІІ поста•ІЗІІІІЯ продукті ос КЛІО'ІООІІМ 
етапом розробки. 811моп1 nоділя1оn.с11 1111 nepв111mi і дста.аь11і, в11моr11 з::шоою1 ка і 
розроб1111ка, а також функuіо11а.ль11і та 11ефупкuіо11аль11і в11моп1. 
Перо11n 11 і оимоn,. Перв111111і 011моп1 для с11с1·см~1 nост:~•1:11111я nrодукrів 
01v1.ючаrо11, загальні хара~..-rер11ст111ш і ос11ов11і фу11кuіо11ат,11і мож;1111rості с11с·1 ·см11. 
801111 011з11ачаrоть oc11om1i 11аr1рямк11 розробю1, окрсстоюч11 ю1ю•1ооі 11ро11сс11 T;.J 
З І 
ЧДТУ 242244.ООбЛЗ 
ці;,і, R'-i МUІОП, бут1t лос~m1уті. Ці 0 1\МОПІ форму1оn,с" ІН) ПО'ІUТ1'0l\О~ІУ СПІПі 
nросктуваНWІ t зада,оть зuг:~.nьиу "-01щсn.ці10 с11стсм11 пост:~•1ашІJІ npoлyi.,·io, о с:~мс: 
с11стсма nов1111на забезnс•rува111 можлноість логіну r.i обробІіу замош1с11ь 
від кпіс1пів; 
система nовнтта бут11 можлпвість оідстсжуваn1 прОІ\)'1-їІІ тоо:~ріо; 
снстема nов1111нв 11адава111 З.\\і.ну даn1 дост;~о1ш. 
Дen..'tьui ВІІМОГІІ. Дстат.ні 81\МОПІ Ді\Я СUСТСМ ІІ пocтa•(3J lfJ.Jj прОД)'І<ТІВ Є 
1.1Jш.-ре11вооз1111~ш та розш11рс1111м11 nсрсіям11 перв111ппrх om1or. 801111 011з1ш•1шот1, 
технічні та фу111щіо11аль11і аспе"ї11 спстс~ш з 011со1юю дсї.1Лізаціс10. На оснооі 
ДСТ3.'ІЬІІІІХ ВІІМОГ розроб11111ш можуть створюват11 1,.'ОН""J)СТ1Іі модулі та h'O~ffiOIIC/IПt 
с11стсм11 , ззбезпечуючп точну рсаліззuію всіх заnла11оваJ111х фушщііі, а саме: 
с11стсма повннна надаваn1 звіn1 про обс"пt продажів . 
11р11 створе1111і замов.пеНШІ система noв1m11a nеревірят11 наяв11ість товар ів 
на склад,. 
СІІСТСМ3 noвrnшa маn, можл11оість входу із р13 1ІІІМІІ ролям11 
(адм ін істратор, водііі). 
В11мог11 з.11мовu111,.;а. 811.мопt ззмов,ш-ка мя с11стем11 постач:~m1я продуhїіо 
відображають nотрсб1t та 0•1ікувапш1 кінuев,~х кор11стува•1ів і замооннка с11стсм11. 
Вони в11з11а•1ають , ,rк система пов1tнна функціоuуват11 з то~юt зору кор11стува•1ів, 
ВКJ1ю•1аюч11 зручніст~. в111юр11ста1шя, шо1щкість робоn 1 , доступпість та 111ш1 
ас11екn1, ВЗЖJНІВі ДЛЯ ефе~-їІtВІІОЇ робот11 ~-'ОрІtСТ)'В3•ІіВ із СІІСТС:МОЮ, 3 саме: 
іtІТС()фейс СІІСТСМІІ ООВІІІІС\1 буn, і11туЇТІІОІІО зрозумілІІ~t j JІСГЮІМ у 
ОІІКОрІІСТЗІПІі ; 
СІІСТСМЗ ПООІ\11113 забезnе<rуваТІІ ВІІСОК)' ІІІВІtJІ І(іСТЬ обробки З3МОDЛСІ\І.,; 
снстема поо 111111а буn, доступ11ою через веб-браузер без 11собхід11ості 
вста11оолс11ня додаткового npoГJ>n~moro з:~бсзпс:•1с11 ня. 
Вuмоrи розро61111~.:а. В11моп1 розrобю1к:~ мя с11стсм11 11остача111111 11родуктін 
ОХОПЛІОJОТІ., тех11і•111і та 011yrpi11111i хар.11<Тер11с·n~ю1 СІ\СТСМ ІІ. Ці ОІІМ0111 ОКЛІО'НІІОТЬ 
011бір ТСХІІОІІОГііі, архітекту())' СІІСТСМІІ, МСТОДІІ зобсз 11с•1с 111 1я бсзпск11 , 
32 
чдn1 242244.ООбПЗ 
мзcorrJбou:111icn, тз іuші тсхні•111і зс пс~..ї11 , я~;і ззбсзпс•1у1оп, 11.111ііі11у і с1·абіт,11у 
роботу nporp:iмнoro ззбсзnс•1сшUІ , ;i с:~мс: 
с11стсма ООВІІІІШІ в11~..-uр11стовувзт11 rсля11іії11у базу !НІІІІІХ MySQL ДJ\Н 
збері.га111 1я даnнх; 
1,.-0ll t1 (10rp3МJI nоо1111ен бутu 113ІlІІС3ІtІІЙ МОООІО РІ·ІР З ОІІІ,.1)(1ІІСТ:ІІІІІНМ 
фрсіімвор~;а Codelgni1er; 
с11стсма nов1111на nідтр11муRЗп1 масштабоВ3ніст1, пля обробк11 збіл~шсння 
~;іль~..-ості замо1111с11ь у майбутньому. 
Фу111-nіо11а.1ь11і ВПМОГІІ . Фу111щіо11аль11і ІІШІОГІІ оnuсують КОLІ.І(()СТІІі фу111щії 
тз можливості с11сте~ш постача1mя продуктів. 8 01111 в11з11а•1аюn., що саме снстсма 
11ов111ша роб1rп1, 111u1ючаюч11 обробь.;• замовлсш.., управління продуктам 11, 
логісп,ку, звіmість та інші oncraoiї, що забсзnс•І)'ІОТЬ 0111.-011а111~я основ1111х бізнсс­
проuесів, а саме: 
сuстема 11ов111111а дозволяп, 1юр11стувачам створ1ооап1, peдaryвant та 
в1111ЗJ1яn1 замомсm1я·; 
с11стсма повшша маn1 змшу та рсдаrувз1111я статусу замоnлс1111я ; 
с11стсма пов11нн.а uадават11 інтерфейс для введенпя да1111х про uові тооар11 
та іх харакrср11сn1.к,1 . 
ІІсфу111-uіо11аль11і 8ІІМОГU. Нсфуuкuіонал1,11і ВІІМОПІ ОХОПJІЮJОТІ, ЯКІСНІ 
характер11сппш с11стем11 постача11НJІ продуктів, такі як nродукт,wність, 11оді.іін.іст1,, 
без11ека, зручність 011кор11ста1Шя, масштабованість тощо. Вош, в11з11а•1ають, я~; 
с11стсма noв1m11a в11коuуоаn1 свої фуmщії, забсз11е•1у1оч11 011сок11Jі рівеш. 111>-ості та 
задоволь11.111оч11 в11моr11 корпстувачів щодо r1роду~.ї11оності та 11адііі1юсті, 11 саме: 
с11стема повщmа буrн заХ11Wс11а о ід 11сса111щіо11ова1юго дос·1·у11у за 
допомогою меха11ізм ів аутентнфікаuії та автор11заuії; 
с11стема rюо11н11а підтр11муnат11 стабіль11у роботу nrorpaм11oro 
середов11ша; 
- с11стема ІІОВІІІІІІа м.mr ШОІІДІСІІІЇ відгук З базою діІІІІІХ Т:І самою СІІСТСМОІО. 
2.2.2 Формуозш,я в11мог за 1юпомого10 ,:~іаграм 11 нrснсдс,піо 
33 
чдn' 242244 .ОО6ПЗ 
f О,' ICJeOl,t с:тс,,,. ..... 
л 
&ро\ 
Р11сугtок 2.4 - Діаграма nрс11сде11тіо с11стс~ш nоста•1а~111я проду,стіо 
Діаграма прецедентів (use case diagrJrn) показано ш1 р11су11ку 2.4 с11стсм11 
110стача1111я ІІJЮдуктіn дсмо11с1рує uзасмодіrо кор11стуnачіо і1 с11стсмою. Діагр,1ма 
вклю•1ас двох акторів : "Алмі11істратор" та "Водій" . Ос,. детат,1111і1 on11c кож1101·0 
СІІСМСІfІ)' Т3 ЇХ ВЗОСМОдіJі : 
Актор11 : 
- адмі11істратоr: мас доступ ДО ГОЛОВІІОЇ СТОf1 ЇІІКІІ СІІСТСМІІ, 1111ко11ус JІіЇ, 
rюв'язані з уnrав11і1111ям nос1111кам11, 11родуктnм11, uо11п1жсм , о:нrтажішюю тn 
nодіям11 ; 
ІІОJІіі1 : мас )ІОС'І'УП ло 1·01ю1111о'і CTOf1illl(II СІІСТСМІІ , 1111ко11ус JLЇi, 11011'111n11i :1 
доста ОКО І О RЗІІТажу. 
34 
чдn' 242244.ООбттз 
Прсuсдс1п11 : 
rоло1.111з сторіш,11: DOC1)'11JJ:І ,11, дл,1 здмі11істр:зтор:1. r.iJ.. і мя оолія; 
ПОСІІЛКІІ : ВІІt..'ОрІІстовусться :шміністр:~тором МА у11р:ш11і1111я ПОСІІJІКІІМІІ ; 
npolly1'ї1t: ВІІt..'Ор11стовусn,с11 адмі,,істр.:~тором для )'ІІJ)3UJІ іШІЯ 
nро..З.)'1'"Т3~ІІІ: 
вантаж : в111-.-ор11стовусn,ся ааміністрзтоrом для упрзмі1111я 11<111 тзжзм~1 ; 
вантажівка : внкорJJстовусться адмі 11істрзтором лля уnrзвліш,я 
ваІп-ажІВКіL\111 ; 
возії: ВfІt..'Ор11стовусться адмі11істр3ТОром lІЛЯ уnраолі1111я водіямJJ ; 
достзвка: в111-.-ор11стовується як адміJtістр3тором , тзк і водісм дм 
управ.пі11ня достав1-.uю вз,rтзжів; 
ЗВІТ: ВІІКОр11стовусrься ІК алмі11істрзтором, Т3К ВОДІЄМ для гснср:щії 
звіті11 про лостзв1-.-у. 
Зв'JІЗк11: 
nродукr11 «includc» ПОСІІЛКІІ; 
83JІТ3Ж ((includel) ПОСІІЛЮ1; 
вантаж «include» вз11111жівJ,:;І; 
вантаж «include» водії; 
- доставка «include» ваrrтаж; 
звіт «include» достаВJ,:;І. 
2.3 Прое1,.·тува11nи логі•111ої стру~-,:ур11 програм 11oro ~.:0~1ш1скс)' 
ПроСК1)'83ІІІІЯ лоrіч1юї стр)'Кl)'РІІ nроrр:швого t..uмш1сксу для с11стем11 
nостз•1аш1.11 продуІСТіВ Є важлпвr,м етапом, Щ() 1!1131'1:І'ІЗС ()СІ!ОDІІі КОМПОІІСІІТІІ 
с11стем11, їх фу1rкціо11альJJі можл11вості та взаємодію між 1111м11 . Це ззбсзпс,І)•с 
створе111111 пrучкої, масштабов:шої тз сфс"п1в11ої с11стем11, якn відповідnс 01шоr.1м 
біз11есу та забсзпс•1ус 01,со•кfІіі рівс11ь обслуrооуваюІЯ кліс111·іо. д0Jооляю•1 1 1 
ОІІПІМізуваn, npouec11 ДОСТЗВКІІ, ЗМСІІППІТІІ в11трап1, підDІІЩІІТІІ то•111ість 
шо11дкість обробки замоме11ь, а також забсзпс•111п1 11розорісп, п, 1ю11ч1011а. щ1 ucix 
ста~,ах rюста•~.1111111. 
2.3.1 Діограм11 к.:н1сіu 
35 
ЧДТУ 242244 .006113 
еа,,, r,11:u 
P•ur;i1> 
•' 1 
•1 
.• І •' 1 
L,.,--"" •' 
l\odu<І 
І ' 
(),"·НІ 
•' 1 м,..., 
·1 • 
. 
Аом, 
Ropon, 
-
Р11су11ок 2.5 - Діаграма класів без атр11бутіо с11стсм11 110с1·а•1n1111я нродуктіо 
Діuграма класів без атр11буt·ів nокв:111110 110 р11су11ку 2.5 дня с11стсм11 
11оста•1а1111я nродую·ів nрсдстuоляс структуру с11сте~111 за дщюмоrою 11 кої мш,ша 
дсталь110 ро1гля11у111 всі К11ас1 1 цісї діа1·рам11, а саме: 
- User (Кор1 1стуоач). В ід11ові1111є за збеrіга1111я і11формоції 11110 1юр11сту11а•1і11 
системи; 
Dasl1board (Панель уnраолі1111я). Місп1п, з11гш11,11у і11форм11цію та 
стат11с111ку про снстему; 
rackagcs (Пос1111к11). ІЗідnовідає за 16еріп11111я інформанії про nос11тш; 
Producl (Прод}'КТ). Збсрігос і11формаціt0 про 11родукт11 , які пос·1·а•ш1011,с11; 
Roi11cs (Маршрупt). Збсріr·ас і11фоrмnці10 11ро мар1щ1уп1 достаок11: 
Cargo (1За11тюк). Збсрігuс інформацію 11ро 11одії11. я1tі здііісшоюп, 
достаuку; 
J(i І 
L 
Чдn' 242244.006ll3 
Trucks ( І3а11тажівк11 ). зо-с p1· r.ic і11форм:1ні10 про ІІЗІІ1':1ЖІОКІІ, 
011~1'р11стооу1оться д.ru, дocr.inк11 ; 
Dcli,·cl)' (Дост:~ока) . Збсріr.:~с і11формаuі10 про npoucc достз.11ю1; 
Rcports (Звітн). Збсріг.Jс і нфор~нщ і10 11ро звіп1. поо'яза11 і з дuстаuко10 та 
СТ:ІlІОМ 83JІТ3Жів. 
......c()q 
~..J~.) C"flli 
. ·-i=i 
--:r..•) ~ 
.._ 
·,...,-...,. " ~.G"•• '" І'о 
V<>'> n 
........ . 
с..о, 
а,: 
...... .~,,- ~"' ~-~І! 
~:и f.;-.-:U 
•.-=: 9!І .e:_na. r4 
с;= " .'-.~...".  • .n;t.n ~ _t'.CI. I': 
-,nt.O_fA:8\f ~ •:"'М s:т, 
.t_\; е .. ! -.. .. ·(,.-.,~.-n" ' .:•.JЧ!t щ 
<C'. 1"'n '<_;nd;4n .. c:_•;r" ~(~ 
?ІХ. ,;,,c.q) ., - ..,._p:u..,..,n ' <ІQЩО .....  _..-..-. -о 
~~-""'~-r •-•1 ~ .,t, «•~) n ~Xi.c.ql,) n ·І . .,,,.~.,,,r.,:  
.... ~- ~ ~ ~,:о -~~~~ 
-.с.-п" ~ ) r.:: -~_v..:J•) 4t:.li ..,.: . n 
~-~•) ~ ... O,:::,tu) zr, .. ..p. ,_noQr, .v;.~ rr~ 
".c:_q) n ~-r,ь) ! 
lt ~..-...; .~n ~._;;а») т-
--W:_i;'ltj' d ~-= ....... ~.i.f) ~ .. .; 
~~ )г •.1 n 
~ };,,,?" -e_:w. ,1 ~ -~) (Q 
.~,.,.... - •wn_r. :.:., со 
'#~ ~ ..... ,.
. . .. 
-;~d ! 
~,. .т ,о,о) " ~ 
.. ""~.«-:. .~. ,,,,,  м...., 
/ -....., ,c,-.,r:;- ~ 1"'!f::J• .:U 
- ...-.:.i-•~ :о 
.-t...:,:,:.l(,),C..h,',1.  •D t:f'; 
4"-'і'" ~ 
.......~ c:r; .W.. .,L,ї, 6 
.<,.,_.а....а, .,.,.  -- .'  . ---~ :о 
•;•'С.,1~;)~ 
-:~з ет,; ";С-...-0 І:т) 
.,.,..,. -~ ./ -•;c,-:.:c~.,r/,~t; 
~-,-
.~.,,u,,. .:.,..·•  :а --;r...:xrw) 
-л~ ·"'-"""(] ...  
-~..С:.) ЦІ ~-•.-...,!а -"О ""'І 
Р11сунок 2.6 - Діаграма класів с11е1·см11 1юста•ш 1111я 11родуктіu 
Ця діаграма Є діаrрамо10 класів СІІСТСМІІ ІІОСТ.1'13ІІІІЯ 11 (1 Одуктіu, ІІК3 МОJІСJІІОС 
СТр}'1<Т}'ру да1111х с11стсм11 уг1раnлі1111я достаокамн . Do11a міе11п1, 1<11нс11 , 1ІІ(і 
37 
ЧДТУ 24224-1.006113 
прс.nст;,11\,111 ю11, ос11о в11і с~,11 ості с11стсщ1. а Т.Іhl)Ж їх :tТТІІІG)'ПІ rn мсn1,111 110~-:11~110 
11а р11сут.-у 2.6. 
Опнс діаграм11 : 
К.1ас Uscr. Uci! 1u1ac nрслсrJвляс h-OJ1ІІCt)•11..1,1io с 11сн:~111 . 
ЛтрІІб),~t : 
uscr_id: і nІ - )11ікалм111іі ідс11111фі1,аrоr i.-or11c1)'!І.1'Іn; 
- uscmamc: string- ім '• i.-or11cтyna,1.i : 
- pass"·ord: s1ring - narom, i.-op1tc1)•n.1,ш : 
- rolc: string - роль 1,.--ор11стуІJЗ•1з (аляіuістраrор або 11олі1ї ). 
J\1сто.1111 : 
gcluscr_idQ: іпІ - отр11мзn1 шс1111tфі1штор ~-орнстувз•ш ; 
gcІuscmзmcO: string - отр11маn1 і.'І'я ~.-ор11стуозчn ; 
- gc1pass,vordO: string- отр11мзn1 поро11а. t."()r11стуо.1•ш; 
- getroleO: string - отр1шзт11 рол~, кор11с1)'ІІЗ•1а; 
Клас rroducl. Цеіі ЮІзс nрсдстаnпяс nроду1\'111, що містнп,ся 11 11 ос11л~nх. 
Лтр11буn1 : 
- id_produc1: і,11 -унікnлмшіі ідс11т11фіюпор продую)'; 
producІ_namc : string - 11азвз продую)'; 
kg: int - ваг.~ проду1---ту о кілограмах ; 
- t_k~•: in1 - об'см проду~,.--ту. 
Метощ1 : 
- gc1id_produc1(): int - Отр11моn1 іде111·11фік.а.-ор 11роду1,.,у; 
- gelproduct_namc(): string - Отр11м11n11шз11у npoдyirry; 
- ge1_kg(): ins - Отр11моп1 nary продукту; 
gcІ_t_kgv(): іпІ - Отр11мат11 об'см 11родую)'; 
- sc1produc1_1шmc() : s1ring - Ос-rо~юrшп, 11nзоу продукту; 
- set_kgQ: іnІ - Ос-г.11ю111п11 щн·у 11ропукту; 
se1_1_kgv(): int - Ост1111оu11т11 об'см 11роду1<1)'. 
Кlнtс Roulc!I. Це/і ІUIUC 11редс-rа1111яс м11р111рут )ІОС-ІШІКІІ , 
Атр11бут : 
JX 
ЧДТУ 242244.ООбПЗ 
- id_rou1e: int - унію1Ль1ш11 ідс1m1фік:пор маршруrу; 
roule: stri11g - ош1с маршруту. 
Метод11: 
- getrouteO: string - отр1шат11 on11c маршруту. 
Клас Packages. Цей клас 11редстааляс пос11лю1. 
Атрпбут11 : 
id_package: іnt - уuікальш1іі ідентифікатор поснлки; 
- №_package: int- номер посилки; 
customer_ name: string- ім'я кліс1па; 
- рІюnе: int - телефон клієнта; 
- address: string- адреса кліснта; 
- id _route: int - ідентифікатор маршруту; 
qty: int - кількість товарів; 
t_kg: int - загальна вага ; 
- t_kgv: int - загальний об'єм; 
- data: data - дата ств,орення; 
pstatus: inl - статус посилки; 
id_product: int- ідентифікатор продукту. 
Методи: 
- getid_package(): int - отримат11 іде11п1фікатор nосш1кн; 
- get№_package() : int - отримати номер пос11mш; 
- getcustomer_name(): string - отримати ім'я кліє11та; 
- getphone(): int - отр•11мат~1 телефо11 клієпта; 
- getaddress(): string - отримати адресу кліс1па; 
getid_route(): int - отримати ідентифікатор маршруту; 
- getqty(): int - отримати 1<іль1<ість товарів; 
- get t kg(): int - отримати загальну вагу; 
get_t_kgv(): int - отримаnt загальний об'єм; 
- getdataO: data - отр11маn1 дату стооре1111я; 
getpstat11s() : int - отримат11 статус пос11лк11; 
39 
чдn' 242244 .006ЛЗ 
- gclid_productO: івt - отр11м:~п1 іде1m1фікатор nролукту. 
Клас Cargo. Uefi клас nредсr.~вляс вант:~жі. 
Атр11буп1: 
- id_cargo: int - унікаm.1щй іде11п1фікатор вантажу; 
sbedule: data - розклад доставки; 
eod_shedule: data - кінцева дата дост.~вкн; 
id_truck: int - ідеun1фікатор вантажівю1 ; 
id_driver: int - ідевт11фікатор воді.я; 
- t_kgv: int - об'єм вантажу; 
- capacity: int - місткість вантажу. 
Методи: 
- getid_cargoQ: int - отримат,1 ідеuтифікатор вантажу; 
- getsheduleO: data - отримати розклад доставки; 
- getend_slteduleO: data - отримат11 кіІщеву дату доставки; 
- getid_ truckQ: int - отрт1-ат11 ідентифікатор вантажівю1 ; 
- getid_driverO: int- отримати іде11тифікатор водія; 
- get_t_kgvQ: int - отр1-1мати об'єм вантажу; 
- getcapacїtyQ: int - отримати місткість вантажу. 
Клас Drivers. Цей клас представляє водіїв. 
Атр11бути: 
- id_driveг: int - унікальний ідент11фікатор водія ; 
- driver: string - ім'я водія; 
- phone: int - телефон водія ; 
- cmail: string - слекrронна пошта воді.я. 
Методи: 
- getid_driver(): int - отримати ідентифікатор водія; 
- getdriverO: string - отримати ім'я водія; 
- getphone() : int- отримати телефон водія; 
- getemailQ: string - отримати електро1111у 11ошту водія; 
_ setdriver(): string - встановити ім'я водія; 
40 
ЧДТУ 242244.ООбПЗ 
- gctid_product(): іпt - отр11111аn1 ідс11т11фікспор проду..-ту. 
Клас Cargo. Цей клас прсдстаw1яє вантажі . 
Атрвбути : 
- id_cargo: int - унікальн11іІ іде11n1фіJштор вантажу ; 
- sЬedule: data - розклад доставки; 
- end_sЬedule : data - кінцева дата доставк11; 
- id_tn1clc i11t - ідентифікатор ва•rтажівю1; 
- id_driver: int - іденntфікатор водія ; 
- t_kgv: int - об'єм вавта;t..-у; 
capacity: int - місткість ватажу. 
Методн: 
- getid_cargoQ: int - отримат11 ідентифікатор вантажу; 
- getsbeduleO: data - отримат11 розІ<Лад доставЮІ; 
- getend_shedule(): data - отримати кіR11еву дату доставки; 
- getid_truckQ: int - отримати ідеmифікатор ваптажівки ; 
- getid_driver(): int - отримати ідентифікатор водія; 
- get_t_kgv(): int- отрнмати об'єм вантажу; 
- getcapacity(): int - отримати місткість ва.пажу. 
Клас Drivers. Цей клас представняє водіїв. 
Атр1tбути: 
- id_driver: int - унікальний ідентифікатор водія; 
- driver: string - ім'я водія; 
- рІюnе: int - телефон водія; 
email: string - електронна пошта водія. 
Методи: 
getid_driver(): int- отримати ідентифікатор водія ; 
. ' . 
- getdriver(): string - отримати 1.м я водtя; 
- getplюne(): int - отримати тслефо11 водія; 
gctemail(): string - отримати слектрошrу пошту водія; 
- setdriver(): string - встановити ім'я водія ; 
40 
..J 
чдТУ 242244 .ООбПЗ 
setpl1011cO: іпt - ост,шов1п11 тслсфо11 водія ; 
- seteшailQ : string - встанов11т11 еле1,.їрош1у 11оwту водія. 
Клас Trucks. Цсіі клас представляє вантажівк11. 
Атр116уп1 : 
- id_truck: int- унікальний ідснn1фіюпор вnнтажівю1 ; 
- truck: string - 1:1азва взнтажівю1; 
- №_plate: string - uомерннй знак вантnжівкн; 
capacity: int - місткість вантажівки. 
Методи : 
getid_truckQ: int - отримап1 ідеuт1tфікатор вантажівкн; 
- gettruck(): string - отр11мат11 назву вантажівки; 
get№_plate() : string - отримати номерний знак вантажівки; 
- getcapacity(): int - отримаn1 місткість вантажівки; 
- settruck(): string- встановнти назву вантажівки; 
set№_platc() : string- вста1юо1п11 11омерш1й знак вантажівки; 
- setcapacity(): int - встанов11n1 місткість оа1пажіою1. 
Клас Delivery. Цей клас представляє доставку. 
Атрибути: 
- sl1edu.le: data - розклад доставю1; 
- end shedule: data - кінцева дата доставюt; 
- truck: string - назва ва1пажіnю1; 
- drivcr: string - ім'я водія; 
capacity: int - місткість вантажу; 
- action: ЬооІ - стан доставки (окп1011а або завершена). 
Методи: 
- getsl1edule(): data - отрт,н1ти роз1<Лад доставкн; 
- getend_shedule(): data - отримати кінцеву дату достщщ11; 
gettruck(): string - отримати назву ва~пnжів1ш; 
- getdriver() : string - отримати ім'я водія; 
- getcapacity(): int - отр11мnт11 міст1<ість вантажу; 
41 
ЧДТУ 242244 .ООбПЗ 
gctactionO: Ьоо\ - отр11мnn1 стан достnвкн. 
Клас reports. цей клас nрсдстаuляс звітІІ про лостnокІІ. 
Атр116ут11: 
s\1cdule: data - розклад достnвю1 ; 
end _s\1edule: data - кінцева дата достnвк11 ; 
- dri\'er&truck: string - інформація про водія та вантажівку; 
- action: Ьоо\ - стан звіту (акт11в11111ї або зnоершснніі). 
Методn : 
- gets\1edulcO: data - отр11моn1 розклод достаою1; 
getend_s\1edule(): d:на - отр11мат11 кі1щсву дату доставк11 ; 
getdri\'er&truck(): string - отр11мат11 інформацію про водія п1 вантажівку; 
- getaction(): ЬооІ - отр11мапі стан звіту. 
Віднос11н11 між класа11111 
один кор11стувач може мати одну або 1<іл1,ка ролеіі (адміністратор або 
водій); 
- один водій може булі пов'язаний з багатьма доставкам,, і вантажами ; 
- одна в,штажівка може бут11 пов'язана з багат1,мn достовкnм11 і оантажа11111; 
один маршрут може міст11т11 багато посилок; 
- ОДІtІІ продукт може ВХОДІІТІІ в багато ПОСІІJJОК; 
одна посилка може містит11 од1111 r1родукт; 
- оди11 звіт може включап1 інформо11ію про одну доставку. 
2.3.2 Діаграми па1<стів 
Ця діаграма є діаграмою пакетів с11стем11 поста•ш1шя продуt("Гіо, я1<0 nокnзус, 
як різ11і •1асти1ш с11стсм11 орга11ізово11і в лоrі•ші rpyn11 обо n.1кст11. Кожен llnt<cт 
прсдстаw1яє окрему фу111щіо11ал1,11у област1, с11стсм11 . Підснстема овтор11з1щії 
відповідає за управління доступом кор11стува•1ів до с11стсм11, міст11т1, фу11кції дт1 
реестрації, входу та упраw1і1шя праоа11111 достуr1у. Процес створс11ш1 r1роду1,ту 
займається додаванням нових продуктів до с11стем11, uю1ю•шє uuедс1111я та 
зберігання інформації про продуктн, такі ЯІ< 11азnа, 01111с і ці11а . Процес сп1орсн11я 
nос11лю 1 відповідає за формування rюс11ло1< з 11роду1<Тіu, зобсз1·1с•1ує 11nt<y1111111111 то 
42 
ЧДТУ 242244 .ООбПЗ 
мзркувnн11я ПОСІІЛОК для ПОДtulІ,LІІОЇ ДОСТ3DКІІ. Пrоцсс С11\О()СІІНЯ nолія місТІІТІ, 
функuії для ДОДЗD3ІІІІЯ ТЗ упраnлі1111я і11форм:щісю llJ)O ооліїо, OІUllO'IRC /ІDСЛСІІНІІ 
І\'ОІfТ38'--ПШХ ДЗЮІХ Т3 інформації, дсталь11ішс це МОЖЛІІDО nсрсГЛЯІІУТІІ ІШ р11су1н<у 
2.7. 
······•- ················. .,  
..... , 
Рисунок 2.7  - Діаграма т1кетіо СІІСТСМІІ ПОСТІІ'ІІІІІНJІ 11родукті1.1 
Ош1с діаграм11: 
Uscr Managcment (Управління кор11стуоо•шм11) 
Цей пакет містип, КЛІІСІІ та КОМ110ІІСІІТІІ, 1щі оіщю11ідІІІОТІ, 'JІІ y11p11iu1i111111 
кор11с,уоа•1ами системи, аотс11тнфіющію то 11осту11 до і11формо11іІі1юї 11n11c11i. 
І<ласи : 
- User - ~<Лас для уnра1111інт1 і11форм~щісю 11ро 1юр11стуоn•1і11 , І.ІІ(JІІО'ІГІІО•111 
їх11і рОІ1і та облікові дані; 
- Logi11 - JUlilC ДJISI у11ро1ші1111я процесом ІJХОду IIOJШCTYLIR'liІJ у с11стему; 
,13 
чдn' 242244 .ООбПЗ 
Dashboзrd - ЮІас мя 11аJІЗJ111я "-ор11стуоз11ам лоступу ло ос11001111х 
функцій СІІСТСМІІ після входу. 
Product Management (Управління проду",ам11) . Цсіі 11акст міст~1т1, кщ1с11 для 
управління прод)'"-ї'ЗМJІ та маршрутам11 доставю, . 
Класu: 
Product - клас дл.я управління і11формацією 11ро проду"ї", що 
відnравтtю11,с.11 ; 
Routes клас для управліщ1я маршрутам,, доставю1, яю 
ВІf"-ОрІІСТОВУІОТЬСЯ ДЛ.11 ПОСИЛОК. 
Package Management (Уnравлі1111я ПОСІІЛ8'1ІМІІ) . Цеіі пакет місТІІТЬ ЮНІС для 
управління ЛОСНЛКЗМІf. 
Класи: 
Packages - клас для уnраВJІіІІІІJІ інформацісю про ПОСІ\ЛІШ, ВКЛІО•1аю•111 
дані про клієнтів , адрес11, ста-rус11 та іншу пов'язану інформацію . 
Logistics Management (УлравлішІJІ ло1·ісп1ко10). Цей пакет міст11ть клас11 для 
уnравлі,шя логіст11ч1шм11 оnераціямн, таю1м11 як вантажі, ва1пажівю1 та водії. 
KІJaCJf : 
Cargo - клас для уr1равл11111я інформацією про вантажі, вклю•шю1111 
розклад, водіїв та вантажівк11; 
- Trucks - клас д11я уnравлі1111я інформацією про uз11тажівю1, нкі 
в11кор11стовуют1,ся для nеревезе,111.11 в,штажіu ; 
Dr.ivcrs - клас для у11раnлі111111 і11формацісю 11ро 11одїі11, які здіі1с11ююп, 
JІОСТЗRКІf . 
Dclivcry Managemcnl (Yr1puo11i1111я дост11uк1ш11) , Цсіі nnкст міст11т1, клас 11 JІJlfl 
уnрао11і1111я про1tссом достаr11<11 та з11іт11істю. 
К.11ас 11:: 
- Delivcry _ І<J/3С )UНІ у11р~:н111і1111н і11формn11ісю 11ro JІОСТІНІК)', ІІІ<JІІО'ІІІІО'ІІІ 
11озкла.ц, 1юдіїо та 11а11т11жі11к11; 
- Rc porls - ІUНІС J.1.1, І 11 1·с11ср1щії ТІІ УІІJ1ІІІІJІІІІІІН :JІІЇТІШІІ ІІJЮ J ІОС'ІІІІІІ()', 1110 
містнп, і11форманіІО 11ro 1111ко11n11і JІОСТІІІІ/( 11 , С'ІІ111 ТІІ і11111 І ІІ ІІJ)ІІМС'ІJ)ІІ . 
ФІ 
ЧДТУ 242244 .ООбПЗ 
Взасмозв'.язю , між П3кста11111: 
пакет User Manageшent мас зв 'язок з пакетом Product Managcment, що 
означає, що корпстува,1 і можуть взасмодіятн з nроду1,.їам11 та марwрутам11; 
паІ(СТ Product Maнagcmcnt взасмодіс з пnк<.'ТОМ PaclGigc Managen1c111, 
оскіш,КІІ інформаціА про nроду;.ї11 та маршруп, 81/І(Орнстооусться для формування 
ПОСІ!ЛОК; 
- пакет Package Man11gcmcnt взаємодіє з пакетом Logistics Managcment, де 
інформаці,~ про пос1~л101 в1rкор11стовується для плануваfП!.я логісn1111шх операцііі 
(ваrrтажів, вантажівок та водіїв); 
па"ет Logistics Management взаємодіє з пакетом Dclivery Мamigement, / 
оскілью1 інформація про вантажі, в1штажівК1J та водіїв необхідна для упраnлі1mя І 
npoueco.\1 доставю, та звітності. 
2.4 Архітсt.,урнс 11рос,,аува1111я 
Архітектурне проектування є кmочовr,м еталом розробк11 програм.ного 
забезпе•1еш~я с11стем11 rюстача1111н.я продую-ів, .як1111 011значає структуру с11стсм11, її 
комnо11с11m та вз.асмодію між н11м11. Цеіі етап вкл1очас створе1шя діаграм 
~'U~mонснтів, що показують, .як різні част11н11 с11сте~m взnє.\Іодіють мі.ж собою, а 
також дiarpaмtt розrорта11н.я, що дсмонстру,оть, ІІІ( nporpaм11e забсзnечсш,я буде 
розrорнуте 11а аларат1111х засобах. 
2.4. 1 Діаграма компонентів 
- ... ,,~ _ -_ І 
Расунок 2.8 - Діаграма комnо11с11тіn е11стсм11 поет11•1n1111,~ 11родукrіu 
45 
ЧДТУ 242244 .ООбПЗ 
Ця діаграма є діаграмою 1-ОМПОІІСІІТіD СІІСТСМІІ ПОСТЗ'ІrІІІІІЯ проду ..-. тіn, ЯЮl 
nоказує, як різні компо11с1~т11 с11стсм11 взаємопіють між собою. Діаграма 
J,.'ОМПОІІСНТ1В фокусується 113 фіЗІІ'lІІііі реалізації СІІСТСМІІ, опнсую•ш розподіл 
фу11кціональ1111х модулів 11:1 комnоне11n1 та їх озасмозв'язю1 показ.шо на р11су11ку 
2.8. 
Оrшс .nіаrрамн: 
User Management (Управління кор11стувача11111). Цей пакет відповідає за 
уnравліНІlЯ І(Орнстуваqаr.ш, оключаю•ш ауте11т11фікацію та надання доступу до 
iJJJUIIX •JаСТШІ СІІСТСJ\111. 
Компоненти: 
- User - компонент, яю1й відповідає за управління да1111м11 корнс-rувачів, 
вю1юча1очи їх створення, рсдаrуванНJІ та впдалення; 
- Login компонент, ІU(JІЙ забезпечує фу11кціонал~.11ість входу 
tюрнстувачів до систем11, перевіряюч11 їхні обJІікові пані; 
- Dasl1board - компонент, яю1й надає кор11стуn,1<1ам доступ до ос11001111х 
функцій е11стем11 після успішного входу. 
Product Management (Управлінля продуктам11). Цей пакет відповідає за 
уnраміJтя проду1<ТЗt.t11 та мзршрутамн, пов'яза1111м11 з доетавкамн. 
Компо11е11ти: 
- Pmduct - компонент ддя унраnл11111я інформаuісю про 11родуІ\,'Іt, що 
доставля ют~.ся; 
- Roules - компо11е11т для у11раолі1111я маршрутам11 ДОСТОВКІІ . 
Package Managcmcnl (Уnраnління пос11дкам11). Цей пакет оідпооідас за 
упраалі1111я посилками, які об'єднують інформацію npo nродуктн та маршрутн. 
Компонс11n•: 
- Packages - І<ОМПОНСІІТ для УІІfШВJІіІІІІІІ ПОСІІЛІ<UМІІ, uкл1о•~nю•111 стоорс1111я, 
редаrува1111я та відстеження r1осшюк; 
- Routes _ (повтор11ий 1<о~то11е11т) u11кор11сто11уст~.с11 11 щшеті Packnge 
Mnnagcmcnl для врнзІІа•~сrшя мар111руrіо noc11J11<aм. 
46 
ЧДТУ 242244.ООGЛЗ 
Logistics l\.fnrшgcmc11 t (Упраоління логіст,rкоrо). Цсі1 пакет відповідає за 
уnравл.іш.~я лоrіст11чн11м11 аспс1пам11 доставкн , u1mючаюч11 ш:urraж i, ва~1тажіоюr та 
водіїв. 
Kor.mo11eн111 : 
Cargo - ко~шо11с1п для управл і пня і11формnuією про вантажі, вклюсmючн 
розклад11 , вантажів1<1 1 та водіїв; 
Trucks - комnопеrrт для упраолі11ня інформацією про вантажівки ; 
Dri,,ers - компонент для уnравлі11ня інформацією про водіїв. 
Delivery Maoagement (Управління доставками). Цеіі пакет віцnоnідає за 
управління процесом доставк11 та звітністю. 
Ко11шоневш: 
- Delivery - компонент для управління інформацією про доставки, 
вкточаючJf плануванuя та виконання доставок; 
- Reports - кш,mоневт для генерації та управління звітами про виконані 
доставки. 
Database (База даних) . Цей пакет представляє компонент бази даш-ІХ, якш1 
використовується_для зберігання всіх даних системи. 
Ко11mонен111 : 
- PostgreSQL - коr.шонент бази даних, який викорпстовується для 
зберігання та упраnління всією інформацією систем11. 
Взаємозв'язки між коr.mовентами: 
- User Managemcnt має зв'язок з Product Managcшent, що означає, що 
trористувачj можуть взаємодіяти з продуктам11; 
- Product Managemenr пов'язанш1 з Package Management, оскількп 
інформація про продуrстн використовується для формування посилок; 
- Package Management пов'язанш1 з Logistics Manageшent, де інформація 
про посилки використовується д11я планування логістичних операцій; 
- Logistics Management пов'язаний з Delivery Management, оскільки 
інформація про narrтaжi, вантажіnкн та водіїв необхідпn ,для упраолітrя 
достащщ,ми; 
47 
ЧДТУ 242244.006ll3 
Dc\i,•cry Mn11agcmc11t :11ас зо'язок з Datubnsc, що о"азує щ1 те, що осі лn 11 і 
про достаnкн та зоітн збсріг:ноться n бuзі яш111х. 
2.4.2 Розгортання nрогрnм11ої с11ст-см1 1 11.1 nr1.1pnт1111 x засобах. Діаграма 
розгорr.11шя 
, 
'----------..J _....· ·  
• ·! ... •••  
~•. :• <~.І  ,/ •• 
~ - - - ... .· · 
... 
~tUX",.., / 
~ ....· · ..._ _______ __,, 
t=.=D=tl=l'lt=E)'l=lr===⇒ J~ /·  !tшЬш 
t:J .......... . ...... .............. ~ PolqtSIJl-1 
.. ................... . 
Р11су11 ок 2.9 -Діограмu рОЗГО/ПUІ/1111 С ІІ СТСМІІ nоста•ІОІІІІІІ nродукті11 
48 
' 
ЧДТУ 242244.006113 
Діаграма розrорта111111 (Dep]oymcnt Diagraш) с11стсм11 1 юста•ш1111я nродуктіn 
om1cyc фіз111111с розт[Ішуnання r1рогр:1м1п1х компонентіn ва опорат1111х вузлах 
с11стсм11. Вона nоказус, як nporp:i~mJ елемснn 1 , такі як компопентн, інтсрфеііс11 тn 
oб'ci..-r11 , розгортаються на ,шара11111х лр11строях і лк ці прнстрої взасмодіють між 
собою показано на рІІСУІ.ІkJ' 2.9. 
Опnс діаrрамн : 
Uscr Device (Прuстрій корнстувача) : 
\Veb Program. Це веб-додаток, 'lерез яю1іі користувачі nзаємодіють із 
снстемоЕО. Ві11 розrор11ут11іі 1111 орвстрої корнстувача. 
User Management (Управління кор11стува•шмн): 
Uscr. І<омnонс11т для управління користуnа•,а~ш с11стсм11 і 
Login. Комлоuент для ауrе11т11фікації користуоа•1іn; 
Daslзboard. Голов 1іа сторінка, де корнстувачі можуп, вереглядатtt осFІоnну 
інформацію тn наоіrацjю по снстемі . 
Producl Management (Уnра11ніш~я 1 родуктамв) : 
Product. Компонент для ynpannirrня інформацісю 11ро продуктн ; 
Package Managcmcnt (Управліннл nос11лк11~ш); 
Packagcs. Компонент для управліJJНЯ nос11л1<ами, стnорсння т.:1 01ювлс1шя 
їх і11формації; 
Routes, Компонент для уnравліuня маршрутам11 достаою 1 . 
L.ogistics Manageщent (Управління логістuко10): 
Drivcrs. Ком□о11с11т дня упраn.11і1111я інформацією про nодіїо ; 
Trucks. Компопспт для уп-равлі1111я і11формоціс10 про щщтажіокп; 
Cargo. Комnо11е11т для стоорелr111 гр11фі1<іо ш.111тuжіn, n1<люqоюч11 
інформацію про оодіїn та оантажіnкн; 
Dellvery Management (Управління доставІ<о10): 
Delivery. Компонент д11 я упраолі111111 достаu 1<ам11, зміна статусу вантажу 
(о тр11мано/пооер1rуrо ); 
Reports. Koмnoнelff для rенерацїї 1зоітіо про достооку. 
Database (База дamiX)t 
49 
чдn' 242244 .ООбПЗ 
PostgrcSQL. Peruщii1110 бrо1.1 д:111 11х, ле збсрігоєп,ся осн іпформоція 
CIIC"fe~nt . !Зона 11засмодіс 3 усіма ОСНООІІІШН КОМ ПОІІСІІТІІ МІІ СІІ СТСМІІ ДЛЯ збсріга1111я 
та отрнмn1111я да1шх. 
Зв ' ЯЗКІІ між 1,.-омnонеІІТіІМ ІІ : 
\\1еЬ Progrnn1 -> Uscr Manageшcnt. Веб-додаток в,rкорІ'!стовує 1<ом11онснт11 
управління "-'0Jшстувачам~1 для оу..-ентпфікnції та надш111я достуnу до ос 11оu~юї 
іпформаuії; 
Uscr Maш1gcn1ent -> Pnckage Ma11agemcnl. Інформація про кор 11 стувачіn 
ашrор11стовустьс,r nрн створе1111і поснлок та уr1ра 1ші1111і 111ш11 ; 
- Package Management -> Logistics Managemant. Компонент управлі11ш1 
nосплками взасмодіс з компо1 1 с 11том логіст11ю1 для nла 11уnаю1я маршрутіо та 
nриз110че1шя водіїв і оа1-rrажіоок; 
Logistics Management -> Delivery Mnnageme11t. Ko~rno11e1 iт лоrістшш 
передає інформацію про мнтажі о ком11011ент упраnлінuя дост,шкою дт1 
о ідстеже1 1J1я статусу дос~1ок11 ; 
Dclivery Managcmeпt -> Databnsc. Компонент уnраш1і1111я достовкою 
зберігає і11формоціІО про статус ДОС'Г(ІDІ<ІІ ПІ І'СІІерус 'JІ)ЇТІІ , ІЗІІІСОJ) ІІСТОВУЮ'ІІІ базу 
дан11х; 
Dntal,ase -> J>uckagc Manпgement, P1·oduct M imпgc111c11 t, Logistics 
Manageme111, User Manпgemcпt. Всі ос110 1111 і ком по 11 с11п1 011стем11 озасмодію11·ь з 
базою даних дт1 збері r·а1111я та отр11м:,~нш1 11еобхід11ої і11формації. 
2.5 МоделІО ІІІІІІШІ ІІОUС}І іІtКІІ СІІ С'І'СМ ІІ 
Модето11u1111я по11сді11юr снстсмн с 1ш,ю111011м етапом розробю1 про 1·р1ш1юrо 
забезлече11ня, що дозnоляс зрозумітн, як 0 11 стсма фу11ю1іо1 1ус 1  різ1111х оцс1111рі,1х та 
жк 1-і комrrо11ент11 11заємодіют1, одн11 з одннм і з кор1 1 с1•уш1•1ам 11 . Це uкn10•111c 
створення різних діограм, 111,і олнсуют1, діяльність, лослІдоn11ість діfі, 1сомуніющію 
іж об'єкта ми п1 стан системи о неоні момснт1 1 1 н1су. 
2.5, J ДіаІ1)0М3 ДЇJІ/11,І JОСТЇ 
Діаграма діял1,11остІ c1tc'feм11 постn•101шя проду1сті в Ітострує 001юn11 І 11роцоо11 
а потоки дій у с11 стемі уnроплі11ш1 достuшrомн . Doнn ві.п,обрnжnе взаємодію 
50 
ЧДТУ 242244 .006113 
i--or11 c1ynaчIв (адмі11істр;11uріn Т3 оодіїо) З СІІ СТСМОІО, ПО'ІІІІІІІІО'ІІІ uiJt 11хо11у JІО 
330СрШСІІ ІІЯ робоп1 О СІІСТСМ і 1101-.333110 110 рIIсуII1-.у 2. 1о  . 
..... 
....... 
____ _,.__ 
-·· -
""' 
........ .... с.. . 
t 
,.., .. °"""" 
f>11cy1101c 2. 1о  - Діаграма дія111,11ості О ІІСТСМІІ ІІUСТІІ1 ІІІ ІІ ШІ щюду1сті11 
51 
... 
ЧДТУ 242244 .ООбЛЗ 
OnJІc діаrрамн: 
Stan (По11аток) - 11011аток роботн з снстсмою. 
Logi11 Pagc (Сторінка входу) - корнстуоач потрапляє 11а сторін"')' входу, де 
ввод11ть свої облікові дані. 
User Туре (Тнп корнстувача) - після входу система визначає ·nfrl користува•1а: 
алміністратор чн водій. 
Administrator (Адміністратор) - якщо корпстувач є адміuістратором, в111 
потрапляє на "Main Page" (головна сторіm<а). 
Drivcr (Водій) - якщо корнстувач є водієм, він потрапляє на "Home" (домашня 
сторінка). 
Дії Адміністратора: 
- Main Page (Головна сторінка) - основна сторінка для адr.11н1стратора з 
доступом до всіх функцій; 
- Parcels (Посилк11) - адміністратор може nереіітн до сторінки управління 
nосиm<ам11; 
- Products (Продукт11)- інформація про продуктн додається або редагується 
на ціfі сторінці; 
- Cargo (Вантаж) - адміністратор може створюват11 графік вантажів, 
додаючи інформаuію про водіїв та вантажівки; 
- Truck (Вантажівка) - адміністратор може переглядаn1 та редагуоат11 
інформаuію про вантажівю1; 
- Truck l11fo (Інформація про вантажівку) - детальна інформація про 
конкретну оантажіоку; 
- Drivcr (Водій) - uдмі11істратор може nсреглядатн та редагувати 
інформацію про водіїв; 
Driver Info (Інформація про водія) - детальна інформація про конкретного 
водія; 
Deti,1ery (доставка) - адміністратор може 1,еруват11 доставками, 
змінювати статус доставки; 
52 
І 
tЩТУ 242244 .006ПЗ 
І)с Іі,·сГ)' lnfo (І11формація щю досnшку) • дста111,ІН1 і11фоr~ш11ія 11ro 
1,1)111,pcn ty лостаоку: 
Rcpon (Звіт)• :щміністр:пор може rc11cpyuaт11 зоіт11 на oc11oui дn1111х 11ро 
ДОСТ.І.ВКJІ . 
Дії Водія : 
Ноще (Домашня сrорі111ш). основнn сторінк:~ ДJІJІ водія; 
Dcli,•cry (дocrnвk.i) • водііі може 11срсглядnт11 т:~ 01юш1юо:~т11 ст,rтус 
доставок; 
Rcpon (Звіт). оодііі може nерегллдnт11 зоіт11 про свої лоставк11. 
Завершення робоn1: 
End (Кінець). завершення робоn,1 з снстемою. Кор11стувач може 011iin1 з 
СНСТСМІІ (Logout). 
Взаємозв'язю1 : 
всі сторінки та дії взаємопов'язані ; 
потою1 даннх від однієї сторі11к11 до іншої забсз11е•1уtоть взасмозалежнісп, 
інформації в снстемі; 
- дозвопяючн корнстува•~ам адм іністратору ефектно,ю 011конувnт11 свої 
обов'лзк11 в с11стсмі постачання продуктів; 
поток11 да1шх від однієї сторі111ш до іншої забсзпечуюп, цілісність 
інформації в снстемі; 
дозво11яю•111 кор11с11•ва1~ам uодію ефек~110110 онконуuап, свої обов'язкн 11 
СІІСТСJІІі ГІОСТ3'НІІІШІ г,родуктіо; 
2.5.2 Діаграма посJІідов1юсті 
Діаграма nослідоnності с11стсм11 посп1•1n1111я r1родукті11 ілюструє, як об'єктн 11 
с11стсмі nзасмодіюп, ОДІІІІ З ОДІІІІМ ДЛіІ ОІІКОІНІНІІЯ КОНКJ>СТІІОЇ функції 'ІІІ пронесу. 
В011а показує nорядо1<, 11 ЯІюму 11ідбуо111отьс11 ці взnсмодії, і с 1~nж11111111м 
і11струментом для проск-гуш1111111, о~1алі::1у то докумс11ту11n111111 с11стсм11, допомnt,\ІО'ІІІ 
розроб1щкам і 011а11іт1tІ{ЛМ зро::1уміт11 ДНІНІМЇІ<У робоп, СІІСТСМІІ, UІІІІІІІІТІІ ІІОТСІІLІііі11і 
nроблс,-111 то ОІІТІІМЇЗ)'ІІІІТН 11рО1(ССІІ ДJІЛ ІІ LJІІШЩСІІІІІІ сфс1п111111ості ТІІ ІІІІJІіііності 
СІІСТСМІІ. покаЗRІІО JJ(I p11cy1tJ<y 2. 11 . 
53 
ЧДТУ 242244.00603 
== _с. . .. _=.,.= --------------------~ 
.----_,.---...  ---
--- ---. 
.-
-=-· 
--· 
... 
!. 
Рисунок 2.11 - Діаграма послідооності системи rюстача~шя продуктів 
Om1c діаграми: 
User починас сеанс, переходить на сторінку лоrіну (Login Page). 
User вводить дані лоrіну, система перев іряє nrn кор11стуnа1ш. 
В залежності від типу 1<0р11стуоа•1а (Uscr Туре), снстемn перен:шра1111яє нn 
головну сторінку адміністратора (Miiin Piige) iiбo водія (Ноше). 
Для адміністратора . Адмі11 істратор може озаємоді1п11 з : 
посилками (Parcels); 
nроду1,гамтт (Prod ucts ); 
вантажами (Cargo); 
оа11rrажіокам11 (Truck); 
іJІформоцією лро nантажіою1 (T1·uck lnfo): 
водія.І\tИ (D.ri ver); 
інформацією про водіїв (Drivcr Іпfо); 
Для водія. Водій може nзвемоді11•1 ·11 з: 
- доставками (Delivery): 
54 
ЧДТУ 2•12244 .006ЛЗ 
і11формзціс~о про ;юст:-шю1 (Dclivcry І11Го); 
зоітамн (Rcpo11) 
User завсршус се:111с, в11ходяч11 із с11стс~111 (Logout). 
2.5.3 Ді:~rрама ,..-омунікації 
ДЇЗІ1)3М3 комунікацій СІІСТСМІІ ПОСТЗЧЗІІШІ проду".іо опнсує В33СМО.!1іЄ між 
корнстувачем та різш1м11 RОМПОІІСІІТ3МІІ СІІСТСМІІ управлі111-1я лоrіСТІІКОІО. Вона 
показує, як інформаці.я 11ерсдоється між кор11стуuачем і спсте~ю,о під час он конання 
різ1111х процесів, так11х як автор11зація, створе,ш.я продуктів, формува1111я 11ос11лок, 
лр11з11аче1111.я водіїв, додавання вантажівок, орга11ізаці.я доставок т:~ генерація зві1·ів. 
Кор11стува•1 ініціює зап11r11 до с11стем11, вводяtfІt 11еобхідві доні або зап~1т11, :i 
система обробляє ці зammr та повертає відповUІ}Іі результаn, показано на р11су11ку 
2.12. 
u. .. 2 · ,tс1ю 
1-------1 OtttlЬOAІd 
.___°'_;,._,_ ,і-] 
І 1 , T,vc~ 
РІfсуrюк 2.12 -Діаграма комуніющії с11стсм11 пост11•1111111я nродукті11 
Ниж•1е надано дсп1л1,11иІ! от,с 1юж1юrо кроку та взаємодії: 
Onlfc діаграми: 
55 
і,.; 
ЧДТУ 242244.006113 
Uscг. 
logm ( І ): 1,". Ор1tстув:ІЧ n,о..111ть} с11стс'Іу. 
Sys1cm: 
- rcdircct (2): Іt І СЛJІ успі11111оrо входу С Іt СТСМ:І ПС(1СІІ lІІІ (1:І ІJЛЯС 1,op11 cтyn;i•,n 1111 
DзshЬoard 
Dashboard. 
- selcctProductTab (З) : кор 11стуоач в 11611рnс n..ладку 11родуктш у Prodl1CLS. 
Products: 
gctproduc1 (4) отрuмус і 11фор,1ап і 10 rтро nрод}'ІІї.  ощ Products, 
addproduc1: можл,шість додат11 110011n nроду~,-т- до с111,-тем11. 
Parccls : 
- getparcels1nfo (5): очшмус 111формаuіІо про nос11лю 1 від P:ircel~ 
ge1produc1 (4) · отр11мус 1114юp~taui10 про 11родую niд Produc1s 
Сагgо: 
gctcargo (8). отр11мус і11фор,s:щ і 10 вро м11таж 0 1.1 C:irgo: 
- gerparcelsinfo (5): отр 11мус 111формацuо ripo rюсшm, оІД Parccls, 
- gettruck (6): отр11мус і 11форм.1u110 про в:~11тажівк11 ощ Truck; 
getdriver (7) отр11мує iJ1фop\fau1ю про водіїв вш Drl\1cr 
Driver: 
- adddriverinfo : можлrrвіст~. додаг11 ноuу 1111\,орм:щі ,о 11pu uощя ; 
- geldrivcr (7): 11адас і11форм ,111ію rтро uoд11u для Cargo. 
Truc:k: 
- addtruclcinfo: можmrоіст~, додот11 11ову 111форма11і10 11ро оn 11тn ;1001ш; 
gcttruclc (6): 11одас і11фор~tацію про ва11r<1 ,1(111ю1 для Cargo 
De)jvcry: 
- getdelivcryinfo (9): отр11мус і 11формац 1ю npo достооку uід Cargo; 
- setactюn : вста11овлюєді10, пов 'л з:111у з дос1 аокu10. 
Report: 
- gerdelivcrymfo (9). отр11мус 11 1формn11і10 IIJJO достооку оід Delivcry. 
2.5.4 Діаграма СКІІІ'ІС/ІІІОГО DПТОМDТ}' 
56 
чдn' 242244 .ООбПЗ 
Діаграма СЮІІ'ІСІІОГО ;)(\ТОМЗТ)' ( l; i11itc Stotc І\ І осІ1і11с. 1:S J\ I) /ІІІЯ СІІСТСМІІ 
пост-Jча11 11я rтродукп11 11рсдстзмяс собою молс.~ 1 •. як:~ 01111сус різн і ст:1111 1 с 11стсм 11 
Т3 11 ерс:-.о:111 м іж ШІМІІ ст:ш:щ 11 113 ос 11ооі ІІСОІІІІХ лі1ї збо nодііі. У J;QIIТCKCTi С ІІСТСМ ІІ 
11остачан 11я проду~-..іо, лізгра..\tз FSM дonoм;ir:ic оізу;~лізуо:~111 та зроз>~1і т11 п1юцсс 11, 
які оідбуоз1опся оіп МОМСІІТ)' СТОО(JСІІІІІІ 11родукту до iior-o ДОСТ:tlІЮІ 11 0К333ІІ0 113 
р11су11ку 2.1З . 
Рнсу11 ок 2. 13 • Діаграма cкi 11 1 1crro1·0 а111·омату с 11 стсА111 rюста•н11 11 111 111ю11ую·і11 
Omtc діаграмн : 
57 
члn' 24224 4 .ООбПЗ 
Staл : 1ючan.-uni1 іі с-та11. 
Logiл l'ogc: cr.111 стоrі111.11 .11огі11у. 
Uscr l )'pc: cr.ut ncrcвipi.11 n 1ny i..-ur11 cryoaчa. 
J\-,аіл Рзgс : ro.100113 стоrі 11~..-з д1ІJІ (llJ MЇJt icтpa,ora. 
Homc: І"ОЛОDІІа c1-ori111.a І1ЛJІ 80.'ІЇА. 
P3ICcls: стан )11J":ІMЇtlltll ПОСІLІІІ,."ЗМІІ. 
Products: стан )11рзt\11і1111• Пf!Од)"'-т.1~111 . 
Caq!O; СТ31 І ) 11р ам і ІІІІJІ 83 нтажа.\І 11 . 
Truck: СТ3ІІ ynpзn.11i.t111J1 взнт:~жіо...-змн. 
Truck lnfo: cr.ut ncpcrruщy інформщії про ва1гг.~жів1ш . 
- DП\'СГ: СТ3ІІ )111р3В!ІЇІІІІ.Я ООДUІМІІ . 
Drivcr Jnfo: ст:ш лсрсГ7UІду і11формзuїї про водїїв. 
Dcli\•cry: ст:111 псрсn~щ дОСТ3nок. 
Dcli\•ery lnfo: стан ncpern11..ay інформ:щіі про доставю1. 
Rcpon: стан гс11срзuііІпсрепu~ду звітів. 
LogouІ : ст:111 в,rходу з с11стем~1. 
End: 1<і11uев11 іі стан 
51! 
ЧД1У 242244 .ООбПЗ 
ОИСНОВОК ДО ДРУГОГО РОЗДІЛУ 
У розді111 2 бу110 дсталь110 розглянуто npoucc опрооаджс1111я рсзул 1,п1пu 
достдже11ь у nра~-.т11ку 11рое~..-тум11ш1 nporpa,-rнoro :шбс1пс•1ст 1.я 111формtщі іі111 1 х 
с 11стем для с11с-тем11 11оста•1а1111 я 11роду~..,ів . В ході досліджсrтя буш-, в11ко11 а11і 
11:І С'І)'І111 І IUlIO' 10 В і ета І) 11 : 
~1оделюоа111111 nредмет 11 ої області . Було проведено а11а.л і1 прсдмс rної 
об;1 асті. с-1 воrе11а модель nrедмет11ої об.'1аст і та сКJ1аде110 слооrrпк терм 111 іо . Це 
дозво111 1ло чі rко в111 11а,пrп1 основш елеме1rг11 і npouec11, що мають буrн орахооа11і о 
с11стем і nостачаню, nроду1rнв. 
2 ФормуRЗІІІUІ Т3 a 11a.1iJ о,шоr. В 11з11.аче1J1 Пt'рвюmі і ДСТЗJІЬІІ і ВІІМОГІІ ДО 
прогр:~м1юго забезnечетн, . вк.1ючаюч,1 внмопt замов 1111 ка і розроб1111ка . Ьуло 
роз.'Іілено фу11n1іоналм1і та нефункщонат.11 1 011моп1 . Кр ім ,-01--0, в11моrи бул 11 
уточнені зn дономоr·ою діаграм преuеде11тів, що дозвоJнtJІО краще зрозум1п1 
в1асмоді10 корнстувачів з с1 1 с-гсмою . 
3 Проекrуоа11щ1 лопчноі crpy.1r,', "Т)rp11 nрограм1 1ого комплексу: Роз робле п і 
;~іаграм11 класів та ліаграмн пакетів nonoмorn11 стру1-,уру8.ІТ11 логічну .:ipxi reкrypy 
с11стемн . Це забезпеч11ло зрозум ілу і струІП)'рОоаJ.ІУ органі.з.зці10 коду, що 
полегшшю noдa11ьuJy роJробку та підтр11мку 11роІl)ам1юго забсзпечсю1я 
4 АрхітеІП)'рне лроеІП)'ва н1111 . На шому етапі була сrворсна 11іаrр:шо 
компонентіD, що іл юсrрус основні часr111ш снС"І·е~ш та L'I( взаr.мозо '.11.зок. Також бул;~ 
розроблена діа.,,ама розrортаtШJІ , 11ка показус, •к програмна с 11стема буде 
розгорнута 11а ал.аратш,х засобах, забезш:чую,ш ефс"-тн»1Jе 11адuі 11с 
функuіоuування систем11 . 
5 МоделюваІПUІ поведUІІGІ СІІСТСМІІ . В11кор1tстаFПUІ д1аграм діяльності, 
діаграм nослідовносrі , д іа.гра~• кому11ікаuії та діаграм скі11 •1сюн1х :~втом:~тіо 
дозволило детально змодетоваn1 поведінку системп у різню, cue11:ipiяx. 
59 
1 
ЧдТУ 242144.006ЛЗ 
РОЗДІЛ з РОЗРОБКА ТА ТЕСТУВЛ\U{Я nrorPA.J\IПOГO 
ЗАGЕЗ ПЕЧЕНІ [Я 
3. І Розроб~-а програмного ком11леt-.С) 
У цьому 11 ідрозл~лі буде деталь11 0 розглянуrо ос і ас11 скт11 розробк11 
програмного ~,-. омnлексу. вю1ючаюч11 ствог,е1шя структуг,иої то лоrі•111 ої схем 
снстем11 , розробку базu да 111 1 х, користувацького і11терфеі1су Iа  окрем11х nроrрам1шх 
ко~mонс11 1 in. Ос11ов11010 метою цього nідроздІЛ)' с 11nда1111я де13.111,11ого or111cy 
процесу розробк11, що забезnещrть nов11с розум 1 1mя кожного етапу створс11 11я 
проrрам1юго комплексу. 
3. 1. 1 Обгру,пуваш1.11 оnбору засобів рсашзації 
Для розробкн nрограм11оrо забсзnече1rАя с11стсм11 nоста•1а1-шя продукrіn бул11 
обрані наступн і і11 струмент11 та те,шоJІоrії: мооа програмування РНР, фре1їмnорк 
Codelgniter, платформа ХАМРР та база дат1х pbpMyAdn1in. Внбір ц1 1х засобш 
обrру,повуєrься ї.хнімн nеревагам11 , зруч11 іст10 у в11кор11ста1111і, а ,.-акож 
відnовілн істю внмоrам проекгу. 
РНР: 
- nоnулярu.ість та підтримка спu~ь11от11: РНР є од111сю з 11аі1попуnярніш11 х 
мов rгроrрамуващ1.11 для веб-розробки . ШJ1рока сnільr1ота розроб 11 11 ків забс:111счус 
нанuнjсть велнкої кількості ресурсів, бібл іотек, 1·а документації, що сщющус 
процес розробки та 11ідтр11мки nporpaмяoro забезпечення , 
- простота в110-че1111я та оuкористаuш~: РНР вілом11 іі с.восІО nростотоІО, що 
дозооляє шо11дко розnочатн розробку, nnniть для nо11п•1кі11. Легкість у 01п..-ор11 ста1111 і 
та m1зью1й поріг входу роблять iioro ідеальюtм внбором для ц1,ого r1poeкry: 
- висока продукт110111сть : РІ ІР забезпечує он соку nродукт11щ1 ість nсб­
додатків, особлнво у поєднанні з фреі1м.воркам11 , такнм11 як Codclg11ite1·, я 1< і 
оптимізують викояапю1 коду (29). 
Codelg11iter: 
Легкість та шв11дкіст1,: Codelgniter с од111ш з 11оі111с1•ш11х фре1імоор1сіu для 
60 
-
ЧДТУ 242244.ООGПЗ 
РНР. 010 з:1безпе•1ус в11соку uinндi-icn, розроб,ш т:~ n~1ко11:11п1я 11011откіо. Це особл~шо 
важл11во длJІ npoeкrin, де шв11д 1: ість реалізації мое оет1кс :111а•1с1111я . 
2 МУС-архітектура : Codclgnitcr піатр1шус модель /'.•fVC (Modcl-Vie,v­
ControlJer), шо 1абезпе•1ус •rin-c розлілс 1111я логію r додатк.~ . кор11стуо.1u1,кого 
інтерфеіісу та у11равпін11я да1111м.1 . Це сnрняє кращіr1 стру1..-гуров.1ності коду ,;з 
полегшує ііого суnровід. 
З Гнучкість та масwтабованіt-ть: Фреіімворк 1 1.адас можл11вісn, 11сr1ю 
розш11рювгn1 функuіонал додатка, дода10•111 нові модулі та компо11е1п11 . що 
дозволяє масштабуватн с11стсму відповідrю до потреб біз11есу [ЗО] . 
ХАМРР: 
Зp)"llficn. у ОJІІ<Ор11стан11і : ХАМРr Є КОМПЛСКСІІІJМ пnкетом, я~шіі ОКJІІО'ІЗС 
АрасІ1е сервер, MySQUМnriaOB. РНР ra Pcrl. Це 11озволяс легко розrорнут11 
локальне середов11ще для розробкn та тестуваrщя без необхl.иності вста}юОJ1енш1 та 
н:ІЛаштування кож11оrо компо11е11та окремо. 
2 Кросплатформсність: ХАМРР достуn1111іі д11я різІLІL"< onepauiiirшx с 11стсм 
(\Vindo,vs, Linu.x , macOS), що забезпечує п~учкість та зручність для розробшrкіо . 
які працюють на різних платфор~1ах. 
З Просrота налаштування : Лростиі1 процес вста11овле1111я та 11алаштуваю 1я 
ХАМРР дозволяє швrшко розпочаn1 роботу 11а11 проектом, скоро•1уrоч11 11ас на 
підготовку середов11ща [7]. 
phpMyAdm.in: 
І Веб-інтерфейс для управління базамн дarntx : pl1pMyAd01in rrадає зру •11шіі 
веб-інтерфейс для управління MySQUМariaDB база~f/1 да1111х, шо сnрощус процес 
створення, редагування та адмі11іструва1тя баз да1111х. 
2 Підтр11мка різноманітшrх операцій: pltpMyAdmin дозволяє в11ко11уваn1 
широкий спектр операцій, так11х як створення та редагування таблrщь, запуск SQL­
заnнтів, ім.порт та експорт даних, що забсзnеqує noo1u111 контроль 11ад базою да1111х . 
З Безкоштовність та відкр1п11і1 І<Од: pl1pMyAd111in є безкоwтов1111м 
і11струме,нuм ) відкр1•1т11м кодом , що дозоодяс 011кор11стооуоrп11 ііо1 ·0 без 
додатков11х 1штрат н::~ ліцензії (33]. 
61 
чдn' 242244 .006\lз 
В11бір цнх з□собів рсал ізаuії доз1юл~ш crnopнn 1 сфс"ї11n11у, гнучку т:1 
мзсuпабовану снстсму поста•1а1111я продуk,ів, яка вілповілас всім внмоrам r1роскту 
тз ззбезпечус зручність для розроб1111кіо та кі1111св11х 1юp11cryua•1 ів. 
3.1.2 O111,с Стр)'""l)'J'ІЮЇ (фу11кціо11аль11ої) СХСМІІ 
0-Clf'UA ~~ 
'='"" 
np~ П""'>О< n~t~ 
~ ~ ("f~ ~ """""'". .' . с, ..,.,.,... C'"t~""""•·"·" ' ('1"0"0"' l~?•<:rt'u., 
,~ ""' )l".:ty 
U!'t(м:~ ,._.,у """'.,,.,, C.,."UІ1~1r,~ ""'"" ""'""'У ДО<fМ,,. 
Р11сунок 3. 1 - Струк1ур11а схема с 11стем11 по<--тача1111 я проду"-тів 
Структурва схема с11стсми постачання 11родуктів оідобрпжає основні 
п ідсистеми та 11роцес 11 , які забсзпе•rують ефект11nне управління та в11ко11аш1я 
завдань з доставк~ t продуктів. Дана схема складається з восьмн ос11ов1111х 
компонентів, коже11 з яю 1х відіграє важJІІmу роль 11 заrаJІь11іі1 с11стсмі локаз:нrо m, 
р11су11ку З. І . Ось дета11ь1111й опис кожного комлоневтn : 
Підсистема автор11заuії: 
відповідас за безпеку та ко11трол1, досrулу до свстсмв; 
- забезnе•1ує ауrе1гrиф ікаоію та авторизацію; 
керує 11рав.а,-.111 досту11у різ 1111х кор11стува•1іо до різних моду11ів с1 1стсм11. 
Процес С'fВОJ)СІІ ІІЯ продукту: 
- 0КJ1ю•шє дод11ва111rя 110011х 11родуктів до с11стем11 ; 
n11з1 1ачає характср11ст11 к11 r1родукті 11, такі mc 1 1азuа, 01111 с, ц і 1111 , 11111·0; 
забсзпс•1ус 0110011снr1я і11форм1111ії про rrролуктв . 
Процес стооре11т1 пос11111СІ 1 : 
62 
-
ЧДТУ 242244 .ООбПЗ 
О І(ЛІ0'13С формуозІІІUІ ПОСІІJІОК З 011Gp:i1111x 11ролуктіn ; 
011 з 11а•1ас вагу, ніну, nр11з11а•1с1111я та і11 111і характср11ст11ю1 rюс11лок; 
забезnс11ус nакув;нщя та маркува11ня nосшюк дня подот,шої достаuю 1 . 
Процес створення nодія : 
ВКJ ІІО'ІЗЄ дОдЗDЗІіШІ ІІОDІІХ водіїо до с 11стсм11 ; 
реєстрація uодіїв з оід110оідною інформацісю, такою нк ім 'я , ко1п·а 1п111 
дані; 
- забсзnе•1ус керуuа1111я розкладом та :1аnда1111ям11 nодіїв. 
Процес стоорс1111я ва11тnжіок11 : 
ВІ<ЛЮ'І3С ДОД383ІІІLЯ ІІОDІІХ трансnортн11х засобів ДО СІІСТСМІІ ; 
- в11з11,.1•1ає харакrср11ст11к11 вантажівок, такі як модеJtь, 11омер1111іі зн:)І(, 
ва11тажоп ідііом 11 і сть; 
- забезпечус обслуrооуван1н1 та 01юонсшu~ інформації про тrа11с11орт11 і 
засо611 . 
Процес стuоре1111я вантажу: 
- оклю•1ас формува1111я вантажу пля достuою1; 
- 011з110•1ає зм іст о..11пuжу, iior·o вагу, та тра 11сnортуоа111т ; 
забезnе•1ус належне пакування т:~ маркування в:111л1жу. 
Процес створе1тя достаою1: 
оклю•1ас організацію та шщ11уоаннн маршруту достзвю1; 
011з11ачає 11р11значе1шн ва11тзжу, •НІС т::1 да·,у дост,шке1 , маршрут т11 
від11ооідаль11ого водія ; 
- забсзпсqус контроль та мо11ітор11111· процесу доспшк11 . 
Підс11стсма звіту: 
відповідає зu генерацію зоіт ів для анuлізу сфект11в1юсті роботн с 11 стсм11 ; 
- включас зоіт11 про доставку; 
- забезnе11ує зберіrа11ня та дос·гу11 до да1111х дш1 подш11,шо1"о r111злізу. 
Ця структура дозооJІЯЄ ефект11в1ю керуооп, 11с1ма асr1е1пам~1 11роцесу 
nоста•н~11нн nродук-rів, забезлечуюч11 і 11тегрош111с та узгодіІ<СІІС 011ко1111111111 »с іх 
11собхіп111 1х операцііі . 
63 
-
чдn1 242244 .ООбПЗ 
Р11су11O" 3.2 - Фу11І(ціона,1ь11а схема с11стеми noc·111•in1н1я продуктів 
Фу11кціо11ащ,11а схема с11стещ1 постач111111я продуктів nідображас 
11ослідоо11іст1, операцій та взасмоді10 між різ1111м11 nроцесам11 і nідс11стсмn~111 для 
забсзnс•1с 1111я сфек11ш11ої лостаою1 11родуктіо щжаза~ю 11n р11су111,у 3.2. Ос1, 
ДСТ3JІhІІІІЙ O11\ІС КОЖІІОГО КОМІЮІІСІІПІ схеми: 
Підс11стсма аотор11зації: 
- оведе11ю1 даних : користува11 вводить свої облікові дn11і дня дос1у11у до 
с11стем11; 
O110w1e111111 сторі11к11 за рсзуJІІ,пІтом: піс1ІJІ ус11іш11ої 11t1тор11:.нщії 
кор11стува•1 nсре11аnраонн1с.ї~.ся на оідnоnід11у сторінку с11стсм11 . 
Процес ст1юре1111я продукту: 
- ооелс1111я да,mх: адміністратор ооол~пь і11формацію про 1101111іІ 11роду1<т, 
вІ<Juоча10ч11 його назву, опис, ціну, nary; 
- дода1111й продукт: після оосдс1111.я дз1111х проду1<Т збсріІ-11сrьс11 о с11стсмі та 
стас доступним для nода11ьш11х 011срацій . 
Процес створення пос11т<11 : 
овсдстrя да1111х: адмі11істр:пор формує посш11<у, дод11ю•111 11роду 1п11 та 
011з11ачаю•111 їх харакrср11ст11 ки; 
- додана ПОСНJrка: пісня заосрІІІСІІІІЯ СТІJО[)СІІІІЯ flUCIIJIIOI збсрі1·11ст1,ся ll 
снстемі для подальшої обро61т. 
64 
ЧДТУ 242244.006ll3 
Проuес створення вз1пажіnк11: 
- nnсдення д:ншх : ввод~пься і11форм :щія про 11on11i1 трз11сr1орт1111іі :нн: іG, 
т:~ка як модель, номср1111іі знак , оа11тажо11ідііом1r ісп,; 
- додана вантажіока: Після зберсжсш1я дз~11 1 х в:11пnжіока стас досту1111ою 
для 811r--ор11 ста11ня в процесах доставкr1. 
Процес створення водія : 
- ОВСДСІІІІЯ да1111х : ВІІОДІІТІ,СJІ і11фор~tація ІІJ)О ІІОUОГО водія , nкто•ІЗІО'JІІ ііо1·0 
особисті да11і , контактну інформацію; 
- дода1111іі водій: після завсршс1111я створе1111я nодііі зберігаст1,ся в с11стсмі 
та стас достуn~шм для nр11зна•1с1шя ва доставкн. 
Процес стоорс11ня вантажу: 
- ввсде1111.я да1111х: виз11а•1асться зміст вантажу, вкл1о•tаю•111 iioro вагу та 
умов11 траисnортуваиш, ; 
- дода1111іі ва11таж: після завершення створе11ня ва,паж збсріr·аєп,ся в 
свстсмі для подальшої обробкr1. 
Процес стоорс1111я доставю,: 
- нведе11ня дій : nттусться тn організовусться маршрут дост.~ою,, 
включаю•ш nризна•1с1111я водія та ва11тажі11к11 ; 
- доставка повернута або nр11іі11ята: n1сля 011ко11ш111я достаnк11 во11а 
фіксусться як успішна або 1юnерну1·а в с11стемі. 
Процес створення звіту: 
- запит: кор11стува•1 формує запrп 11n ст1юрс1111я зв1ту дл11 ананізу 
сфсrmшності роботи с11стсм11; 
- 011оід зоіту: с11стема rс11ерує звіт 1ra ос1ю11і заn11ту та 11ад11с iioro 
кор11стуоа•1сві . 
Елеме11т збереження даних: 
- це централь11е сховище, яке забсзпс•1ує збсріrа,шя осіх 1шсде1111х щ11111х, 
вкл10•1аrочи продукти, посилю~, оа11тажіок11, 11одіїu та 11а11тажі . осі про11сс11 
зберігають свої дані 0 цьому елементі дш, подот,шої обробкн та шшнізу. 
65 
ЧДТУ 242244 .006ll3 
Uя функ11іо11nл1,ш1 схсмn nідобрnжnс нослілоон істr, nnслс1111я 11n1111x тn 
вззсмоnію між різ1111м11 11ро11ссзм11 для зnбсзпс•1с11ня сфсt<Т1101юго у11раолі1111я 
nостачзнням процукrів. 
фай,1овn струhї)'рn с11стсм11 пос111•1а1111я 111101\)·1,.,iu: 
Фа1нюва стру1,-. ~ура controllcrs ч11сn11111 1юкзз311а ІНІ r11су11ку 3.3 М3С 
наступн11іі 011rnяд : 
Р11су11ок 3.3 - ФаіІнооа струюурr~ conirollcrs 
Файлова струю-ура шodcls част111111 nоказ:н,а ,ia р11С)'І 1ку 3.4 мnє 1шстуn1111іІ 
в11rnяд : 
v models 
m CrudMo,del.php 
<>  index.html 
~ LoginModel.php 
Р11су1юк 3.4 - ФuiiJюna струІ<'Т)'J)LІ 1110dcls 
ФuitJюoa структура vic\vg(ac.Jmi11) •1аст111111 1юІ(11з111111 1111 р11су1щу 3.5 м11t: 
11ac1yn1111ii 011rп я11: 
66 
-
члn' 242244 .00Cinз 
Р11су1юк 3.5 - Фаіілова струк1ур.1 ,•ie,,•s(ntlmin) 
Файлова структура vie,vs(tlri,·er) 11acn11111 noкnзiнin щ1 р11су11ку 3.6 має 
11ac1yn,111ii nиmяд: 
ЧДТУ 242244.ООбПЗ 
Оnнс струюурної СХСМІІ СІІСТСМІІ для розробк11 с11стем11 ПOCT:JfJ31IIIЯ 
проду~-їіо була створена функціо11а11ь11а схема, яка ош1сує ос1юо111 комnо11ент11 
с11стем11 та їх вз.~ємодію. Стру~-.-тур11а схема оідобр.~жас логічну архіте1пуру 
с11стем11, вклю•~аІОЧІІ взаємодію між 1v1іс11тсь1-юю ч:~сn11юю, сервер11010 LJilCTJIIIOIO 
та 63ЗОІО Д3НІІХ. Основні ко~111011ент11 с11стем11 вкmо•1ають: 
Клієнтськ.:~ ч.:~сnша (Fronlend) : 
- інтсрфеііс кор11стуоача: забезпечує взаємодію кі1щСЬі1Х кор11стува1Jіо з 
системою •1ерез веб-інтерфейс . Іптерфеі'іс користувача розробленш'і з 
011кор11ста1111ям HTML, CSS та JavaScript; 
- фор:м11 для введе11ня дан11х: формІІ ДJІ.Я ОВСДСІІІІЯ ДЗІІІІХ про продукти , 
замовлення та інші дії кор11стуоа•1ів . 
2 Серверна •1аст11на (B;ickend): 
- ко11тролер11 : кoмno11eim1 фреіІм~оркз Codelgniter, що обробляюп, 
ЗЗПІПІІ від клієнтської ЧОСТІІІНІ , ВІІКЛІІJ(ШОТЬ від11ов ід11і моделі т.~ 
1·е 11 еру~оть відповіді; 
- моделі : компо11е11n1 , шо взаємодіють з базою да1111х, 011ко11ують 
заnип1 та повсрта1от1, результаn1 контролерам ; 
- внд11 (Vic,vs): ко,-юонс11т11, що відповідають за відображе1111я да1111х 
корнстуоаІJам. 801111 отр1~мують дnні від ко1пролер ів і генерують 
НТМL-сторінкн . 
3 База да1111х: 
- табтщі : містять струкrурн для зберіrn1111я да1111х 11110 продукт11, 
замовлст1я, корнстувачів та інші суn1ості с11стсм11; 
- 33ПІ'ІТ1t : SQL-заПІІТ11 для отрІІМUІІІUІ , DСТ:ШЮІ, оuоnле1111я Т3 011доле1111я 
дан11х в базі дан11х . 
ОПІІС ОСНОВНІІХ е11емс11тів схем11: 
користувач (User): внкопує дії •1ерез інтерфсііс кор1ІС1)':Оачо, т.-~кі як 
перетяд nроду~-.їів, створення замоВJ1с111,, уnрамі1111я :~кау~пом; 
і1перфейс кор11стувача (Uscr Interface): ІЗідображає осб-сторі11ю1 та 
форми для воеле111UІ да1111х ; 
68 
ЧДТУ 242244.ООбПЗ 
- "-011тролср11 (Co11trollcrs): об11обля 1оn, І-ІТТР-зап11n1 оіл інтсрфс1ісу 
~--ор11стувача , ш11u1нкаюn, відnооід 11і мстод11 модслс1і; 
моделі (Modcls): nзасмоліют1, з базою да1111х длл 011ко11а1111я оnсраціІї з 
даннмн ; 
- ВІ\дІІ (Vie\\•s): rс11сру1оть НТМL-сторі11ю1 ,,а основі даш1х, отр11ма1111х від 
~-1штролерів : 
база щ1mix (Database): зберіr.Іс інформацію про продую,,, замовлс1тя та 
"-ор11с~ува11ів, вuкор11стову~оч11 табmщі та зв',nю1 між 1111м11 . 
З. І .З On11c логічної схем~, с11стем11 
4 . Conttoller ltrlolctt tttLІh• Vlew 
l_v·_,ew___,) ( Model 
5, Rtndtt v11w ln u,e,-, Ьtow1er 
Р11 су~1ок З . 7 - Лоrі• 111а cxe~ta снсте-.111 nоста•1а1111я ГІрод}Гkїіо 
Модуль М.~ршрут11зація (Routing) · фрсіімоорк 011з11а • 1ас, .11ю1іі контролер 
і метод повинн і обробл.11Т11 затrт, базу1оrл1сь н.~ nр.~в11лах J.tаршрут11зації. 
2 Моду111, Контролерн (Controllers) • оідnоощш1іі контролер обробляс за1111т, 
взаємодіс з модсл.11м 11 для отр11ма1111я нсобхідшrх да1111х . 
3 Модуль В11д11 (Vic,vs) • ко11тро11ер зо11n11т11жус uідпоuід1111іі 011rля11 дпя 
оідображе1111я да1111х кор11с-1уоачсоі . 
69 
ЧдтУ 242244.ООбПЗ 
4 Модуль Моделі (Modcls) - моделі n11ко11ують необхідні опсрnнії з базою 
дашrх, такі як ОтрІІJ\ШІІНЯ :~бо ОІІОМСІІІІЯ Д('І ІІІІХ показово на р11су111<у 3. 7. 
3.1.4 Розробк:~ баз11 даннх 
Інфологіч11е прое1,,,ув31111я псрсдба•1ас : 
Інфологі•ІНе nрое1,,,ув3Ішя баз11 д3ІІІІХ с к.r1ючоо1ш етапом у 11poueci розробки 
СІІСТСМІІ nостача1111я продукrів. Цсіі етап ВКJІІОЧDЄ а11011із ДОІІІІХ, [ІІІЗ ІІІІЧСІІІНІ 
сrруюур і зв'язків між 1щм11, що дозволяє стоор11т1111огі1.шу молсль да1111х . Ос110011і 
зсnе1,,ї11 і11фолоrі•111ого проеІ<1)'nош1я вкл1очаюп,: 
ВІІЗІІ3'ІСІІІІЯ ВІІМОГ ДО ДШШХ. А1111ліз ОІІМОГ СІІСТСМІІ, ОІ<ЛІО'ІD ІО'ІІІ ТІІПІІ 
да1111х , які 11еобхі.д1ю збсрігат11 , і біз11сс-праоилn, які мо1оть буr11 реолізооа11і; 
- ідснт11фікація суr11остсіі. В11з11ачен11я ос1-ювннх об'сктіо (суr11остеіі), які 
будуть зберігатися в базі даш1х; 
011зна•1с1111я зв'язків між сутностям11. Bcтn 11 00J1c 111LЯ зu'язкіо м 1ж 
супюстям11 дІІЯ ві.доброже1111я їх взnсмодії; 
- створс1111я ЕR-діаграм; 
- візуаль11с предстаоле11J1я суrностсіі то їх зв'язків у n11гл1щі діагр11м. ЕR-
діаграмн доrюмагшоть зрозуміт11 струІ<l)'ру до1111х та їх ІІЗrtсмодію ; 
- 011зна•1с1111я атрибутів та т11nів да1111х. ІЗ11з~н1•1е1111я атр116уrіо кожної 
сутості та ОСТЗІІОІІJІСІІІІ.Я оідпоuід1111х тнпіо ДІ.І ІІІІХ ДJIJI КОЖІІОІ'О атр116уту. 
Оста1ювле1111я обмсжс11ь дт1 атр11буrів (06011'язкові nо11я, у11і1<ол~,11і з 1ш•1с1111н, 
діо11азо1111 з11а•1е111,). 
Датологі•111с проектування : 
Таблrщі : 
Табтщі відображають ос1юо11і до11і ЯІ<і будуrь мо1111фікувап1 та розроб11я111с11 
о с11стемі nоста•,ання продуктів. 
Невід'ємною •rаспt~юю •1исе111,1юї категорії і11форм1щіі11111х с11стсм с Gаз11 
дащ1х (БД). База ДІІІШХ є ЄДІІІІІІМ і ОСJІІІКІІМ СХОUІІЩСМ ДІНІІІХ. Це СХООІІЩС 
ВІІЗІІ.".  а 11отім 6111·аторазоuо (і с11іJ11,1ю) UІІІ<О()ІІСТОU)'ЄТЬСІІ ріЗ ІІІІМ І І 
•1ається од1111 раз, 
нор11стувачами 
т а бл иця лродукт11 І/а рнсу~~ку 3 · 8 мас 11аступ1111іі RІІГJІяд: 
70 
....._ 
чдn' 2J2244 ообпз 
Рнсунок 3.8 - Табшщя продукrн 
Таблнш корнстувач на р11су11ку 3.9 має 1:13cтynm1ii в11гnяд: 
SflECТ ' FROJI •u sєr. LІНІТ 100 
-- І -- - --~~---. -~:--------- --
Q Search ~sults О ti ++ 8  .J t, О 1' ~ &Jю_~ І> @ C.OSt 2ms < 1 J Total 2 
І urerjd • •usermme • • pa:mvonl • • role • 
а int(11) • varcl\a~11) • varcha~11} • varcha~11) • 
) 1 1 admin admin admin 
)2 з driver driver dlЇYef 
Р11су11ок З 9 - Таблuuя корнстуоач 
Таблиuя посилок на р11сушсу 3.1 О мое uacтyruшii 1111гляд: 
.Рнсунок з. І О - Табл11ця пос11лок 
71 
ЧДТУ 242244.ООGПЗ 
Табшщя маршруту на рисунку 3.1 1 мас настут11111 в11гляд: 
о S•~-Jr,-І~ r, <.::t1lt-:, О Вф("') + + 01' .J, Eжpo,t (>@ Cost 2n 
!" ld_kota 
о ......  • ldJ>rov ... • ko~ 
Н11(11J ,~1(11) ... 'j..Jl( "\JІ(_? )) •...  , priority ... 
"1 ( 11 І ... 
) 1 Це,нр 
)2 2 2 ПіВАенно-Західнмй 2 
) з з 3 МНТІІ'1ЦJІ 3 
)4 4 з Соснівu 4 
) s s з 700-рі•ІЧЯ 5 
Р11су11ок 3. 11 - Табл1щя маршруту 
Таблиця uантажу ва р~ісунку 3.12 мас настуnний в11гляд: 
Р11сунок 3.12 - Таб111 щя ва11тажу 
Таблиця водії на рвсунку 3.13 мас 11aciyn111111 в11п~яд : 
Рисунок З . ІЗ - Таблнця водії 
. унку 3 І 4 має настуnюtіІ в11Тляд: 
Таблиця вантажlВКИ на рис · 
72 
L ., 
-
ЧЛ.ТУ 242244.ООбПЗ 
Р11сунок 3. 14 - Т:1бл1щ11 о:111т:~жіuю1 
Таблнuя вантажу для з'сдн :1 1111 я 11 .1 р 11су11ку 3. 15 мас 11астуr11111іі 011rляд: 
0 J' id vc::JfJ..X.ity .,. • ld c.:ap.xity • . Іd_р.,с.Ьgо • • ,sutu• • 
,,t(11І • 1 11(111 у r•І(ІІ) • н,!(.J) • 
> 1 1001 1001 10U1 О 
Р11су11ок 3.15 - Тзбл~щя nз11тзжу для ·3'сд 11:11111я 
Табл11uя ПОСІІЛЮІ для з'сдІІЗІUІЯ 113 J)IIC)'III()' 3.16 мас І І і1С1)'П ІІІІіі ВІІ ГJlяд: 
Рисунок 3.16 - Табл~щя 11ос1 1л 1сн для з'сдm11111я 
о .~~- ....- 
.-•• •·•, ІІ І 
і-~ ·•"-\1'J 
11 t ...• • ,.,.1...,,,1, 
., ,~-Ні~ 
,а,.,о. ;_•_~.. , -· 
,.:,.....;. .,, .... . ~__ ,.... .,, ао. • -..-... ..._ ,... .... 
Do •,,., -,roc-.., ••­
. ... ..... ... 11 , ,. а °' do J-',,.,,,,_,. •- ~ .... І r•.-.-.." ·''' , .. _.~~-... -··· 
_,,, • • _p-;t '°"' ' !і 
! tw --•• .._ 111 • .,.,_, n 11•1 
• .,,-,_ __ ,, .....J  
І • .,j__.,.•  ....._ .. , І ,· i" . ..-. .1.11.,  ,,, 
І• ·- ~ tJ І , ~  -::='"' ---• 
а ... • .-.---.----.. а-.. ,...,,._._ 
'1~.·.~..'!:,.:-.:-;,~:;:;:--·1· •,- , ...J  . .... ... ,., ----
.... ... - oi t♦-_-µ,d...,. • •V"''ІІ =- ~~-·-..:.~.. ,:ч: ,, 
-- ,,.• ..~ ... -
_ ...... "•~ \'tll l.! ..,...-HJ 
1•..<.4..,.. "А - 1".1.,  .. .... н, -
. . ...U ІУ .-. 111 
• • • ~..._.-, w11, , '-'' ,-.111 
• •J."f,-- ... t.•.'.-.'~ ,. . 
. f.Jl-~-V- • .,,., . .... 
І , .... _ , ~"І І 
.,-n.111 • • ,~ 8'Іj__ 
_І 
, t,,_ ....... 11 І 
3.17 - с а бnзІf Д(ІІІІІХ С ІІС'ГСМІ І ПОСТІІ'ІІІІІІІfІ ІІJЮдуктіо 
Р11сунок тру~стур ' 
73 
ЧДТУ 242244 .ООбПЗ 
База д:шнх для с11стсм11 посп1•1ш111я пролуктіо яку можна 11срсrля11уп1 на 
р1tС)'1ІКУ 3.17 скл:шасться з кількох т:tбЛІІLІh, які юасмодіют1, між собою дт1 
ззбсзnеttСІІНЯ повного у11р:~влі1111я 11[ЮЦСС3МІІ ДОСПІUКІІ. НІІЖ'ІС 11аосдс1ю ОПІІС 
"uжної табтщі та її :~трнбутів . 
f Табшщя user. Ця табщщя містнп. інформацію про кор11стува•1іu с11стсм11: 
- user_id (іпt) : У,іікальн11іt ідс11п1фікатор кор11стуоа•~n; 
- uscrna111c (,1arcl1ar(l l)): ім'я корнстува•~а; 
- paSS\\'Ord (vзrchar(\ І)): пароль кор11стуоа•ш; 
- rolc (varcl1ar(I І)): роль 1\-Орнстуоа•ш (адміністратор, водій). 
Таблвця drivcr. Табл1щя міст11ть дані про водіїв; 
- id_dri,1cr (int): у,1ікаль1111іt ідентифікатор водія; 
- dri,,cr (varcl1ar(25)): ім'я водія; 
- рІюnе (varcl1ar(25)): телефон водія; 
- е111аіІ (varchar(25)): електронна адреса водія. 
ТабяІІLLЯ Іruсk.Табтщя з інформацією про оантажіою1: 
- id_truck (int): У11ікал1,11ий ідс1п1tфі1<атор вантажіою,; 
- truck (varcl1ar(25)): Назва або марк:~ вантажів1ш; 
- no_plate (varcl1ar( 11 )): Номср,шіі знак ва1пажіnю1; 
- bmax (іпt): Максима11м1а оа11тажопідііомність ва11тnжіок11 ; 
- capacity (int): Пото•11~а доступна о.111тажоnідйомність оантажіок11. 
Таблнця product. Ця табшtuя містить дані 11ро 11родукт11 : 
- id_producl (i11t): Унікал1,1111й ідент11фікатор проду1<ту; 
- product_namc (varclшr(25)): Назва продукту; 
- bcrat (lloat): Вага продукту; 
- panjang (inl): Доож1t1-1а продукту; 
- tinggi (int) : Висота продукту; 
- lcbar (int): Ш11р1111а продукту. 
Таб11иця package. Тnбтtця міст11ть дr111і про nai<y111ш: 
- id_pnckage (і111): Унікnлr,1111і1 ідс1п11фікатоr ІН11<унк11; 
- no_packnge (vnrcl1nr(І I)): Номер пш<унка; 
74 
--
l\ДТУ 242244.ООбПЗ 
- custo111er_n:11nc (,,ai·cliar(25)): lм 'я І<Л іє11та · 
' 
- рІюпе (vai·c\1nr(IЗ)) : Телефон клієнта ; 
- address (text): Адреса І<Лієита · 
' 
- id_kota (int): Ідентнфікатор міста ; 
- t_kg (int): Загальна ваrа пакунка ; 
- t_kgy (float): Bara пакунка у кілограмах; 
- date (date) : Дата замовле1111я · 
' 
- pstatus (int): Статус пакунка . 
Таблиця capacity. Табл~щя для упраолінт місткістю: 
- id_capacity (int): Унікальний ідентифікатор м.істкості ; 
- sc/1edule (date): Дата початку розкладу; 
- end_schedule (date): Дата закінчеRНя розкладу; 
- id _ truck (inl): Ідент11фікатор вантажівкн; 
- id_driver (int): Ідентнфікатор водія ; 
- b_capacity (fioat): Базова місткість; 
- r_capacity (float): Залишкова місткість ; 
- t_package (int): Кількість пакунків; 
- receive (int): Отримано пакунків; 
- 1·eturn (int): Повернено пакунків ; 
- cstatus (int) : Статус місткості. 
Таблиця v_  capacity. Таблиця nля представлення даних про місткість : 
- id _ ,,capacity (int): Унікальний ідент11фікатор віртуальної місn<0сті ; 
- id_capacity (int): Ідентифікатор місткості ; 
- id_package (int): Ідентифікатор пакунка ; 
rstatus (int): Статус відправлення. 
Таблиця v_package. Таблиця для представлення дан11х про лакунк11: 
- id _ vpackage (int): Унікальний ідентнфікатор віртуального пакунка ; 
- id_package (int): Ідентифікатор naкym<a; 
- id_product (int) : Іде1m1фікатор продукту; 
- qty (int): Кількість товарів; 
75 
• 
ЧДТУ 242244.ООбПЗ 
І_ bcrat (і111): Зrtraлt,110 n:tra; 
- t_ vоІшнс (Поаt): Заrалмшіі об'см. 
Табл1щя kota. Табл~щя місn1п. доні про містu: 
- id_kota (іпt): Унікальн11іі ідент11фікатор міста; 
- id_prov (і111): Ідентнфікnтор провінції ; 
- kota (,ra.rcltar(25)): Нозвn містn; 
- priority (int): Пріор11тст міста. 
Ці табл1щі взаємодіють між собою через кл10•1і, що дозволяє ефе1.r1ш1ю 
opra11iзonynaп1 та уnравляп1 да1111м11 про кор11стувачіо, водіїв, ва11тажіок11 , 
npoдyi-,-11, пакунк11 та міста у системі поста•1011ш1 продуктів. 
3.1.5 Розроб1<а інтерфейсу кор11стува•1а 
Розробка інтерфейсу користува•1а (UI) для системи nостача11ня продуктів с 
важл11в11м етапом, шо впливає 11n зруч11ість і ефективність онкор11сп11111я с11сте11111 
кінцевш,ш користувачами . Включає 11асту1111і підетапи та ключові аслскт11: 
Було 1шз11аче1ю основні фу11кцііі u1терфсйсу: управління з:1мооленням11 , 
відстеження продуктів, управління оа11тажем та пос11лкам11, обробка за111оn.ле11ь 
клієнтів по1<аза~ю на рисунку 3.18. 
·-
........ t ...... 
Рису~ю~< 3_1 8 _ СторіІІІ<З ynpan11i11m1 пос1111кам11 
76 
-
ЧДтУ 242244 .ООбПЗ 
Проеюува1111я кор11сrущ~ц~,ю1х сцс11nріїn . Розробка сцс11оріїо 01 1 кор11стn1111я 
для різ11нх ролеі1 "-ор1tС1)' ва•1ів. Було розроблс110 два 1юр11сrува1н~ адм і11 істратор 
покззз110 ва рІІС)'НІ\)' 3. 19 і водій nоказа~ю ~н:1 р11су11ку 3.20, дл.11 яю1х бул11 зроблені 
ріjні можл11вості доступу до і11формоції. 
EXPRЄSS 
.• 
..  І_·,,, ';· . 
Рt1сунок 3. 19 - Можл11вості перегляду адмі11істрnтора 
з •2 0 - Можлнвості r1сре1щ~ду оодісм 
Рисунок 
77 
ЧДТУ 242244 .ООбПЗ 
Створення К.\ркас1111 х модслсіі . Розроб1ш к:чжзс1111х модслсіі дJІJІ ос1юш111х 
екранів с11стемн , т:~кнх як: Їолов11а панель (dasl1board) з ос1юш11~м11 покnз1111кам11 . 
форма створення замоВJІсння. Сторінка уnраолі1111я пrодуктам11 по"аза1ю 1ш 
рнсункуЗ.21. 
Q 
о о о 
.... .. .. ... .- .... = • 
~ 
Рнсунок 3.2 І - B11rruщ головної стоrіню, 
Д1оайн іt~терфейсу. Розробка в1Зуаль11оrо дизайну, вкточаю1 111 внбіr 
кольорової 11алітр1t , шрифтів, іко11ок та інших графіч1111х елементів. Забез11счс1111я 
(ДІІІІОІ"О СТИЛІО для всіх екранів j К()МПQІІеІІтіо СНСТСМ11 . 
Розробка інтерфейс1111х комnо11е11тів. Створеш1я комnо11е1-1тів і11тсрфеіkу, 
таких як форм1t для nосде111UІ да1111х, табл~щі дЛJІ відображс1шя слнскіо замовлс111, 
та запасів, кнопки для дій показано щ, р11сунку 3.22. 
-1 
u·, 
І fЮ:001 І ІООrрн 20•01·N24 !"""'""'""' 
Рвсунок 3.22 - Пр11клад відображення табл11ці пос11ло1< 
Кінцевий результат достаок1f 11ад11є можшшість перегляду звіту nо1шза110 11а 
Р11сунку 3.23. 
78 
-
ЧДТУ 242244 .ООбПЗ 
с11стема постачання продуктів Оанта жІ, -.а Порш 
но"орн•А >••• А9232 
Звіт статусу досn~оки 
0oro ' 20 кг / ЗОО кr 
,ат 8'.<І'І>І"" 24-<17-2024 
к"wь 1l.:np3a,,,. 25-07·2024 
8,0.Q,\~ Доuініw Toprro 
Ном,о теоефону , 0975678965 
w nосмк• М•рwрут Oara 
РАСК001 • Максш, 700-р!ччо • Гет~,мана СагаіІдачноrо 90 20 кr j 1400 грн Отри.ман0 
Рисунок 3.23 - ПрFІЮТад звіту доставки 
3. І .6 Ormc розробки проrраJ\,1них компонентів 
Оn.ис розробки пporpa]\,u-rnx компонентів для системи постачання 11родуктів, 
яка розроблена иа основі РНР, з використанням бази дarnrx pbpMyAdшin та 
ХАМРР, включає вастушІі ключові аспекти : 
Визна•1ення архітеt<Тури системн: 
вибір архітектурного підходу для побудови с11стем11, зо1(реr.1а, 
ви1<0ристанюr моделі МVС (Мodel-Vie,v-Controller) для розподілу 
відповідальностей між різ11им11 частннами с11стсм 11 ; 
визначення основних модулів та коr.,шопеuтів с11сте11111 , таюrх як 
управлншя користувачами, управт1111я замовлення11111 , уnравлі1rnя 
продуктами, управління достав1<0ІО та звітність. 
2 Розробка моделі даних (МоdеІ) : 
створення РНР-класів, я1<і прсдстаnляють ос110011і супюС'Ті с11стем11, 
вкmо9аrочи продукти, поста•1адьнаків , замовлення та звnас11; 
реалізація методів для взаємодії з базоJО да1111х, т111<11х як отnоре11ш1 , 
читанпя, оповлення та n11да11еп11я за1111сіn (C ltUD-011epnцi1) , 
З Розробка контролері.п (Controller)t 
79 
.. 
tЩТУ 242244.ООбПЗ 
стnорс~шя РНР-клnсів ко11тролсріо, яю обrобля1от1, зап11т11 
1'-Орнстува•t ів , ВІІЮІІІКЗІОТЬ відповідні МСТОJ\11 модслсіІ та ВІІЗІН1'13ІОТІ,, 
які в1ш11 (vie,vs) відображаn1; 
забезпеченю1 лоrі.Jш обробю1 запнтів , таю1х як обробка зомовлсн1, , 
оновлення прод)'k'Тів та у11равлі111u~ достаuкою. 
4 Розробка видів (Vie,,•): 
створення НТМL-сторінок та шабло11ів, як1 оідображают1, да111 
кор11стувачам у зручному форматі; 
в11кор11сташu~ РНР дJlJІ д11наміч11оrо запов11е11ня ш.1бло11ів да1111м11 з 
моделей, забезпечуюч11 інтеракп1вн11й кор11стувацьк11іі інтерфейс. 
5 Розробка інтерфейсів кор11стувача : 
в1п--орнстанн.я НТМL, CSS та JavaScript дл.я створення і.нтерактивннх 
тз адаnт1mю1х інтерфейсів; 
інтеrраuі.я бібліотек та фреймворків, так11х як Bootstrap, codeigniter, 
дл.я поліпшенш1 дизайну та зруч11ості внкорuстаm{Я. 
3.2 Тсстуnа11н11 систем11 
Тестування с11стсм11 є кр1m1чят,t етапом у розробці програ,-пюго 
забезпе 11ення, що забезпечує відповідність усіх компонентів с 11стем11 постачання 
продуктів визначеrшм в11моrам і стандартам. Мета тестування полягає у в11явлснні 
та виправ.пекні помилок, перевірці функuіональності, прод)'kї11вності, безпеки та 
зручності користува11nя . Цей процес включає кіл1,кз 111пів тестування, кожен з якнх 
охоплює різні зспеІ<ТІІ с11стемн. Комплсксн11іі підхід до тсстуш11111я ззбсзпе•rує 
високу якість програмного забезпсче11ня, мінімізує р11з111<11 в111111к11еш1я nо11111лок у 
реаль1rих умовах експлуатації та підвишус задоволеність кор11стувачів . Ретельне 
тестува1111я на всіх етапах розробк11 дозволяє створ11п1 11адіііну та сфскт1ш11у 
систему постачання продуктів, .яка відповідає потребам бізнесу п, DІІМОГlІ~І 
К11.ієuтів . 
3.2. І Модульне тестува1111.я 
80 
чдn, 242244 .ООGпз 
1\•Іод)'Л І,ІІС тестуuа11ня - це процес 11срсоірю1 окрсмнх молул ~n :160 
~-о~~понс11тів програмного забсз11с•1сння лля 11ідтuсрджс1111я їх 111,ої h'Орскп ~ої 
poбont . Основна ідея поляrас 8 тому, щоб 11cpcnip11111, чн 011ко 11 уюп,ся 0•1 і1<ущ111 і 
результаn1 для окрем~tх частнв 11porpnм11 за умоn11 11cn1111x нхід1111х д:11111х . 
Для тестування буде в111,ор11стовуватнс1. мова РНР. 
ВстаноВJІення фреіімворку тестува1111я Codelg11i1cr. По•11111ою з оста11оолс11.11я 
фрсіімворку тестува1111я Codelg11i1er. Я можу вста110011т11 ііо1·0 11срез Сотроsсг :~бо 
зава11таж1m1 безпосередньо з офіціііноrо ре11оз11торію Codelg11i1cr. 
Створення тестового класу. Да.лі я створюю 110011іі клас для мого модульного 
тестува1нtя. Я називаю itoro ProductМanagcшe111Tes1, оскількн я тестую функції 
}11равлін1tЯ 11родукrам11 . 
І·Іаnнсання тес1uвих методів. У моему тестовому класі я 11ишу метод11 дm1 
тестува1111я різ1111х функцііі уnравJJіння продуктам~, . У мене є метод 1estAddProduc1 
д,u перевірю~ функції додавання нового продуt.-ту. 
Запуск тестів. Я за11ускаю свої тес111 і перевіряю, що 001111 nроіішлн усг1іш1ю, 
в11кор11стоо)'lо•ш вбудоваві засо611 Codelgnitcr для запуску тестів. 
Аналіз результатів : Після заnуску тестів я перевіряю рсзультат11 , щоб 
переконатися , що всі тести проіішли успіш1ю. Я в11nраоляю будь-які пом11лк11 у 
своему коді та перезапускаю теспt, якщо нсобхід,ю nоказа,ю в табл11ці З . І . 
Табшщя 3.1 
Результат моду11ь11оrо теnувв1111я 
Модулі Результат 
admin.php Успішний запуск 
driver.php Успішне завантаження залежностей 
~ 
-Product.plip Успішне зава11таже1-11-1я з3лсж1юстей 
81 
-
ЧДТУ 242244 .ООбПЗ 
з.2.2 ІнтсграціІіне тсстуnа11ш1 
Інтеграuійнс тестуоання - це п 
Р 0 цсс тсстуun1111я озасмодії між окрс~1ш,111 
,л,1~ 111 або комnонентам11 проrрамног 
~,од) 0 за 6 езnе11е11 11я після їх об'єд11а1111я. Цеі'і 
в11д тестування проводиться дЛЯ ВІUІвлсння дефектів, що в111111кають під i1 .ic 
10дії між інтегровант,ш модулям~ 1 1·  . . . 
взаа • ДJJя nерев1рки, що ц1 модулі працюють 
І як Єд1Ш.:1 система. Ос,ювною . •u 
разо~ мстою 111тсгращ111юrо тестува1111я є 
забезпечення правильного обміну даннм11 та взаємодії між ком~ю11е11там11 , що 
спрпяє стабільній роботі програми в цілому. 
811значення сценаріїв інтеграції. Спочатку я визначив, які частини мого коду 
потрібно інтегрувати та як вони пов11нні взаємодіяти . Це може буrи інтеграція між 
"'Онтролера~ш та моделями у моєму МVС-додатку. 
Написання тестових кейсів . Для кожного сценарію інтеграції я наn11са.в 
тестові кейси, які перевіряють правильність взаємодії між ко~mонентам11. Якщо я 
тестую інтеграцію між контролером і моделл10, я написав тест, який відтворює 
в11кл11ю{ методш контролера та перевіряє, •ш вони прав,шьно взаємодіють з 
метода~nt модеш. 
Підготовка тестового середовища. Я підготував тестове середовище, яке 
дозволяє виконувати інтеграційні тести. Це вклюqає налаштування тестової бnз11 
даних та інших зовнішніх ресурсів, які використовує моя програма. 
Виконання тестів. Я виконав тест11 та переконався, що всі 001111 про1їшл11 
успішно. Інтеграційні тести можуrь бути більш часомісткнм11, оскільк11 вон11 
перевіряють взаємодію між більшою кількістю компонентів. 
Аналіз результатів. Після 811ко1~а1-~ня тестів я проаналізував результатн, щоб 
а11.11внти бть-які проблеми 3 і~пеrраuією між 1юr.шоне11там11 . Якщо бул~, в11я1\Ле11і 
nомнлКJ,1 , " оєму коді та перезапуст11в тссп1 по1шза~ю в тnблtщі 3.2. 
я виправив 1х у св 
Табшщн 3.2 
Результат і11тсграцШ11оrо тсстуоа111н1 
І.І І'сзул1.т1tт 
~•теrрова11і модулі 
82 
--
--
ЧДТУ 242244 .ООбПЗ 
Пролоnжс11ш1 тnбтщі 3.2 
-
Controllcrs + Models Усп iw11c зом11тnжс1111я залсжностсіt 
~ 
Controllers + Vic"'s у . 
СП ІШНС ЗОМІІТ:ІЖСІІІІЯ 33JІСЖІІОСТСЇІ 
3.2.3 С11стем11с тссrуво1111я 
С11стемне тесrування - це в1щ тсс111вання, яюtіі пrюводнться 11а повністю 
інтегрованій с11стемі з метою 11еревір1ш її відповішюсті вюна•1ен11м в1шогам і 
спсш1фікаціям. Uefi внд тесrува11ня охоплює тссrуоа1111я всієї с11стем11 як єд11 11ого 
itiлoro, включа1оч11 всі комnо11е11т11 і nідснстсмн , а також їх взаємодію . 
8ІІЗІІ3ЧСІІІІЯ цілей СІІСТСМІІОГО тссrува1111я . Сnо•~атку Я 8113113'1118 ОСІІОВІІ і цілі 
с11стемного тсстуоанвя, щоб псрсвір11т11 повну і11тегра11ію всісї с 11стем11, 
ВКЛІ0'13ІОЧJІ всі модулі та КОМПОНСІІТІІ , щоб перСКОН:)ТІІСJІ , ЩО DОНІ І працюють разом 
ВІДПОВІДІІО ДО ВИМОГ. 
Розробка сценаріїв тесrуоання . Я розро6110 сценарії тесrування, як~ 
охош1юють всі основні функціональні моЖІ1нвості с11стем11 . Це сценарії для ногі11у 
кор11стувачів, додавання продую-ів, оформлс1111я замомс11ь п1 упрааnі1111я 
продукrами. 
Створсшtя тестового ссрсдов11ща . Я nідготуоuо тс1.:тоое ссредоu11ще, яке 
макс11маль110 наблнжене до реаль11ого ссрсдоо11щt1 ексnлуuтації. Це окл ю• 1ас 
11алашtування сервера, бази дn1111х, веб-сервісів п1 i11w11x зоо11іш11іх ресурсів. 
Виконання тестів. Я 011ко11ав с11стем11і тестн, 11срсоіряю•111 осі ос110011і 
сценарії. Це вклю•шло тесrува1111я як поз11п101111х, так і 11е1,1п101111х сцс11nрії11, щоб 
nсреко11атися, що система коректно обробJ 1яс осі моЖJ111nі c111)'n ttiї. 
Аналіз результатів . Після 011ко~н11111я тсстіо я n11nлiJyo110 рсзуJІІ,ТtІТІІ, щоб 
в11ящ1ти будь-які проблемІІ або 11едолікн у с11стемі . Якщо Gy1111111111iu1c11i 1 10м~1111ш , 11 
n1inpaoнn їх і повторно ripoтccryoao с11стсму покнзо1ІО о тnбл~щі З .З . 
Тnбтщл З.З 
83 
.І .. 
ЧДтУ 242244.ООGПЗ 
- Рсзул1,11,т с11стс1111101·0 Т" 
"сn·.о 111111п 
Ф,..,1 1" uio н:ш •• 11ісп,/Сце 11 о 1> ііі Резущ,п1т 
~ 
Lol!in В111ю11r11111я yc11iu111c 
ЛddProduct В11ко11а1111я усnіш11с 
UpdatcPackagc О11ко11ання успі11111с 
3.2.4 Пр11ймал.ь11е тестуоа1111я 
Пр11fімальнс тестуоа1111я - це DІ1д тсстува1111я nporpnм11oro забезпе•1е111ія , 
АІ(ІІіі проводІІТЬСЯ З мстою ВІІЗІІО11ен11я, 1111 відповідає с11стема всім ОІІМОГ;JМ 
замовт1ка 1 •111 готова 0011а до реальної експлуатації. Пр11ймал~,11с тестування 
11ровод11ться 1111 завершальному етапі розробю1 nрограмно1·0 забсзnе•1еfІ11я і с 
остаточ1111111 підтверджс1111ям якості с11стсм11 перед її передачею з:~моо1111ку або 
кі1щсвому кор11стувачу. 
В11з11ачс1111я кр11теріїо nр11ймаJ1ь1101·0 тсстуоа1111я. С11очотку я 011з1ia1J1111 
критерії пр11ймаль11ого тестування, які базуються 11а 011мог.-~х замо111111кп . Це 
ВІUІ1очас фу11кціо11ольні в11мог11 , продукт11в11ість, Gсзнску та зру•111ісп, 
в11кор11стан ю1. 
Розробка сценаріїв тестуво1111я. Я розроб11в сценарії nр11ймаль1101·0 
тестуван11я, які охоплюють всі основні фу11кціо11аль11і можтшост і с11стем11 . Кожс11 
сценарій оріснтооаниіі ІІІІ ГІереоірку оід110оід1юсті 111iмo.-iiм зомоо1111к11. 
Підготовка тестового серсдоонщn. Я 11ід1·оту11tІО тестове середоL111щс, 11кс 
Маkс1~мально 1tuближе~~е до умоо реальної експлуатоції. Це nкл10•111с 11nлnшryn11111111 
сервера, бази даних та іІІШІіХ зооніuтіх pccypciu 1ю1<nзn110 11n р11су11ку 3.24. 
011 · Я "ПрОСІІО З"МООІІJІКа ДJІ/1 ІІІІІ<ОІІІІІІІІЯ тесті11 разом зі МІІОІО. 
І<ОШІННЯ ТССТІО. Зu · " 
М11 nройшл,1 всі сцеІІарії тсстуоаІІІІЯ, персвір1110•111 фу111щіо111шь11і мож1111uості, 
продуктивність та зруч11іст1, 011кор11ст~н11111 с~~стсм,,. 
84 
чдn, 242244 .ООбПз 
Аналіз рсзущ,татіn . ПіСЛJІ n11ко11а1111я тест,· ,, "•, 1 11 · у111 Т"ТІІ 
ІlрОtІШU1І ЗУІІ31111 рез , u 
разом із замоnн11ком. М11 Іlсрско11ал 11ся , що с11стсмn оідпоuідас осім 011могам і 
nрзuює стабільно nо1'-аза,ю н.1 табл11uі 3.4. 
Табтщя 3.4 
Результат 11р11іімаль11ого тсс11•ва1111я 
№ О1111с тесту Очікоа1111іі результат ФаІ\ї\ІЧІІІІіі рсзут,тат Стnтус 
3 GET /uscr Отр11ма110 Отр11мn110 Проі1дс110 
інформаці,о про інформацію про 
кop11cтynatJa кор11стуоа•1а 
4 POST /аu1І1 Користуnача Kop11cтynn•in Проіідс110 
авторизовано та авторнзовано та 
повернуто JWТ клю•1 пооср11уто J\VT клю•1 
5 CREATE/ Product Продукт буде Продуктбуu Проі'ще110 
створено створс1111іі 
6 UPDATE!Product Продукт буде Продукт був Проіідс110 
011овлено оновленніі 
8 DELETE /Product Продукт буде Продукт буn Проіідс1ю 
видале110 в11дален11іі 
Usi,,g Unit Tes, l.iЬri,y 
w, '""У t tit f .;nctic-n 
fмn1,1"'°~ Uи• 
C);j~- ntn АА•О Uut 
....,,.m Пр,".,:t. .: :> 
i..·, ♦•А,у D\I.ІM;9\t\t0«1\Pftla\i{t ·, 1.1cpty-S)1 І tm\ 1;:,p11( IЬ<'fr\t'CNJCl!t•t\Т . ,.u n.t php 
k..!._ ..,,•Аи 11 
п •••• 
Рнсу,,ок 3.24 _ Jlp11i1мaлi.11c тсстуоа1111я 
з.з Пр11клад11 n11ров11джс11ого IIJ)Of'J)IIMJJOl'O J(OMIIJICl,C)' 
р б з,•, бсзr~с•~с1111н с11стсм11 11ocт11•tn111111 111юJ1уК1·і11 буJю 
озро JJcнc nрогр11м11с 
Ycr,,·ш но DГІрооаджсно ·,  n111юр11 С'J'!ІІІО JІСК іJІІ,І(ОМ ІІ І<JІі С ІІТІІМІІ . Н11ж • 1с бу11с 111\ІІСДСІІІІіі 
11Р11І<J~ад роботи с11стсм11 лос-га1 1111111я r1роду,пш. 
85 
чдТУ 242244 .ООбПЗ 
І nрн відкр11ва1111і програмного З","  бсзпс•1с111ІJІ нас uщс11лас ІН\ стор1.1 1ку 
логін де потрібно ввсст,, с 001..  даю·,  а саме : адм1·1 1·1 стратор або оодііі. 
Розпочнемо з адміністратора показn110 1111 рнсунку 3.25. 
Cs~ 
~ :. 
EXPRESS 
• 
М Мtі,fї5Ч 
Р1-1сунок 3.25 - Сторінка лоrіну 
2 Пісня того як ввели данt для адм1111стратора мн переход11 на 1·0110uну 
сторінку, де описується коротка інформація про всі етал11 постача1111я 
продукту показа,ю на р11сунку 3.26. 
е о 
·.,,. .., !9-- • 
о о 
а " 
РисуІІОJ< 3.26 - Голоо1111 сторі11к11 
3 Після •юго ми переходт,ю до сторі11к11 11ронукт11, д1 1н нощшн111111 
продукту на склад показ111ІО 113 р1tсунку 3·27· 
86 
ЧДТУ 242244 .ООбПЗ 
13,і,-І 
, . :, 
ІЗ r 
---
Р11сунок 3.27 - Сторінка nродуктІІ 
4 Потім перехощ~мо до сторі11ю1 noc1U11<1t д будемо офрмлювати 
замовлення показано иа рисуп.ку 3.28. • • І 
. , ' 
і · ::І: · · ·і 
' ,..,.-.$. . ....,,.,...., 
-------- ---
Р11су11ок 3.28 - Сторінка nос11лкн 
5 Після чого переходи.мо до сторінки ваRТажшки, для до11звМ111я 
транспорту і його максимальну перевізну вагу показано 11а р11сунку 3.29. 
D 
.ІJШ 
Рпсуиок 3.29 - Сторінка ваитзжів1ш 
6 Також добавляємо водіїв на сторінuі водії показано на р11су11ку З .ЗО . 
87 
• 
чдn, 242244 .ООбПЗ 
ІР,Рі 
r І.;)' , ....G ). .:..,., ~.· 1 :;, 
J:y(' :~-: msнr;~ :.r.:-;г~, /fшy;n І • ..,  
- - -- -- --
Р11сунок З.ЗО - Сrоріш,-а водії 
7 Тепер можна оформ1m1 вантаж для заrрузк11 вщправю, ЛОСІІЛЮІ 
показано на р11сун"'"У З.З І. 
Рисунок 3.31 - Сторі11ка вантаж 
8 На сторінці доставка 1ш1 можемо відслідкуват11 ва11таж і доб:1011111 статус 
доставлено або ловсрнуrо nоказа1ю ш1 р11су11ку 3.32. 
r l)~i..:,'11!.f/ ,:., 
ШD 
r11су1юк 3.32 - Сторі11к11 достанкr, 
SR 
ЧДТУ 242244 .ООбПЗ 
9 Після обнра.~шя статусу відправлення щ, nсреходнмо до зоіту, де можемо 
nродшштuся звіт і пр11 натисканні на в11від на друк переглянут11 детальну 
інформаuію показано на р11сун_ку 3.33. 
;:з 
Рисунок 3.33 -Сторінка звіт 
89 
ЧДТУ 242244 .ООбПЗ 
ВИСНОВОК ДО ТРЕТЬОГО РОЗДІЛУ 
у третьому розділі роботн було детально розглянуто процес розробк11 та 
f\-с1)'Вання програмного забезпечення для с11стсм11 поста•шн11я проду"їі о . На 
nolfan-Y було обrрунтовано в11бір засобів реалізації, що в1v1ю•1ал11 мову 
nроrрамування РНР, фреіі~~ворк CodeJgniter, та інструменnr дл,1 poбonr з базами 
,1.uJJIX, такі як phpMyAdmin. Було оп~1сано структурну (функuіо11аль11у) схему 
,11стем11, яка демонструє основnі ко~rnонеН111 та їх взаємодію, а також лоrі'ПJУ 
,~ему, що відображає лоrічпі зв'язк11 між елемеnта~пr с11стем 11 . .. , 
у проuесі розробю-1 баз11 даннх було створено і11фолоrічнс та датолоrі•ше 
uроектування, які забезпечують ефект11вnе зберіrа1шя та обробку даш1х. Було 
також розроблено інтерфейс кор11сту11ача, я1щіі забезпечує зручн11іі доступ до 
функцій системи для адміністраторів та воді.їв. Опис розробки проrрамннх 
компонентів включав в себе створення окремнх модулів , що відповідають зn різні 
аслекш poбorn систем11. 
Тестуuа11ня системи проооднлос1, 11а кіл1,кох рівнях. Модуm.11е тсстуnа11ня 
перевіряло роботу окрсмнх ко~mонентів, інтеrраuііі11с тестуnа1111я оці111ооало 
взасмодію між компонептам11, снстемне тестування перевіряло роботу всієї 
системи в цілому, а прш1мальне тсстува1111я nровод111юсь для підтосрджс,шя 
відповідпості системи вимогам замовника. 
На завершення було наведе110 пр11юн~д11 оnровадженоrо проrрам1ю1·0 
kомллексу, що продемо,іструвал 11 усr1ішність реалізації r.1 фу11ю1іо11ушш11я 
снстсм11 nостачашt.я продуктів. в11с1ювок 111,ого розділу 11ідкрсстос з11n•1с1111.11 
kомnлекс11оrо підходу до розробкн та тсстуnа111111 прогрnм1ю1·0 зобсзnс•1с11ш1, що 
забезпечує fioro вадійність, ефектно~ ~іст~. та nідnоnід11ість 011мог11м кор11сту1щ'Іі11. 
90 
----------------.... 
ЧДТУ 242244.ООбПЗ 
висновки 
У процес~ вн~-."Онання бакалаврсь~-.'Ої робот11 на тему "Снстсма поста•1а,1ня 
продуктів" було досягнуто кілька важл11в11х результаті о і зроблено зш~•ші 011сноок11. 
Визначено аJ-.їуальність автоматизації процесів постачання продуктів для 
підв11щення ефективності та зменшення помнлок у логістич1111х операціях. 
Основною метою розробк11 було створе11ня nporpa!'.uюro забезпечення, яке б 
оnruмізувало управління замовленням11, продуктами та взаємодію з доставкою. 
Було визначено функціо11альпі та нефункціональні вимог11 до системи, 
включаючи можлив1сть управління кор11стувачам1J, обробки замовлень, 
моніторингу запасів та генерації звітів. Розроблено детальні вимоги як з боку 
замовника, так і з боку розробника, що дозволило qjтко окреслити обсяг робіт та 
. . 
0Чll\ував1результати 
Виконано моделювання предметної області, що дало змогу зрозуміти основні 
процеси та взаємозв'язки між ними. Створено діаграми прецедентів, які ош1су10ть 
основні сценарії використання системи, та розроблено моделі даних для бази 
даних. 
Система була розроблена на основі РНР, з використанням бази даюrх MySQL 
та інструменту pl1pMyAdmin для управління базою. Викор11стано архітсктурн11і1 
підхід MVC, що дозволило розподілити відповідальності між моделямн, в1щам11 та 
контролерами, забезпечуючи гнучкість та масштабованість с11стсм11. 
Створено зручний та інтуїпrвно зрозумілий і11тсрфеііс кор11стувача, як11іі 
дозволяє легко взаємодіяти з системою та виконуnап1 необхідні операції. Інтсрфеі1с 
реалізовано з використанням сучасних веб-технологіі1, що забсзnе•шло 1101'0 
адаптивність та доступність з різних пристроїв. 
Проведено комплексне тестування с1-1стсм11, що вклrочnло 111оду111,11с, 
інтеfl)аційне та користувацьке тестування. В11явлс11і пом11лю1 бут1 ui111panлc11i, що 
забезпечило стабільну та надійну роботу с11стем11 в реаш,1111х умовах. 
п ~ · показав , що розробле1~а снстсма з1~ач1ю спрощує 11роцсс роведении анашз 
уnравл· продуктів , зменшує •ioc 1111 оброб1су зn111ODJ1c111, та 
ІННЯ постачанням 
По1<ращує то•шість обліку запасів. Застосуоа1111я с11стсм11 дозволяє п1дв11щ1п11 
91 
ЧДТУ 242244.ООбПЗ 
ефекr1ш11ісп, робо111 компа11ії та забезпс•1ує зручн11й інструмепт дЛJІ контролю та 
311алізу логіст11чн11х npoueciв . 
92 
чдn, 242244 .ОО6Пз 
СПІІСОК 8ІІКОРІtСТАІ-ІІІХ ДЖЕРЕЛ 
Метод11 проектування [Елеt,.-тро 111111іі ресурс) - Рсжнм доступу до ресурсу: 
bttps://znanija.comltask/52782528 [І). 
2 Об'сt,т. но-оріснтоване nросt,.-тува1111я (ООП) [Елсt,.-троншtіІ ресурс) -
Режнм дос,упу по ресурсу: littp://sur\.li/uacfq[2]. 
З UML [Елею-рон1111й ресурс) - Рсжнм дос,уnу до pccyrcy: 
littps://uk., vikipcdia.org/\\•ik i/Uni ficd _Modeling_ La11guagc [З] . 
4 Singlcton [Елеt,.-тронн11й ресурс] - Рсж11м доступу до ресурсу: 
littps J/is.gd/x2Ox5o [4 ]. 
5 РНР [Еле11.їро111 1 11й ресурс) - Рсж11м дос,уnу до ресурсу : 
littps :/ /v.'\vw. php.net/_( 5). 
6 phpMyAdmin [Еле1,.-тро1ш11й ресурс) - Режим доступу до ресурсу : 
І111рs ://W\\rw,phpmyadmin.net/ _[ 6). 
7 ХАМРР [Елеа..-гро111111 іі ресурс) - Реж11м доступу до ресурсу: 
l11tps://W\vw.apacl1efriends.org/ru/indcx.h11nl#J7]. 
8 НТМL [Електро111111іІ ресурс) - Реж11м доступу до ресурсу : 
https ://w3scl10olsua.gitl1ub. ioЛ1tmVindex . l111nl#gsc.1ab=O [8]. 
9 css [Електронний ресурс] - Режнм доступу ДО ресурсу: 
https://developcr.mozilla .org/ru/docs/\\'eb/CSS [9]. 
10 MySQL [Електро111111іі ресурс) - Реж11м дос·rу11у до ресурсу: 
ht1ps://www.mysql.com/.[ І О) . 
11 CRUD-oncpaцiї [Еs,сктро111111іІ ресурс] - Реж11м досту11у до ресурсу : 
littps://is.gd/9d7g8H (11 ]. 
12 PHPUnit [ЕлектроншtІі ресурс] - Рсж,ш JtOCТ)'t1y до ресурс)': 
l1ttps://phpunit.de/indcx.l1tml [ 12]. 
13 ЕRР-системн [EJJeк-rpot11t1tfi ресурс) - Рсж11м 11ос1у11у Jto ресурс)': 
https://is.gd/A 911Sdw [ І З] . 
14 SСМ-системІf [Е11сктро1111 1 1 ,РоІ  ресурс) - f'сж11м 11ос1у11у Jto ресурсу : 
l11tp://surl. li/u11cki ( І 4]. 
93 
-
-
ЧДТУ 242244 .ООбПЗ 
\ 5 \\1МS-с11стсм11 [Елскm·о·н..,1 1111~1 ресурс] _ Рсж,,•.,.  досту11у д о ресу1,су.·  
l1ttps://is.gd/ESUQn5 [ 15]. 
І 6 ТМS-снстеr.щ [Елс1,.-трощ11rіі ресурс] - Рсж11м доступу до ресурсу: 
l1ttps://is.gd/NryZMf [ 16). 
І 7 SQL [Елекrрон1111іі ресурс) - Режнм достуnу до ресурсу: 
https ://\,,З scboolsua. gitl1ub.i o/sq Vi11dex.l1t111J#gsc. tab=O [ 17 ). 
18 MySQL Documentation [Елс1,.,ро111111іі ресурс] - Реж11м доступу до 
ресурсу: https ://dev.щysql.com/doc/_[ 18). 
19 PostgreSQL [Електрошшіі ресурс) - Рсжю,t доступу до ресурсу: 
l1ttps://uk.,vikipedia.org,t,,,iki/PostgrcSQL [ 19]. 
20 Pl1pStorm [ЕлеІ\тронн11іі ресурс] - Реж11м доступу до ресурсу : 
l1ttps://W\vw.jetbrains.com/ [20]. 
21 Visual Studio Code [Е.11е1,.-тро111шіі ресурс] - Реж11м достуnу до ресурсу : 
l1ttps://code. visualstudio.co1nl (21 ]. 
22 Jenkins [Електро111111іі ресурс) - Режвм досту11у до ресурсу: 
l1ttps://W\vw.jenkins.io/ [22). 
23 Selenium (Електрон1111іі ресурс] - Рсжнм доступу до ресурсу : 
l11tps://uk. wikipedia.org/\viki/Seleniu111 [23 ). 
24 ХАМРР Documentution [Елсктрон1111іі ресурс] - Рсж11м доступу до 
ресурсу : \1ttps ://w,v\v.apacl1e friends.o rg/docs/_[24 ]. 
25 Laravel [Е11ектронн1-1іі ресурс] - Рсж1ш достуr1у до ресурсу: 
https://laravel.com/ [25 ]. 
26 Symfony [Електро111111іі ресурс] - Рсж11м доступу до ресурсу : 
l1ttps ://symfony.com/ [26]. 
27 React [ЕлсктроІІІІІІЙ ресурс] - Рсж11м досту11у до ресурсу : 
hltps://ru.legacy.reactjs.org/ [27). 
28 Codelgniter [ЕJІектронвніі ресурс] - Рсжнм дос1у11у до ресурсу: 
l1ttps ://codeign і ter. com/. (2 8) • 
29 PI-U' Manual [Елсктрон1111іі ресурс) - Рсж11м досту11у JIO ресурсу : 
https://www.pl1p.net/m:i1ннil/ru/indcx.pl1p_[29] . 
94 
--
чдn, 242244 .ООбПЗ 
30 Codclgn.itcr Docu111e11tation [Елекrроттіі ресурс] _ РсжІІ.\І лоступу ло 
ресурсу: \1ttps ://" '""''·c odcignitcr.co111/uscrguidc3/_[ З О J. 
31 Предметuа область модсшова,шя [ЕлсІ\тrю11111111 ресурс] - Рсж11м дocryny 
до ресурсу: https://dou.ua/forшns/topic/42366/ [31 ]. 
32 Модель прсдметuої області [Елс~.тро111111іІ ресурс J - Рсж11м доступу до 
ресурсу: \1ttps ://is.gd/PVAsEr [32]. 
33 phpM'yAdmin Docuшentation [Елск-гро11111111 ресурс) - Рсж11м достулу до 
ресурсу: l1ttps://,V\\'\\'. p/1p111yadn1in .nct/docs/_[ЗЗJ. 
34 ЕR-дізrрамн [Елскrро11ю1іІ ресурс] - Режнм доступу до ресурсу: 
l1ttpsl/is.gd/8R 7N\Vc [34]. 
35 UМL-діаrрамв [Електронний ресурс] - Рсжпм доступу до ресурсу: 
l1ttps://dou.ua/foru111s/topic/40575/ [35]. 
36 Епеменnt модетовання предметної області [Е.11ектронн111і ресурс J -
Режим Jtoc,yny JtO ресурсу: l1ttps://dou.ua/foruшs/Іopic/42366/ [36J. 
37 Кваліфікаційна_ робота_ бакалавра_ нове_ ПЗАС_  2023. 
95 
l 
,· 
ДОДАТОК А 
ЗАТВЕРДЖЕНО: 
Зав. кафедроІО ПЗАС, професор 
_ _ _ _ _ _ _ Голуб С.В . 
,, __. . - --- - - 2024 р . 
І, , І 
Програмне забезnечеюu~ с11стем11 постачання продуктів 
Спец11фікаu~ 
482. ЧДТУ 242244.006 
Л11сті.в 2 
Розробн11к ~ Ж11лін М.В. 
kеріВJщк cf!f!t!Щ Первунінськttй С.М. 
Черкас,, 2024 
І. 
-
482. tЩТУ 242244.006 2 
,-
поз11ачс1111я 
Н аіі~1с11у na ІІІІЯ {1р11міпш 
.... 
До~..·умснтація 
~~SZ .чдn'. 242244 12 01 Текст nро11)ам11 
48z.ЧДТУ. 242244 34 0 1 Інструкція кор11стува•1соі 
482 .чдn'- 242244 90 01 Графічні матеріал11 
> 
І " 
97 
дОдАТОКБ 
Іlрограм,н: забезnе'1е111111 с11стем11 11ocтnqa111111 проду..-rіо 
Текст 11рогр&1-111 
482. ЧДТУ. 242244 12 01 
Лttстів 12 
Ж1111і11 М.В . 
•Jе11ю1с.,11 2024 
482. чдn'. 242244 12 01 2 
Ліс11~нr фаі1лу Crudl\1odel.p11p: 
<?php 
dcJincd('BASEPA Пі') or схіІ('Nо dircc1 scrir1 асс= allo\\·cd'); 
cl:ISS CrudModel c:xtcnds C\_Modc\ 
( 
public runction scna;i1cCodc(Scudc, Sficld, Stablc) // Scodc = І,зnуа Ь11з1 2 a11gka a\\.JI 
( 
rcturn Scodc:.sprintft'%03s', (і111) substJ1.Sll1is->dh->sclcct_mзx(Sficld)->se1(S1al1\e)->ro,v()->Slield, 2, 3) + І); 
pub~c runcІion addDa1a(St1blc, Sdat.a = О) 
( 
Sllus->d\)-->inscл(Stablc, Sdal.3); 
public function updзtcData(Stabcl, Sficldid, Siicld,'3luc, Sdata = □) 
І 
Slhis->db->\\•l1erc(Sficldid, Sficldvaluc)->urda1c(Stabcl, Sdata); 
} 
public ruoction updateDзtaFor(Stabcl, Sficldid, Sfieldval11c, Sdata = Ш 
( 
Гоr (Si = О; Si < count(Sfieldid); ++Si){ 
S1!1is->dЬ->,vhere(Sfieldid, Sfieldvaluc)->updatc(Stabcl, Sdala); 
} 
public runcrion i;imba\1Data(S1abcl, Sdata = ОІ 
( 
Sll1is->db->"•herc:(Si;ibcl)->iosc:n(Subcl, Scшta); 
rublic runc1ion deleІcData(Srabel, Slicldid, Sficld,•alue) 
І 
Stl1is->db->,vheтe(Sfieldid, Sfic:ldvalue)->delete(Stabel); 
І 
public funclion ge1Data(S1abcl) 
( 
Squery = Stl1is->db->ge1(Stabcl); 
retum Squcry; 
І 
public func1ion ge1Da1a Wl1ere(S1abel, Sid, Snilai) 
( 
S1Jlis->db->wl1cre($id, S1lilai); 
99 
-
482. ЧДТУ. 242244 12 01 з 
SquCI)' = Slhis->db->gct(Subcl); 
rctll/11 Squcry; 
public function gctData.loiD(Stablc, Sonjoin) 
( 
Stliis->dЬ->Crom(Stзb\e); 
for (Si = О; Si < couлt(Sonjoin); ++Si) { 
Stl1is->dЬ->join( arr:iy_ keys(Sonjoin)[Si], nrray_  valucs(Sonjoin)[Si]); 
} 
rCIW11 Sthis->dЬ->getQ->resuJIO; 
І, І 
рuЬІіс function gctData.loiл\\'herc(Stable, Snilai, Sonjoi.o) 
( 
Stltis->dЬ->from(Suble)->,vhere($nilai); 
for (Si = О; Si < count(Sonjoin); ++Si) { 
Sthis->dЬ->join(arтay_ keys(Sonjoin)[Si], аrтзу_ , -alues(Sonjoin)(Si)); 
} 
rerwn S1his->dЬ->ge1(}->result(); 
І 
рuЬІіс fW1Ctioo getDзt.:tSum($,'3luc, Stable, Sбeld) 
І 
Slhis->dЬ->from(Stable) ; 
for (Si = О; Si < count(Svalue); ++Si) { 
Slhis->dЬ->,vhcrc(а rтау_ kcys(Svзlue)(Si]. аrтау_  va\UІ:S(S,,aluc)( Si]); 
} 
Stltis->db->sclcct sum(Sficld); 
retum Stltis->dЬ->getO->rowO; 
І 
РІІЬІіс function gctDataCount(S,-aluc, Stзblc) 
( 
Sthis->dЬ->from(Stable); 
for (Si "' О; Si < count(Svalue); ++Si) { . 
Sthi.~->dЬ->where(arт:iy kcys(Svalue)(Si) , аrтау _ valucs(S,'3lue)(Si )); 
І -
rerum Sthis->db->count аІІ results(); 
І - -
РІІЬІіс fuoction viewByDate(Sdatc) { 
;lhi5->dЬ.>distinc1('date', 'package.id_k ota'); 
thІS·>dЬ->from('package'); 
SІJiis->dЬ->join('kol3', 'package.id_kot:i = koІa .id_kota') ; 
100 
482. ЧДТУ. 242244 12 О І 4 
slhis->db->"·l1crc('d:11c', Sdзtc); 
srcsult = Stl1is->db->gc10->n:sull(); ІІ Tan1pilkзn sc111ua dзta kota bcrd4.s:Іrka11 id provi11si 
fІ Srcsult = Sthis->db->qucry('SELECT DISТINCТ dзtc, p;ickagc.id koi., FROM p;ick..,gc JOIN kощ \VHERE 
(!лtс = "'.Sdзtc.'" AND p:1c\..-:1gc. id_ko1з = kotз . id_kota')->rcsultQ; -
rcrun1 Srcsul1; 
public rщ1ction vic,,·DyK01.1(Sid_ko1:i) ( 
St1,is->dЬ->"·l1crc('id_ko1:i', Sid_kolJ); 
srcsult " S1l1is->db->gc1('p;1cbgc')->re.~ulIO; 11 Tзmpill.';ln scn1113 data ko1з Ьcr1Іas:irka11 id provinsi 
n:111111 SrcsulІ ; 
public ruлclion vie,vByPзcl.:Jgc(Sid_ko111){ 
Stl1is->db->,vl1erc('id_ kota', Sid_  kou); 
sr~ult = S1l1is->db->gc1('pзckзgc')->rcsul10 ; 11 Tampilkan scmua data kota bcrdasarl.an id provinsi 
rcluni Srcsult; 
Лістинг фаіілу Admin.php: 
<?рІ1р 
defincd('BЛSEPA ПІ') or cxit('No dir«t script acccss аІІо"'со); 
clзss Admin cxtcnds СІ_C ontrollcr 
( 
public func1ion _ construcІ() 
( 
parcn1::_ construct(); 
SІhis->load->modcl('CrudМodel', 'cnidМodcl'); 
Stlus->loзd->librзry('scssion'); 
ir(S1his->scssioo->uscrdзtз('rolc') != 'admin') { 
redir«І('loginl'); 
} 
public runction indcxO 
( 
Sdata = [ 
, LЕСТ u1us fROM c.ip:icity Wl·ШRE cs1111us-2')->nu111_ro\\'S0, 
'proccsscd' => Slhis->dЬ->qucry( SE cs FRO~• can.,city \VHERE cs1n1us=З')->1iun1 ro"·sO 
, , . 1,- ('SELECТ CSl31US . ,vi ,.. - ' 
complctcd => Stlus->d .>. query FRO•• n>cbge \\' HERE ps1a1us=l')->пu111 ro,vs() 
'гессіvе' => S1l1is->dЬ->q.,.-.,,,t,• sє· r.ст ns1a1us "'' ,.- -
L-1C •· 
101 
482· ЧДТУ. 2422441 20 1 5 
'1,:1um' =-> S1l1is->db->q111:ry('SELECT 115111111, П{ І\ 
· О, І P.1ck.,gc \VI IERE rsta111s~J')•>1111111_ro,vs(), 
),.1ckn~c· ~> S1his->db->qucl)'('SELECТ • 1-'ROM 1,: , 
'product' => Stl1is->1lb->qucl)'('SELECT • 11{0'1 iюcd ng~ )->1111n1_ro\\·s(), 
. " J1ГО ІІСІ )->1ш111 ГО\\'S() 
'truck' =-> StJІ.L s->dЬ->qucry('SELECT • І·;", ,О•~ t 1r uc~'· ') - • ' 
->nuщ ro11•s() 
•dJi,-cr' => S1l11s->db->qucry('SELECТ • Г-Rо~• d · . ·') - ' 
• ., П\СІ -> ІІ\1111_/'0\\'S(}, 
'co111cnt' <» 'зdn1in/l,cr:111dз', 
'na1·link' => 'Ьсr:шdа', 
); 
Stl1is->loзd->1•ic\\'('adminf,,backcnd', Sda1n); 
І 
public function p:ickagc'() 
І 
Sid =S tJ1is->uri->scg111cn1(3); 
S1ampil = Stliis->dh->query('SELECТ • l~ROM packagc JOIN ko1n 
\\'llERE packa~c. id_packзgc = '. Sid. 'ЛND 113ckзgc:. id_kota = ko111 .id_kotn')->ro,v(); 
Sdata "' ( 
'packзgc' => І 
'id_packagc' • > Stampil->id_packagc, 
'no_p3ckзgc' => Sш111pil->no_packagc, 
'customcr _nаюс' => Stampil->customcr _11а111с, 
'pl10ne' => Stampil->pl,onc, 
'adtlrcss' t > Stampi 1->address, 
'kota' => Stampil->kot:i, 
' І_kg' => $1ampil->t_kg, 
'І_kь,v' => S1a1n11il ->t_kgv, 
'da1c· => $1111nril->datc, 
), 
'product' :> $11,is->db->qucry('SELЄCT • Г-RОМ produc1')->rcsult(), 
'vJ111ckзgc' => Stl1is->db->qucry('SELECT • Г-RОМ v_pi1ckogc JOIN rackngc JOIN rrod11c1 \\'ІШІЩ 
VJ)Зckagc.id_packagc =' . Sid.' дND v_J1,1ckugc.id_packugc с 113cknge.id_p;1ckugc ЛND v_p11c lшgc. i1l_prod11c1 а 
rroduct.id_JJroduct') ->rcsull(), 
'contcnІ' : > 'adminlpackagc/щJcJvoluюc', 
'navlink'-> 'packagc', 
); 
І else if(Stl1is->uri->scg111ent(З) = 'oddri1ckugc') І 
Sdata " [ 
'product' => Stl,is->db->qucry('SEJ.ECT • PltOM 11rotlucl')->rcs11II(), 
'kоІа' => Stl1is->db->q11cry('SIZLІZCT • FROM kotn')->i·csiill(), 
102 
482· ЧДТУ. 242244 12 01 6 
·contcnt' => 'ad111inlpackagc/nddp.1ckзgc', 
'11avlink' => 'p:ick:ig~•. 
); 
І clsc if(Stl1is->uri->scgincn1(4} = 'updnlc') І 
Sid "' Stl1is->11ri->scg111cn1(3); 
S1з111ril = S1І1is->crudMndcl->gc1Da1:i\V\1crc('packagc' , ,t·d  k , s· 
i_rзc agc, 1d)->ro,\•(); 
Sdзia = [ 
'dсшіІ' => ( 
'id_JJзckogc' => St,щ1pil->id_packagc, 
'cu.~in1,ier_  n3n1e' ==> S111mpil->cшlomcr 11amc ., 
'pltone' => Stampil->pl1onc, - ' 
'зddrcss' => $111mpi\->addrcss, 
'id_koІa' => Stn111pil->id_ko1a, 
'da1c' => S1ompil->da1c, . ' 
], 
'co111cn1' s> ':idmi1tipack:1gc/updatcpзclшgc', 
'na\•link' => 'packagc', 
'kоІа' ~> S1І1is->1ll)->qucry('SELECT • FROM kota')->rcsult(), 
]; 
} clse { 
Sdnia = ( 
'packagc' => Stltis->dЬ->qucry('SELECT • FROM packagc JorN kota 
\VHEl{E pack11gc.id_ko10 = kQІa. id_ko111 ORDER ВУ pslatus OESC ')->rcsuJt(), 
'cootcnl' => 'admin/packagc/packagc', 
'1шvl ink' => 'pack.agc', 
J; 
Sthis->load->,•ic\\•('adщin/vbackcnd', Sdnt11); 
І 
рuЬ\іс func1ion addPack:igeO 
І 
Sadd = ( 
'id_p:ickagc' => Stliis->crudMoi.lel->gcncг.11cCodc(I, 'id_packagc', 'packagc'), 
'no_ _package· => Stliis->crudМodcl->gcnera1eCodc('PACK', 'id_packagc', 'pack:igc'), 
'customcт_  nвmc' => trim(Slhis->inpu1->pos1('cus1omcr _ nвmc')), 
'phonc' => trim(St\1is->inpu1->post('pl10ne')), 
'address' =о> 1rim(Sthis->inpu1->post('address')), 
'id_kola' => 1rim(Stl1is->inpu1->pos1('id_kota'}), 
'datc' => trim(S1his->inpu1->post('da1c')), 
'pslaІuS' => trirn(S1І1is->inpu1->pos1('ps1a tus')), 
); 
103 
482· чдтУ. 242244 12 01 
7 
Sthis->crudt-1odcl->nduDn1a('packagc', Snild): 
n'(lirccІ(sitc _ url(' Лdшin/packngc')): 
~Ііс functio11 upd.11cPack11gc() 
( . . 
Sid_p;ickagc = Sll11s->1nput->post('id_ packagc'): 
Supd3IC = [ 
•сш1оп1сr_  ~mc• ~ tri~1(S1l1is->inpu1->pos1('custon1er_  naJ11c')), 
'рЬоnе' => tп111(Sthis->1rrpu1->pos1('pl1one')), 
'addrcss' => trim(Sthis->input->pos1('addrcss')), 
'id_kou' => trim(Sthis->input->post('id_kota')), 
'datc' => trin1(Sll1is->inpu1->pos1('d.11c')). 
); 
S1his->crudModcl->updatcDa111('packagc', 'id_ pзckagc', Sid_pac\.:agc, Sup<Ь1c); 
Sthis->scssion->set_flashdзta('flзsb', 'diubal1'); 
redircct(si1c _ url('A dminfpackagc')); 
} 
JNЬlic function dclc1cPackagc() 
{ 
Sid_packagc = Sll,is->wi->segment(З); 
S1his->crudМodel->dclc1e Data('package'. 'id _package', Sid_pacbgc); 
Slhis->crudМodel->dclctcData('v_ packagc', 'id_packagc', $id_packagc); 
S1his->scssion->sc1 flashdaЩ'flash', 'dil111pus'); 
rcdircct(si1c_  url('Admin/packagc') ); 
) 
рuЬІіс funct ion delcteVProducl() 
( 
Sid_vpackage = $1l1is->uri->segmcn1(3); 
Sid_package = S1І1is->uri->scgmc111(4) ; 
Smin = S1l1is->crudМodel->gctDa1uWl1cre( ,р ос Іш gc,,  ' і 11  nлckogc' Sid_p.1ck11gc) ->ю11•() ; 
_,.- ' 
Sge1=  S1J1is->crudModcl->gctD010Wl1crc('v_pac kn g. u,,  'id - vpuckugu' ' Sl1I - \'(1itclшgф>ro11·(); 
Supdз1c = [ 
'І_kg' => $min->І_kg. Sget->t_bcrul, 
482-ЧДТУ. 242244 12 О І 8 
]: 
S\/lis.><:rudModcl ->u['d:11cDa1a('pзcbsc:· · 'id_ n.,-ck:i••.c, :' • Sid_ p;ic,..: igc, S ~•· 
u1-Іс); 
Stliis->crudModcl->dclc1cDaln('v J)Зckagc', 'id_ ,·p.ickagc', Sid_ vp.:ickngc); 
su11~->sc~sion-> sct_ na~l1dJt:1('П o~h'. 'dil llll"U.\'); 
rcdirect( sіІс_  url('a d111i nlp.icka gcf. Si d_ J)acka gc.• / ,-ic,v') ); 
рuЬІіс ІiJnction :iddVolun1c() 
( • І 
SiJyaclщ;c " S1his->inpu1->iюst('id_packugc'); 
S:idd • [ 
'id_, -p;ick:igc' -> S1І1is->crudModcl,>gcnc1111eCodc( І . ' id_ vr;ickagc', '\•..11ackagc'), 
'1d.J1-1ckagc' • > Іnm(SІhis->inrut->roSl('id_packugc')), 
'id..J1roduc1' •> Іrin!(Sthis->input->pust('id_product')), 
'qty' к> 1riш(S\111s->inpu1->rюs1('q1y')), 
); 
s~olume = Stl1is->crudМode l -> gcI001a \Vl1ere('J1roduc1'. 'id _prod11c1', S11ddj 'id_ producІ'l)->ro"·(); 
Supd;ilc = \ 
·1 Ьerat' •> s,•olun1e->Ьero1 • Sadd['t(Іy'). 
'І_, ·ulun1c' => Svolumc->panjang • Sudd( 'qty'J, 
]; 
S1bis->crudМodcl->oddD01o('v. J13Ck.tlgc', Sadd); 
Stl111->crud.\1odcl->updatc:D01:1('v _p11clulgc', 'id_ vp.ickai;c', Sodd[ 'id_' l"'ckugc,'J, Supd.11c); 
SuJ)IJatc2 ~ ( 
'І_kg' • > Skgv->t_kg + SuJld.itc('t_bcritt'), 
'І_kьrv' "'> Skgv->1_kgv + Su(ldatc('I_ ,·otшne') , 
); 
SiJlis->crudМodcl->updatcDota('packogc', 'id_p;ick.tlgc', Sadd('id...J>,'lckogc'), S11Jl(IOІC2); 
S1t1is->scssion->sct_Пost1duto('Пosl1', 'dilo r11bnl1'); 
1C11ircc1(si1c шl('adminlpackngcf.Sid_p.ockJJgc.'/vicw')); 
І -
lf'Jblic function producl() 
І 
105 
482. ЧДТУ. 242244 12 О І 9 
ir(Slhis->uri->scg111c111(З) = 'addprodttct') ( 
Sd,,8' .. [ 
'!'roducl' => S1l1is->dЬ->qucry('SELECT • FROM rroducІ')->rcsull(), 
•contcnt' => 'odmin!produc\/adtlproduct', 
'n.1,·Іink' => 'product', 
І: 
) else if (Stl1is->uri->segmen1( 4) = 'updatc') ( 
Sid = Sthis->uri->scg111c111(З): 
Stao1pil с $1І1is->crudModcl->gctDa1a\\'hcтc('produc1', 'id_produc1', Sid)->ro\\'(); 
Sdata = ( 
'dcUil'=> ( 
'id _product' => Stampil->id_ product, 
'producl_name' => S1J1n1pil->rrnd11ct_name. 
'Ьcr:it' => Sumpil->ber:11, 
'panjang' => Stampil->panjang, 
], 
'contcn~ => 'adminlproduc\/updateproduct', 
'лavlink' => 'product', 
); 
І else ( 
Sdata = ( 
'product' => Stl1is->crudModel->gc1Da1a('product')•>resul10, 
'contenІ' => 'adminlproduc\/product', 
'navli1tk' => 'producl', 
); 
} 
S1his->Іoad->viC\\·('admin/vbackcnd', St.lдІu) ; 
) 
РІІЬІіс runctior) addproducl() 
І 
Sadd = ( 
'id_produc1' 0 > $tliis->crudModel->se11cru1cCodc( І, ,.І t1 .. Р',0 tІ uc 1' • 'prod11ct') • 
'product namc' => 1·rim($1!1is->i npu1->posІ('producІ_iшmc )), 
'Ьеrщ' ~; trim(S1І1is->input->pos1('bern1')), 
'panjong' => trim($1l1is->inpu1->post('p1111Ja 11g')), 
]; 
S1!1is->crudModcl->oddD111n('l'r°'l11cl'. Sodd); 
Sti,is->scssion->se1_Лnsl1datn('Лnst1', 'tli1a111bolt'); 
106 
482. ЧДТУ. 242244 12 01 10 
rroir~-cІ(sitc_  шl('ad111i ivprod11c1')); 
public ruлc1ion updatel'roduct() 
І 
Sid_prod11ct = S1l1is->in1>ut->pos1('id_produc1'): 
Supdatc = [ 
'produc1_na111e' => 1rim(S1\1is->input->post('produc1_113111e•)), 
'Ьеr:11' => tritn(St/1is->input->post('bcr:it')), 
'panjang' => trim(St/1is->i11put->pos1('panjang')), 
): 
Stl1is->crudModel->updateData('produc1', 'id_ product', Sid _product, Supdatc); 
' І 
Sthis->scssion->sct_Пas/1datз('tlas\1', 'diuba\1'); 
rcdirect(site_  url('adrnin/product') ); 
} 
рuЬІіс runction dcleterroduclQ 
І 
Sid_product = StJ1is->uri->segme11t(З); 
Sthis->crudMode\->dcleteDatз('product', 'і d_ producl', Sid_ product); 
Sthis->session->set_f lashdatз('tlash', 'dihapus'); 
redirect(site _ ur l('adrnin/product') ); 
public runction capacityQ 
І 
iC(Sthis->uri ->segment(4) = 'view') ( 
Sid = Sthis->uri->segmcnt(З); 
S1ampil = $this->(Jb->query('SELECТ • FROM сорасі1у JOIN Іп1сk JOIN Jrivcr 
WНERE capacity.id capacity = '.$id.' AND c11pacity.id_Іп1ck = truck.id_truck ЛND cnp11ci1y.id_<lri\'CГ ~ 
driver.id_driver')->row(); -
Sdata = [ 
'сарасі1у' => [ 
'id_capacily' => S111mpil->id_copaci1y, 
'scl1cdule' => Stampil->scl1edulc, 
'end_scl1edulc' => $111111pil->end_scl1cdule, 
'Іruck' => $t11mpil->1n1ck, 
'drivcr' => $Іumpil->drivcr, 
'no_p/atc' => $tompil->no_pl11tc, 
'pl1one' => $ta111pil->pl1011c, 
107 
l 
482. чдТУ. 242244 12 01 11 
ьm,х· -> Stan11)1l->bnux. 
'cap;icil)' ~> S13tnril->c.1p;1ci1y. 
'Ь c.,r.:icicy· •> St:in1J1il ->b_caf'-lc11y. 
'r: С3р;ІСІІ)' а> Su111ril -> r_ а 1'3С\1)', 
). 
•,c1aruc1ty' •> Slhis->db->qucry("S1:.1.ECТ id_cзr;ic11y FROM ap;ic1ty \\'І ІЕRЕ id_cir3c11y • '.Sid.")· 
"'°"{). 
'd3k'-> Stlus->dЬ->quct)''SELECТ • FRO;-.І rucbi;c ORDER ВУ d3te ASC1->rc:sull(), 
'расЬ~,:2' • > Sthis->db->qucry('SELECT DISTTNCТ <Ь1с FROM 113cbgc \VНERE psшus • І OR 
I\IS,.. 3 ORDER ОУ dзtc ЛSC)->rcsu11Q, 
psu 'рзоо~· => Sthis->dЬ.->quay('SELECТ . FROM ,._CIJЧCity JOІN JЧ<DSC JOIN kot.:i \VHERE 
1• 12P3cil)•.id_e.11'3ci1y "' Sid. ' AND v_c.ar:ici1y.id.JX1Cbgc • J'3Cb gc.id_p;icbgc M'D rucbgc.id_kou • 
t;,.id 1;013 ORDER ВУ kot:i.rrionry DESC)->resulІQ, 
- 'contc:nt' => 'зdmin'capзc11y/зddcap;ici1y, 
'n)•·link' => 'с::1рас11у'. 
): 
І elSt if(Slhis->uri->scgment(3) = 'addc.ip:icity') ( 
Sluta = І 
'lr\Jd;' => Slhis->dЬ->qucry('SELECТ • FROM truck')->n:sultO, 
'dri,·cr' с> Sthis->dЬ->quay('SELECТ • FROM dnvcr')->resull(), 
'con1cn1' => 'adminfc::ip:icity/umЬahc.:ip;icit)", 
'n.1vlink' => 'capacity, 
); 
) elsc 1f(Sthis->uri->scgmcn1(4) ~ 'updatc1 { 
Sitl = Sthis->uri->scgmcnt(З); 
Stampi.l • Sllus->crudMoc.lcl->gctD.11a\Vl,eтc('cap.1ciry', 'id_ capacity', Sitl)->ro\\'(); 
Sd3~ = І 
'dct.:iil' = І 
'id_capacity-> Sш rnpil->itl_cnpacity, 
'schcdule' ..>  Stomril->schctlulc, 
'cnd_sclicdulc' • > S13mpil->cnd_sclicdulc, 
'id_truck' с> SІDIТlflll->id_truck, 
'id_dti\'cr' => SUІmpil->id_drivcr, 
). 
' trt1ck' • > S1l1is•>dЬ->qucry('SE U:· СТ • FROM rn,cl:е'Jт•'>)-rc> sull(І}~,( ) 
'drivet ..>  Sthis->dЬ-->qucry('SІ;LECТ • FROM .J11v rc.u , 
'contcnt' •> 'nd111in/caJ13city/11pda1ecorncity', 
'navlink' •> 'cnpacity', 
); 
І clse ( 
Sd.1111 = І 
108 
1111 
482. ЧДТУ. 242244 12 01 12 
'е3рзсі1у' "'> Sthis->db->qucry('SELECT • Г-RОМ с:.~расіІу JOІN truck JOIN dri,·cr 
1
\\ HERE c:.ipaci1y.id_1ruck = Іruck.id_Іruck ЛNО caraci1y.id_drivcr = drivcr.id_drivcr ORDER 
ВУ cstзrus DESC)->rcsu\1(), 
·conlcnt' => 'зd111in/c;ir;ici1y/capaci1y', 
·na,·link' => 'capacity', 
); 
І 
S1his->loзd->vie"·('adll)in/vbackend', Sdala); 
рuЬІіс function tашЬзІlсарзсіtу() 
{ 
Sadd = ( ...,  
'id _с арасіІу' => SІ/1is->crudМo<lel->generaІeCode( І, 'id_ c apacity', 'c.ipacity'), 
'scbedule' => Іrim(Sthis->input->post('scticdule')), 
'end_scbcdule' => trim(S1І1is->inpu1->posl('cnd_scl1cdulc')), 
'id 1ruek' = 1ri1n(St/1is->inpu1->posl('id_truck')), 
'id= dri,•er' => tтim($tl1is->inpu1->ros1('id_driver')), 
); 
Sll1is->crudModcl->:нWDatз('capaciІy', Sadd); 
S1l1is->session->set_nasl1daia('Пasl1', 'ditambah'); 
rcdircct(silc_  url('admin/capacity')); 
І 
public function logout() 
{ 
Sthis->session->unsct_uscrdala('rolc'); 
S1his->scssioo->unset_ userdata('uscr_ id'); 
redircc1('logi11/'); 
І 
І 
109 
ДОДАТОК О 
Програм11е забезпеченн,1 систем11 постачання продуктів 
Інструкція кор1tстувача 
482. ЧДТУ. 242244 34 О І 
Листів4 
Розробник: Ж11лі1і М. В . 
ЧсрКDСІІ 2024 
482. ЧДТУ. 242244 34 О І 2 
Шоб запуст11т11 програму потрібно : 
Встаноn11тн додаток ХЛМrр 
2 Добаn11т11 в папку ХАМРР код програм,, 
3 Заnуст11т11 серверну част1111у і базу да111 ~х 
4 В базу да1111х додаn1 створену базу дан11х в коді програмн . 
5 Відкр11т11 по домену або loca lhost сторінку продуІ\-ту. 
6 Прн оідкр11ва1111і nporpat.нюro забе:111счс1111я нас відс,шає 1-1а сторінку 
лоrін де потрібно овсст11 свої дані, а саме : адміністратор або ооді.11. 
Розпоqнсмо з адміністратора показано 11а р11с)'11ку І . ,. ' 
~С:.5Г-- 
EXPRESS 
19#83. :.-, 
Рнсунок І - Сторінка лоrіну 
7 Після того як ввел11 дані для адміністратора мн пеrеходн на головну 
сторінку, де о,шсусrься корот ка ін•ч •1ормаuія про всі етаn11 110стач.н111я 
продукту показано на р11су11.ку 2. 
- --· 
а 
..,.,. ,. ..,,....,_ "~- ···-
о 
о 
----- • 
Рнсунок 2 - Головна сторі11к.1 
І І І 
482· ЧДТУ. 242244 34 О І 3 
8 Після чого м11 псрсходнмо · 
до стор~нк11 пролуктн, для лощ1nа1111я 
продукту нз склад 11ок.,ззно щ, рнсуІІ~<у З . 
і , ,g rl 
Рисунок З - Сторі11ю1 11родукт11 
• І 
9 Потім переходимо до сторіню1 пос1шк~1 д будемо офрмлюватн 
замовлення показано на р11сунку 4. 
і · аІ ·· · і 
Рисунок 4 - Сторінка посилки 
10 Після чоrо переходимо до сторі11ки ва11тажівю1 , для додава1111я 
транспорту і його максимаш,ну перевізну вагу показа110 юt р11су11ку 5 . 
... н,, 
""''" 
Рисуно1< 5 _ Сторі111ш шш·1·нжів1с11 
І І Також добавляємо ,юдії11 11а сторінці водії 1101с1ш1110 ІНІ р11су11ку б. 
112 
482. ЧдТУ. 242244 34 О І 4 
- --------------~ 1 -ii,
. -J -A- 
, 
Рнсунок 6 - Сторінка оодії 
12 Тепер можна оформити вантаж дл.я загрузки вщправкн ПОСИЛКІІ 
показано на рисую"-у 7. 
• І 
Р1tсунок 7 - Сторінка вантаж 
13 На сторінці доставка ми можемо відслідкувати вантаж і добавнтн статус 
доставJІено або повернуто показано на рисунку 8. 
-- ----------
Рисунок 8 - Сторінка доставка 
14 Після обирання статусу відправлення ми переходимо до зв,ту, де можемо 
продивитися зоіт і при натисканні на внвід на друк переrлянут11 детальну 
інформацію показано на рисунку 9. 
і Sltl·Gtt 
-----
Рисунок 9 _ Сторінка зоіт 
113 
~---------~-
додлтокг 
., 
.. 
Програмне забезпечення системи постачання продуктів 
Графічні матеріали 
482.ЧДТУ: 242244 90 01 
Листів 9 
Розробни.к: Жилін М. В . 
Черкаси 2024 
482. ЧДТУ. 242244 90 01 2 
• І 
Рисунок І О - СлзПд І 
Рисунок 11 - Слаіід 2 
115 
482. ЧДТУ. 242244 90 О І з 
J.. І 
Р11су11ок 12 - Слаf!д З 
Рисунок І З - Слnfід 4 
11 6 
482. ЧДТУ. 242244 90 () І 4 
І, І 
Р11су11ок І 4 - Слnіід 5 
, ' 
r;;;;~-§;;;~rl-.-,----' ~~'--. 
Рисунок 15 - Слаіід 6 
І 17 
- І 
І 
4S2. ЧДТУ. 242244 90 О І 5 І 
І 
Прое1с1)'ва1111я логіч11ої структур11 ,. І 
Ді1111)11~111 к111rі11 Ді 111 111щ111111i.-c1ln ~ І 
І 
---- 1t- 1 І 
', 
І 
і t~І ~1 __ • І 
Рнсу11ок 16 - Слаі1д 7 
І 
', 
І 
r- І - 1 ~r::i І 
r-1 а t-=i ,, І 
(, ,_ _ І 
--- -- І 
І І{::)- - - ~ в 5 І 
g І - - І / 
~ --, ·а ~ .І -G І 
:Е] І ( : ] І 
• ------=-~ /І- --- І 
І 
І 
І 
Рисунок J7  - Слайд 8 
'І  .. 
І 18 
';..._"""-о~-------------, 
482. Ч.ДТУ. 2J2244 90 О І 6 
І\1одсл1ооа1111 ц 11ооеді11к11 с11с-1 е:\111 -
Ді:11 JІІІ\І :І .1i11.11,111Jni Діа1у111\Іn 11oc.:1i:1on11ocri ,,-
.- ._ .. . ~ 
·;r,-- --- - - --- - ---i 
~ 
-._- 
. 
~::;.--_-_­ 
-
--~-----.- --•-- . 
- -·-
--.- -- h > 
Р11сунок 18 - Сnаіід 9 
- . 
' 
Рисунок 19 - Слайд І О 
11 9 
482 . чдn'. 242244 90 о 1 7 
Ст1)Уh.їур11а схема Фу11кціо11аль11а схема 
( 
~ 
§]@]~~~~~3 
. ' 
Р11су11uк 20 - Слаіі;~ 11 
P11cy11o i-: 21 - Снnїш 12 
120 
482. ЧJ\ТУ. 242244 90 о І 8 
·•-- .. • ----
~- ­_..,..1 
і• -..-
•D•-•.•-­
D• ... ,-.. ._.. _ 
••.-,.-..... ­ . ia.•,• .-•.-..-.=--:-- i,.- --
r,..._ ..,...,. -.::1 
~~=-~~·-~,  ..,  ..... 
·•.- .-_, .. . ·---
І 
h І 
~а
··
·
··
·.----
·--~­---~--
·~... --------­. 
. -  
t;•,- .... 
v-,A, • • :::::, 
.··-.-- ~--...-·_·.-. "_-=. ....J 
~·---·".".- ---"--' 
Р11су1101< 22 - Слаnд 13 
•- -
• 
rнcy t1 o1< 23 - Слnnд 14 
12 1 
4~2. Ч,lТУ. 242244 90 01 9 
,-__....._-._ ___ 
,..,._ .. 
- ---_-_- ,. .  ------_--..-, •• І 
- -,..·....-\ .. 
РІІС}'ІІUК 24 Слзйд 15 
Р11су~ 1ок 25 - Слаіід 16 
122 
-