Розробка та використання інформаційних мереж

Галузь знань: 12 Інформаційні технології
Спеціальність: 121 Інженерія програмного забезпечення
Освітня програма: Програмне забезпечення систем

Викладачі: Викладається: в 1-му семестрі магістратури.
Загальний обсяг: 120 год, з яких:
  • Лекції – 18 год.
  • Лабораторні роботи – 20 год.
  • Самостійна робота – 80 год.

Мета та завдання дисципліни

Мета та завдання дисципліни – оволодіння сучасними методами проектування, розробки та підтримки розподілених застосувань, веб-застосувань та інформаційних мереж, вивчення принципів функціонування сучасних локальних та глобальних мереж, підготовка до практичного використання мережевих технологій.

Предмет дисципліни

Предмет навчальної дисципліни Розробка та використання інформаційних мереж включає в себе розгляд основних принципів мережевої взаємодії та мережевих протоколів. Значна увага приділяється розробці веб-застосувань, як найбільш поширених і найбільш важливих в сучасних глобальних інформаційних мережах. Розглядаються технології розробки серверної та клієнтської частини веб-застосування, формати та протоколи передачі даних. Крім веб-застосувань, розглядаються також питання розробки сервісно-орієнтованих застосувань, офлайн-клієнтів, використання і поєднання існуючих мережевих застосувань і сервісів. Особлива увага приділяється питанням безпеки інформаційних мереж, зокрема попередженню типових вразливостей при розробці та впровадженні інформаційних мереж.
В результаті вивчення навчальної дисципліни студент повинен
знати:
  • відомості про:
    • сучасні мережеві технології та протоколи,
    • захист інформації в інформаційних системах,
    • процес розробки програмного забезпечення.
  • властивості відношень, елементи лінійної алгебри, теорії автоматів.
та вміти:
  • використовувати існуючі веб-сервіси; встановлювати і налаштовувати веб-застосування та необхідну для них інфраструктуру;
  • проектувати, розробляти та впроваджувати веб-застосування з використанням сучасних технологій;
  • вибирати найбільш вдалі технології для реалізації проекту;
  • досягати достатньої продуктивності веб-застосувань;
  • уникати типових вразливостей при розробці веб-застосувань.

Вимоги до знань та вмінь

Для вивчення курсу Розробка та використання інформаційних мереж студент повинен прослухати наступні курси:
  • Інформаційні системи
  • Захист інформації в інформаційних системах
  • Розробка WEB-орієнтованих систем
та повинен знати:
  • базові відомості про:
    • мережеві технології та протоколи,
    • захист інформації в інформаційних системах,
    • процес розробки програмного забезпечення.
а також повинен вміти:
  • використовувати:
    • інструментальні засоби побудови, запуску та відлагодження програм,
    • адміністративні засоби з графічним та текстовим інтерфейсом користувача,
  • порівнювати технології реалізації та вибирати оптимальну технологію для вирішення конкретної задачі,
  • шукати додаткову інформацію про мережеві технології.

Програма курсу

Змістовий модуль 1: Розробка сучасних мережевих застосувань.

Тема 1: Сучасні інформаційні мережі.
  • Інформаційні мережі.
  • Основні поняття.
  • Історія розвитку.
  • Сучасні особливості.
  • Виклики при розробці та використанні інформаційних мереж.
Тема 2: Архітектури інформаційних мереж.
  • Поняття архітектури інформаційних мереж.
  • Архітектура «клієнт-сервер».
  • Багаторівнева архітектура.
  • Однорангова мережа (peer-to-peer).
  • Архітектура «постачальник-споживач».
  • Архітектура «віртуальна мережа».
  • Моделі стеку протоколів ISO OSI та TCP/IP.
Тема 3: Розробка серверної частини веб-застосування.
  • Основні функції серверної частини веб-застосування.
  • Мова програмування PHP.
  • Динамічна генерація веб-сторінок за допомогою шаблонів.
  • Робота з даними.
  • Взаємодія з клієнтською частиною.
  • GET та POST запити.
  • Валідація даних.
  • Аутентифікація та авторизація.
  • Підтримка сесій.
  • Cookies.
  • Переписування URL.
  • Бібліотеки.
  • Парадигма Model-View-Controller (MVC).
