Інфраструктура програмного забезпечення WEB-застосувань - СИЛАБУС НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інтегровані інформаційні системи, Інформаційне забезпечення робототехнічних систем, Інформаційні управляючі системи та технології
Статус дисципліни Вибіркова
Форма навчання очна(денна)/заочна/дистанційна
Рік підготовки, семестр 4 курс, осінній семестр
Обсяг дисципліни 120 годин (36 годин – Лекції, 18 годин – Лабораторні, 66 годин – СРС)
Семестровий контроль/ контрольні заходи Залік/залікова робота, МКР
Розклад занять http://roz.kpi.ua
Мова викладання Українська
Інформація про керівника курсу Лектор: ст.викл. каф. ІСТ, к.т.н., Галушко Дмитро Олександрович telegram: @halushko, Лабораторні: ст. викл. каф. ІСТ, Орленко Олексій Андрійович
Розміщення курсу https://classroom.google.com/c/NTkxNzQ4MjMzNzc0?cjc=rllca37

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Опис дисципліни

Силабус навчальної дисципліни “Інфраструктура програмного забезпечення” передбачає виконання навчальних завдань та практик програмування. Це дозволяє отримати досвід практичної роботи із розробки розподіленого web-застосунку і розгортання інфраструктури для нього на базі контейнерних технологій. Передбачаються навички самостійного набуття знань у цій галузі.
Присутній стандартний підхід із навчання програмуванню, коли на перших етапах (практиках програмування) виконується відносно складне завдання, що дає можливість зацікавити студентів до подальшого навчання.  Фінальним завданням є розподілена програмна інфраструктура web-застосунку на базі технології Docker, що моделює роботу професійного web-порталу. Для виконання цього завдання студенти використовують теоретичні знання та застосовують практичні навички, отримані під час всього курсу.

Міждисциплінарні зв’язки

  • Програмування. Частина 1;
  • Програмування. Частина 2;
  • Комп'ютерні мережі.

Мета навчальної дисципліни

Основною метою дисципліни “Інфраструктура програмного забезпечення” є надання системних знань, вмінь і навичок про планування, розробку, тестування і будову інфраструктури програмного забезпечення на основі: - складної, розподіленої інфраструктури web-застосунку на базі Java з використанням технології Docker; Крім того дисципліна надає відомості про загальні принципи розробки розподіленого web-застосунку і розгортання програмної інфраструктури на базі систем контейнерної технології.

Основні завдання навчальної дисципліни

Основні завдання вивчення дисципліни спрямовані на надбання здобувачами вищої освіти знань в теоретичній, пізнавальній та практичній компонентах, які забезпечують професійну діяльність випускника.

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

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Пререквізити

Знання комп'юторних мереж, пактичні навички з розробки програмного забезпечення на мові Java.

Постреквізити

Отримані при засвоєнні дисципліни теоретичні знання та практичні уміння забезпечують успішне виконання курсових проєктів та бакалаврських робіт за спеціальністю 121 Інженерія програмного забезпечення

Зміст навчальної дисципліни

Лекційні заняття

Розділ 1. Віртуалізація Тема 1. Віртуалізація у комп'ютерних системах Тема 2. Використання оркестраторів для підняття розподілених систем Розділ 2. Розробка WEB-застосувань Тема 3. Мікросервісна архітектура Тема 4. Фронтенд сервіси Тема 5. Бекенд сервіси, створення API

Лабораторні заняття

Лабораторна робота 1. Дослідження системи контейнерів Docker Лабораторна робота 2. Дослідження спільних ресурсів хостової та гостьової систем в Docker Лабораторна робота 3. Створення і розгортання програмної інфраструктури на основі docker-compose Лабораторна робота 4.2. Створення проекту на базі Spring Framework з використанням контейнеризації Лабораторна робота 5.2. Створення RESTful вебсервісів за допомогою Spring Framework

Навчальні матеріали та ресурси

Базова література

  1. Проектування інформаційних систем: Загальні питання теорії проектування ІС (конспект лекцій) [Електронний ресурс]: навч. посіб. для студ. спеціальності 122 «Комп’ютерні науки» / КПІ ім. Ігоря Сікорського; уклад.: О. C. Коваленко, Л. М. Добровська. – Електронні текстові дані (1 файл: 2,02 Мбайт). – Київ : КПІ ім. Ігоря Сікорського, 2020. – 192с. https://ela.kpi.ua/bitstream/123456789/33651/1/PIS_KL.pdf

Навчальний контент

  1. Scott Chacon, Ben Straub. Pro Git. Версія 2.1.95-2-g8d45587, 19.01.2022.
  2. Esteban Zimányi. Students: Bubacarr Jallow Shafagh Kashef. Object Relational Mapping and Entity Framework. Advanced Databases Project. 12/18/2018 р.
  3. https://docs.docker.com/samples/
  4. Docker документація [Електронний ресурс] – https://docs.docker.com/get-started/.
  5. Thomas D. The Pragmatic Programmer : your journey to mastery, 20th Anniversary Edition / D. Thomas, A. Hunt. – Boston, United States: Pearson Education (US), 2020. – 352 с.
  6. Learning React : Modern Patterns for Developing React Apps – Sebastopol, United States: O'Reilly Media, Inc, USA, 2020. – 300 с.
  7. Docker : Complete Guide To Docker For Beginners And Intermediates, 2020. – 140 с.
  8. Docker: Up & Running : Shipping Reliable Containers in Production – Sebastopol, United States: 'Reilly Media, Inc, USA, 2018. – 347 с.
  9. Docker homepage - http://www.docker.com/
  10. Docker Hub - https://hub.docker.com
  11. Docker blog - http://blog.docker.com/
  12. Docker documentation - http://docs.docker.com/
  13. Docker Getting Started Guide - http://www.docker.com/gettingstarted/
  14. Docker code on GitHub - https://github.com/docker/docker
  15. Docker mailing list - https://groups.google.com/forum/#!forum/docker#user
  16. Docker on IRC: irc.freenode.net and channels #docker and #docker#dev
  17. Docker on Twitter - http://twitter.com/docker
  18. Get Docker help on Stack Overflow - http://stackoverflow.com/search?q=docker
  19. Valeria Cardellini. Matteo Nardelli. Container-based virtualization: Docker. Università degli Studi di Roma “Tor Vergata” Dipartimento di Ingegneria Civile e Ingegneria Informatica Corso di Sistemi Distribuiti e Cloud Computing A.A. 2017/18.
  20. Adam Freeman. Pro Angular 6 .ISBN-13 (pbk): 978-1-4842-3648-2 ISBN-13 (electronic): 978-1-4842-3649-9/2018р.

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Система вимог, які ставляться перед студентом:

  • відвідування занять є обов’язковою складовою вивчення матеріалу;
  • лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;
  • модульні контрольні роботи пишуться на практичних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.);
  • заохочувальні бали виставляються за активну участь на лекціях. Кількість заохочуваних балів не більше 10;
  • штрафні бали виставляються за невчасну здачу лабораторної роботи. Кількість штрафних балів не більше 10.

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Рейтинг студента з дисципліни складається із балів стартового рейтингу (протягом семестру) та балів за екзамен. Бали стартового рейтингу протягом семестру студент отримує за:

  • виконання та захист 9 лабораторних робіт;
  • виконання 2 одногодинних модульних контрольних робіт (МКР);
  • роботу на 9 практичних заняттях.

Система рейтингових балів та критерії оцінювання

Лабораторні роботи

«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином протокол до лабораторної роботи – 3 бали; «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином протокол до лабораторної роботи – 2 бали; «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином протокол до лабораторної роботи – 1 бал; «незадовільно», незадовільна відповідь та/або не оформлений належним чином протокол до лабораторної роботи – 0 балів.

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

Практичні заняття

«відмінно», вільне володіння матеріалом, правильне розв’язання задачі біля дошки – 3 бали; «добре», вільне володіння матеріалом, розв’язання задачі біля дошки з незначними помилками – 2 бали; «задовільно», повна відповідь на питання з місця та/або розв’язання задачі біля дошки з помилками – 1 бал; «незадовільно», незадовільна відповідь з місця або неправильне розв’язання задачі біля дошки – 0 балів.

Модульні контрольні роботи

«відмінно», повна відповідь (не менш ніж 90% потрібної інформації) – 8 балів; «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), або повна відповідь з незначними помилками – 6 балів; «задовільно», неповна відповідь (але не менш ніж 60% потрібної інформації) та незначні помилки – 4 бали; «незадовільно», незадовільна відповідь (неправильний розв’язок задачі), потребує обов’язкового повторного написання в кінці семестру – 0 балів.

Заохочувальні бали

за активну роботу на лекції 1 бал, але в сумі не більше 10

Штрафні бали

Запізнення з поданням лабораторної роботи до захисту від встановленого терміну -1 бал, але в сумі не більше -10

Календарний рубіжний контроль

На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 10 балів. На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 16 балів.

Максимальна сума вагових балів контрольних заходів протягом семестру складає:

RD = 9*rлаб+2*rпр+2*rмкр+=8*3+2*3+2*8=50, де rлаб – бал за лабораторну роботу (0…3); rпр – бал за практичне заняття (0…3); rмкр – бал за написання МКР (0…8)

Система оцінювання теоретичних питань
  • «відмінно», повна відповідь (не менше 90% потрібної інформації) – 20 балів;
  • «добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 15 балів;
  • «задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 10 балів;
  • «незадовільно», незадовільна відповідь – 0 балів.
Система оцінювання практичного питання
  • «відмінно», повне безпомилкове розв’язування завдання – 10 балів;
  • «добре», повне розв’язування завдання з несуттєвими неточностями – 8 балів;
  • «задовільно», завдання виконане з певними недоліками – 6 балів;
  • «незадовільно», завдання не виконано – 0 балів.

Сума стартових балів і балів за екзаменаційну контрольну роботу переводиться до екзаменаційної оцінки згідно з таблицею:

Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів Оцінка
100-95 Відмінно
94-85 Дуже добре
84-75 Добре
74-65 Задовільно
64-60 Достатньо
Менше 60 Незадовільно
Не виконані умови допуску Не допущено

Робочу програму навчальної дисципліни (Силабус): Складено ст.викл. каф. ІСТ, к.т.н., Галушко Дмитро Олександрович Ухвалено кафедрою ІСТ (протокол № 13 від 15.06.2022 р.) Погоджено Методичною комісією факультету (протокол № 11 від 07.07.2022 р.)