Конструювання програмного забезпечення
Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.030
Кількість кредитів: 5.00
Кафедра: Програмне забезпечення
Лектор: Сердюк П.В.
Семестр: 5 семестр
Форма навчання: денна
Завдання: Інтегральна компетентність:
ІНТ - Здатність розв’язувати складні спеціалізовані завдання або практичні проблеми інженерії програмного забезпечення, що характеризуються комплексністю та невизначеністю умов, із застосуванням теорій та методів інформаційних технологій.
cпеціальні компетентності:
К20 - Здатність застосовувати і розвивати фундаментальні і міждисциплінарні знання для успішного розв’язання завдань інженерії програмного забезпечення,
К24 - Здатність здійснювати процес інтеграції системи, застосовувати стандарти і процедури управління змінами для підтримки цілісності, загальної функціональності і надійності програмного забезпечення,
К25 - Здатність обґрунтовано обирати та освоювати інструментарій з розробки та супроводження програмного забезпечення
Результати навчання: В результаті вивчення дисципліни, фахівець повинен знати:
- особливості конструювання різних архітектур програмного забезпечення;
- парадигми мов програмування, основи теорії компіляторів;
- можливості мови програмування C# та окремих її вбудованих бібліотек, зокрема, допоміжних бібліотек для створення клієнтських web-додатків;
- сучасні тенденції у області конструювання програмного забезпечення.
Підготовлений фахівець повинен вміти:
- застосовувати на практиці елементи конструювання програмного забезпечення: для розроблення різного виду додатків використовуючи .Net технології;
- розробляти програмні модулі для роботи з базами даних, бізнес логікою, клієнтськими додатками у середовищі Visual Studio.
У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання:
ПР07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення.
ПР12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення.
ПР13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПР14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення.
ПР15. Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення.
ПР17. Вміти застосовувати методи компонентної розробки програмного забезпечення.
ПР19. Знати та вміти застосовувати методи верифікації та валідації програмного забезпечення.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Пререквізити:
Об’єктно-орієнтоване програмування
Кореквізити:
Аналіз вимог до програмного забезпечення
Короткий зміст навчальної програми: Вступ у мову програмування C#. Масиви та колекції у С#. Шаблони Generic. Делегати та події. Мова інтегрованих запитів LINQ.Доступ до баз даних, та конвертування реляційного представлення у об’єктне. Розробка застосувань із використанням технології WPF.
Опис: Лекції:
Тема 1. Визначення Git та його основних функцій.
Тема 2. Визначення тестування одиниць (Unit testing).
Тема 3. Вступ до WinUI, WPF та MAUI: історія та основні характеристики.
Тема 4. Вступ до Entity Framework. Опис фреймворку, історія та основні поняття.
Тема 5. Вступ до Web API. Опис фреймворку, його історія та основні поняття.
Лабораторні:
Тема 1. Ознайомча конкурсна лабораторна. Платформа .Net: рішення, проекти, збірки. Вступ до інтерфейсів та класів, події, делегати. Автоматизоване тестування за допомогою NUnit.
Тема 2. Конструювання клієнтського інтерфейсу у середовищі .Net за допомогою технології WPF.
Object-object-mapping на прикладі Automapper.
Тема 3. Конструювання модулів доступу до баз даних в середовищі .Net за допомогою ADO.Net, LinqToSql, ADO.Net Entity Framework.
Тема 4. Конструювання клієнт - серверного застосування у середовищі .Net. Розробка WebAPI. Dependancy injection у .Net core. MVC модель. Routing, валідація даних, Action Filters.
Тема 5. Платформа Angular для розробки web-застосунків. Основні команди Angular CLI, NG, NPM. Створення стилів, Bootstrap; Генерування модулів, компонент та інші елементів фреймворку за допомогою команд CLI. Файли налаштувань зв’язування, такі як angular.json, package.json, eslint.json.
Методи та критерії оцінювання: Поточний контроль - 45 % (Лабораторні заняття)
Екзаменаційний контроль - 55 % (Письмова та усна компонента)
Критерії оцінювання результатів навчання: Максимальна оцінка в балах
Поточний контроль (ПК) Екзаменаційний контроль
Лабораторні роботи - 45 балів письмова компонента - 50 балів, усна компонент- 5 балів
Порядок та критерії виставляння балів та оцінок:
1) Захист лабораторних робіт включає демонстрацію програм, створених за індивідуальним варіантом, оформлення письмових звітів до лабораторних робіт.
2) Усне опитування відбувається на лабораторних заняттях та під час здачі екзамену. Опитування здійснюється за питаннями зі сформованих списків до кожної лабораторної роботи та екзамену.
3) Тестування відбувається у ВНС під час контрольного заходу (поточного опитування) та під час екзамену.
4) Екзамен складається з письмової компоненти (тест) та усної компоненти (індивідуальне опитування).
Максимальні оцінки лабораторних робіт:
1. Конкурсна лабораторна робота Robot Challenge. Робота з збірками, Unit tests, та ін ( 15 балів).
2. Технологія WPF, Automapper (10 балів)
3. Data access through ORM and ADO.Net (10 балів)
4. Web-API. Net core Dependency Injection (10 балів)
5. Платформа Angular (10 балів)
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: 1. Трей Нэш. C# 2008. Ускоренный курс для профессионалов.- Издательский дом “Вильямс”, 2008.
2. А. В. Фролов, Г. В. Фролов. Язык C# -самоучитель - Издательство “Диалог-МИФИ”, Москва, 2003.
3. Эндрю Троелсен. C# и платформа .Net – Издательство “Питер”, 2004.
4. Герберт Шилдт. C# Учебный Курс. – Издательство “Питер”, 2003.
5. Paolo Pialors, Marco Russo. Introducing Micrisoft LINQ. – Microsoft Press, 2007.
6. Peter DeBetta. Introducing SQL Server 2008. – Microsoft Press, 2008.
7. Daniel Solis. Illustrated C# 2008.- Apress, 2008.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).