лот. Пояснювальна записка Другий (магістерський) (рівень вищої освіти)
Скачать 4.57 Mb.
|
Рисунок 3.1 – Порівняння процедурного підходу до програмування та об’єктно-орієнтованого Java немає покажчиків, тобто об’єктів, які зберігають адресу з пам’яті іншого значення, що може викликати несанкціонований доступ до пам’яті. Більш того, працювати з Java можна з будь-якого комп’ютера, незалежно від конкретної апаратної інфраструктури. В Java є Security Manager – це створена для кожної програми політика безпеки, в якій можна вказати правила доступу. «Написати один раз і використовувати скрізь» (WORA) – популярна в IT-сфері фраза, за допомогою якої Sun Microsystems описує крос-платформні можливості Java. Можна створити Java-додаток на Windows, скомпілювати його в байт-код і запустити його на будь-який інший платформі, яка підтримує віртуальну машину Java. Таким чином, JVM служить рівнем абстракції між кодом і обладнанням. Всі основні операційні системи, включаючи Windows, Mac OS і Linux, підтримують JVM. Java була створена як мова для розподіленого програмування, тобто вона має вбудований механізм спільного використання даних і програм декількома комп’ютерами, що підвищує продуктивність і ефективність праці. Розробникам Java не потрібно вручну писати код для управління пам’яттю завдяки автоматичному управлінню пам’яттю. Щоб максимально ефективно використовувати час процесора, Java дозволяє запускати потоки одночасно, тобто використовувати багатопоточний підхід. Потоки використовують єдину область пам’яті, тому між ними можна швидко перемикатися. Потоки незалежні один від одного, тому не впливає на роботу інших потоків, що є особливо корисним в іграх і програмах з великим об’ємом анімації. Уже багато років розвитку Java сприяють співтовариство, підтримка Oracle і множини додатків та мов у JVM. Крім того, постійно випускаються нові версії Java з новими цікавими функціями. Мінуси програмування на Java: нещодавно Oracle оголосила, що з 2019 року компанія почне стягувати плату за використання Java Standard Edition 8 в «комерційних цілях»; у будь-якої мови високого рівня досить низька продуктивність через компіляції та абстракції за допомогою віртуальної машини. Однак це не єдина причина низької швидкості Java. Наприклад, додаткове очищення пам’яті, погана настройка кешування, взаємне блокування потоків; для створення графічного інтерфейсу користувача розробники використовують різні інструменти, орієнтовані для конкретної мови. Для Android-додатків є Android Studio, яка допомагає створювати додатки з нативним дизайном, однак, коли справа доходить до призначеного для користувача інтерфейсу на ПК, Java-інструменту для створення нативного дизайну немає. багатослівність коду може здатися перевагою при вивченні мови, однак, довгі, надмірно складні речення ускладнюють читання і перегляд коду [22]. JavaScript – це мова програмування, що є прототипно-орієнтованою. Найчастіше використовується в розробці додатків, у браузерах з метою надання їм інтерактивності. Область застосування цієї мови дивно обширна і нічим не обмежена: серед програм, які використовують JS, присутні і тестові редактори, і додатки (як для комп'ютерів, так і мобільні і навіть серверні), і прикладне програмне забезпечення. За допомогою JavaScript стають доступними наступні функції: можливість змінювати сторінки браузерів у процесі їх використання; додавання або видалення тегів; зміна стилів сторінки; використання інформації про дії користувача на сторінці; запит доступу до випадкової частини вихідного коду сторінки та внесення змін до цього коду; виконання cookie-файлів. До основних переваг можна віднести: простоту використання, тобто з використанням написаних на JavaScript плагінів і скриптів впорається навіть не фахівець. JavaScript має корисні функціональні настройки та мова постійно удосконалюється. Також корисним є те, що взаємодія з додатком може здійснюватися навіть через текстові редактори: Microsoft Office, Open Office, Notepad++ тощо. Недоліки JavaScript: низький рівень безпеки через вільний доступу до вихідного коду скриптів; множина дрібних помилок на кожному етапі роботи, які важко виявити; своєрідним недоліком можна вважати той факт, що частина активно використовуваних програм перестануть існувати при відсутності мови, оскільки цілком базуються на ній [23]. CSS – каскадні таблиці стилів, які використовуються для опису зовнішнього вигляду веб-сторінки, для оформлення веб-сторінок, зазвичай для формату HTML і XHTML, але також можуть застосовуватися і з документами у форматі XML. До основних переваг CSS відносять простоту використання. Каскадна таблиця стилів дозволяє швидко змінити стиль вашого сайту, бо всі CSS стилі зберігаються в окремих документах, які мають формат «імя.css», що дає можливість скористатися одними і тими ж стилями для різних сторінок. Так, як ми відокремлюємо контент від візуального оформлення, це дозволяє нам в кілька разів зменшити розмір HTML-сторінки. Також вам слід відмітити, що після того, як був завантажений сайт, браузер кешує CSS-файл і в подальшому стилі будуть використовуються для всіх інших сторінок, тобто не доведеться завантажувати їх знову і знову. Також до переваг можна віднести додаткові можливості стилізації, тобто за допомогою стилів можна зробити так, щоб один блок тексту, обтікав інший текст, а можна зробити і так, щоб блок сторінки був зафіксованим і залишався на місці при прокручуванні сторінки. До того як на світі не було CSS всі веб-майстри використовували табличний метод верстки так, як ним можна було легко розмітити елемент на сторінці сайту, але даний метод сповільнював завантаження сторінок, код був великим і трохи неправильним. З появою CSS з’явилася можливість верстати дивами (div) і розміщувати будь-який елемент там, де вам завгодно. На жаль у CSS є мажорний недолік: кроссбраузерність (різне відображення в різних браузерах). Дана проблема особливо актуально в застарілих браузерах таких як IE 6.0, Opera 9 [24]. База даних – це спеціально розроблене сховище для різних типів даних. Кожна база даних, має певну модель, яка забезпечує зручний доступ до даних. Системи управління базами даних – спеціальні додатки для управління базами даних різних розмірів і форм. Реляційна система керування базами даних характеризується простотою структури даних, зручним для користувача табличним представленням і можливістю використання формального апарату алгебри відношень і реляційного обчислення для обробки даних. Реляційна модель орієнтована на організацію у вигляді двовимірних таблиць. Кожна реляційна таблиця являє собою двовимірний масив і має такі властивості: кожний елемент таблиці – єдиний унікальний елемент даних; всі елементи в стовпці мають однаковий тип; кожний стовпець має унікальне ім’я; однакові рядки в таблиці відсутні; порядок рядків і стовпців може бути довільним. СУБД повинна мати певну структуру (табличну). У таблицях кожен стовпець може містити дані різного типу. Кожен запис складається з множини атрибутів (стовпців) та має унікальний ключ, що зберігається в тій же таблиці. Відносини в базах даних можна розглядати як математичну множину, що містить в собі число атрибутів, які сумарно становлять собою базу даних і інформацію, що зберігається в ній. При створенні структури таблиці кожне поле запису повинне мати заздалегідь описаний тип. Всі СУБД мають в своєму складі різні типи даних, які не завжди взаємозамінні. При роботі з СУБД завжди доводиться стикатися з подібними обмеженнями. MySQL – це найпоширеніша повноцінна серверна СУБД. MySQL дуже функціональна та успішно працює з різними сайтами і веб додатками. Навчитися використанню цієї СУБД досить просто, так як існує багато інформації. Варто зауважити, що завдяки популярності цієї СУБД, існує величезна кількість різних плагінів і розширень, що полегшують роботу з системою. Незважаючи на те, що в MySQL не реалізований весь SQL функціонал, ця СУБД пропонує досить багато інструментів для розробки додатків. Переваги MySQL: простота в установці та роботі; підтримка більшості функціональних можливостей SQL; велика кількість функцій забезпечують безпеку; легко працює з великими обсягами даних і легко масштабується. Проте в MySQL закладені деякі обмеження функціонала, які іноді необхідні в особливо вимогливих додатках та через існування деяких способів обробки даних MySQL іноді поступається іншим СУБД по надійності. Більшість веб-сайтів і веб-додатків працюють з MySQL незважаючи на перераховані недоліки, завдяки легкості в налаштуванні та масштабованості [25]. 3.2 Вибір середовища розробки Java – одна з тих мов, для яких середовище розробки є не примхою окремих фахівців, а справжнім засобом виживання. Деяким веб-розробникам важко зрозуміти навіщо таке громіздке програмне забезпечення, бо у більшості веб-мов, на зразок HTML / CSS, JavaScript і PHP можна створювати додатки без додаткового ПЗ. Але, як завжди, є противники ідеології, які вважають, що тільки мало підготовленим програмістам необхідні IDE. На жаль, їх позиція може сприяти тому, що вони залишаться позаду еволюції програмування, бо великі корпоративні проекти, як і функціональні веб-додатки, вимагають тісної взаємодії між членами команди, швидкого запуску та налагодження коду. Проте, середовище розробки споживає ресурси пристрою, які потрібні для забезпечення роботи інших інструментів розробника, що особливо помітно при використанні застарілих версій Windows / Linux. Незважаючи на те, що розробники в мережі майже завжди віддають перевагу текстовим редакторам та вважають, що вони легші і дозволяють створювати рішення без особливих засобів, їх погляд змінюється, коли вони починають роботу з Java. Сфера програмування пропонує множину рішень для створення повноцінного коду, особливо це стосується різних середовищ розробки. По-перше, можна відразу визначитися з тим, що для Java-розробника не підійдуть ті, які працюють в онлайні, так як вони будуть створювати проблеми з інтерпретацією. Також, середовище розробки для Java повинне підтримувати ряд технологій, які необхідні для ефективного кодинга, серед них мови віртуальної машини Java, контроль версій. Так як особливістю JVM є перетворення слів мови програмування в байтовий код, необхідні і потужні інтерпретатори. IntelliJ IDEA – це IDE, випущена компанією JetBrains, на основі віртуальної машини Java. Саме середовище написана теж на Java і частково на Python. Розробники зробили вибір не стільки на користь зручності, скільки на продуктивність. Одним з недоліків можна вважати платну ультимативну версію IDEA, хоч і незначна ціна (до 500 $), як для IDE. Хоча у пакеті Ultimate у розробника є можливість працювати з платформою Java EE. Існує також безкоштовна версія IDEA, яку не назвеш урізаним варіантом. Хоча деякі функції відсутні, зате підтримка мов аналогічна комерційної версії. IDEA – це одна з тих середовищ розробки, які можна назвати розумною, бо замість виправлень і підсвічування червоним, якими володіє навіть найпростіший текстовий редактор, IDEA виводить розробнику помилку та пропонує автозаповнення: фрагменти готової програми генеруються під руками розробника. Вже не варто навіть говорити про те, що всі дужки і інші синтаксичні неточності будуть закриті автоматично. Вагомою перевагою є рефакторинг, який відбувається відразу на декількох мовах. Джавісти знають, що код ніколи не буває на чистій Java, особливо, якщо справа стосується веб-розробки. Сюди підключаються мови для використання баз даних, гіпертекстів тощо. Середовище розробки примітне і тим, що постійно розширює число підтримуваних технологій, проте розробники не дуже залежать від цих оновлень. У будь-який момент вони можуть завантажити відповідний плагін. IDE Eclipse – це середовище розробки популярне не тільки серед джавістів, але і серед веб-розробників в цілому. Істотною перевагою в порівнянні з IDEA, однозначно стане те, що Eclipse безкоштовна та дозоляє використовувати Java EE безкоштовно. Істотним недоліком можна вважати установку додаткових плагінів, їх установка в Eclipse становить значне завдання, а плагіни у свою чергу можуть бути не сумісними між собою. Eclipse розрахована на те, що ви зконфігуруєте її під себе, тому перший досвід роботи з IDE може відштовхнути від подальшого використання. NetBeans – середовище розробки, яке є найбільш кросплатформенним. Відразу видно підхід Sun: вони хотіли, щоб їх мова працювала на всіх девайсах. NetBeans були названі офіційним середовищем розробки для Java, хоч вона і не настільки хороша. NetBeans також розумна, як IDEA, здатна на смарт-рефакторинг. З цим завданням система справляється значно краще, ніж Eclipse, але гірше, ніж IDEA. Зробимо висновок, що кращим середовищем розробки для вирішення завдання структурно-топологічної оптимізації обрана IDEA, через перелік причин: розумне програмування. Ніхто так швидко не заповнює код і не виправляє помилки, як IDEA; ефективність рефакторінга; ціна. Хоча, Eclipse повністю безкоштовна, але ви ж не станете купувати погану їжу, тільки тому що вона дешевша? У більшості веб-проектів розробка структури бази даних та написання необхідних запитів для використання даних з БД є одним з найважливіших етапів. Для зручності використовуються різні системи проектування баз даних. Розглянемо декілька систем, зробимо порівняння їх можливостей та проведемо аналіз використання для різних типів завдань. MySQL Workbench – офіційна система для розробки і адміністрування. Даний програмний засіб розроблений для проектування та керування базами даних MySQL. Має зручний графічний інтерфейс, який дозволяє легко створювати структури будь-якої складності та. Та для адміністрування є найзручнішим інструментом. Також до переваг можна віднести те, що розробка не вимагає підключення до серверу. Проте MySQL Workbench має недостатньо розвинений буфер обміну та значним недоліком вважається відсутність конструктору запитів, тобто запити необхідно писати самому. Також є онлайн сервіс для розробки структури баз даних та для роботи зі створенням запитів з використанням конструкторів Ar-wik Builder. Графічний інтерфейс дозволяє легко маніпулювати таблицями, їх полями та зв’язками між ними. До переваг можна віднести можливість впроваджувати PHP код безпосередньо в запити та можливість виконання конструктору запитів. Даний сервіс має зручний імпорт, експорт проекту та можливість обміну проектами з іншими користувачами сервісу. Проте даний сервіс не передбачає безпосереднє адміністрування [30]. Слід зазначити, що використання подібних сервісів дозволяє значно збільшити швидкість розробки. З огляду на переваги та недоліки розглянутих сервісів був обраних MySql Workbench. 3.3 Проектування бази даних обладнання мережі База даних повинна мати основну інформацію щодо типів та характеристик кабелів та комутаторів. Типи мережевих кабелів, як звита пара, оптоволоконний кабель, коаксіальний кабель, використовуються в залежності від топології, протоколів і розміру мережі. Коаксіальний мережевий кабель складається з двох жил: центральна жила цілісна мідна, яка представлена серцевиною кабелю, оповита в товсту ізоляцію, яка представляє собою спінений поліетилен. Вита, звита, скручена або кручена пара – вид мережевого кабелю, з однією або декількома парами ізольованих провідників, скручених між собою для зменшення взаємних наведень при передачі сигналу і покритих пластиковою оболонкою. Залежно від наявності захисту розрізняють: неекрановану, екрановану, фольговану та фольговану екрановану виту пару. Таблиця 3.1 – Класифікація кабелів звита пара за категоріями
Екранування забезпечує кращий захист від електромагнітних як зовнішніх, так і внутрішніх впливів. Існує декілька категорій кабелю звита пара, які нумеруються 1-7 та показують діапазон пропускних частот. Категорії 1 – 4 вважаються застарілими, вони використовувались для передачі голосу та даних зі швидкістю не більше 10Мбіт/с. Класифікація кабелів звита пара виконана відповідно до таблиці 3.1. Таблиця 3.2 – Обрані моделі кабелю типу звита пара
При підборі кабелів, були обрані ті, що використовують для прокладення у приміщеннях, мають екран та використовують категорію 5Е [27], відповідно до таблиці 3.2. Визначена технологія 1000BASE-T. Оптоволоконний кабель складається з одного або кількох ізольованих один від одного оптичних волокон, укладених в оболонку, захисного покриття, буферного покриття. Розрізняють одномодове волокно, яке має діаметр серцевини 8–10 мікрометрів та спроектований для використання світла близького до інфрачервоного діапазону спектру. Також є багатомодове волокно виготовлене з діаметром центральної жили поперечного розміру від 50 мікрометрів до 100 мікрометрів. До переваг використання оптоволоконного кабелю можна віднести не чутливість до електричних перешкод та проведення передачі даних на надзвичайно високій швидкості [28]. Обрані найпоширеніші оптоволоконні кабелі відповідно до таблиці 3.3. Таблиця 3.3 – Найпоширеніші оптоволоконні кабелі
Мережеві комутатори функціонують на канальному рівні моделі OSI і здійснюють передачу даних між роботизованими системами мережі та комп’ютерами, які ними керують [29]. Були обрані комутатори з інтерфейсом Fast Ethernet та Gigabit Ethernet 100/1000 Мбіт/с-16 ГБіт/с, відповідно до таблиці 3.4. Таблиця 3.4 – Найпоширеніші моделі комутаторів
З урахуванням отриманих даних щодо характеристик кабелів та комутаторів перед проектуванням бази даних складемо схему виконання структурно-топологічної оптимізації мережі. Дана програма складається з 2 підсистем, перша – робота з базою даних, друга – формування варіантів структури мережі за методами, вони діляться на підмодулі. У підсистемі роботи з базою даних необхідно використовувати СУБД (рисунок 3.2). База даних – сукупність даних, яка описує параметри цих даних і взаємозв’язки між ними, ця сукупність підтримує щонайменше одну з областей застосування. В загальному випадку база даних містить схеми, таблиці, подання, процедури тощо. Дані у базі організовують відповідно до моделі організації даних. Розроблена база даних містить необхідні складові для проведення структурно-топологічної оптимізації комп’ютерної мережі роботизованої системи (рисунок 3.3). |