Тема 4: Розробка клієнтської частини веб-застосування.
  • Основні функції клієнтської частини веб-застосування.
  • Мови HTML, CSS, JavaScript.
  • Розташування елементів на сторінках (layout).
  • Зміна зовнішнього вигляду елементів.
  • Маніпулювання елементами за допомогою DOM.
  • Асинхронна взаємодія з сервером за допомогою AJAX.
  • Підтримка різних браузерів.
Тема 5: Веб-сервіси. Хмарні обчислення.
  • Поняття веб-сервісу.
  • Сервісно-орієнтована архітектура.
  • REST та SOAP сервіси.
  • Принципи функціонування сервісів.
  • Взаємодія з клієнтом.
  • Поєднання даних з різних джерел.
  • Питання безпеки веб-сервісів.
  • Проектування та розробка веб-сервісів.
  • Парадигма хмарних обчислень (cloud computing) – принципи, реалізація, приклади систем.
Модульна контрольна робота 1

Змістовий модуль 2: Використання мережевих застосувань.

Тема 6: Нові можливості HTML5.
  • Нові стандарти веб-розробки: HTML5, CSS3.
  • Елемент canvas, елементи audio/video, local storage, web sockets.
Тема 7: Безпека мережевих застосувань.
  • Проблема безпеки в мережевих застосуваннях.
  • Класифікація атак (STRIDE).
  • Основні атаки і їх попередження.
  • Принципи побудови безпечних застосувань.
Тема 8: Побудова високопродуктивних мережевих застосувань.
  • Проблема продуктивності мережевих застосувань.
  • Причини низької продуктивності.
  • Рекомендації з підвищення продуктивності веб-застосувань.
  • Використання інструментальних засобів.
Тема 9: Перспективи розвитку інформаційних мереж.
  • Перспективні напрями розвитку мережевих технологій.
  • рід та хмарні обчислення.
  • Семантичний веб.
  • Мобільні та вбудовані застосування.
  • Соціальні аспекти.
Модульна контрольна робота 2

Рекомендована література

Основна:

  1. Э. С. Таненбаум. Компьютерные сети. 4 изд. – СПб.: Питер, 2003 г. 992 стр.
  2. У. Р. Стивенс. Протоколы TCP/IP. Практическое руководство. – СПб: БХВ-Петербург, 2003 г. 672 стр.
  3. Е. С. Бенкен. PHP, MySQL, XML. Программирование для Интернета. – СПб:БХВ-Петербург, 2007 г. 336 стр.
  4. Т. Томлинсон. CMS Drupal 7: руководство по разработке системы управления веб-сайтом. – М.: Диалектика-Вильямс, 2011. 650 стр.
  5. П. Лабберс, Б. Олберс, Ф. Салим. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений. – М.: Диалектика-Вильямс, 2011. 304 стр.
  6. Э. Мейер. CSS – каскадные таблицы стилей. Подробное руководство. 3-е издание. – М.: Символ, 2010. 576 стр.
  7. Д. Крейн, Дж. Даррен, Э. Паскарелло. Ajax в действии. – М.: "Вильямс", 2006. 640 стр.

Додаткова:

  1. К. Мук. ActionScript 3.0 для Flash. Подробное руководство. – СПб.: Питер, 2010. 992 стр.
  2. М. Мак-Дональд. Silverlight 3 с примерами на C# для профессионалов. – М.: Диалектика-Вильямс, 2010. 656 стр.
  3. Э. Ньюкомер. Веб-сервисы: XML, WSDL, SOAP и UDDL. – СПб.: Питер, 2003.
  4. Р. Брэгг. Безопасность сети на основе Microsoft Windows Server 2003.  – СПб: Питер, 2006 г. 672 стр.
  5. Дж. Козиол, Д. Личфилд, Д. Эйтэл, К. Энли, С. Эрен, Н. Мехта, Р. Хассель. Искусство взлома и защиты систем. – СПб: Питер, 2006 г. 416 стр.
  6. Г. Майерс. Искусство тестирования программ. – М.: Радио и связь, 1982.
  7. Г. Майерс. Надежность программного обеспечения. – М.: Мир, 1980.
  8. Mozilla Developer Network
  9. PHP
  10. Apache Software Foundation
  11. MySQL
  12. ASP .NET
  13. Best Practices for Speeding Up Your Web Site
  14. Wikipedia, the free encyclopedia