МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ХАРЧОВИХ ТЕХНОЛОГІЙ Інститут (факультет )__Автоматизації і комп’ютерних систем_____ Кафедра _____Інформаційних систем___________________________ «До захисту в ЕК» «До захисту допущено» Директор інституту(декан факультету) Завідувач кафедри _________ Форсюк А. В._ (підпис) (прізвище та ініціали) ____________ _ Чумаченко С. М. (підпис) (прізвище та ініціали) «___» _______________ 2020р. «___» _______________ 2020р. КВАЛІФІКАЦІЙНА РОБОТА НА ЗДОБУТТЯ ОСВІТНЬОГО СТУПЕНЯ БАКАЛАВРА зі спеціальності___122 «Комп’ютерні науки та інформаційні технології»___ (код та назва спеціальності) освітньо-професійної програми ___«Комп’ютерні науки»__________________ на тему: __« Розробка програмного модуля підтримки збутово-валютних операцій для сайту Domsporta»_____________________________ Виконав: здобувач__4__ курсу, групи__4___ ___________Писаренко Владислав Володимирович _ ____________ (прізвище, ім’я, по батькові повністю) (підпис) Керівник _______Поворознюк Назар Іванович_______ ____________ (прізвище , ім’я та по батькові повністю) (підпис) Консультанти Поворознюк Назар Іванович ___________ (прізвище та ініціали) (підпис) _________________ ___________ (прізвище та ініціали) (підпис) _________________ ___________ (прізвище та ініціали) (підпис) Рецензент Смітюх Ярослав Володимирович ___________ (прізвище та ініціали) (підпис) Засвідчую, що в цій кваліфікаційній роботі немає запозичень із праць інших авторів без відповідних посилань. Здобувач____________________ (підпис) Київ – 2020 р. НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ХАРЧОВИХ ТЕХНОЛОГІЙ Інститут (факультет) __Автоматизації і комп’ютерних систем____________ Кафедра _____Інформаційних систем__________________________________ Освітній ступінь_____бакалавр_______________________________________ Спеціальність_____________________________________________________ (код і назва) Освітньо-професійна програма ___«Комп’ютерні науки»_______________ (назва) ЗАТВЕРДЖУЮ Завідувач кафедри інформаційних систем с.н.с. С.М.Чумаченко ________________________________ “____” _________________20___року З А В Д А Н Н Я НА КВАЛІФІКАЦІЙНУ РОБОТУ ЗДОБУВАЧА ______________ Писаренка Владислав Володимировича__________________ (прізвище, ім’я по батькові) 1. Тема роботи «Розробка програмного модуля підтримки збутово- валютних операцій для сайту Domsporta»» __________________________________________________________________ __________________________________________________________________ керівник роботи____Поворознюк Назар Іванович, кандидат технічних наук, доцент_________________________________________, (прізвище, ім’я, по батькові, науковий ступінь, вчене звання) затверджені наказом закладу вищої освіти від “ 27 ”квітня 2020року №269-кс 2. Строк подання здобувачем роботи___14.06.2020_______________________ 3. Вихідні дані до роботи ___1) товар__________; ____ 2) курс валют______________________________________________________ 3)вартість_________________________________________________________ __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ _4. Зміст пояснювальної записки (перелік питань, які потрібно розробити)_____1) Вступ.____________________________________________ 2) Розділ 1. Системний аналіз об’єкту автоматизації та постановка задачі на проектування.____________________________ 3) Розділ 2. Розробка автоматизації.___________________________ 4) Розділ 3. Охорона праці. __________________________________ 5) Висновки_________________________________________________ 5. Перелік графічного матеріалу 1. Організаційна структура «Domsporta»___________________________________________________ 2. Організаційна структура ІТ-відділу ____________________________________________ 3. Функціональна модель діяльності ІТ-відділу ____________________________________ 4. Концептуальна модель діяльності ІТ-відділу ____________________________ 5. Інтерфейс користувача ____________________________________ 6. Консультанти розділів роботи Розділ Прізвище, ініціали та посада консультанта Підпис, дата завдання видав завдання прийняв Системний аналіз об’єкту автоматизації та постановка задачі на проектування. к. тех н., доцент Поврознюк Н. І. Розробка автоматизації. к. тех н., доцент Поврознюк Н. І. Організація праці. к. тех н., доцент Поврознюк Н. І. 7. Дата видачі завдання_________10 травня 2020 року_______________ КАЛЕНДАРНИЙ ПЛАН № Назва етапів виконання кваліфікаційної роботи Строк виконання етапів роботи Примітка 1 Передпроектне дослідження та системний аналіз діяльності відділу автоматизації робочих процесів та програмування 11.03.2020 2 Розробка функціональної та концептуальної моделей діяльності відділу автоматизації робочих процесів та програмування 23.03.2020 3 Розрахунок техніко-економічного обґрунтування доцільності розробки 01.04.2020 4 Визначення та реалізація функцій підсистеми 06.04.2020 5 Розробка плану організації праці 25.05.2020 6 Оформлення роботи та розробка презентаці 01.06.2020 Здобувач _______________ ________________________ (підпис) (прізвище та ініціали) Керівник роботи _____________ _______________________ ( підпис ) (прізвище та ініціали) 4 АНОТАЦІЯ Головною метою даної бакалаврської роботи є розроблення програмного модуля для підтримки валютних коригувань для сайту з продажу спортивного обладнання «Domsporta». Даний модуль доповнить загальну систему по ціноутворенню сайту. Об’єктом дослідження є сайт з продажу спортивного обладнання «Domsporta». Предметом роботи є розробка нового модулю системи. Практична реалізація – розробка модулю та оцінка ефекту впливу та впровадження модуля в систему. Дипломна робота містить 77 сторінок, 6 таблиць, 17 рисунків, 9 додатків та 12 літературних джерел. КЛЮЧОВІ СЛОВА: МОДУЛЬ, ВАЛЮТА, БАЗА ДАНИХ, СТРУКТУРА, ІНТЕРФЕЙС, OPENCART. 5 ANNOTATION The main purpose of this bachelor's thesis is to develop a software module to support currency adjustments for the site for the sale of sports equipment "Domsporta", This module will complement the overall system of site pricing. The object of research is the site for the sale of sports equipment "Domsporta". The subject of the work is the development of a new module of the system. Practical implementation - module development and evaluation of the effect of the impact and implementation of the module in the system. Thesis contains 77 pages, 6 tables, 17 figures, 9 appendices and 12 references. KEY WORDS: MODULE, CURRENCY, DATABASE, STRUCTURE, INTERFACE, OPENCART. 6 ВСТУП Перенесення продажів в інтернет, на даний момент, є однією з найбільш ресурсномістких галузей діяльності техногенного суспільства. Інтернет-магазини є більш економними для його власників, ніж звичайні. Найбільш вигідними є сайти, які створені на спеціальних платформах, які, в свою чергу підтримують різні модулі. Щоб інтернет-магазин приносив максимальний прибуток він повинен бути не тільки зручним для користувача, а ще зручним в адмініструванні. Правильний підбір спеціальних модулів значно полегшує цю задачу. Тому і створюють різні модулі для інтернет-магазинів, задача яких спрямована на покращення, не тількі загального виду сайту, а й його адміністрування. Через нестабільну економічну ситуацію в країні, а на даний час і в світі, курси валют змінюють своє значення дуже різко, а це, в свою чергу, створює великі проблеми для ціноутворення та подальшому корегуванню цін в інтернет-магазині. Тому виникає питання про автоматизацію корегування цін, та створення модулю який звоже справлятися з цією задачею. Це дає такі переваги , як зменшення затрат часу для корегування цін через стрибки на валютних ринках. Саме тому було прийняте рішення про доповнення системи ціноутворення інтернет-магазину модулем для автоматичного перерахунку цін за заданим курсом валют. 7 Зміст АНОТАЦІЯ ..................................................................................................... 4 ВСТУП ............................................................................................................. 6 РОЗДІЛ 1. СИСТЕМНИЙ АНАЛІЗ ОБ`ЄКТУ АВТОМАТИЗАЦІЇ ТА ПОСТАНОВКА ЗАДАЧІ НА ПРОЕКТУВАННЯ ...................................... 9 1.1. Найменування компанії .................................................................... 9 1.1.1 Загальна характеристика ТОВ «Domsporta» ................................. 9 1.2 Організаційна структура підприємства .............................................. 13 1.3 Аналіз нинішнього стану автоматизації ............................................. 15 1.4 Розроблення функціональної моделі ................................................... 17 1.5 АНАЛІЗ СИСТЕМ .............................................................................. 17 1.5.1 LIVE PRICE .......................................................................................... 18 1.5.2 Валюта + ............................................................................................... 19 1.5.3 Мультивалютні товари ...................................................................... 20 1.5.4 Порівняння систем-аналогів ....................................................... 20 1.6 Обґрунтування доцільності проектування і розроблення системи 22 1.7 Концептуальна модель системи ........................................................ 22 1.8 Постановка задачі на проектування ............................................. 22 1.8.1 Призначення та цілі створення системи ................................... 23 1.8.2 Вимоги до створюваного інформаційної підсистеми ............... 23 РОЗДІЛ 2. РОЗРОБКА АВТОМАТИЗАЦІЇ .............................................. 24 2.1. Інформаційне забезпечення проекту ............................................. 24 2.2 Програмне забезпечення розробки ...................................................... 26 2.3 Технічне забезпечення розробки інформаційної системи ................. 26 2.5 Обґрунтування вибору технічних засобів розробки ЕНР ................. 29 2.6 Створення запитів ........................................................................ 29 2.7 Розроблення інтерфейсу користувача .......................................... 30 8 2.8 Інструкція користувача .................................................................. 36 2.9 Розрахунок техніко-економічного ефекту впровадження програмного модуля ................................................................................. 39 РОЗДІЛ 3. ОХОРОНА ПРАЦІ .................................................................... 47 3.1. Умови праці користувача ПК .......................................................... 47 3.2 Ергономіка та організація робочого місця. ..................................... 47 3.3. Мікроклімат виробничого середовища .......................................... 47 3.4. Забезпечення раціонального освітлення робочого місця ............. 48 3.5. Вимоги безпеки праці при експлуатації комп’ютерної техніки . 49 3.6. Електробезпека ................................................................................... 49 3.7. Пожежо- та вибухобезпека ................................................................ 50 ВИСНОВКИ .................................................................................................. 52 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ .................................................. 53 ДОДАТОК А «ФУНКЦІОНАЛЬНА МОДЕЛЬ (AS-IS)» ........................ 55 9 РОЗДІЛ 1. СИСТЕМНИЙ АНАЛІЗ ОБ`ЄКТУ АВТОМАТИЗАЦІЇ ТА ПОСТАНОВКА ЗАДАЧІ НА ПРОЕКТУВАННЯ 1.1. Найменування компанії повне – Товариство з обмеженою відповідальністю Domsporta скорочене – ТОВ ‘Domsporta’ Місце знаходження : юридична адреса: вулиця Тираспольська, 14, Київ, 04060 фізична адреса: вулиця Тираспольська, 14, Київ, 04060 1.1.1 Загальна характеристика ТОВ «Domsporta» Рис. 1.1 DomSporta є професійним магазином з продажу спортивного обладнання та товарів для активного відпочинку. Історія заснування магазину почалася в 2013 році, коли група ініціативних людей, не з чуток знають і розуміють важливість занять спортом та їх роль в повноцінному, здоровому і 10 збалансованому способі життя людини. Отже було створино нове, орієнтоване на задоволення спортивних потреб клієнтів, підприємство. Наш магазин досить молодий, його відкриття відбулося 1 березня 2013 року, але ми вже встигли завоювати авторитет і популярність серед тисяч споживачів. У «DomSporta» Вашій увазі буде представлено широкий вибір різноманітних тренажерів, в тому числі і професійних, всього необхідного для фітнесу, аеробіки та важкої атлетики, туризму та для деяких екстремальних видів спорту: водного і велоспорту. Менеджери завжди готові надати клієнту допомогу щодо оформлення замовлення. Також клієнт може отримати докладну консультацію з будь-якого продукту яка допоможе йому у виборі необхідного товару. Також DomSporta надає послуги з оснащення спортзалів під ключ, що включає в себе не тільки підбір відповідних тренажерів, але і повне ведення проекту тренажерного залу. При покупці товарів, на суму від 1490 грн і вище, магазин здійснює доставку абсолютно безкоштовно. Більш того, одним з важливих плюсів співпраці з нами є можливість придбання обладнання в кредит, детальну інформацію з усіх аспектів і умов даної послуги Вам можуть надати менеджери кредитного відділу. Наш інтернет-магазин DomSporta піклується і цінує кожного свого клієнта, тому, звертаючись до нас, Ви завжди можете розраховувати на відмінний сервіс, цікаві акційні пропозиції та гнучку систему знижок, незмінно високу якість і великий вибір товару, кваліфіковану допомогу і пораду у виборі обладнання. 11 На всю продукцію, представлену на сайті нашого магазину DomSporta, надається гарантія від виробника, термін дії якої зазначений в спеціальній документації, що йде в комплекті з придбаним обладнанням. Наші переваги: Широкий асортимент товару Часті акції та знижки для клієнта Кваліфікована консультація по підбору товару для клієнта Можливість проектування спортзалу під ключ Безкоштовна доставка від 1490 грн Гарантійне обслуговування придбаного товару В наш час, коли ринок переповнений різними інтернет-магазинами з продажу спортивного обладнання «Domsporta» з самого створення і до сьогоднішнього дня тримається в лідерах через продумане використання маркетингових технологій . Оскільки моєю задачею було створення модулю для полегшення цінно- коригування, то потрібно було зрозуміти як формуються спеціальні прозиції та ціни на товар. На ціну товару впливає, перш за все, саме ціна від виробника. Оскільки, майже всі товари є імпортними, то їх ціна залежить від курсу валют на ринку. Фактори від яких залежить вид та формування спецільних пропозицій: Залишок товару деякого виду на складі; Популярність товару серед покупців; вид товару, тобто його категорія; 12 термін спеціальної пропозиції; категорії покупців ; уподобань клієнта На підставі отриманих даних приймають рішення про виду маркетингової комунікації, термін проведення. Велика кількість відомих спортивних компаній обрали ТОВ „Domsporta” для обладнання та проектування свої спортивних залів та майдаників. Під час проходження практики мені дали можливість ознайомитися з провідними незмінними замовниками. Рис. 1.2 Клієнтами «Domsporta» є не тільки фізичні особи, а й такі компанії як: «SportLife» «F1 Sport Club» «Power Hulk» «Sky Fitness» «KievSport Club» «Energym» «Zgym» «Olimpia Sport». 13 1.2 Організаційна структура підприємства Рис.1.2.1 Організаційна структурна підприємства 14 Організаційна структура ІТ-відділу на рис.1.2.2. Рис 1.2.2. Організаційна структура ІТ-відділу 1.2.1 Режим і особливості функціонування Основними завданнями відділу є: Впровадження сучасних інформаційних технологій для роботи Аналіз роботи сайтів, їх компонентів в сайтах конкурентів. 15 Основні функції відділу: Розробка та подальше впровадження нових технологій в сайт. Оновлення сайту магазину. Організація доступу до адміністративної панелі сайту. Адміністрування серверу інтернет-магазину. Адміністрування сайту інтернет-магазину. Організація розробки та удосконалення програмно-технічного забезпечення сайту інтернет-магазину. • Постійна підтримка інтернет-сторінки магазину. • Інформаційно - технічна підтримка інтернет-магазину. • Розроблення та постійна підтримка бази даних для збору, зміни всіх даних в єдиній базі даних. 1.2.3 Взаємодія з іншими відділами Вiддiл інформаційних технологій взаємодіэ з з тaкими вiддiлaми підприємства: фінансовий відділ, відділ продажу. Взаємодія з відділом продажу заключається в тому, що відділ ІТ постійно оновлює все дані про товари. Вiд фiнaнсового вiддiлу отримує фінансовий план, план продажів на певний період для налаштування модулів, зaробiтну плaту. 1.3 Аналіз нинішнього стану автоматизації Відділ ІТ працює безпосередньо з усіма сферами діяльності фірми, але найбільше доводитися працювати з сферою інформаційних технологій та систем, так, як їх робота вимагає особливого контролю та безпосередньо пов'язана з роботою в БД (Information System Design). Особливістю CMS Opencart є його модульність, тобто можливість створення та завантаження безлічі додаткових модулів, які розширюють стандартний функціонал. Одна з важливих переваг 16 Opencart це те, всі дані про товари, картинки та інше, зберігаються не на окремому носії чи персональному комп’ютері, тим самим займаючи місце на жорсткому диску, а на єдиному спільному комп’ютері – сервері, який дає можливість завантажувати, переміщати, змінювати або видаляти файли. Opencart має досить низький поріг входження в розробку. Це дозволяє опанувати дану CMS без великого досвіду в розробці сайтів. На всіх комп’ютерах встановлена операційна система Windows 10. Так само на всіх комп'ютерах установлено базовий пакет програм Microsoft Office, Visual Studio Code, Adobe Photoshop, для редагування зображень, Open Server Panel для тестування нових версій сайту та його нових функцій. Як відбувається зміна цін на товари на даний момент: Персонал сайту який відповідає за зміну цін повинен моніторити ситуацію на валютних ринках і з кожними суттєвими змінами потрібно було вручну рахувати та змінювати ціни. Після всіх обчислювальних маніпуляцій потрібно заходити в панель адміністратора та шукати кожен товар певного виробника, закупівельні ціни якого потрібно перерахувати, та змінювати їх вручну через сторінку налаштувань товару в адміністративній панелі. А це є досить неефективне використання людських ресурсів через те, що: даний процес є занадто довготривалим Вимагає більших затрат на оплату персоналу за дану роботу Людський фактор присутній, отже присутня ймовірність помилок, а через велику кількість товарів потрібно обробити вручну робить ймовірність помилки достатньо високою 17 1.4 Розроблення функціональної моделі Спочатку, потрібно обов’язкого провести аналіз, як працює створювана система. Щоб це зробити потрібно побудуватия функціональна модель AS-IS, яка описує процес зміни цін, як він здійснюється зараз. Щоб знайти проблему потрібно провести аналіз моделі AS-IS. За допомогою цього ми зможему зрозуміти в чому полягатимуть переваги нових процесів і яким змінам піддасться існуюча структура організації процесу . Контекстна діаграма має два рівні декомпозиції, та наведена на рис.1 у Додатку А. Входи моделі: Ціна певної валюти. Ціна товару Виходи моделі: Ціна на товар в гривнях – це остаточна ціна після всіх проведених розрахунків згідно курсів валют. Управління моделі: Статут підприємства План продажів на певний період Фінансовий план Механізми моделі: Адміністратор Програмний модуль 1.5 АНАЛІЗ СИСТЕМ Головний етап автоматизації збутово-валютних операцій - це вибір правильного модулю. На ринку присутня досить велика кількість модулів з даним 18 функціоналом. Ниже розглянуто декілька найбільш популярних модулів з потрібним функціоналом. 1.5.1 LIVE PRICE Даний модуль призначений для оновлення інформації про ціну на сторінці товару в залежності від обраних покупцем опцій. Цей модуль сумісний з усіма стандартними функціями ціноутворення в OpenCart такі як: опції, атрибути товару, податки, акції, знижки. Плюси даного модулю: Він працює з усіма світовими валютами. Для різних виробників можна задати різні курси валют Для різних виробників можна задати різні курси валют Даний програмний засіб є сумісним з стандартними та комерційними шаблонами OpenCart він дозволяє окремо розрахувати доступні знижки в залежності від обраних опцій товару. При розрахунку доступної знижки цей модуль враховує товар який вже доданий в кошик. гнучкі налаштування модулю в адміністративній панелі інтернет- магазину. Недоліки даного модулю: Він є несумісним з самописними шаблонами Несумісний з новими версіями OpenCart 3+ Незручний та перевантажений інтерфейс налаштування модулю 19 1.5.2 Валюта + Цей модуль було розроблено спеціально для зміни цін на товари, ціна яких залежить від курсу відповідних валют. Цей модуль сумісний з усіма стандартними функціями ціноутворення в OpenCart такі як: опції, атрибути товару, податки, акції, знижки. Переваги даного модулю: Для різних виробників можна задати різні курси валют Гнучкі налаштування модулю в панелі адміністратора Можливість налаштування відображення ціні на різних сторінках інтернет-магазину. Зручний інтерфейс налаштувань модулю Можливість вибору основної валюти інтернет-магазину. Недоліки даного модулю: Неможливість самостійного оновлення модулю при переході на нову версію OpenCart Для роботи з базовими функціями OpenCart потрібні додаткові модулі по цінноутворенню Несумісний з модулем OpenCartFilter Модуль дає можливість вказувати в товарах базову ціну в різних валютах - це буває необхідно, якщо ви торгуєте товарами іноземних виробників і соотв. ваші ціни сильно залежать від коливання курсів валют. На вкладці Дані після поля "Ціна" з'являються два поля Базова ціна і Базова валюта туди можна прописати ціну в потрібній вам валюті. Аналогічно для опцій, акцій і знижок 20 теж додаються поля для Базовою ціни. Далі все ціни з полів базової ціни переводяться за курсом в основну валюту магазину в стандартні поля цін. 1.5.3 Мультивалютні товари Даний модуль застосовують, наприклад, якщо товар закуповується у різних постачальників в різній валюті. За допомогою нього можна додавати товари з ціною в будь-якій валюті, але на сайті ціна буде відображатися в тій валюті, яка обрана за замовчуванням в магазині. Переваги модулю: Сумісність з багатьма іншими модулями Сумісність с базовим функціоналом OpenCart Простий та зрозумілий інтерфейс Можливість налаштування відображення ціні на різних сторінках інтернет-магазину. Недоліки модулю: Він є несумісним з самописними шаблонами Інсталяція та подальша робота можлива лише за допомогою додаткового програмного комплексу OCMod Несумісний з OpenCartFilter 1.5.4 Порівняння систем-аналогів Таблиця 1. Порівняння аналогічних модулів Модулю Функції LivePrice Валюта + Мультива лютні товари 21 1. Зміна курсу валют з подальшою зміни ціни на сайті + + + 2. Сумісність з самописним шаблоном - - - 3. Зручний інтерфейс налаштувань модулю - + + 4. Можливість вибрати для певного виробника окремий курс певної валюти + + + 5. Сумісність з іншими модулями + + + 6. Сумісність з базовим функціоналом OpenCart + - + 7. Інсталяція та робота без додаткових модулів та програмних комплексів + - - 8. Підтримка нових версій OpenCart - + + 9. Можливість самостійного оновлення модулю при переходу на нову версію OpenCart - - - Витрати 1000 грн/рік 1500 грн/рік 700 грн/рік Висновки: Отже, проаналізувавши три програмні модулі , що пропонують можливість зміни цін відносно ситуації на валютному ринку, ми бачимо що LivePrice, Валюта+ і BX Мультивалютні товари пропонують достатньо великий функціонал, але можливість самостійного оновлення при переході на нову версію 22 Opencart та робота з самописними шаблонами відсутня в усіх 3 модулях. Також не в усіх модулях, з розглянутих варіантів, присутня підтримка потрібной версії OpenCart. Отже, жоден з наведених модулів не підходить до використання в інтернет- магазині «Domsporta. 1.6 Обґрунтування доцільності проектування і розроблення системи В зв’язку з тим, що система CMS Opencart, на якій і написано сайт, має модульну структуру, тому є доцільною розробка нового модуля коригування цін. На основі розглянутих вище прикладів програмних модулів, ми бачимо, що їх використання на сайті не є цілком доцільним тому, що вони не відповідають потребам. З наведених у Таблиці 1 результатів порівнянь ми бачимо, що існуючі модулі мають обмеження в функціоналі, працюють лише з певною версією OpenCart та не працюють з самописними шаблонами для сайту. Отже, створення нового програмного модулю, який би виконував усі потрібні функції та відповідав би вимогам дійсно є актуальним і обґрунтованим завданням. 1.7 Концептуальна модель системи Основна ціль створюваного модулю є автоматизація перерахунку цін, згідно ситуації на валютному ринку. Це дасть змогу оптимізувати робочий процес персоналу та мінімалізувати можливість похибки через людський фактор. 1.8 Постановка задачі на проектування 23 1.8.1 Призначення та цілі створення системи Метою даної роботи є автоматизація цінорегулювання на товари та підвищення ефективності роботи персоналу. Головними завданнями підсистеми є спрощення процесу цінорегулювання на сайті. Користувачами створюваної системи будуть адміністратори сайту та розробник модулю. Розроблювана підсистема система призначена для того, щоб адмністратор сайту, який відповідає за зміни цін на продукти мав змогу підвищити ефективність своєї роботи за рахунок автоматизації процесу, а розробник мав змогу моніторити роботу программного модулю. 1.8.2 Вимоги до створюваного інформаційної підсистеми Зміна курсу валют з подальшою зміни ціни на сайті. Ціна повинна змінюватися не тількі на сторінці, а й в корзині, Інтерфейс повинний бути простим та зрозумілим для людини, яка не є розробником модулю. Модуль повинний працювати з самописним шаблоном. Оскільки шаблон сайту не є стандартним. Відображення змінених цін повино бути коректним та відповідати загальному стилю сайту. Повинна бути забезпечена правильна робота з іншими модулями. Модуль повинен бути сумісним з стандартними функціями Opencart (акції, знижки та інші). Підтримка нових версій OpenCart тому, що сайт створено на версії Opencart 3.0.3.0 яка є останнюю Має бути можливість вибрати певний курс валют для окремого виробника. 24 РОЗДІЛ 2. РОЗРОБКА АВТОМАТИЗАЦІЇ 2.1. Інформаційне забезпечення проекту Набір даних – це основа роботи кожної програми чи модуля. Існує певний набір даних які потрібно мати своє місце зберігання. Для того, щоб декілька користувачів мали змогу користуватися даними базами даних потрібно використовують СУБД. Система управління базами даних (СУБД) — це сукупність засобів, що дають можливість створення, збереження, оновлення та пошуку інформації в БД. На сьогоднішній день СУБД повинна містить в собі програмні засоби створення баз даних, засоби роботи з даними та сервісні засоби. Інтернет-магазин побудований на платформі «Opencart». OpenCart — система керування вмістом з відкритим кодом, призначена для створення інтернет-магазинів. Найвагомішими перевагами OpenCart над над конкурентами - це сучасна MVC-архітектура, підвищена швидкість роботи, багатофункціональна адміністративна панель управління контентом та менше споживання серверних ресурсів. [6] Модуль побудований на MVC – архітектурі. Моде́ль–вигляд– контро́лер Model-view-controller, MVC) – це архітектурний шаблон, який використовується під час проектування та розробки програмного забезпечення. Даний шаблон передбачає розділ системи на три взаємопов'язані частини: модель даних, вигляд (інтерфейс користувача) та модуль керування. Цей шаблон застосовують для відокремлення даних (моделі) від інтерфейсу користувача (вигляду) для того, щоб зміни інтерфейсу не могли впливалити на роботу з даними, а зміни в моделі даних могли здійснюватися без змін інтерфейсу користувача. Контроллер повинен робити роботу по обробленню даних. Модуль написаний на мові php. 25 PHP – досить популярна мова програмування з відкритим вихідним кодом. Одна з головних переваг PHP - це те, що вона надає web-розробникам широкі можливості для досить швидкого створення динамічних web-сторінок. Головна особливість мови PHP від якого-небудь іншого коду це то, що він оброблюється та виконується на стороні сервера. Три основні області, де використовується PHP: Створення скриптів для виконання сервером.; Створення скриптів для виконання в командному рядку. Ви можете створити PHP-скрипт, здатний запускатися незалежно від веб-сервера та браузера. Такий спосіб використання PHP ідеально підходить для скриптів, які повинні виконуватися регулярно. Створення додатків GUI (графічних інтерфейсів), що виконуються на стороні клієнта. Можливо, PHP є не найкращим мовою для створення подібних додатків, але, якщо ви дуже добре знаєте PHP і хотіли б використати деякі його можливості у своїх клієнт-додатках, ви можете використовувати PHP-GTK для створення таких додатків. PHP також сумісний з більшостю операційних систем. PHP підтримує більшість веб-серверів , таких, як Apache, Microsoft Internet Information Server (IIS), Personal Web Server, серверів Netscape і iPlanet, сервера Oreilly Website Pro, Caudium, Xitami, OmniHTTPd та багатьох інших. Таким чином, вибираючи PHP, ви отримуєте свободу вибору операційної системи і веб-сервера. Крім того, у вас з'являється вибір між використанням процедурного або об'єктно-орієнтованого програмування або ж їх поєднання. [9] Також в даній роботі був використаний фреймворк Symfony. 26 Symfony — це відкритий PHP-фреймворк, який реалізує концепцію модель-вид-контролер (MVC). Його задача - цеа прискорення створення та підтримки веб-застосунків, а також для уникнення витрат часу для розв'язування тривіальних задач у розробці (наприклад, написання валідаторів форм). Для його інсталяції необхідно Unix, Linux, Mac OS чи Windows із веб- сервером та встановленим PHP 5. Symfony ставить за мету дати розробникам повний контроль над конфігурацією: майже все можливо налаштувати, від структури каталогів до сторонніх бібліотек. 2.2 Програмне забезпечення розробки Для розробки програмного модулю для сайту було використано Microsoft Visual Studio Code. Visual Studio Code – це засіб, який призначений для створення, редагування сучасних веб-застосунків . Microsoft Visual Studio Code є повністю безкоштовним. Visual Studio Code має підтримку плагінів, які можна встановити через Visual Studio Marketplace. Вони включають в собі доповнення для редактора, підтримку додаткових мов програмування , статичні аналізатори коду. 2.3 Технічне забезпечення розробки інформаційної системи Для комфортної та коректної роботи з модулем підходить будь-який популярний інтернет- браузер. Нижче наведені вимоги до ПК для браузеру Google Chrome: Операційна система: Windows 7, Windows 8, Windows 10 Процесор: Intel Pentium 4 або більш пізньої версії; Оперативна пам'ять: 512 Мб або більше; 27 Жорсткий диск: 350 Мбайт вільного простору; 2.4 Обґрунтування структури та розробка логічної і фізичної моделей бази даних інформаційної системи Щоб створити логічну та фізичну модель БД було застосовано CASE-засіб CA ERwin Data Modeler r7.3, Цей програмний засіб дає змогу продовжити опис, аналіз та моделювання даних [20]. Дана технологія використовує графічну мову моделювання IDEF1X. Дану технологію застосовують для проведення декомпозиції предметної області, встановлення зв’язків між об’єктами. ERwin сумісна з такими СУБД як: Microsoft SQL Server, MySQL, ORACLE та інші. Логічна модель слугує для відображення об’єктно-орієнтованої декомпозиції предметної області. Фізичне проектування – це опис засобів фізичної реалізації логічної моделі БД. Ось тут і треба вирішити, яку конкретну СУБД використовувати тому, що конкретна СУБД може містити в собі різноманітні обмеження. База даних складається з 202 таблиць, але модуль потребує 6 з них: companies – дана таблиця призначена для того, щоб заносити дані про курс id: INTEGER name: VARCHAR base_rate: INTEGER status: INTEGER 28 companies_to_manufacturer – дана таблиця містить в собі id конкретного виробника товару та id функції коригування курсу для нього; manufacturer_id: INTEGER company_id: INTEGER product - дана таблиця призначена для визначення назви, ціни продукту, його id, ціну в валюті, кількість товару та id виробника; product_id: INTEGER price: INTEGER currency_price: INTEGER quantity: INTEGER manufacturer_id: INTEGER name: VARCHAR category_name: VARCHAR category_id manufacturer – дана таблиця призначена для визначення виробника продукту manufacturer_id: INTEGER name: VARCHAR sort_order: VARCHAR category – для визначення виду, тобто категорії певного товару category_id: INTEGER status: INTEGER name: VARCHAR currency – дана таблиця містить в собі інформації про основу валюту сайту. currency_id: INTEGER symbol: VARCHAR name: VARCHAR 29 value: INTEGER code: INTEGER 2.5 Обґрунтування вибору технічних засобів розробки ЕНР Для створення моделі даних з їх подальшим аналізом та описом було використано AllFusion Process Modeler 10.3 та AllFusion ERWin Data Modeler 10.6. Даний програмний дає змогу проводити документацію всіх важливих аспектів будь-яких бізнес-процесів: заходів, які необхідно вжити, способів їх здійснення та контролю, необхідних для цього ресурсів та ін. Дане середовище – це чудовий засіб для спрощення розробки бази даних та автоматизації великої кількості завдань. Це дозволяє значно скоротити час для створення баз даних та сховищ даних. Для даної роботи було використано СУБД MySQL з веб-додатком phpmyadmin. phpMyAdmin – це веб-додаток з відкритим кодом, який написаний на мові PHP та представляє собою веб-інтерфейс для адміністрування СУБД MySQL. PhpMyAdmin дозволяє через браузер і не тільки здійснювати адміністрування сервера MySQL, запускати команди SQL і переглядати вміст таблиць і баз даних. Додаток користується великою популярністю у веб-розробників, так як дозволяє управляти СУБД MySQL без безпосереднього введення SQL команд.[8] 2.6 Створення запитів Кожному запиту до бази даних відповідає один метод, який йменується згідно дій, які ми бажаємо виконати з даними. Запис в таблицю курсу валют 30 $this->db->query("INSERT INTO ". DB_PREFIX ."companies (name, base_rate, status) Запит на перерахунок цін $sql = "SELECT cm.manufacturer_id, c.base_rate FROM " . DB_PREFIX . "companies c JOIN " . DB_PREFIX . "companies_to_manufacturers cm ON (c.company_id = cm.company_id) WHERE c.status = 1 ORDER BY (manufacturer_id)"; Запит для видалення операції по перерахунку: $this->db->query("DELETE FROM " . DB_PREFIX . "companies WHERE company_id = '" . (int)$company_id . "'"); 2.7 Розроблення інтерфейсу користувача Щоб під’єднати базу даних до проекту потрібно застосувати спеціальний файл, який має назву config.php. Він є одним з основних файлів проекту на CMS Opencart. В цьому файлі прописується всі необхідні дані для підключення проекту до бази даних. Рис 3. Підключення до БД. 31 Рис 4. Головна сторінка При відкритті натисканні на назві модулю ми попадаємо на головну сторінку данного додатку. Тут ми бачимо такі поля: Назва виробника, закупівельний курс, статус операції по зміні цін та можливі дії над ними Частина коду головної таблиці: