Кафедра радіотехнічних систем

[RE-319] Архітектура кросплатформених програмних рішень

Робоча програма навчальної дисципліни (Силабус)

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

Рівень вищої освітиПерший (бакалаврський)
Галузь знань17 - Електроніка та телекомунікації
Спеціальність172 - Телекомунікації та радіотехніка
Освітня програмаВсі ОП
Статус дисципліниВибіркова (Ф-каталог)
Форма здобуття вищої освітиОчна
Рік підготовки, семестрДоступно для вибору починаючи з 3-го курсу, осінній семестр
Обсяг дисципліни4 кред. (Лекц. 18 год, Практ. год, Лаб. 36 год, СРС. 66 год )
Семестровий контроль/контрольні заходиЗалік
Розклад занятьhttps://rozklad.kpi.ua
Мова викладанняУкраїнська
Інформація про керівника курсу / викладачів Лекц.: Катін П. Ю.,
Лаб.: Катін П. Ю.,
Розміщення курсу

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

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

Метою вивчення дисципліни (кредитного модуля) «Архітектура кросплатформених програмних рішень» є формування вміння у студентів самостійно розробляти програмне забезпечення, що реалізує програмну складову радіотехнічних систем. У якості основи застосовуються фреймворк ASP.NET Core MVC.

Предметом навчальної дисципліни (модуля) є архітектура програмного забезпечення, що може бути потенційно реалізована у радіотехнічних системах. Вивчення дисципліни (кредитний модуль) дозволяє студентам:

  • розробляти, налагоджувати та підтримувати веб-застосунки на основі фреймворку архітектури ASP.NET Core MVC;
  • розробляти програмну архітектуру на основі ASP.NET Core MVC framework;
  • застосовувати фундаментальні знання архітектури програмного забезпечення для професійної  розробки веб-додатків.

Програмні результати дисципліни (модуля):

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

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

Успішне вивчення дисципліни (кредитного модуля) передує вивченню дисципліни «Інформатика» навчального плану підготовки бакалаврів спеціальності 172.

Отримані під час засвоєння дисципліни (залікового модуля) теоретичні знання та практичні навички необхідні для розробки бакалаврського проекту та плану підготовки магістра за спеціальністю 172.

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

Тема 1. Основи програмно-апаратних складових радіотехнічних систем

Тема 2. Техніка об'єктно-орієнтованого програмування (ООП) архітектурного рівня

Тема 3. Основи архітектури програмування в об'єктно-орієнтованій парадигмі.

Тема 4. Основи архітектури веб-додатків ASP.NET Core MVC

Тема 5. Етапи створення і налагодження проекту ASP.NET Core MVC

Тема 6. Бази даних в архітектурі веб-додатків

Тема 7. Елементи технології JavaScript в архітектурі веб-додатків

Тема 8. Архітектура практичного  веб-застосунку

Тема 9. Створення  програмно-апаратних засобів сучасних радіосистем з елементами веб-застосунків

Модульна контрольна робота №1,  ЗАЛІК

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

Основна література 

1. Інфраструктура програмного забезпечення WEB-застосувань. Лабораторний практикум [Електронний ресурс] : навч. посіб. для студ. спеціальностей 121 «Інженерія програмного забезпечення», 126 «Інформаційні системи та технології» / М. М. Букасов, Д. О. Галушко, П. Ю. Катін, Я. В. Хіцко ; КПІ ім. Ігоря Сікорського. – Електронні текстові дані (1 файл: 780.7 Кбайт). – Київ : КПІ ім. Ігоря Сікорського, 2023. – 53 с. – Назва з екрана.https://ela.kpi.ua/handle/123456789/53028?mode=full

2. Остапченко, К. Б. Бази даних. Комп'ютерний практикум [Електронний ресурс] : навч. посіб. для здобувачів ступеня бакалавра за спеціальністю 126 Інформаційні системи та технології / К. Б. Остапченко ; КПІ ім. Ігоря Сікорського. – Електронні текстові дані (1 файл: 1,39 Мбайт). – Київ : КПІ ім. Ігоря Сікорського, 2022. – 151 с. – Назва з екрана.

3. Коноваленко І.В. Платформа .NET та мова програмування C# 8.0: навчальний посібник / Коноваленко І.В., Марущак П.О. – Тернопіль: ФОП Паляниця В. А., 2020 – 320 с. https://elartu.tntu.edu.ua/bitstream/lib/32825/1/Konovalenko%20I.%20.NET-C%23.pdf

 

 

Додаткова література.

1. Adam Freeman. Pro ASP.NET Core MVC 2 London, UK.

2. Karli Watson. Jacob Vibe Hammer. John D. Reid. Morgan Skinner. Daniel Kemper. Christian Nagel. BEGINNING  Visual C#® 2012 Programming. Published by John Wiley & Sons, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256. www.wiley.com.

3. Object-oriented Programming in C# for C and Java programmers. February 2010. Kurt Nørmark © Department of Computer Science, Aalborg University, Denmark. URL: http://www.cs.aau.dk/~normark/oop-csharp/html/notes/theme-index.html.

4. Paul Michaels. Software Architecture by Example: Using C# and .NET. Derbyshire, UK. URL: doi.org/10.1007/978-1-4842-7990-8

5. https://www.dofactory.com/net/design-patterns

6. http://www.orangepi.org

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

5. Методика опанування навчальної дисципліни (освітнього компонента)

No.

Тип занять

Опис змісту заняття

Тема 1. Основи програмно-апаратних складових радіотехнічних систем

1

Лекція 1. Основи технології апаратних рішень для побудови програмованих елементів радіотехнічних систем.

Апаратна складова сучасних мікрокомп’ютерів як потенційній складовий елемент радіотехнічних систем і комплексів.  

Операційні системи мікрокомп’ютерів.

Програмні технології для реалізації архітектури програмного забезпечення радіотехнічних систем. Приклади мікрокомп’ютера Orange Pi..

2

Лекція 2. Основи програмних технології для побудови програмованих елементів радіотехнічних систем

Програмне забезпечення для міні-комп’ютерів, операційні системи і технології.

ASP.NET Core MVC для міні-комп’ютерів.

Веб-застосунки як основа програмних технологій радіотехнічних систем.

 

3

Комп'ютерний практикум 1.

Установка і тестування середовища розробки і налагодження  ASP.NET Core MVC для Orange Pi

Тема 2. Техніка об'єктно-орієнтованого програмування (ООП) архітектурного рівня.

4

Лекція 3. Основи об’єктно-орієнтованого програмування

Техніка об’єктно-орієнтованого  програмування. Клосси, конструктори, деструктори, статичні члени класів, поля, методи, властивості.  Програмні інтерфейси, інкапсуляція, наслідування, поліморфізм.

Програмні рішення для демонстрації матеріалів.

 

5

Лекція 4. Шаблони і базові принципи об’єктно-орієнтованого програмування

Культура об’єктно-орієнтованого  програмування. Принципи SOLID. Шаблони програмування. Приклади використання шаблонів програмування для створення програмної архітектури. Відношення між об’єктами у ООП парадигмі. Контейнери і шаблони. Перевантаження операторів.

Програмні рішення для демонстрації матеріалів.

 

6

Комп'ютерний практикум 2.

Практичне заняття з закріплення ООП парадигми програмування у C#.

Тема 3. Основи архітектури програмування в об'єктно-орієнтованій парадигмі.

7

Лекція 5. Основні елементи технології мови програмування  C# для веб розробки

Створення проекту веб-застосунку у MVC архітектурі.

Налагодження і контейнеризація веб-застосунку.

Програмне рішення для демонстрації принципів ООП у ASP.NET Core MVC.

 

8

Лекція 6. Документування архітектури програмних застосунків.

Документування програмної архітектури у об’єктно-орієнтованої парадигми. Основи мови програмування UML. Інтерфейси, наслідування, зміст, включення.

Створення UML діаграми класів, діаграм послідовності, діаграм компонентів, діаграми розгортання на основі отриманих програмних рішень.

9

Комп'ютерний практикум 3.

Практичне заняття з закріплення ООП парадигми програмування у C# з документуванням у вигляді  UML.

Тема 4. Основи архітектури веб-додатків ASP.NET Core MVC.

10

Лекція 7. Види архітектурі веб-застосунків і їх реалізація в   технології ASP.NET Core MVC

Види архітектури веб-застосунків у вигляді типового партерну  MVC. Розуміння моделі, контролера і відображення. Реалізація MVC шаблону і його роботи у технології ASP.NET Core MVC.

11

Лекція 8. Розробка і тестування контролера у   ASP.NET Core MVC веб-застосунку

Створення основи веб-застосунку у ASP.NET Core MVC і дослідження супутніх технологій мови програмування С#.

12

Комп'ютерний практикум 4.

Створення елементів веб-застосунку на основі ASP.NET.

Midterm Test

Тема 5. Етапи створення і налагодження проекту ASP.NET Core MVC .

13

Лекція 9. Створення прототипу веб-застосунку у  ASP.NET Core MVC Project

Вдосконалення архітектури веб-застосунку на основі ASP.NET. Створення і додавання динамічного виходу. Вдосконалення моделі даних. Створення лінкованого методу з активністю. 

 

14

Лекція 10. Основи технології відображення інформації в  ASP.NET Core MVC Project

Отримання і динамічне відображення інформації з бази даних на веб-інтерфейсі. Основи валідації веб-застосунку.  Додавання стилів і фреймворків відображення до веб-інтерфейсів. Архітектурні рішення і шаблони:  Smart UI Pattern,  Model-View Architecture, Three-Tier Architecture.

15

Комп'ютерний практикум 5.

Вдосконалення архітектури веб-застосунку на основі ASP.NET.

Тема 6. Бази даних в архітектурі веб-додатків

16

Лекція 11. Взаємодія бази даних і веб-застосунку у контексті моделі і бізнес- логіки

Архітектурна складова веб-застосунку на основі моделі і бізнес-логіки.

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

17

Лекція 12. Основні технології для роботи з базами даних  C#

Архітектурна складова веб-застосунку на основі технологій ASP.NET.

Технології взаємодії бази даних і користувача веб-застосунку за принципом code first.

18

Комп'ютерний практикум 6.

Cтворення проекту веб-застосунку на основі ASP.NET з прикладом бази даних.

Тема 7. Елементи технології фронтенду архітектурі веб-додатків

19

Лекція 13. Основи технологій HTML5, і таблиць стилів CSS у архітектурі веб-застосунку

Основи технології HTML5 і CSS. Теги, атрибути і стилі. Шаблони сучасних рішень веб-інтерфейсів.

Створення професійних систем відображення з використанням сучасних технологій. Переваги і недоліки JavaScript під час створення елементів відображення веб-застосунків.    

20

Лекція 14. Технологія Razor

Технологія Razor,  недоліки і переваги. Приклади використання технологій під час створення елементів відображення веб-застосунків.     

21

Комп'ютерний практикум 7.

Вдосконалення архітектури веб-застосунку на основі технології Razor.

Тема 8. Архітектура практичного  веб-застосунку

22

Лекція 15. Формування і документування архітектури професійного веб-застосунку ASP.NET Core.

Документування комплексного MVC веб-застосунку.  

Створення модульних тестів веб-застосунку.

Організація доменної моделі.

23

Лекція 16. Система контролю версій при сумісної розробці веб-застосунків

 

Git введення в технологію. Git and GitHub професійна роботи з системою контролю версій. Git, розгалуження варіантів проекту.

24

Комп'ютерний практикум 8.

Документування і тестування проекту ASP.NET.  

Тема 9. Створення  програмно-апаратних засобів сучасних радіосистем з елементами веб-застосунків

25

Лекція 17. Види архітектури і технологій сучасних веб-застосунків

Монолітная архітектура. Мікросервісная архітектура. Архітектура на основі шаблонів ( Patterns (supplemental)). Використання хмарних технологій для формування архітектури застосунків.

26

Лекція 18. Тенденції розвитку архітектури веб-застосунків

Фінальний огляд матеріалу. Висновки. Перспективи розвитку технологій і архітектури веб-програмування. Створення прототипів веб-рішень для роботи.

27

Комп'ютерний практикум 9.

Створення проекту і розгортання його на Azure.

Екзамен

6. Самостійна робота студента

Дисципліна  ґрунтується на самостійних підготовках до аудиторних занять на теоретичні та практичні теми.

No.

Напрям самостійної підготовки

Кількість годин

Література

1

Підготовка до лекції 1

1

1-5

2

Підготовка до практичного заняття  1

1,5

1-5

3

Підготовка до лекції  2

1

1-5

4

Підготовка до лекції  3

1

1-5

5

Підготовка до практичного заняття  2

1,5

1-5

6

Підготовка до лекції  4

1

1-5

7

Підготовка до лекції  5

1

1-5

8

Підготовка до практичного заняття  3 (part 1)

1,5

1-5

9

Підготовка до лекції  6

1

1-5

10

Підготовка до лекції  7

1

1-5

11

Підготовка до практичного заняття  3 (part 2)

1,5

1-5

12

Підготовка до лекції  8

1

1-5

13

Підготовка до лекції  9

1

1-5

14

Підготовка до практичного заняття  4 (part 1)

1,5

1-5

15

Підготовка до лекції  10

1

1-5

16

Підготовка до лекції  11

1

1-5

17

Підготовка до практичного заняття  4 (part 2)

1,5

 

18

Підготовка до лекції  12

1

 

19

Підготовка до лекції  13

1

 

20

Підготовка до практичного заняття  5

1,5

 

21

Підготовка до лекції  14

1

1-5

22

Підготовка до лекції  15

1

1-5

23

Підготовка до практичного заняття  6 (part 1)

1,5

1-5

24

Підготовка до лекції  16

1

1-5

25

Підготовка до лекції  17

1

1-5

26

Підготовка до практичного заняття  6 (part 2)

1,5

1-5

27

Preparation for the midterm test

4

1-5

28

Preparation for the exam

30

1-5

29

Getting started with MVS

2

1

30

Install MVS

1

1

31

Essential C# Features for web developing. Stage 1.

1

1

32

Essential C# Features for web developing. Stage 1.

1

1

33

Essential C# Features for web developing. Stage 2.

1,5

1

34

Essential C# Features for web developing. Stage 2.

1

1

35

Essential C# Features for web developing. Stage 3.

1

1

36

Essential C# Features for web developing. Stage 3.

2

1

37

Essential C# Features for web developing. Stage 4.

2

1

38

Essential C# Features for web developing. Stage 4.

1

1

39

Entity Framework Core Tools Package

1

1

40

Lambda Expressions

2

1

 

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

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

Відвідування лекційних занять є обов’язковим. В умовах особливого стану питання щодо відвідування лекційних занять і інших аспектів політики може бути змінені.

Відвідування занять комп’ютерного практикуму може бути епізодичним та за потреби консультації/захисту робіт комп’ютерного практикуму.

Правила поведінки на заняттях: активність, повага до присутніх, відключення телефонів.

Дотримання політики академічної доброчесності.

Правила захисту робіт комп’ютерного практикуму: роботи повинні бути зроблені відповідно до поставлених задач та згідно з варіантом.

Правила призначення заохочувальних та штрафних балів є наступними.

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

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

Протягом семестру студенти виконують 5 комп’ютерних практикумів. Максимальна кількість балів за кожний комп’ютерний практикум: 10 балів.

Бали нараховуються за:

  • якість виконання комп’ютерного практикуму: 0-5 бали;
  • відповідь під час захисту комп’ютерного практикуму: 0-3 бали;
  • своєчасне представлення роботи до захисту: 0-2 бали.

Критерії оцінювання якості виконання:

  • 5 бали  –  робота виконана якісно, в повному обсязі;
  • 4 бали – робота виконана якісно, в повному обсязі, але має недоліки;
  • 3 бали – робота виконана в повному обсязі, але містить незначні помилки;
  • 2 бали – робота виконана в повному обсязі, але містить суттєві помилки;
  • 0 балів – робота виконана не в повному обсязі.

Критерії оцінювання відповіді:

  • 3 бали  –  відповідь повна, добре аргументована;
  • 2 бали –відповідь вірна, але має недоліки або незначні помилки;
  • 1 бал – у відповіді є суттєві помилки;
  • 0 балів – немає відповіді або відповідь невірна.

Критерії оцінювання своєчасності представлення роботи до захисту:

  • 2 бали – робота представлена до захисту не пізніше вказаного терміну;
  • 0 балів – робота представлена до захисту пізніше вказаного терміну.
  • Максимальна кількість балів за виконання та захист комп’ютерних практикумів:
  • 10 балів × 5 комп. практ. = 50 балів.

Протягом семестру на лекціях відбуваються опитування за темою поточного заняття. Максимальна кількість балів за всі опитування: 3 бали. Кількість опитування за темою поточного заняття для одного студента є необмеженою.

Завдання на модульну контрольну роботу складається з 3 теоретичних та 2 практичних запитань. Відповідь на кожне запитання оцінюється 10 балами.

Критерії оцінювання кожного запитання контрольної роботи:

  • 9-10 балів  –  відповідь вірна, повна, добре аргументована;
  • 7-8 балів – відповідь вірна, розгорнута, але не дуже добре аргументована;
  • 5-6 балів – в цілому відповідь вірна, але має недоліки;
  • 3-4 балів – у відповіді є незначні помилки;
  • 1-2 бали – у відповіді є суттєві помилки;
  • 0 балів – немає відповіді або відповідь невірна.

Максимальна кількість балів за модульну контрольну роботу:

10 балів × 5 запитань = 50 балів.

Рейтингова шкала з дисципліни дорівнює:

R = RС = 50 балів + 50 балів = 100 балів.

Календарний контроль: проводиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.

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

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

Семестровий контроль: залік

Умови допуску до семестрового контролю:

При семестровому рейтингу (RC) не менше 60 балів та зарахуванні усіх робіт комп’ютерного практикуму, студент отримує залік «автоматом» відповідно до таблиці (Таблиця відповідності рейтингових балів оцінкам за університетською шкалою). В іншому разі він має виконувати залікову контрольну роботу.

Необхідною умовою допуску до залікової контрольної роботи є виконання і захист комп’ютерного практикуму.

Якщо студент не погоджується з оцінкою «автоматом», то може спробувати підвищити свою оцінку шляхом написання залікової контрольної роботи, при цьому його бали, отримані за семестр, зберігаються, а з двох отриманих студентом оцінок виставляється краща («м’яка» система оцінювання).

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

9. Додаткова інформація з дисципліни (освітнього компонента)

Опис матеріально-технічного та інформаційного забезпечення дисципліни

Комп'ютерний клас кафедри  радіотехнічних систем




Робочу програму навчальної дисципліни (силабус):
Складено Катін П. Ю.;
Ухвалено кафедрою РТС (протокол № № 06/22 від 14.06. 2022 р. )
Погоджено методичною комісією факультету/ННІ (протокол № 06-2023 від 2023-09-26 )