Відкритий міжнародний університет розвитку людини «УКРАЇНА»
Перемикач режиму перегляду сайту
Збільшений розмір шрифту Великий розмір шрифту Нормальний розмір шрифту
Чорно-білий В сірих відтінках Синьо-голубий
Нормальний режим
+38-067-406-53-92
Приймальна комісія
відділ оргроботи
+38-067-503-64-52
+38-067-328-28-22
Viber відділу обліку
+38-067-500-68-36
Київ, вул. Львівська, 23 office@uu.ua

Дисципліна: Сервіс-орієнтовані розподілені обчислення

Обсяг дисципліни, годин (кредитів ЄКТС): 150 (5).

 

Мета дисципліни:

-       надати студентам глибокого розуміння основ та принципів сервісорієнтованих архітектур (SOA) та їх застосувань у сучасних розподілених системах;

-       розвинути навички проєктування та реалізації сервіс-орієнтованих рішень з використанням сучасних інструментів та технологій, включаючи мікросервісні архітектури, контейнеризацію, API розробку, авторизацію та забезпечення консистентності даних;

-       надати знання та навички, необхідні для розробки розподілених систем з використанням сучасних підходів до архітектури, що дозволить стати ефективними розробниками у сфері розподілених обчислень та взаємодії між компонентами програмних систем;

-       вивчити основні принципи функціонування хмарної моделі з наголосом на прикладних застосуваннях cервісів класу PaaS та IaaS;

-       сформувати у студентів навички розв’язування практичних задач розробника ПЗ за допомогою хмарних сервісів;

-       сформувати у студентів навички управління та адміністрування хмарних ресурсів.

 

Завдання дисципліни:

-       надати розуміння основних понять і принципів сервіс-орієнтованих архітектур (SOA);

-       вивчити патерни Inversion of Control (IoC) та їх застосування у сервіс-орієнтованих системах;

-       сформувати навички планування та ведення проєктів розробки сервісів з використанням методології SCRUM;

-       сформувати вміння оцінювати ризики та ефективно взаємодіяти з командою у рамках гнучких процесів розробки;

-       розуміння методів предметно-орієнтованого проєктування (DDD) та їх впровадження в сервіс-орієнтованих архітектурах;

-       сформувати навички проєктування ізольованих сервісів, включаючи використання Event Storming, DTO та Hexagonal Architecture;

-       вивчити створення та документування API для взаємодії між сервісами;

-       сформувати вміння забезпечити безпеку та автентифікацію в API-орієнтованих системах;

-       сформувати розуміння концепцій мікросервісних архітектур та їх переваги;

-       сформувати навички контейнеризації за допомогою інструментів, Docker, для забезпечення гнучкості та масштабованості сервісів;

-       сформувати розуміння методів забезпечення консистентності даних у розподілених системах;

-       сформувати навички розробки та впровадження процесів для забезпечення надійності та цілісності даних в сервіс-орієнтованих архітектурах;

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

-       прищепити необхідні теоретичні знання та вміння розбиратися у принципах віртуалізації та абстрагування хмарних сервісів від апаратного забезпечення, принципах безсерверних обчислень, контейнеризації та ізольованих оточень;

-       прищепити вміння застосовувати теоретичні знання на практиці розв’язування прикладних задач з використанням адекватних хмарних ресурсів;

-       прищепити вміння самостійно розширяти свої знання, розвивати логічне, інтуїцію в питаннях застосування хмарних сервісів; виробити вміння самостійно працювати з спеціальною літературою.

 

Попередні умови для вивчення даної дисципліни:

-       бакалаврський курс в галузі інформаційних технологій.

 

Навчальні цілі дисципліни полягають у формуванні у студентів:

інтегративної компетентності:

-       оволодіння сучасними методами наукових досліджень з використання комп'ютерних систем;

-       розвиток первинних навичок дослідження та обробки експериментальних даних з метою їх подальшої обробки в комп'ютерних системах за допомогою програмних засобів. Це включає переклад реальних задач на алгоритмічну мову, вибір оптимальних методів дослідження та розв'язання, а також інтерпретацію, аналіз і оцінку одержаних результатів;

-       поглиблення теоретичних знань та умінь розбиратися у математичному апараті, що лежить в основі розглянутих методів;

-       здатність застосовувати теоретичні знання на практиці для розв'язання прикладних задач з доведенням їх до конкретних числових результатів;

-       розвиток самостійності в розширенні власних знань, розвиток логічного та алгоритмічного мислення, а також інтуїції у питаннях застосування інформаційних технологій. Вміння самостійно працювати зі спеціальною літературою також вважається важливим аспектом навчання.

 

загальних компетентностей:

ЗК 1. Здатність до абстрактного мислення, аналізу і синтезу.

ЗК 2. Здатність вчитися й оволодівати сучасними знаннями.

ЗК 3. Здатність застосовувати знання на практиці.

ЗК 4. Вільне усне і письмове спілкування українською мовою.

ЗК 5. Здатність спілкуватися, читати та писати іноземною мовою.

ЗК 7. Вміння виявляти, ставити та вирішувати проблеми.

ЗК 8. Здатність працювати як індивідуально, так і в команді.

 

 

фахових компетентностей:

ФК 1. Здатність застосовувати законодавчу та нормативно-правову базу, а також державні та міжнародні вимоги, практики і стандарти з метою здійснення професійної діяльності в галузі комп’ютерної інженерії.

ФК 2. Здатність використовувати сучасні методи і мови програмування для розроблення алгоритмічного та програмного забезпечення.

ФК 3. Здатність створювати системне та прикладне програмне забезпечення комп’ютерних систем та мереж.

ФК 5. Здатність використовувати засоби і системи автоматизації проєктування до розроблення компонентів комп’ютерних систем та мереж, Інтернет-додатків, кіберфізичних систем тощо.

ФК 6. Здатність проєктувати, впроваджувати та обслуговувати комп’ютерні системи та мережі різного виду та призначення.

ФК 7. Здатність використовувати та впроваджувати нові технології, включаючи технології розумних, мобільних, зелених і безпечних обчислень, брати участь в модернізації та реконструкції комп’ютерних систем та мереж, різноманітних вбудованих і розподілених додатків, зокрема з метою підвищення їх ефективності.

ФК 8. Готовність брати участь у роботах із впровадження комп’ютерних систем та мереж, введення їх до експлуатації на об’єктах різного призначення.

ФК 11. Здатність оформлювати отримані робочі результати у вигляді презентацій, науково-технічних звітів.

ФК 14. Здатність проєктувати системи та їхні компоненти з урахуванням усіх аспектів їх життєвого циклу та поставленої задачі, включаючи створення, налаштування, експлуатацію, технічне обслуговування та утилізацію.

ФК 15. Здатність аргументувати вибір методів розв’язування спеціалізованих задач, критично оцінювати отримані результати, обґрунтовувати та захищати прийняті рішення.

 

Програмні результати навчання:

ПРН 1. Знати і розуміти наукові і математичні положення, що лежать в основі функціонування комп’ютерних засобів, систем та мереж.

ПРН 2. Мати навички проведення експериментів, збирання даних та моделювання в комп’ютерних системах.

ПРН 3. Знати новітні технології в галузі комп’ютерної інженерії.

ПРН 5. Мати знання основ економіки та управління проєктами.

ПРН 6. Вміти застосовувати знання для ідентифікації, формулювання і розв’язування технічних задач спеціальності, використовуючи методи, що є найбільш придатними для досягнення поставлених цілей.

ПРН 7. Вміти застосовувати знання для розв’язування задач аналізу та синтезу засобів, характерних для спеціальності.

ПРН 8. Вміти системно мислити та застосовувати творчі здібності до формування принципово нових ідей.

