Мета і завдання дослідження

Пояснювальна записка

до кваліфікаційної роботи

 

                                                   магістра                                                  

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

 

на тему: "Розробка фреймворку для автоматизації створення WEB систем"

 

 

Виконав: студент 2 курсу, групи МПЗ-1804

Спеціальності

121 «Інженерія програмного забезпечення»

(шифр і спеціальності)

Освітньої програми

        Інженерія програмного забезпечення

                           Гребенюк І. А.                 

Керівник                              Данченко О. Б.

                                                                                     (прізвище та ініціали)

Рецензент                                   Ткач Л. І.

                                                                                    (прізвище та ініціали)

 

Черкаси 2019 року


 

Черкаський державний технологічний університет

Факультет                           інформаційних технологій і систем                                       

(повна назва)

Кафедра                        програмного забезпечення автоматизованих систем              

(повна назва)

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

(назва)

Напрямок                           121 «Інженерія програмного забезпечення»                    

(шифр і назва)

 

 


ЗАТВЕРДЖУЮ

д. т. н. професор

                   Первунінський С. М.

            2019 року

 

 

ЗАВДАННЯ

НА ВИПУСКНУ МАГІСТЕРСЬКУ РОБОТУ СТУДЕНТУ

                                                  Гребенюк Іван Андрійович _____                          

(прізвище, ім’я, по батькові)

1. Тема проекту (роботи) __Розробка фреймворку для автоматизації створення WEB систем____ _ __________________________________________________________________                ______

Керівник проекту (роботи)         Данченко Олена Борисівна, професор__________           _

(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)

Затверджені наказом Черкаського державного технологічного університету від

«10» жовтня 2019 року №334/01

2. Строк подання студентом проекту (роботи)

3. Вихідні дані до проекту (роботи) Коротка характеристика об’єкта, аналіз аналогів інформаційної структури, програмно-апаратні засоби, нормативно-правові документи         

                                                                                                                                                     

4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити)

Вступ; Постановка задачі; Аналіз методів та методик наукового дослідження; Аналітичний опис власних досліджень. ___________      _                                                                                                                ________________________________________________________________

                                                                                                                                                    

5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів)

Діаграма взаємодії в патерні MVC; Структурна схема HMVC; Умовна головна сторінка фреймворку; Діаграма структури WEB системи; Життєвий цикл запиту; Представлення entry-confirm.php з відображенням даних; Представлення entry.php з подією відправлення пустої форми.                                                                                                                             

                                                                                                                                                               

 

 

6. Консультанти розділів проекту (роботи)

Розділ Прізвище, ініціали та посада консультанта

Підпис, дата

       
       
       
       
       

 

7. Дата видачі завдання травень 2019 року                                                                        

КАЛЕНДАРНИЙ ПЛАН

№ з/п Назва етапів дипломного проекту (роботи) Строк виконання етапів проекту (роботи) Примітка
1 Підготовча стадія Травень Виконано
2 Аналіз поставленої задачі Червень Виконано
3 Підготовка завдання Липень Виконано
4 Погодження завдання Серпень Виконано
5 Затвердження завдання Серпень Виконано
6 Основна стадія Вересень Виконано
7 Підбір матеріалів Вересень Виконано
8 Аналіз шляхів вирішення поставленої задачі Жовтень Виконано
9 Оформлення первісної редакції роботи Жовтень Виконано
10 Заключна стадія Листопад Виконано
11 Оформлення пояснювальної записки до роботи Листопад Виконано
12 Затвердження роботи Грудень Виконано
13 Рецензування роботи Грудень Виконано

 

Студент-дипломник                                                    Гребенюк І. А.                

                                                                    (підпис)                               (прізвище та ініціали)

 

Керівник проекту(роботи)                                           Данченко О. Б.               

                                                                    (підпис)                         (прізвище та ініціали)



АНОТАЦІЯ

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

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

Магістерська випускна робота містить 57 сторінок пояснювальної записки та 21 сторінок додатків.

ANNOTATION

The subject of master's graduation work is the development of a framework for automation creation some WEB systems. The first section provides theoretical information that is necessary to complete the task. Also given are analogues of the system and conclusions are presented. The second section is designed: system architecture, routing, filters, authorization methods, data access methods, methods of working with files. Also listed are properties, components, security methods, views, widgets, resources, pagination of the framework data, and conclusions are presented. The third section presents the research results and presents the conclusions.

The result of the master's graduation work general conclusions were given, a list of literary sources was presented.

The master's graduation work contains 57 pages of explanatory note and 21 pages of additions.

 


ЗМІСТ

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ. 7

ВСТУП.. 8

РОЗДІЛ 1. 11

1.1 Теоретичні відомості 11

1.2 Огляд аналогів. 20

1.2.1 Zend Framework. 20

1.2.2 Symfony. 22

1.2.3 CodeIgniter 23

1.2.4 FuelPHP. 24

Висновки. 25

РОЗДІЛ 2. 27

2.1 Проектування архітектури. 28

2.2 Властивості фреймворку. 30

2.3 Компоненти фреймворку. 32

2.4 Проектування маршрутизації 33

2.5 Безпека даних. 33

2.6 Представлення. 35

2.7 Проектування фільтрів. 38

2.8 Проектування методів авторизації 38

2.9 Віджети. 39

2.10 Ресурси фреймворку. 40

2.11 Об’єкти доступу до даних. 42

2.12 Проектування роботи з файлами. 44

2.13 Посторінковий поділ даних. 45

 

 


Висновки. 45

РОЗДІЛ 3. 46

3.1 Результат досліджень. 46

3.2 Алгоритм авторизації 55

3.3 Алгоритм реєстрації 56

Висновки. 58

ВИСНОВОК.. 59

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

Додаток А.. 65

Додаток Б. 67

Додаток В.. 79

Додаток Г. 82

 

 





ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ

МВР – магістерська випускна робота

MVC – модель-представлення-контролер

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

JS – JavaScript

GUI – графічний користувальницький інтерфейс

HMVC – ієрархічна модель-уявлення-контролер

PAC – презентація-абстракція-контроль

PSR – стандарт рекомендації PHP

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

MIT – Массачусетський технологічний інститут

LTS – довгострокова підтримка

ООП – об’єктно-орієнтоване програмування

БД – база даних

СУБД – система управління базою даних

 



ВСТУП

Актуальність теми

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

Зв'язок роботи з науковими програмами, планами, темами

В 2016 році Бастрикіна В. В. в порівняльному аналізі адаптивних CSS фреймворків навела приклад того, як фреймворки вплинули на розвиток та швидкість розробки WEB систем [12]. Спочатку розмітка WEB сторінки орієнтувалась на розмір комп’ютерного екрану, але з приходом готового рішення такого як CSS Framework, розробники змогли створювати адаптивну реалізацію frontend (читається як «фронтенд») для різних розмірів екранів (телефонів, планшетів) при цьому витрачаючи на даний етап розробки менше часу тим самим збільшивши конверсію користувачів різних WEB сервісів. Так і в backend (читається як «бекенд») частині є можливість прискорити розробку використовуючи такий інструмент як фреймворк з використанням готових рішень.

Мета і завдання дослідження

Метою роботи є створення фреймворку, який спростить реалізацію

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

Об'єкт дослідження

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

Предмет дослідження

Предметом дослідження є фреймворки автоматизації створення WEB систем.

Методи дослідження

Методом дослідження є порівняння та опис існуючих фреймворків, таких як: Zend, FuelPHP, Symfony та CodeIgniter. Метод порівняння дає змогу об’єднати їх найкращі можливості в новому фреймворку.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: