Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Розробка сучасних

Розробка сучасних




Сторінка1/23
Дата конвертації11.05.2017
Розмір1 Mb.
  1   2   3   4   5   6   7   8   9   ...   23


Вінницький національний технічний університет

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

Кафедра автоматики та інформаційно-вимірювальної техніки


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

до магістерської кваліфікаційної роботи

магістр


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

на тему: Розробка сучасних REST API в умовах конфіденційності

Виконав: студент 2 курсу, групи 1КСУА-15м

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



8.
Автома́тика (грец. αύτόματος - самодіючий) - галузь науки і техніки, яка розробляє технічні засоби і методи для здійснення технологічних процесів без безпосередньої участі людини.
Конфіденційність (англ. confidentiality, privacy) - властивість не підлягати розголосові; довірливість, секретність, суто приватність.
Магі́стр - освітній ступінь, що здобувається на другому рівні вищої освіти та присуджується вищим навчальним закладом у результаті успішного виконання здобувачем вищої освіти відповідної освітньої програми.
Студе́нт (лат. studens, родовий відмінок studentis - «ретельно працюючий», «такий, що займається») - учень вищого, у деяких країнах і середнього навчального закладу.
05020101 – «Комп’ютеризовані системи

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



управління та автоматика»

Мошул К.В.

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

Керівник: к.т.н., доц. каф. АІВТ

Коцюбинський В.Ю

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

"______" ____________________ 2016 р.

Рецензент: к.т.н., доц. каф.



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

"______" ____________________ 2016р.

В

інниця ВНТУ 2016

В


інницький національний технічний університет

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

Кафедра автоматики та інформаційно-вимірювальної техніки
Освітньо-кваліфікаційний рівень: магістр

Спеціальність: 8.

Система керування, також Система управління (англ. control system) - систематизований набір засобів впливу на підконтрольний об'єкт для досягнення цим об'єктом певної мети. Об'єктом системи керування можуть бути як технічні об'єкти так і люди.
05020101 – «Комп’ютеризовані системи управління та автоматика»


ЗАТВЕРДЖУЮ

Завідувач кафедри АІВТ



д.т.н., проф. Квєтний Р.Н.

______________________________

“___” ___________________2016 р.
З А В Д А Н Н Я

НА МАГІСТЕРСЬКУ КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ

Мошулу Костянтину В’ячеславовичу

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

1. Тема роботи: Розробка сучасних REST API в умовах конфіденційності

керівник роботи к.т.н., доц. каф. Коцюбинський В.Ю. ,

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

затверджені наказом ВНТУ від «___» __________ 2016 року №_____.

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


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

3. Вихідні дані до роботи: набір Rest API запитів та їх формальних параметрів.

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

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



споле 68

хема взаємодії модулів системи, схема роботи системи, діаграма класів, діаграма варіантів використання, схема архітектури системи, клієнтська схема MVC

6.

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

Розділ

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

консультанта



Підпис, дата

Завдання

видав


завдання прийняв

Спеціальна частина










Економічна частина









7. Дата видачі завдання «____» ____________ 20__ р.


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

з/п


Назва етапів магістерської кваліфікаційної роботи

Строк виконання

етапів


Примітка

1







Розділ 1

2







Розділ 2

3







Розділ 3

4







Розділ 4

5







Розділ 5

6







Розділ 6

7







Розділ 7

8







Акт впровадження

9

Оформлення пояснювальної записки, графічного матеріалу і/або презентації




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

Студент ____________ Мошул К.В.



( підпис ) (прізвище та ініціали)
Керівник магістерської кваліфікаційної роботи ________ Коцюбинський В.Ю.

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

ЗМІСТ


ВСТУП 8

1 АНАЛІЗ СУЧАСНОГО СТАНУ ПИТАННЯ ТА ОБГРУНТУВАННЯ ТЕХНІЧНОГО ЗАВДАННЯ НА РОБОТУ 11

1.

Техні́чне завдання́ (ТЗ) (англ. scope statements та англ. statement of work; SOW) - документ, що встановлює основне призначення, показники якості, техніко- економічні та спеціальні вимоги до виробу, обсягу, стадії розроблення та складу конструкторської документації.
1 Суть технічної проблеми 11

1.1.1Обгрунтування необхідності використання API 12

1.2 Існуючі способи вирішення технічної проблеми 15

1.2.1 RESTful API з використанням Dart 16

1.2.2 Rest Api на основі Phalcon 19

1.2.3 REST API на Ruby з використанням ActiveRecord 19

1.3 Визначення напрямку і обгрунтування задач досліджень 22

2 РОЗРОБКА АРХІТЕКТУРИ СИСТЕМИ 23

2.1 Оцінка успішності кінцевої архітектури продукту 26

2.2 Якість програмного забезпечення 29

2.

Необхідність - система зв'язків і відносин, що зумовлює зміну, поступальний рух, розвиток у жорстко визначеному напрямку з жорстко визначеними результатами. Іншими словами, необхідність - це такий зв'язок, що обов'язково призводить до певної події.
Озна́чення, ви́значення чи дефіні́ція (від лат. definitio) - роз'яснення чи витлумачення значення (сенсу) терміну чи поняття. Слід зауважити, що означення завжди стосується символів, оскільки тільки символи мають сенс що його покликане роз'яснити означення.
Якість програмного забезпечення - характеристика програмного забезпечення, ступінь відповідності ПЗ до вимог. При цьому вимоги можуть трактуватись по-різному, що породжує декілька незалежних визначень терміну.
3 Розробка архітектури програмного забезпечення 31

3.

Архітектура програмного забезпечення (англ. software architecture) - спосіб структурування програмної або обчислювальної системи, абстракція елементів системи на певній фазі її роботи. Система може складатись з кількох рівнів абстракції, і мати багато фаз роботи, кожна з яких може мати окрему архітектуру.
1 Мова програмування JavaScript 34

3.

Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.
2 JavaScript як серверна мова 36

3.

Се́рвер (англ. server - «служка») - у комп'ютерній термінології термін може стосуватися окремого комп'ютера чи програми. Головною ознакою в обох випадках є здатність машини чи програми переважну кількість часу працювати автономно, без втручання людини, реагуючи на зовнішні події відповідно до встановленого програмного забезпечення.
3 База данних MongoDb 38

3.4 Phalcon framework 38

3.5 Бібліотека Socket.io 40

3.6 Sails.js 40

3.7 Обґрунтування вибору технологій 42

3.8 Висновки до розділу 43

4 ПРОЕКТУВАННЯ ФУНКЦІОНАЛЬНИХ МОДУЛІВ СИСТЕМИ 44

4.1 Перелік функцій системи 44

4.2 Загальна структура системи 45

4.3 Розробка маршрутів системи 49

4.4 Формування унікального ідентифікатору 52

5 РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 57

5.

Програ́мне забезпе́чення (програ́мні за́соби) (ПЗ; англ. software) - сукупність програм системи обробки інформації і програмних документів, необхідних для експлуатації цих програм.
1 Розробка структури системи 57

5.2 Розробка діаграм станів системи 58

5.

Абстрактного автомата граф (діаграма станів, англ. statechart) - орієнтований граф, вершинам якого відповідають стани автомата, а дугам - вхідні сигнали. Якщо вхідний сигнал xi спричиняє перехід автомата зі стану aj в стан ak, то на графі цьому факту відповідає дуга, позначена символом xi, яка з'єднує вершину aj з ak.
3 Проектування бази даних 60

5.3.1 Робота з базою даних 60

5.4 Автентифікація 63

5.5 Безпека cистеми 65

5.5.1 Clickjacking 65

5.5.2 Content Security Policy 66

5.5.3 Cross-Origin Resource Sharing 68

5.5.4 Cross-site request forgery 69

5.5.5 DDOS 70

5.5.6 Socket Hijacking 70

5.5.7 HTTP Strict Transport Security 71

5.6 Тестування системи 72

6 РОЗРОБКА ДОКУМЕНТІВ НА СУПРОВОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 75

6.

Докуме́нт - базова теоретична конструкція, яка відноситься до всього, що може бути збережене або представлене, щоб служити як доказ для певної мети.
Cross-Origin Resource Sharing (CORS) - специфікація технології браузерів, яка описує способи веб-сервісам надавати скриптам, що надходять з домену, який не відповідає політиці одного походження «пісочницю».
Супроводження програмного забезпечення - процес покращення, оптимізації та виправлення дефектів у програмному забезпеченні після його вводу до експлуатації.
1 Інструкція розробнику 75

6.2 Інструкція користувачеві 76

7 ЕКОНОМІЧНИЙ РОЗДІЛ 81

7.1 Технологічний аудит розробленого алгоритмічного та програмного забезпечення для реалізації REST-API сервісу 81

7.2 Розрахунок витрат на розробку алгоритмічного та програмного забезпечення 85

7.

Технологічність (рос. технологичность, англ. adaptability to manufacture, нім. Fertigungsgerechtheit f) - відповідність продукції вимогам економічної технології її використання. Технологічність забезпечується при розробці конструкції виробу.
Інструкція - правовий акт, який створюється органами державного управління для встановлення правил, що регулюють організаційні, науково-технічні, технологічні, фінансові та інші спеціальні сторони діяльності та відносин установ, закладів, підприємств, службових осіб.
Обслу́га - у військовій справі - група військовослужбовців, які безпосередньо обслуговують артилерійську систему, кулемет і інші види зброї і техніки; первинна (нижча) організаційна одиниця (підрозділ) у збройних силах багатьох держав.
3 Розрахунок економічного ефекту від можливої реалізації результатів розробки 90

ВИСНОВКИ 97

ЛІТЕРАТУРА 98

ДОДАТКИ 104

Додаток А (обов’язковий).

Результат, пі́дсумок, (заст. ску́ток, вислід) - кінцевий наслідок послідовності дій. Можливі результати містять перевагу, незручність, вигоду, збитки, цінність і перемогу. Результат є етапом діяльності, коли визначено наявність переходу якості в кількість і кількості в якість.
Технічне завдання 105

Додаток Б (обов’язковий) 109

Акт впровадження 109

Додаток В (обов’язковий) 110

Додаток Г (обов’язковий) 111

Додаток Д (обов’язковий) 112

Додаток Е (обов’язковий) 113

Додаток Ж (обов’язковий) 114

  1   2   3   4   5   6   7   8   9   ...   23



  • Пояснювальна записка до магістерської
  • З А В Д А Н Н Я НА МАГІСТЕРСЬКУ КВАЛІФІКАЦІЙНУ РОБОТУ
  • Якість програмного забезпечення
  • РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
  • Cross-Origin Resource Sharing
  • Інструкція