ПРН 10. Вміти розробляти програмне забезпечення для вбудованих і розподілених застосувань, мобільних і гібридних систем, розраховувати, експлуатувати типове для спеціальності обладнання.

ПРН 11. Вміти здійснювати пошук інформації в різних джерелах для розв’язування задач комп’ютерної інженерії.

ПРН 12. Вміти ефективно працювати як індивідуально, так і у складі команди.

ПРН 13. Вміти ідентифікувати, класифікувати й описувати роботу комп’ютерних систем та їх компонентів.

ПРН 15. Вміти виконувати експериментальні дослідження за професійною тематикою.

ПРН 16. Вміти оцінювати отримані результати та аргументовано захищати прийняті рішення.

ПРН 17. Вміння спілкуватись, включаючи усну та письмову комунікацію українською мовою та однією з іноземних мов (англійською, німецькою, італійською, французькою, іспанською).

ПРН 18. Вміння використовувати інформаційні технології та інші методи для ефективного спілкування на професійному та соціальному рівнях.

ПРН 20. Здатність усвідомлювати необхідність навчання упродовж усього життя з метою поглиблення набутих та здобуття нових фахових знань, удосконалення креативного мислення.

ПРН 21. Здатність відповідально ставитись до виконуваної роботи та досягати поставленої мети з дотриманням вимог професійної етики.

 

В результаті вивчення дисципліни студент повинен

знати:

-       основні принципи та концепції сервіс-орієнтованих архітектур;

-       методи проєктування та реалізації сервісів в розподілених системах;

-       сучасні технології та інструменти для розробки сервіс-орієнтованих рішень;

-       основи мови програмування Python та технологію створення програм;

-       основні етапи процесу проєктування програмного забезпечення;

-       типові алгоритмічні конструкції;

-       базові типи та структури даних;

-       правила роботи з функціями;

-       правила виявлення та виправлення помилок на ранньому етапі створення програмного коду.

-

вміти:

-       виконувати формалізацію постановки задачі та її опис;

-       складати програми мовою Python, забезпечуючи: рішення задач обробки даних; створення і обробку структур, масивів структур;

-       використовувати функції;

-       використовувати сучасне інструментальне програмне забезпечення;

-       користуватися раніше складеними програмами і здійснювати супровід програм, вносити зміни в програму,

-       виконувати процедури пошуку та виправлення написаних програм за допомогою вбудованих інструментальних засобів.

 

Зміст дисципліни (тематика):

Змістовий модуль 1. Основи Сервіс-Орієнтованих Архітектур (SOA):

Тема 1. Вступ до Сервіс-Орієнтованих Архітектур (SOA).

Тема 2. Inversion Of Control (IoC). Адміністрування мереж. Управління та підтримка мережевої інфраструктури.

Змістовий модуль 2. Процеси розробки сервісів та Гнучкі процеси на базі SCRUM.

Тема 3. Процеси розробки сервісів.

Тема 4. Гнучкі процеси на базі SCRUM.

Змістовий модуль 3. Предметно-орієнтоване проєктування (DDD) та ізоляція сервісів.

Тема 5. Event Storming.

Тема 6. DDD (Предметно-орієнтоване проєктування). DTO (Data Transfer Object). Hexagonal Architecture.

Тема 7. Ізоляція сервісів

Змістовий модуль 4. API, Мікросервісні архітектури та Авторизація

Тема 8. API.

Тема 9. Microservices (Мікросервісні архітектури).

Тема 10. Service Discovery (Пошук служб).

Тема 11. Авторизація та Автентифікація

Змістовий модуль 5. Контейнеризація, Microservice Workshop, Процес розробки і впровадження, Забезпечення консистентності даних в розподілених системах.

Тема 12. Docker та Контейнеризація.

Тема 13. Microservice Workshop.

Тема 14. Процес розробки і впровадження мікросервісів.

Тема 15. Забезпечення консистентності даних у розподілених системах

 

Види робіт: лекції, практичні, самостійні.

 

Форма підсумкового контролю: залік.