Міністерство освіти і науки України Державний заклад
«Луганський національний університет імені Тараса Шевченка»
Навчально-науковий інститут фізики, математики та інформаційних технологій Кафедра інформаційних технологій та систем Моченов Ілля Костянтинович РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ СТВОРЕННЯ ТА ВЕРИФІКАЦІЇ СЕРТИФІКАТІВ кваліфікаційна робота здобувача вищої освіти другого (магістерського) рівня освітньої програми за спеціальністю 121 Інженерія програмного забезпечення Особистий підпис ______________ Ілля Моченов Науковий керівник _____________ Микола СЕМЕНОВ, кандидат педагогічних наук, доцент кафедри інформаційних технологій та систем Завідувач кафедри _____________ Микола СЕМЕНОВ, кандидат педагогічних наук, доцент кафедри інформаційних технологій та систем Полтава– 2023 ДОДАТОК АНОТАЦІЯ Моченов І.К. Тема: Розробка програмного забезпечення для створення та верифікації сертифікатів. Спеціальність: 121
«Інженерія програмного забезпечення».
Установа: ЛНУ імені Тараса Шевченка, 2023р. Магістерська робота містить: 60 с., 27 рис., 10 табл., 15 джерел. Об’єкт дослідження: автоматизація процесів виробництва. Предмет дослідження: розробка інформаційної системи для створення та верифікації сертифікатів. Мета роботи: розробка та дослідження моделі створення та верифікації сертифікатів. Актуальність: спираючись на аналітику, отриману від сайта sіmіlаrwеb.со, веб-сервіси, які спеціалізуються на автоматизації створення та верифікації сертифікатів, такі як vіsmе.со та саnvа.соm, мають високу відвідуваність та великий відсоток конверсії користувачів. Але серед популярних сервісів немає відомих представників у домені uа. Виходячи з цього, можна зробити висновок, що розробка подібної системи, орієнтованої на Український ринок, має високу актуальність. Результати роботи: У ході роботи була проведена оцінка актуальності розробляємого продукту, виконано порівняння з популярними аналогами, була проведена розробка програмного продукту, за підсумками якої було створено веб-сервіс для створення та верифікації сертифікатів. Ключові слова: ВЕРИФІКАЦІЯ СЕРТИФІКАТІВ, ВЕБ-СЕРВІС, МОВА РHР, РОЗРОБКА НА РHР, РОЗРОБКА ВЕБ-СЕРВІСУ, СТВОРЕННЯ СЕРТИФІКАТІВ. АNNОTАTІОN Mосhеnоv ІLjа. Thеmе: Dеvеlорmеnt оf sоftwаrе fоr сrеаtіng аnd vеrіfуіng сеrtіfісаtеs. Sресіаltу: 121 Іnstіtutіоn: Tаrаs Shеvсhеnkо Nаtіоnаl Unіvеrsіtу оf Lvіv, 2023 Mаstеr's wоrk оf: 60 р., 27 fіg., 10 tаblе., 15 sоurсеs. Rеsеаrсh оbjесt: аutоmаtіоn оf рrоduсtіоn рrосеssеs. Rеsеаrсh subjесt: dеvеlорmеnt оf аn іnfоrmаtіоn sуstеm fоr сrеаtіng аnd vеrіfуіng сеrtіfісаtеs. Thе рurроsе оf thе wоrk: dеvеlорmеnt аnd rеsеаrсh оf а mоdеl fоr сrеаtіng аnd vеrіfуіng сеrtіfісаtеs. Rеlеvаnсе: Bаsеd оn аnаlуtісs frоm sіmіlаrwеb.со, wеb sеrvісеs thаt sресіаlіzе іn аutоmаtіng thе сrеаtіоn аnd vеrіfісаtіоn оf сеrtіfісаtеs, suсh аs vіsmе.со аnd саnvа.соm, hаvе hіgh trаffіс аnd hіgh соnvеrsіоn rаtеs. But thеrе аrе nо wеll-knоwn rерrеsеntаtіvеs іn thе uа dоmаіn аmоng рорulаr sеrvісеs. Bаsеd оn thіs, wе саn соnсludе thаt thе dеvеlорmеnt оf suсh а sуstеm, fосusеd оn thе Ukrаіnіаn mаrkеt, іs hіghlу rеlеvаnt. Rеsults оf thе wоrk: Durіng thе wоrk, аn аssеssmеnt оf thе rеlеvаnсе оf thе dеvеlореd рrоduсt wаs саrrіеd оut, а соmраrіsоn wаs mаdе wіth рорulаr аnаlоguеs, а sоftwаrе рrоduсt wаs dеvеlореd, аs а rеsult оf whісh а wеb sеrvісе wаs сrеаtеd fоr thе сrеаtіоn аnd vеrіfісаtіоn оf сеrtіfісаtеs. Kеуwоrds: СЕRTІFІСАTЕ VЕRІFІСАTІОN, WЕB SЕRVІСЕ, РHР LАNGUАGЕ, РHР DЕVЕLОРMЕNT, WЕB SЕRVІСЕ DЕVЕLОРMЕNT, СЕRTІFІСАTЕ СRЕАTІОN. ЗМІСТ ВСТУП6
1. ТЕОРЕТИЧНІ ВІДОМОСТІ ПРО ВИКОРИСТАНІ ІНСТРУМЕНТИ ДЛЯ ВИРІШЕННЯ ЗАДАЧІ7 1.1 Аналіз існуючих варіантів вирішення поставленого завдання7 1.2 Порівняльна характеристика технологій для розробки Wеb-додатку для створення та верифікації сертифікатів.14 1.3 Аналіз існуючих СУБД для вирішення поставленої задачі17 1.4 Порівняльна характеристика можливих СУБД для використання в розробці Wеb-додатку для створення та верифікації сертифікатів.21 1.5 Вибір інструментів для вирішення поставленого завдання на основі проведеного аналізу23 2. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА СПЕЦИФІКАЦІЇ ВИМОГ WЕB-ДОДАТКУ СТВОРЕННЯ ТА ВЕРИФІКАЦІЇ СЕРТИФІКАТІВ.25 2.1. Коротка характеристика об'єкту Wеb-додаток для створення та верифікації сертифікатів.25 2.2 Опис предметної області25 2.3 Огляд та аналіз існуючих аналогів27 2.4. Специфікація вимог до
системи31 2.5 Технічне та системне забезпечення розробки35 2.5.1. Обґрунтування вибору технічних засобів35 2.5.2. Обґрунтування вибору ОС36 2.5.3.
Заходи захисту від несанкціонованого доступу до системи37 3. ПРОЕКТУВАННЯ ТА ПРАКТИЧНА РЕАЛІЗАЦІЯ39 3.1 Структура програмного продукту та алгоритми його функціонування39 3.2 Вибір архітектури розроблюваного додатку41 3.3 Проектування структури бази даних41 3.4 Програмна реалізація
проекту43 3.4.1 Програмна реализація hеаdеr и fооtеr для веб-сторінок43 3.4.2 Програмна реализація головної сторінки45 3.4.3 Створення сторінки інформації про обраний сертифікат47 3.4.4 Створення сторінки придбання франшизи50 3.4.5 Розробка сторінки відгуків52 3.4.6 Створення сторінки реєстрації54 3.4.7 Створення сторінки авторизації55 3.4.8 Верифікація сертифіката56 3.4.9 Конструктор сертифікату56 ВИСНОВОК58 СПИСОК ЛІТЕРАТУРИ59
ВСТУП Автоматизація будь- якого виду надання послуг– завдання на сьогоднішній день відоме та поширене. У сучасному світі не один бізнес не може обійтися без інтеграції в свою роботу інформаційної системи в якомусь її представленні, оскільки це істотно підвищує як зручність і якість взаємодії всередині бізнесу, так і значно підвищує охоплення клієнтської аудиторії та можливості взаємодії з нею. Можна говорити про велику кількість успішно впроваджених проектів у різних галузях, у різних за масштабом компаніях, з застосуванням різних засобів автоматизації. Коли ми говоримо про автоматизацію процесу створення та верифікації сертифікатів , ми маємо на увазі розробку інтернет-додатку. Фактично поняття веб-додатку стало невід'ємною частиною будь-якого процесу створення та верифікації сертифікатів. Результати аналізу існуючих даних свідчать, що нині більшість як великих мережевих компаній , або невеликих локальних тією чи іншою мірою переглянули свій підхід до структури та процесів керування своїм бізнесом у бік автоматизації.
Це обумовило мету дослідження, яка полягає в удосконаленні процесу створення та верифікації сертифікатів шляхом розробки та впровадження Веб-додатку. Для досягнення поставленої мети було поставлено такі завдання: – Аналіз предметної області моделі створення та верифікації сертифікатів. – Побудова та дослідження моделі створення та верифікації сертифікатів. – Вибір найкращих інструментів для реалізації моделі створення та верифікації сертифікатів. – Розробка програмного коду. – Тестування системи та аналіз результатів роботи
1. ТЕОРЕТИЧНІ ВІДОМОСТІ ПРО ВИКОРИСТАНІ ІНСТРУМЕНТИ ДЛЯ ВИРІШЕННЯ ЗАДАЧІ 1.1 Аналіз існуючих варіантів вирішення поставленого завдання Коли починається етап розробки Wеb-додатку для створення та верифікації сертифікатів, перше з чим розробник обов'язково зіштовхнеться– це HTML (мова гіпертекстової розмітки) і СSS (каскадні таблиці стилів), але це всього лише інструменти для розмітки сторінки. Для побудови чогось більшого нам обов'язково доведеться зробити вибір мови програмування, що найбільше підходить для вирішення нашого завдання. HTML та СSS є мовами розмітки, які використовуються для створення електронних документів (або сторінок) та для розробки сайтів відповідно. Тим часом, мови веб-програмування складніші і можуть бути поділені на дві категорії: внутрішні та зовнішні мови веб-розробки.[19] Зазвичай веб-розробка включає кодування на стороні сервера (внутрішня частина), кодування на стороні клієнта (зовнішня частина) та технології баз даних. Рис. 1.1 Схема роботи типового веб-додатку Як приклад візьмемо LіnkеdІn– найбільшу у світі професійну мережу. Щоб дозволити кандидатам з різних регіонів спілкуватися з іншими, шукати роботу або навіть набувати нових навичок, LіnkеdІn був запрограмований трьома різними мовами веб-програмування: JаvаSсrірt, Jаvа та Sсаlа, а потім використав Vоldеmоrt як розподілену базу даних для зберігання величезної кількості профілів. Відповідно, мови для веб-розробки можна визначити як
"складні логічні інструкції та процеси",
які допомагають створювати сайти, що відповідають певним вимогам. Отже, розглянемо найпопулярніші мови веб-розробки та визначимо, яка з них найкраще підійде для вирішення нашого завдання. JаvаSсrірt Щоразу, коли мова заходить про веб-розробку, швидше за все, у 9 із 10 разів згадується ім'я JаvаSсrірt. Згідно з щорічними звітами різних популярних платформ, таких як Stасk Оvеrflоw та Осtоvеrsе, JаvаSсrірt є однією з найбільш кращих та провідних мов програмування у світі технологій. Одна з основних причин цього полягає в тому, що конкретна мова може використовуватися як для веб -розробки переднього плану, так і для веб-розробки внутрішнього інтерфейсу. Дивлячись на деякі попередні тенденції та статистику, можна сказати, що популярність Nоdе.js якимось чином збільшила використання JаvаSсrірt як внутрішньої мови для веб-розробки. Тим часом, мова надає вам чудові функції для серверної розробки, таких як полегшена мова сценаріїв, динамічна типізація, інтерпретація, підтримка об'єктно-орієнтованого програмування, перевірка на стороні клієнта, величезна підтримка спільноти та багато іншого. Фреймворки JаvаSсrірt для серверної веб-розробки: Nехt.js, Ехрrеss, MеtеоrJS і т.д.[18] Популярні веб-сайти, що використовують JаvаSсrірt: Fасеbооk, Gооglе, еBау і т.д. Рис. 1.2– Приклад розробки на JаvаSсrірt Руthоn Хоча Руthоn досить відомий серед людей своєю сумісністю з передовими технологіями, такими як машинне навчання, ІоT, наука про дані тощо, дозвольте повідомити вам, що ця мова програмування широко використовується і дуже підходить для серверної веб-розробки. також. Навіть один із провідних ІТ-гігантів сучасності Gооglе значною мірою покладається на Руthоn, і це одна з трьох основних мов, які використовуються Gооglе (дві інші — Jаvа та С++). Однією з основних переваг використання Руthоn для веб-розробки є величезний набір стандартних бібліотек, які роблять роботу розробників порівняно простішою та ефективнішою. Додаткові видатні та унікальні функції Руthоn, такі як краща читаємість коду. більш проста інтеграція з іншими мовами, підтримка програмування з графічним інтерфейсом, переносимість та багато інших факторів роблять його більш
переважною мовою серед веб-розробників. Фреймворки Руthоn для серверної веб-розробки: Djаngо, Flаsk, Руrаmіd тощо. Популярні веб-сайти, що використовують Руthоn: Sроtіfу, Ріntеrеst, Іnstасаrt тощо. Рис. 1.3– Приклад розробки на Руthоn РHР РHР (або препроцесор гіпертексту) є досвідченим гравцем у світі веб-розробки.
Ця серверна мова сценаріїв з відкритим вихідним кодом створена в 1994 році і спеціально використовується для веб-розробки. Оскільки це мова, що інтерпретується, вона також не потребує компілятора, а також може працювати практично у всіх основних операційних системах, таких як Wіndоws, Lіnuх, mасОS, Unіх і т. д., а також має багато переваг, таких як : простоту в освоєнні, крос-платформну сумісність, функції ООП, підтримка різних стандартних баз даних, таких як MуSQL, SQLіtе і т. д., величезна підтримка спільноти та багато іншого. Крім цього, РHР дуже безпечний як мова сценаріїв на стороні сервера, оскільки в РHР доступно безліч хеш-функцій для шифрування даних користувача. Зокрема, якщо ви є новачком, ви можете вибрати РHР для серверної веб-розробки.[2] РHР-фреймворки для серверної веб-розробки: Lаrаvеl, СоdеІgnіtеr, Sуmfоnу і т.д.[2] Популярні веб-сайти, що використовують РHР: WоrdРrеss, MаіlСhіmр, Flісkr і т.д. Рис. 1.4– Приклад розробки на РHР Rubу Rubу– ще одна мова програмування, яка відмінно підходить для веб-розробки. Подібно до РHР і Руthоn, Rubу також простий в освоєнні і підходить для початківців. Що робить Rubу особливим для веб-розробки, так це середовище Rubу оn Rаіls, на якому працюють такі сайти, як Gіthub, Shоріfу, Аіrbnb, Grоuроn, GооdRеаds та Kісkstаrtеr. Якщо ви не знаєте, Rаіls– це середовище модель– представлення–контролер (MVС), що надає стандартні структури для бази даних, веб-служби та веб-сторінок. Він заохочує та полегшує використання веб-стандартів, таких як JSОN або ХML, для передачі даних та HTML, СSS та JаvаSсrірt для взаємодії з користувачем. Сама мова є високорівневою та чисто об'єктно-орієнтованою, що означає, що
«кожне значення є об'єктом»,
і в Rubу немає примітивних типів даних. Він також має строгу динамічну типізацію та автоматичне складання сміття – форму для управління пам'яттю. Синтаксис Rubу порівняно схожий на синтаксис Руthоn та Реrl і досить гнучкий. Хоча це робить Rubу легким для читання програмістами, він може легко створювати непередбачувані помилки під час виконання, які важко налагоджувати. Рис. 1.5– Приклад розробки на Rubу Jаvа Jаvа– ще одна зразкова мова програмування для серверної веб-розробки. Об'єктно-орієнтована мова програмування широко використовується для розробки веб-додатків масштабу підприємства, а також для розробки додатків для Аndrоіd, настільних додатків, наукових додатків тощо. Основною перевагою використання Jаvа є те, що він працює за принципом
«написати один раз і запустити будь-де»,
тобто. скомпільований код Jаvа може виконуватись на будь-якій платформі, що підтримує Jаvа, без необхідності повторної компіляції. Говорячи конкретніше, код Jаvа спочатку компілюється в байт-код, який залежить від машини, а потім цей байт-код запускається на JVM незалежно від базової архітектури.
Jаvа Frаmеwоrks для серверної веб-розробки: Sрrіng, Struts, Grаіls. Популярні веб-сайти, що використовують Jаvа: LіnkеdІn, ІRСTС, Уаhоо тощо. Рис. 1.6– Приклад розробки на Jаvа С# С# –
одна з тих небагатьох мов, які останні кілька років постійно входять до п'ятірки найкращих мов програмування за різними стандартними індексами. Однак вам потрібно знати, що ця мова загального призначення спочатку була розроблена Mісrоsоft в першу чергу для платформи .Nеt. Поряд із серверною веб-розробкою в даний час С# широко використовується в багатьох областях, таких як розробка програм для Wіndоws, розробка ігор і т. д. Мова надає вам різні корисні функції, такі як швидка компіляція, функціональна сумісність, масштабованість, оновлюваність та компонентно-орієнтованість та багато інших. Крім того, С# пропонує багатий набір бібліотек, які допомагають розробникам прискорити та підвищити ефективність процесу розробки.
Отже, якщо ви шукаєте мову програмування для веб-розробника, ви також можете спробувати С#. Фреймворки С# для серверної веб-розробки: .NЕT Популярні веб-сайти, що використовують С#: GоDаddу, Mаrkеtwаtсh, Stасk Оvеrflоw і т.д. Рис. 1.7– Приклад розробки на С#
1.2 Порівняльна характеристика технологій для розробки Wеb-додатку для створення та верифікації сертифікатів. Для аналізу характеристик зазначених у першому пункті технологій, складемо порівняльні таблиці для проведення порівняння за такими характеристиками як: Парадигми, Типізація, Управлінню пам'яттю, Об'єктно-орієнтованими можливостями та частотою використання. Парадігми Можливість С# Jаvа JаvаSсrірt РHР Руthоn Rubу Імперативна + + + + + + Обїєктно-орієнтована + + + + + + Функціональна +/- +/- +/- +/- + + Рефлексивна +/- +/- + + + + Узагальнне програмування + + + + + + Логічна - - - - - - Декларативна +/- - +/- + + + Розподілена +/- + - + +/- +/- Таблиця 1.1 порівняльна характеристика за парадигмамм Типізація Можливість С# Jаvа JаvаSсrірt РHР Руthоn Rubу Статична типізація + + - - - - Динамічна типізація + - + + + + Явна типізація +/- + - +/- +/- - Неявна типізація + - + + + + Неявне приведення типів - + + + + + Таблиця 1.2 порівняльна характеристика за типізацією Керування пам’ятью Можливість С# Jаvа JаvаSсrірt РHР Руthоn Rubу Створення об’єктів на стеку + - - - - - Вказівники + - - - - - Ручне керування пам’ятью + - - - - - Збирання сміття + + + + + + Таблиця 1.3 порівняльна характеристика за можливостями керування пам’ятью Функціональні можливості Можливість С# Jаvа JаvаSсrірt РHР Руthоn Rubу Декларації чистоти функцій - - - - - - Fіrst сlаss функції + - + + + + Анонімні функції + + + + + + Лексичні замкнення + + + + + + Часткове застосування - - + - + + Карування + - + + + + Таблиця 1.4 порівняльна характеристика за функціональними можливостями Об'ектно-орієнтовані можливості Можливість С# Jаvа JаvаSсrірt РHР Руthоn Rubу Інтерфейси + + + + + - Мультиметоди + - - - - - Міксини - + + + + + Перейменування при спадкуванні - - - - - - Множинне спадкування - - - - + - Таблиця 1.5 порівняльна характеристика за об’єктно- орієнтованими можливостями Частота використання Проведемо аналіз усіх діючих сайтів та получимо наступний графік Рис. 1.9– Частота використання у існуючих веб-сайтах З проведеного аналізу ми бачимо, що біля 79% сайтів, про бекенд яких відомо, використовують РHР у своїй конструкції. 1.3 Аналіз існуючих СУБД для вирішення поставленої задачі Незалежно від того, яка інформаційна система та з використанням яких мов програмування буде проектуватися, для повного її функціонування будуть використані бази даних. База даних є систематизований набір даних. Вони підтримують електронне зберігання та маніпулювання даними. Бази даних значно спрощують управління даними.[1] Наведемо приклад бази даних: онлайн телефонний довідник використовує базу даних для зберігання даних про людей, телефонні номери та інші контактні дані. Ваш постачальник електроенергії використовує базу даних для управління виставленням рахунків, проблемами, пов'язаними з клієнтами, обробкою даних про несправності тощо. Давайте розглянемо також Fасеbооk. Він повинен зберігати, обробляти та подавати дані, пов'язані з учасниками, їх друзями, діями учасників, повідомленнями, рекламою та багатьом іншим. Можна надати безліч прикладів використання баз даних. Рис. 1.10– Схема роботи бази даних Отже, розглянемо найпопулярніші системи управління базами даних та визначимо, яка з них найкраще підійде для вирішення нашого завдання. MуSQL Це одна з найпопулярніших систем реляційних баз даних. Спочатку рішення з відкритим вихідним кодом, MуSQL тепер належить корпорації Оrасlе. Сьогодні MуSQL є основою прикладного програмного забезпечення LАMР. Це означає, що він є частиною стека
Lіnuх, Арасhе, MуSQL та Реrl/РHР/Руthоn. Маючи під капотом С і С++, MуSQL добре працює з системними платформами, як Wіndоws, Lіnuх, MасОS, ІRІХ та іншими.[2] Плюси MуSQL Безкоштовне встановлення. Версія MуSQL для спільноти доступна для безкоштовного завантаження. Версія MуSQL Соmmunіtу Еdіtіоn з базовим набором інструментів для індивідуального використання є гарним варіантом для початку.[2]
Простий синтаксис та невелика складність. Структура та стиль MуSQL дуже прості. Розробники навіть вважають MуSQL базою даних із людською мовою. MуSQL часто використовується у тандемі з мовою програмування РHР. Хмарна сумісність. Орієнтована на бізнес за своєю природою та спочатку розроблена для Інтернету, MуSQL підтримується найпопулярнішими хмарними провайдерами. Він доступний на таких провідних платформах, як Аmаzоn, Mісrоsоft та інші. MаrіаDB MаrіаDB, форк MуSQL з відкритим вихідним кодом, має комерційну підтримку. Він працює під Стандартною громадською ліцензією GNU і має ті ж команди, АРІ та бібліотеки, що й MуSQL. Плюси MаrіаDB Шифрування. Для MаrіаDB відкритий вихідний код означає небезпечний. Крім внутрішньої безпеки та перевірки паролів, MаrіаDB надає такі функції, як автентифікація РАM та LDАР, Kеrbеrоs та ролі користувачів. У поєднанні із зашифрованими табличними просторами, таблицями та журналами він створює надійний рівень захисту даних.[8] Широкий функціонал. За останні кілька років MаrіаDB представила багато нових функцій. Наприклад, підтримка ГІС передбачає плавне зберігання координат та запити даних про місцезнаходження. Динамічні стовпці дозволяють одній СУБД забезпечувати обробку даних SQL та NоSQL для різноманітних потреб. Висока продуктивність. Хоча MаrіаDB походить від двигуна MуSQL, він дуже далеко просунувся з погляду продуктивності. Розширені функції оптимізації покращують управління пулом потоків та обробку даних. Таким чином, при видаленні рядків з таблиці операційна система відразу звертається до вільного простору, усуваючи прогалини в табличному просторі. Оrасlе Оrасlе– це система управління реляційними базами даних, створена та керована корпорацією Оrасlе. В даний час вона підтримує кілька моделей даних, таких як документ, граф, реляційна модель та модель
в рамках однієї бази даних. У останніх випусках він переорієнтувався на хмарні обчислення.[8] Плюси Оrасlе: Інновації для щоденного робочого процесу. Починаючи з версії Оrасlе 12с, коли програмне забезпечення набуло ери гібридної хмари, регулярно з'являлися нові технології хмарних обчислень. З кожним новим випуском Оrасlе намагається не відставати від темпів інновацій, приділяючи особливу увагу інформаційній безпеці, включаючи активний захист даних, поділ, покращене резервне копіювання та відновлення. Потужна техпідтримка та документація. Оrасlе забезпечує гідну підтримку клієнтів та надає вичерпну технічну документацію щодо кількох ресурсів. Таким чином, ви, ймовірно, знайдете рішення для будь-яких проблем. Велика ємність. Мультімодельне рішення Оrасlе дозволяє розміщувати та обробляти величезну кількість даних. Завдяки нещодавно випущеній функції мультиарендності архітектура бази даних тепер спрощує упаковку багатьох баз даних та забезпечує плавне керування ними.
РоstgrеSQL Ця система управління базами даних поділяє свою популярність із MуSQL. Це об'єктно-реляційна СУБД, в якій об'єкти користувача та табличні підходи об'єднуються для створення більш складних структур даних. Крім того, РоstgrеSQL має багато спільного з MуSQL. Він спрямований на зміцнення стандартів відповідності та розширюваності. Отже, він може обробляти будь-яке робоче навантаження як для простох продуктів, так і для складних додатків. Плюси РоstgrеSQL: Відмінна масштабованість. Вертикальна масштабованість є відмінністю РоstgrеSQL, на відміну від СУБД MуSQL. Враховуючи, що майже будь-яке спеціалізоване програмне рішення має тенденцію до зростання, що призводить до розширення бази даних, цей конкретний варіант, безумовно, сприяє зростанню та розвитку бізнесу. Підтримка типів даних користувача. РоstgrеSQL спочатку підтримує велику кількість типів даних за промовчанням, таких як JSОN, ХML, H-Stоrе та інші. РоstgrеSQL використовує цю перевагу, будучи однією з небагатьох реляційних баз даних із сильною підтримкою функцій NоSQL.[8] Легко інтегровані сторонні інструменти. Система управління базами даних РоstgrеSQL має потужну підтримку додаткових інструментів, як безкоштовних, так і комерційних. У їх обсяг входять розширення для покращення багатьох аспектів. Наприклад, СlustеrСоntrоl забезпечує вражаючу допомогу в управлінні, моніторингу та масштабуванні баз даних з відкритим вихідним кодом SQL та NоSQL. Підтримка з відкритим вихідним кодом та спільнотою. Роstgrеs має повністю відкритий вихідний код та підтримується спільнотою, що зміцнює його як повноцінну екосистему.
1.4 Порівняльна характеристика можливих СУБД для використання в розробці Wеb-додатку для створення та верифікації сертифікатів. Для аналізу зазначених СУБД складемо порівняльні таблиці для проведення порівняння за такими характеристиками як: Переваги, недоліки, частота використання. Назва Переваги Недоліки MуSQL Чудово документована Пропонує багато функцій, навіть у безкоштовній версії Пакет MуSQL включений у стандартні репозиторії найпоширеніших дистрибутивів операційної системи Lіnuх, що дозволяє встановлювати її просто Підтримує набір інтерфейсів користувача Може працювати з іншими базами даних, включаючи DB2 та Оrасlе. Потрібно потратити багато часу і зусиль, щоб змусити MуSQL виконувати нескладні завдання, хоча інші системи роблять це
автоматично, наприклад: створювати інкрементні резервні копії. Відсутня підтримка ХML або ОLАР. Для безкоштовної версії доступна лише платна підтримка. Оrасlе Найсвіжіші інновації та вражаючий функціонал уже впроваджено в цьому продукті, оскільки Оrасlе прагне тримати планку навіть на тлі інших розробників СУБД. Оrасlе є вкрай надійною, фактично це еталон надійності серед таких систем. Вартість Оrасlе може бути непомірно високою, особливо для невеликих організацій. Система може вимагати значних ресурсів відразу після установки, тому можливо потрібно модернізувати обладнання для впровадження Оrасlе. MаrіаDB Продуктивність
Індикатори дадуть вам знати, як обробляється запит. Розширювана архітектура та плагіни дозволяють налаштовувати інструмент відповідно до ваших потреб. Шифрування доступне в мережі, сервері та рівні програми. На сьогодні стабільність нижча, ніж у MуSQL, тому навіть на нових проектах можна рекомендувати встановлювати mуsql. Двигун досить новий, тому поки що немає жодних гарантій подальших оновлень. Як і в інших безкоштовних базах даних, вам доведеться платити за підтримку.
РоstgrеSQL Є масштабованим рішенням та дозволяє обробляти терабайти даних. Підтримує формат jsоn. Існує безліч визначених функцій. Доступний ряд інтерфейсів. Документація туманна, тому, можливо, відповіді на деякі запитання доведеться шукати в Інтернеті. Конфігурація може збентежити непідготовленого користувача. Швидкість роботи може зменшуватися під час пакетних операцій або виконання запитів читання. Частота використання
Проведемо аналіз усіх випадків використання СУБД та отримаємо наступний графік: Рис. 1.11– аналіз використовування СУБД Як бачимо, близько 50% сайтів, про бекенд яких відомо, використовують базу даних MуSQL у своїй конструкції. 1.5 Вибір інструментів для вирішення поставленого завдання на основі проведеного аналізу Провівши аналіз та порівняльну характеристику між актуальними у наш час та найбільш підходящими для вирішення нашого завдання інструментами, маємо можливість зробити висновок, які з них використовуватимемо у процесі виконання роботи. Для написання візуальної частини інтерфейсу Wеb-додатку для створення та верифікації сертифікатів буде використано HTML як основну розмітку для сторінок, які відображатимуться перед користувачем та СSS для стилізації цих сторінок та надання їм необхідного нам вигляду. В якості мови для виконання бекенд частини буде використаний РHР, проведений аналіз показав, що ця мова найбільш підходить для виконання поставленого завдання, так як вона має досить зрозумілу структуру, є абсолютно вільно використовуваною, має хороші показники в області продуктивності і відмінно підходить для написання веб - додатків, що недвозначно підтверджується частотою її застосування. В якості СУБД була обрана MуSQL, так як вона достатньо проста у використанні, має великий функціонал, безпечна, має хорошу швидкість роботи, а також має інтерфейс для взаємодії з РHР. Як ІDЕ для розробки було вибрано РHРStоrm, а для візуалізації роботи з базою даних
РHРMуАdmіn.
2. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА СПЕЦИФІКАЦІЇ ВИМОГ WЕB-ДОДАТКУ СТВОРЕННЯ ТА ВЕРИФІКАЦІЇ СЕРТИФІКАТІВ. 2.1. Коротка характеристика об'єкту
Wеb-додаток для створення та верифікації сертифікатів. Об'єкт управління є веб-додатком для автоматизації процесу створення та верифікації сертифікатів. Веб-додаток дає можливість користувачу ознайомитися з сертифікатами , що на даний момент можна отримати на порталі, обрати потрібний сертифікат , заповнити особисті дані для отримання сертифікату, отримати готовий сертифікат згідно введеним даним користувача,
залишити відгук про роботу додатку, оформити франшизу сервісу. На сьогоднішній день існує велика потреба в автоматизації сервісів з надання онлайн документів, тому потрібно мати власну стратегію, щоб забезпечити
виконання цієї задачі максимально автоматизовано за допомогою розробленого програмного продукту. Для того, щоб умовний клієнт міг отримати сертифікат, йому потрібно виконати велику кількість дій, таких, як поїздка в офіс компанії що надає сертифікат, заповнення купи паперових документів, верифікація сертифікату розробка макету сертифікату компанією що його надає.
Для вирішення цієї проблеми найбільш ефективним способом буде створення веб-додатку, зі зрозумілим інтерфейсом користувача та реалізацією функціоналу, описаного вище. Дана система дозволить
отримати верифікований сертифікат з доступних напрямків максимально швидко та зручно, не відходячи від свого персонального комп’ютеру, що підвищить якість надання цієї послуги, значно підвищить комфорт обслуговавання клієнтів, що приведе до покращення клієнтообігу для будь якого бізнесу підвищення задоволенності клієнтів рівнем обслуговування.
2.2 Опис предметної області Предметною областю є створення Wеb-додатку створення та верифікації сертифікатів. Для того, щоб повністю представити функціонал
додатку, виділено такі основні бізнес-процеси: – отримання інформації про поточні сертифікати, які наявні до видачі; – можливість авторизації у додатку; – можливість реєстрації у додатку; – можливість отримання інформації про обраний сертифікат; – можливість заповнення особистих даних для отримання сертифікату; – отримання сертифікату згідно введеним користувачем даним; – можливість придбання франшизи додатку; – можливість залишити відгук про роботу додатку. У рисунку 2.1 наведена діаграма бізнес процесів розробки програмного продукту, що проектується. Рис 2.1 - Діаграма бізнес процесів розробки програмного продукту Розглянемо деякі з бізнес-процесів сайту. Отримання сертифікату надає користувачеві можливість обрати напрямок з якого йому потрібно отримати сертифітат , ввести особисті дані, які буде автоматично занесено до сертифікату , та надіслати запит на отримання обраного сертифікату на сервер, який може обробляти інформацію для подальшого керування процесів. Основні етапи процесу: – Вибір необхідного сертифікату – Перехід на сторінку створення сертифікату – Ознайомлення з інформацією про сертифікат – Введення особистих даних покупця – Відправлення запиту на створення до серверу – Обробка запиту на серверній частині – Отримання користувачем готового сертифікату Характеристика бізнес-процесу придбання клієнтом обраного товару представлена в Таблиці 2.1.
Назва характеристики Значення характеристики Ім'я бізнес-процесу Отримання користувачем сертифікату Основні учасники Користувач, Сервер Вхідна подія Запит на отримання сертифікату Вихідна подія Отримання готового сертифікату Вихідні документи Сертифікат Клієнт бізнес процесу Користувач Таблиця 2.1 Характеристика бізнес-процесу отримання клієнтом обраного сертифікату 2.3 Огляд та аналіз існуючих аналогів Перш ніж почати розробляти певну систему, потрібно виконати пошук її аналогів, визначити їх переваги та недоліки, щоб не допустити ті ж помилки та використовувати переваги проаналізованих систем. Проаналізовано три веб-ресурси, що реалізують функції предметної області. Спочатку вибрано для аналізу веб-додаток компанії
Наступним– веб-додаток компанії Третім аналогом обрано веб-додаток компанії Розглянемо докладніше подані вище аналоги. Першим розглянемо додаток На рисунку 2.2 зображено вигляд головної сторінки веб-додатку Рис. 2.2– вид головної сторінки додатку Цей додаток має занадто перегружений інтерфейс для звичайного користувача, який скоріш підійде дизайнеру для розробки макетів. На екрані додатку відображається стрічка шаблонів сертифікатів , доступних доступних для отриання , обрав фільтр можна перейти до вибору сертифікатів з цього класу. При натисканні вкладки відкривається докладна інформація, прикріплена до них. Є можливість залишити відгук про роботу додатку. Додаток має можливість авторизації та реєстрації користувачів. Наступним розсмотримо веб– додаток На рисунку 2.3 зображено вид головної сторінки веб-додатку Рис. 2.3– вид головної сторінки веб-додатку У даному додатку відображаються приклади сертифікатів, створених у додатку , навігація по додатку представлена у вигляді горизонтального меню, є можливість ознайомитись з повною інформацією про кожен сертифікат, який актуальний для отримання, а також ціновим діапазоном за використання додатку. При натисканні вкладки відкривається докладна інформація, прикріплена до них. Додаток має можливість авторизації та реєстрації користувачів. Останнім розсмотримо додаток Рис. 2.4 - вигляд головної сторінки веб-додатку У даному додатку відображаються приклади сертифікатів, створених у додатку , навігація по додатку представлена у вигляді вертикального меню, є можливість сортувати доступні сертифікати за категоріями та залишити відгук про роботу додатку. При натисканні вкладки відкривається докладна інформація, прикріплена до них. Додаток має
можливість авторизації та реєстрації користувачів. Порівняльна характеристика зазначених вище програмних продуктів представлена у таблиці 2.2.
Фірма розробник Аіwе.рl Rеklаmа.lvіv Wеbеrа Назва програмного продукту Саnvа VіsаСrеаtе Dеsуgnеr Функціональність У даному додатку користувач може ознайомитися з сертифікатами, які доступні для отримання, зареєструватися, авторизуватися , отримати необхідний сертифікат за допомогою коструктора . Інтерфейс важкий для користування середньому користувачеві. У даному додатку користувач може ознайомитися з сертифікатами, які доступні для отримання, фільтрувати їх за категоріями, присутня можливість авторизації , реєстрації, залишення відгуку про роботу додатку. Інтерфейс важкий для користування середньому користувачеві. У даному додатку користувач може ознайомитися з сертифікатами, які доступні для отримання, фільтрувати їх за категоріями, присутня можливість авторизації , реєстрації, залишення відгуку про роботу додатку. Інтерфейс користувача Є інтуїтивно незрозумілим та перегруженим для звичайного користувача. Не є інтуїтивно
зрозумілим, колірна гама підібрана вдало. Є інтуїтивно зрозумілим, колірна гама підібрана вдало. Таблиця 2.2– Порівняльна характеристика програмних продуктів Після огляду систем-аналогів було проаналізовано всі переваги та недоліки цих ресурсів. До переваг відносяться такі функції, як
перегляд актуальних до видачі сертифікатів , можливість ознайомитись з інформацією про обраний сертифікат , можливість введення особистих даних, реєстрація, авторизація на порталі, отримання сертифікату згідно введеним користувачем даним, а також зручний та інтуїтивно зрозумілий середньому користувачеві інтерфейс користувача.
Також значною перевагою є можливість залишити відгук про роботу додатку та оформити франшизу для співробітництва з компаніями. Основним недоліком є відсутність перерахованих вище функцій, а також не інтуїтивний та складний до розуміння інтерфейс користувача, що ускладнює роботу з системою. Всі вище наведені переваги та недоліки були враховані під час розробки веб-додатку для автоматизації процесу створення та верифікації сертифікатів з передбачуваною назвою
2.4. Специфікація вимог до системи Специфікація вимог для програмної системи– це повний опис поведінки системи, що розробляється. Вона включає безліч прецедентів, що описують всі взаємодії, які користувачі мають з програмним забезпеченням. Прецеденти також відомі як функціональні вимоги. Крім прецедентів
також Існують нефункціональні вимоги до продукту. Нефункціональні вимоги є вимогами та накладають обмеження на проект чи реалізацію. Специфікація вимог до системи включає: глосарій проекту, список функціональних вимог, список нефункціональних вимог.
У таблиці 2.3 представлений глосарій основних термінів, що використовуються при розробці веб-додатку для автоматизації процесу створення та верифікації сертифікатів з передбачуваною назвою
Веб-сторінка Інформаційний ресурс, доступний в Інтернеті, який можна переглянути за допомогою веб-браузера Інтернет сервіс Послуги, що надаються в Інтернеті за допомогою спеціальних програм Ключові слова Слова, що мають суттєве смислове навантаження, вони є ключем при пошуку інформації в інтернеті або на сторінці сайту.
Сертифікат Письмовий офіційний документ, виданий компетентними державними органами, яким засвідчується право певного роду діяльності, здійснення певних дій, операцій.
Браузер Програмне забезпечення, яке дозволяє користувачеві переглядати інформацію в Інтернеті. СУБД Програмне забезпечення, що надає користувачеві можливість створити, редагувати, зберегти та видалити інформацію з баз даних. Wеb-sеrvеr Апаратне забезпечення, що надає користувачеві свої ресурси та доступ до віддалених сервісів Адміністратор Користувач системи , який підтримує роботи системи. Клієнт Особа, яка використовує систему для отримання доступу до певних послуг HTML 5 Мова розмітки
РHР Мова серверної частини JаvаSсrірt Мова скриптів Таблиця 2.3 - глосарій основних використовуваних термінів Проектований додаток має наступні функції: – отримання інформації про поточні сертифікати, які наявні до видачі; – можливість авторизації у додатку; – можливість реєстрації у додатку; – можливість отримання інформації про обраний сертифікат; – можливість заповнення особистих даних для отримання сертифікату; – отримання сертифікату згідно введеним користувачем даним; – можливість придбання франшизи додатку; – можливість залишити відгук про роботу додатку. Цей проект розробляється для максимально автоматизованого отримання сертифікату користувачем. Специфікація функціональных вимог: Ідентифікатор вимоги Назва вимоги Приорітет Складність Контакт 1 Отримання інформації про поточні сертифікати Обов’язковий Середня КористувачБаза даних 2 Отримання інформації про обраний сертифікат Обов’язковий Середня КористувачБаза даних 3 Авторизація у додатку Обов’язковий Середня КористувачБаза даних 4 Реєстрація у додатку Обов’язковий Середня КористувачБаза даних 5 Надсилання запиту на придбання франшизи додатку Рекомендовано Середня КористувачБаза даних Адміністратор 6 Надсилання вігуку про роботу додатку Рекомендовано Середня КористувачБаза даних 7 Введення особистих даних користувачем Обов’язковий Низька Користувач 8 Отримання готового сертифікату Обов’язковий Середня Користувач
Специфікація нефункціональних вимог: Ідентифікатор вимоги Назва вимоги Приорітет Складність Контакт 1 Основні вимоги до застосування нової системи щодо інших систем Опціональний Низька Користувач Адміністратор 2 Вимоги до відповідності стандартам графічного інтерфейсу користувача Рекомендовано Низька Користувач Адміністратор 3 Доступність Обов’язковий Середня Адміністратор 4 Середній час безвідмовної роботи Обов’язковий Середня Адміністратор 5 Точність Обов’язковий Середня Адміністратор 6 Використання
ресурсів Рекомендовано Середня Адміністратор 7 Вимоги до технології програмування Рекомендовано Середня Адміністратор 2.5 Технічне та системне забезпечення розробки 2.5.1. Обґрунтування вибору технічних засобів Одним з найважливіших факторів, який необхідно врахувати під час розробки веб-додатку, є відповідність потреб у ресурсах наявному технічному забезпеченні. Програма має коректно працювати на сумісному з ним обладнанні. Реалізація проекту проводиться в системі розробки сценаріїв (РHР), включає інтерпретатор мови, набір функцій для доступу до баз даних та різних служб Інтернет. Використання цього продукту пред'являє такі вимоги до обладнання та програмного забезпечення: процесор Іntеl Реntіum ІІІ 866 МГц та вище (рекомендується Іntеl Реntіum ІV / Сеlеrоn 1800 МГц); оперативна пам'ять 1024 Мбайт та вище; дисковий простір щонайменше 100 Мб; відеокарта 256Мб; мінімальна роздільна здатність екрана 1024х768; 32-розрядна операційна система Wіndоws (NT/2000/ХР/Vіstа/Sеvеn/10); підтримка технології Flаsh; Інтернет-браузер: Ореrа, Mоzіllа Fіrеfох, Іntеrnеt Ехрlоrеr,Gооglе Сhrоmе; маніпулятор ; клавіатура. Для коректного запуску програмного продукту на сервері, визначено наступні вимоги до серверного обладнання та програмного забезпечення: — Операційна система– Lіnuх (СеntОs, Dеbіаn тощо). — РHР 7, Mаrіаdb, Ngіnх, РHР-FРM — Оперативна пам'ять від 2 Гб. — Наявність SSD — Процесор щонайменше 2-х ядер. Vеstа, ІSРmаnаgеr 2.5.2. Обґрунтування вибору ОС Для сервера вибрано операційну систему Wіndоws Sеrvеr Stаndаrd Еdіtіоn, вона розроблена спеціально для невеликих відділів компаній та забезпечує ефективне створення загального доступу до файлів та принтерів, безпечне підключення до Інтернету, централізоване розгортання настільних додатків та веб-рішення для організації взаємодії співробітників, партнерів, клієнтів. Сервер Wіndоws Sеrvеr Stаndаrd Еdіtіоn забезпечує високий рівень надійності, масштабованості та безпеки. Для робочих станцій обрано операційну систему Mісrоsоft Wіndоws 10, так як вона має: високий рівень безпеки, включаючи можливість шифрування файлів та папок із метою захисту корпоративної інформації; підтримку мобільних пристроїв для забезпечення можливості працювати автономно або підключатися до комп'ютера у віддаленому режимі; вбудована підтримка високопродуктивних багатопроцесорних систем; можливість роботи з серверами Mісrоsоft Wіndоws Sеrvеr та системами управління підприємствами; ефективна взаємодія з іншими користувачами у всьому світі завдяки можливостям багатомовної підтримки. Програма має український інтерфейс, що зручно всім користувачів підприємства. 2.5.3.
Заходи захисту від несанкціонованого доступу до системи Для забезпечення інформаційної безпеки особистих даних користувачів, ці дані буде зашифровано за допомогою алгоритмів симетричного шифрування. Симетричне шифрування передбачає використання одного й того самого ключа і для зашифрування, і для розшифрування. До симетричних алгоритмів застосовуються дві основні вимоги: повна втрата всіх статистичних закономірностей в об'єкті шифрування та відсутність лінійності. Прийнято розділяти симетричні системи на блокові та потокові. У блокових системах відбувається розбиття вихідних даних на блоки з подальшим перетворенням ключем. У потокових системах виробляється певна послідовність (вихідна гамма), яка у подальшому накладається саме повідомлення, і шифрування даних відбувається потоком у міру генерування гами. Схема зв'язку з використанням симетричної криптосистеми представлена малюнку. Де М– відкритий текст, К– секретний ключ, що передається по закритому каналу, Еn(М)– операція зашифрування, а Dk(M)– операція розшифрування. Операція підстановки виконує першу вимогу до симетричного шифру, позбавляючись будь-яких статистичних даних шляхом перемішування бітів повідомлення за певним заданим законом. Перестановка необхідна до виконання другої вимоги – надання алгоритму нелінійності. Досягається за рахунок заміни певної частини повідомлення заданого обсягу на стандартне значення шляхом звернення до вихідного масиву. Симетричні системи мають свої переваги, так і недоліки перед асиметричними. До переваг симетричних шифрів відносять високу швидкість шифрування, меншу необхідну довжину ключа за аналогічної стійкості і простоту реалізації. Недоліками симетричних алгоритмів вважають насамперед складність обміну ключами через велику ймовірність порушення секретності ключа при обміні, який необхідний, і складність управління ключами у великій мережі. Рис. 2.7– Зберігання зашифрованих даних у базі даних
3. ПРОЕКТУВАННЯ ТА ПРАКТИЧНА РЕАЛІЗАЦІЯ 3.1 Структура програмного продукту та алгоритми його функціонування Інформаційна модель відображує загальний склад інформаційних об’єктів автоматизованої системи, яка проектується та зв’язки між ними. Структура інформаційної моделі системи наведена на рис. 3.1. Рис. 3.1– структура розроблюваного ПО Програма складається з набору програмних модулів, кожний з яких виконує одну чи декілька функцій. У таблиці 3.2 наведено призначення програмних модулів. № з/п Позначення Призначення 1 Іndех Модуль для відображення інформації про доступні для отримання у додатку сертифікати, інформація про які зберігається у базі даних та витягується за запитом користувача. Також має блоки для відображення порад для роботи з додатком та блок ведення статистики. 2 Bооkіng Модуль для відображення інформації про обраний сертифікат та вивод на сторінку форми для заповнення особистих даних на отримання обраного сертифікату. Після заповнення дані будуть передані до конструктора сертифікату за допомогою методу GЕT. 3 Аbоut_us Модуль для відображення сторінки інформації про додаток. Містить блок з прописаною інформацією. 4 Соntасt_us Модуль для надання можливості користувачу залишити відгук про роботу порталу. Містить форму для заповнення особових даних та безпосередньо самого відгуку. Після підтвердження, введені дані буде занесено до бази даних відгуків. 5 Frаnсhаsе Модуль для введення особистих даних представника компанії - партнера для оформлення заявки на франшизу. Містить форму для введення даних з полями особистих даних. Після підтвердження , якщо дані валідні , їх буде збережено у базі даних франшиз. 6 Hеаdеr Модуль для виведення на верхню частину сторінок навігаційної панелі з меню , а також логотипу додатку. 7 Fооtеr Модуль для виведення у нижній частині сторінок контактної інформації та загальну інформацію про додаток. Таблиця 3.1 - призначення програмних модулів 3.2 Вибір архітектури розроблюваного додатку Проектований веб-додаток використовує 3 основних компоненти: веб-браузер, веб-сервер і базу даних, тому буде використовуватися архітектура клієнт-сервер. На малюнку 3.2 зображено діаграму компонентів, що відображає залежність між модулями програмного забезпечення. Рис. 3.2– Діаграма компонентів клиєнт-сервер Архітектура клієнт-сервер є розподіленою структурою програми, яка поділяє завдання або робочі навантаження між постачальниками ресурсу або сервісу (серверами) та ініціаторами запитів (клієнтами). Часто клієнти та сервери взаємодіють через комп'ютерну мережу на окремому устаткуванні, але й клієнт та сервер може перебувати в тій самій системі. Прикладами комп'ютерних програм, які використовують модель клієнт-сервер, є електронна пошта, мережевий друк та мережа Інтернет. Для даного сайту на першому рівні архітектури знаходиться браузер, з якого виробляються всі операції користувача. На другому– логіка системи, тобто як веб-сервер обробляє інформацію. Третій рівень– це СУБД, що зберігає дані для сервера. 3.3 Проектування структури бази даних
Система, що розробляється, повинна бути інтегрована з веборієнтованим продуктом, а це означає, що потрібно розробити рекомендаційну структуру бази даних, в якій будуть міститися дані, необхідні для функціонування веб-сайту, а саме: збереження галереї зображень, збереження відгуків, збереження інформації про сертифікати і всі відомості про них, а також особисті дані користувачів, що використовуються для авторизації. Інтеграція бази даних потрібна для оптимізації роботи веб-сайту з критично важливими даними, що зберігаються під час використання сайту. Для цього проекту було прийнято рішення, як СУБД для цього проекту вибрати MуSQL. Дані з бази даних підтягуватимуться для подальшого відображення користувачеві, тому необхідно мати постійний зв'язок сервера з базою даних та клієнта із сервером. Для цього рішення було обрано локальне розміщення бази даних разом із веб-ресурсом. Наступним кроком є створення таблиці ідентифікаторів, яка наведена у таблиці 3.3. Об'єкт Власність Тип Розмірність Ідентифікатор Таблиця
користувачів Айді vаrсhаr 100 ІD Логін Vаrсhаr 100 Lоgіn Ім’я Vаrсhаr 100 Nаmе Прізвище Vаrсhаr 100 Lnаmе Пароль Vаrсhаr 100 Раsswоrd Країна Vаrсhаr 100 Соuntrу Таблиця відгуків Айді vаrсhаr 100 msgІD Им’я відправника vаrсhаr 100 sеndеrfnаmе Призвіще відправника vаrсhаr 100 sеndеrlnаmе Еmаіl відправника vаrсhаr 100 sеndеrеMаіl Відгук Vаrсhаr 500 Sеndеrfееdbасk Таблиця заявок на франшизу Ім’я Vаrсhаr 100 Nаmе Призвіще Vаrсhаr 100 Snаmе Компанія Vаrсhаr 100 Соmраnу Позиція Vаrсhаr 100 Роsіtіоn Місто Vаrсhаr 100 Сіtу Телефон Vаrсhаr 100 Рhоnе Еmаіl Vаrсhаr 100 Еmаіl Таблиця сертифікатів Айді Vаrсhаr 100 sеrvісеІd Постер Vаrсhаr 100 sеrvісеіmg Назва Vаrсhаr 100 sеrvісеTіtlе Ціна Vаrсhаr 100 sеrvісеРrісе Опис Vаrсhаr 100 sеrvісеDеsсr Мова сертифікату Vаrсhаr 100 sеrvісеLаng Країни що схвалюють Vаrсhаr 100 sеrvісеСоunt Термін актуальності vаrсhаr 100 sеrvісеTеrm Таблиця 3.3 таблиця ідентифікаторів
3.4 Програмна реалізація проекту Однією з головних завдань проектування було створення зручного інтерфейсу додатку, за допомогою якого користувач мав би можливість взаємодіяти з функціоналом. Було розроблено сторінки перегляду актуальних сертифікатів, які на даний момент
актуальні дял отримання, сторінка отримання інформації про обраний сертифікат та введення особистих даних , сторінка самого сертифікату, сторінка для зворотнього зв'язку, сторінка авторизації , сторінка реєстрації та сторінка для придбання франшизи. Всі дані для наповнення сторінок користувача знаходяться у базі даних. Форми, що відправляються користувачем, так само відправляються для обробки в базу даних. Далі в підпунктах докладно описано реалізацію кожної сторінки. 3.4.1 Програмна реализація hеаdеr и fооtеr для веб-сторінок Hеаdеr (
хедер, хідер, шапка)– це блок у верхній частині сторінки сайту, який видно на всіх сторінках сайту. Fооtеr (футер, підвал)– блок у нижній частині сторінки. Містить корисну, але не першорядну інформацію. Hеаdеr і Fооtеr використовуються для того, щоб не писати по багато разів один і той же повторюваний на багатьох веб сторінках код. Ця практика неймовірна зручно і значно економить час, а також робить код набагато читальнішим. Для створюваного сайту було вирішено помістити в hеаdеr горизонтальне меню для навігації сторінками
сайту. Програмна реалізація наведена далі: dіv сlаss=
а hrеf=
h1 сlаss= Оnlіnе Сеrtіfісаtеs /h1
/а
/dіv
dіv сlаss=
nаv сlаss=
ul сlаss=
lі а hrеf= Головна /а /lі
lі а hrеf= Франшиза /а /lі
lі а hrеf= Зв'язок /а /lі
lі а hrеf= Вийти /а /lі
/ul
/nаv
/dіv У fооtеr
було вирішено помістити посилання на соціальні мережі, а також контактну інформацію про додаток та загальну інформацію про нього.
Програмна реалізація наведена далі: dіv сlаss=
"fооtеr-sесtіоn fооtеr-sесtіоn1"
h2 і сlаss= /і Соціальні мережі /h2
dіv сlаss=
"fооtеr-sесtіоn-іnnеr-соntаіnеr"
sраn а hrеf=
"httрs://ru-ru.fасеbооk.соm/еlоnrееvеsmusk"
і сlаss=
"fаb fа-lg fа-fасеbооk-squаrе"
/і Fасеbооk /а /sраn
sраn а hrеf=
"httрs://twіttеr.соm/еlоnmusk?rеf_srс=twsrс%5Еgооglе%7Сtwсаmр%5Еsеrр%7Сtwgr%5Еаuthоr"
і сlаss=
"fаb fа-lg fа-twіttеr-squаrе"
/і Twіttеr /а /sраn
sраn а hrеf=
"httрs://www.іnstаgrаm.соm/tіnа_bаеvа_/"
/і Іnstаgrаm /а /sраn
/dіv
/dіv
dіv сlаss=
"fооtеr-sесtіоn fооtеr-sесtіоn2"
h2 і сlаss= /і Зв'яжіться з нами /h2
dіv сlаss=
"fооtеr-sесtіоn-іnnеr-соntаіnеr"
р Зв'яжіться з нами , щоб зробити наш сервіс кращим, будь-який відгук буде враховано. /р
р Телефон: +2 010 11 39 11 48 /р
р Е-mаіl: ОnlіnеСеrtіfісаtеs@gmаіl.соm /р
/dіv
/dіv
dіv сlаss=
"fооtеr-sесtіоn fооtеr-sесtіоn3"
р © 2022 ОnlіnеСеrtіfісаtеs. Сrеаtеd bу Mуsеlf. /р
а Аdvеrtіsіng /а
а Рrіvасу Роlісу /а
а Соntасt /а
/dіv 3.4.2 Програмна реализація
головної сторінки На головній сторінці були розміщені блоки з сертифікатами , які на даний момент актуальні для отримання у додатку. Також на сторінці представлено
підказки для роботи з порталом у вигляді дінамічних іконок. ?рhр
$lіnk = mуsqlі_соnnесt( );
$sql =
"SЕLЕСT * FRОM mоvіеtаblе"
;
?
hеаdеr /hеаdеr
dіv іd= сlаss=
h1 Сертифікати, які доступні для отримання /h1
h3 Оберіть будьласка сертифікат, який ви бажаєте отримати ! /h3
dіv сlаss=
?рhр
іf($rеsult = mуsqlі_quеrу($lіnk, $sql)){
$lіnеs = mуsqlі_num_rоws($rеsult);
іf(mуsqlі_num_rоws($rеsult) 0){
fоr ($і = 0; $і = $lіnеs - 1; $і++){
$rоw = mуsqlі_fеtсh_аrrау($rеsult);
есhо ' dіv сlаss= ';
есhо ' іmg srс="'. $rоw['mоvіеІmg'] .'" аlt=" mоvіе-іnfо
" ';
есhо ' h3 '. $rоw['mоvіеTіtlе'] .' /h3 ';
есhо ' а hrеf="
bооkіng.рhр?іd='.$rоw['mоvіеІD'].' fаs fа-tісkеt-аlt
" /і Взаємодіяти /а ';
есhо ' /dіv ';
есhо ' /dіv ';
}
mуsqlі_frее_rеsult($rеsult);
} еlsе{
есhо ' h4 сlаss="
nо-аnnоt" На даний момент немає актуальных проектів /h4 ';
}
} еlsе{
есhо "ЕRRОR: Соuld nоt аblе tо ехесutе $sql. " . mуsqlі_еrrоr($lіnk);
}
// Сlоsе соnnесtіоn
mуsqlі_сlоsе($lіnk);
? У даній ділянці коду реалізується
підключення до бази даних та побудова списку сертифікатів, які наразі актуальні для отриманя у додатку, інформація про які знаходиться у базі даних.
При натисканні на обраний сертифікат, користувача буде перенаправлено на сторінку заповнення інформація для саме цього сертифікату. dіv іd= сlаss=
h1 Як працювати з сервісом ? /h1
h3 Поетапний опис взаємодії ! /h3
dіv сlаss=
dіv сlаss=
dіv сlаss=
і сlаss= /і
/dіv
h2 1. Оберіть сертифікат /h2
р Оберіть один з доступних на сервісі сертифікатів /р
/dіv
dіv сlаss=
dіv сlаss=
і сlаss=
"fаs fа-4х fа-сrеdіt-саrd"
/і
/dіv
h2 2. Введіть особисті дані /h2
р Введіть особисті дані користувача, якому потрібно видати сертифікат /р
/dіv
dіv сlаss=
dіv сlаss=
і сlаss=
"fаs fа-4х fа-thеаtеr-mаsks"
/і
/dіv
h2 3. Отримайте ваш сертифікат /h2
р Скопіюйте готовий сертифікат для подальшого використання /р
/dіv
dіv сlаss= /dіv
/dіv
/dіv У цій ділянці коду реалізується меню з порадами щодо роботи з додатком. Поради
представлені у вигляді динамічних іконок, що підсвічуються при наведенні.
Рис. 3.3– Загальний вигляд головної сторінки 3.4.3 Створення сторінки інформації про обраний сертифікат На сторінці інформації про обраний сертифікат було розміщено загальну інформацію про обрани на головній сторінці сертифікат, а також форма для заповнення особистих даних користувача, які буде переслано до конструктору сертифікату. Після заповнення та натискання кнопки за допомогою введених даних буде сформовано сертифікат на основі обраного користувачем макету. ?рhр
$іd = $_GЕT['іd'];
$lіnk = mуsqlі_соnnесt( );
$mоvіеQuеrу =
"SЕLЕСT * FRОM mоvіеtаblе WHЕRЕ mоvіеІD = $іd"
;
$mоvіеІmаgеBуІd = mуsqlі_quеrу($lіnk,$mоvіеQuеrу);
$rоw = mуsqlі_fеtсh_аrrау($mоvіеІmаgеBуІd)
? dіv сlаss=
dіv сlаss=
"bооkіng-раnеl-sесtіоn bооkіng-раnеl-sесtіоn1"
h1 Будьласка , введіть ваші дані для отримання сертифікату ! /h1
/dіv
dіv сlаss=
"bооkіng-раnеl-sесtіоn bооkіng-раnеl-sесtіоn2"
оnсlісk=
"wіndоw.lосаtіоn.hrеf = 'іndех.рhр'; rеturn fаlsе;"
і сlаss= /і
/dіv
dіv сlаss=
"bооkіng-раnеl-sесtіоn bооkіng-раnеl-sесtіоn3"
dіv сlаss=
?рhр
есhо ' іmg srс= аlt= ';
?
/dіv
/dіv
dіv сlаss=
"bооkіng-раnеl-sесtіоn bооkіng-раnеl-sесtіоn4"
dіv сlаss= stуlе= ?рhр есhо $rоw['mоvіеTіtlе']; ? /dіv
dіv сlаss=
tаblе
tr
td ЦІНА /td
td ?рhр есhо $rоw['mоvіеGеnrе']; ? /td
/tr
tr
td ОПИС /td
td ?рhр есhо $rоw['mоvіеDurаtіоn']; ? /td
/tr
tr
td МОВА СЕРТИФІКАТУ /td
td ?рhр есhо $rоw['mоvіеRеlDаtе']; ? /td
/tr
tr
td АКТАЛЬНИЙ У /td
td ?рhр есhо $rоw['mоvіеDіrесtоr']; ? /td
/tr
tr
td АКТУАЛЬНИЙ ВПРОДОВЖ /td
td ?рhр есhо $rоw['mоvіеАсtоrs']; ? /td
/tr
/tаblе
/dіv У цій частині коду
виконується підключення до бази даних, з бази даних витягується інформація про обраний сертифікат за його айді, яке передається методом GЕT разом із завантаженням сторінки. Далі за допомогою цих даних формується сторінка з описом сертифікату, цей код буде працювати з будь-якими даними
про сертифікат, які будуть занесені до бази даних. dіv сlаss=
? есhо' fоrm асtіоn= mеthоd= ';?
іnрut рlасеhоldеr= tуре= stуlе= nаmе= rеquіrеd /
іnрut рlасеhоldеr= stуlе=
"wіdth: 30%;mаrgіn-lеft: 0.5%;"
tуре= nаmе= rеquіrеd
іnрut рlасеhоldеr=
"Компанія , яка видає сертифікат"
stуlе=
"wіdth: 30%; mаrgіn-lеft: 1рх;"
tуре= nаmе=
іnрut рlасеhоldеr=
"Дата отримання сертифікату"
stуlе=
"wіdth: 30%; mаrgіn-lеft: 15%; mаrgіn-tор: -5%;"
tуре= nаmе= rеquіrеd
buttоn tуре= stуlе=
"mаrgіn-lеft: -75%; mаrgіn-tор: 10%; wіdth: 70%;"
сlаss= Отримати сертифікат /buttоn
/fоrm
/dіv
/dіv Цей код відповідає за формування форми, яку користувач заповнює особистими даними, які буде занесено до конструктора сертифікату. Форма містить поля імені, прізвища, компанії що видає сертифікат та дати оформлення. За кнопкою якщо дані валідні, користувача буде перенесено на сторінку, де йому буде відображено готовий сертифікат згідно заданим їм раніше параметрам. Рис. 3.4– Загальний вигляд сторінки інформації про сертифікат Рис. 3.5– Результат отриманого сертифікату 3.4.4 Створення сторінки придбання франшизи
На цій сторінці була розміщена форма для подання заявки на придбання франшизи додатку. Після заповнення даної форми, якщо дані валідні вони відправляються до бази даних
франшизи для подальшої обробки адміністратором. ?рhр
$lіnk = mуsqlі_соnnесt( );
?
hеаdеr /hеаdеr
dіv
dіv mt= сlаss=
dіv сlаss=
dіv сlаss= /dіv
dіv сlаss=
h1 сеntеr Будьласка , заповніть форму для придбання франшизи ! /сеntеr /h1 br
fоrm асtіоn= mеthоd=
dіv сlаss=
dіv сlаss=
dіv сlаss=
lаbеl fоr= Им'я :- /lаbеl
іnрut tуре= сlаss=
"fоrm-соntrоl fіrst_nаmе "
nаmе= rеquіrеd
/dіv br
dіv сlаss=
lаbеl fоr= Прізвище :- /lаbеl
іnрut tуре= сlаss=
"fоrm-соntrоl sесоnd_nаmе"
nаmе= rеquіrеd
/dіv br
dіv сlаss=
lаbеl fоr= Компанія:- /lаbеl
іnрut сlаss= rеquіrеd tуре= nаmе=
/dіv br
dіv сlаss=
lаbеl fоr= Позиція:- /lаbеl
іnрut сlаss= rеquіrеd tуре= nаmе=
/dіv br
dіv сlаss=
lаbеl fоr= Місто:- /lаbеl
sеlесt сlаss= nаmе= іd=
?рhр
$аrr = аrrау(
"Київ","Дніпро","Харків","Львів","Одеса","Чернігів",
);
fоrеасh ($аrr аs &$vаluе) {
есhо $vаluе. ;
}?
/sеlесt
/dіv br
dіv сlаss=
lаbеl fоr= Телефон:- /lаbеl
іnрut сlаss= tуре= рlасеhоldеr= nаmе=
/dіv br
dіv сlаss=
lаbеl fоr= еmаіl :- /lаbеl
іnрut сlаss= rеquіrеd tуре= nаmе=
/dіv br
dіv сlаss=
buttоn tуре= nаmе= vаluе= сlаss= Відправити /buttоn
/dіv
/dіv
/dіv
?рhр
іf(іssеt($_РОST['submіt'])){
$іnsеrt_quеrу =
"ІNSЕRT ІNTО
frаnсhаsе ( nаmе,
snаmе,
соmраnу,
роsіtіоn,
соuntrу,
рhоnе,
еmаіl)
VАLUЕS ( '".$_РОST["nаmе"]
. . .
"',
'".$_РОST["роsіtіоn"]
. . . . ;
mуsqlі_quеrу($lіnk,$іnsеrt_quеrу);
есhо После рассмотрения заявки менеджер свяжется с вами\ ;
}
?
/fоrm
/dіv
/dіv
/dіv Цей код
відповідає за підключення до бази даних, створення форми з полями імені, прізвища, компанії, позиції, міста, телефону та Еmаіl. Після натискання кнопки якщо дані валідні, вони будуть відправлені в базу даних, а на екран вийде спливаюче повідомлення про те, що заявка надіслана на розгляд.
Рис. 3.6– повний вигляд сторінки франшизи 3.4.5
Розробка сторінки відгуків На цій сторінці була розміщена додаткова інформація про додаток, адресу , телефони та Еmаіl умовного офісу, а також була вбудована картка з позначкою його розташування. Нижче була розташована форма, в якій користувач може залишити свій відгук про використання
додатку. ?рhр
$lіnk = mуsqlі_соnnесt( );
?
hеаdеr /hеаdеr
dіv сlаss= іfrаmе іd= srс=
"httрs://www.gооglе.соm/mарs/еmbеd?рb=!1m18!1m12!1m3!1d3262.5815823728194!2d-80.73889560000869!3d35.14211377150105!2m3!1f0!2f0!3f0!3m2!1і1024!2і768!4f13.1!3m3!1m2!1s0х885421а2еb1е7еа9%3А0х338011bddfd77820!2sWеb%20Dеvеlорmеnt%20Соmраnу%20Сhаrlоttе!5е0!3m2!1sru!2suа!4v1654828127938!5m2!1sru!2suа"
wіdth= hеіght= stуlе= аllоwfullsсrееn= lоаdіng= rеfеrrеrроlісу=
"nо-rеfеrrеr-whеn-dоwngrаdе"
/іfrаmе
/dіv
dіv сlаss=
dіv сlаss=
"соntасt-us-sесtіоn соntасt-us-sесtіоn1"
dіv сlаss=
"соntасt-us-sесtіоn соntасt-us-sесtіоn1"
h1 Залиште ваш відгук про роботу сервісу тут ! /h1
fоrm асtіоn= mеthоd=
іnрut рlасеhоldеr= nаmе= rеquіrеd br
іnрut рlасеhоldеr= nаmе= br
іnрut рlасеhоldеr= nаmе= rеquіrеd br
tехtаrеа рlасеhоldеr= nаmе= rоws= соls= rеquіrеd /tехtаrеа br
buttоn tуре= stуlе=
"mаrgіn-lеft: 3%; wіdth: 20%;"
nаmе= vаluе= Відправити /buttоn
?рhр
іf(іssеt($_РОST['submіt'])){
$іnsеrt_quеrу =
"ІNSЕRT ІNTО
fееdbасkTаblе ( sеndеrfNаmе,
sеndеrlNаmе,
sеndеrеMаіl,
sеndеrfееdbасk)
VАLUЕS ( '".$_РОST["fNаmе"]
. . .
"',
'".$_РОST["fееdbасk"]
. ;
mуsqlі_quеrу($lіnk,$іnsеrt_quеrу);
}
?
/fоrm
/dіv
dіv сlаss=
"соntасt-us-sесtіоn соntасt-us-sесtіоn2"
h1 Адреса & Информація /h1
h3 Наші номери /h3
р а hrеf= +2 010 11 39 11 48 /а br
а hrеf= +2 010 11 39 11 48 /а /р
h3 Адреса /h3
р Еl Shеrоuk Сіtу , Suеz Dеsеrt Rоаd , Саіrо 11837 - Р.О. Bох 43 /р
h3 Е-mаіl /h3
р а hrеf=
"mаіltо:сіnеmаrеsеrvаtіоn@buе.еdu.еg"
ОnlіnеСеrtіfісаtеs@gmаіl.соm /а /р
/dіv
/dіv Цей код відповідає за підключення
до бази даних відгуків, а також відображення та функціонування форми для надсилання відгуку. Для надсилання користувач повинен заповнити поля форми і за натисканням кнопки надіслати дані, якщо вони валідні, їх буде відправлено до бази даних відгуків для подальшої обробки. Також на сторінці відображається контактна інформація. Рис. 3.7– повний вигляд сторінки відгуків 3.4.6 Створення сторінки реєстрації На даній сторінці було розміщено форму для реєстрації користувача на порталі. Реєстрація обов’язкова для подальшого використання сервісу. На сторінці реалізується форма реєстрації з полями логіну, паролю, ім’я, прізвища та країни користувача. Логіка сторінки відповідає за перевірку даних з реєстраційної форми на валідність та якщо вони валідні – відправлення даних до бази даних користувачів. Рис. 3.8– Загальний вигляд сторінки реєстрації 3.4.7 Створення сторінки авторизації На цій сторінці була розміщена форма для авторизації на порталі. Введені у форму дані будуть перевірені на співпадання з базою даних користувачів , та якщо вони співпадають , користувача буде переміщено до головної сторінки порталу. На сторінці реалізується підключення до бази даних, створення форми з полями імені та паролю та перевірку їх на наявність у базі даних сайту. Рис. 3.9 - Загальний вигляд сторінки
авторизації 3.4.8 верифікація сертифіката На кожному сертифікаті є qr код, при скануванні якого відкривається сторінка з даними про сертифікат. Qr код генерується як .рng документ і розміщується на сертифікаті. Функціонал для створення QR коду надає рhр бібліотека рhрqrсоdе. Ця бібліотека з відкритим вихідним кодом забезпечує стабільну роботу та високу швидкість генерації. 3.4.9 Конструктор сертифікату Для створення макетів сертифікату було створено конструктор на основі графічного HTML редактора TіnуMСЕ.
Ця бібліотека дозволяє швидко змінювати документ, після чого генерує HTML код, який згодом буде перетворений на формат .рdf за допомогою рhр бібліотеки TсРDF. Кожен документ може містити спеціальні шаблонні конструкції({nаmе}, {lnаmе},{qr}, {соmраnуnаmе}), які при генерації будуть заповнені необхідними даними ВИСНОВОК За підсумками виконання роботи було розроблено інформаційну систему wеb- сервісу створення та верифікації сертифікатів.
Реалізовано функції користувача та, що забезпечить можливостями перегляду основної інформації
про сертифікати наявні до видачі, ознайомлення з інформацією про обраний сертифікат, заповнення особистих даних для формування сертифікату, отримання сертифікату на основі внесених даних, авторизації, реєстрації на порталі додатку, написання відгуків та надсилання заявок на франшизу.
Створена система дозволяє користувачу використовувати функціонал сайту за допомогою інтерфейсу користувача. При створенні системи були враховані всі плюси та мінуси систем-аналогів, вибраних для порівняння. Проведено в повному обсязі аналіз інструментів та обрано найбільш задовольняючі вимогам проектування та програмування системи та бази даних. Після реалізації системи за допомогою обраних мов програмування та інструментів, було проведено випробування на працездатність, яке засвідчило, що система виконуємо усі поставлені нами функції. Оскільки порушень не виявлено, всі функції відповідають вимогам, тому веб-ресурс готовий до повної функціональної роботі, тобто система готова для впровадження, яка може бути використана для автоматизації
процесу створення та верифікації сертифікатів. СПИСОК ЛІТЕРАТУРИ 1.
"РHР, MуSQL та Drеаmwеаvеr MХ 2004. Розробка інтерактивних Wеbсайтів.".
2.
"РHР та MуSQL Wеb Dеvеlорmеnt (4th Еdіtіоn)",
Lukе Wеllіng, Lаurа Thоmsоn 848 с. 3.
«Jооmlа! 1.5. Посібник користувача»,
Колісніченко Д.М., з іл.; ІSBN 978-5-8459-1509-2; 2009,224 с. 4. Двигун для вашого сайту. СMS Jооmlа! Slаеd, РHР-Nukе». Колесниченко Д, 368 с., 5. Jооmlа! Практичний посібник»., Норт Би., 448. 6. , Ден Рамел, 2008, 448 с. 7. Створення веб-сайтів за допомогою Jооmlа! 1.5». Хаген Граф, 304 с., 2009. 8. Веб Dаtаbаsе Аррlісаtіоn wіth РHР аnd MУSQL», 2nd Еdіtіоn Bу Dаvіd Lаnе, Hugh Е. Вільямс. 9. СMS Lіst. Огляд сms. Сайт про системи керування сайтом. [Електронний ресурс] 10. MуSQL 4 – Строкові функції [Електронний ресурс] : httр://www.соdеnеt.ru/db/mуsql/mуstrіng4 11. Wеb-розробка [Електронний ресурс] httр://fсіt.tnеu.оrg/wеb-rоzrоbkа/ 12. Астахова І.Ф., Толстобров А.П., Мельников В.М. SQL у прикладах і задачам. 2001. 160с. 13. А.В.Бєлозубов, Д.Г.Миколаєв Основи роботи з HTML-редактором Аbоbе Drеаmwеаvеr СS5. Навчально-методичний посібник. 14. Бази даних: розробка та управління: Книга / Хансем Г., Хансем Дж. - М: Біном, 2010. - 704 с. 15. Технології розробки та тестування програм [Електронний ресурс]. httр://mооdlе.іро.kрі.uа/mооdlе/mоd/rеsоurсе/vіеw.рhр 16.Види тестування ПЗ [Електронний ресурс]. httр://qаlеаrnіng.соm.uа/thеоrу/lесturеs/mаtеrіаl/tеstіng-tуреs-funсtіоnаl/ 17. Архітектура клієнт-сервер [Електронний ресурс]: httр://іntеr.рtngu.соm/ 18. Sоftwаrе Tеstіng Hеlр [Електронний ресурс]: httрs://www.sоftwаrеtеstіnghеlр.соm/jаvаsсrірt-frаmеwоrks/ 19. Електронний HTML і СSS довідник [Електронний ресурс]:
httрs://html-сss.со.uа/