Конструювання програмного забезпечення
Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 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–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–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).