Моделювання та аналіз програмного забезпечення

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.024
Кількість кредитів: 5.00
Кафедра: Програмне забезпечення
Лектор: Сердюк Павло Віталійович
Семестр: 4 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою дисципліни освоєння методів та інструментів для моделювання програмного забезпечення, вивчення фундаментальних теоретичних знань і набуття практичних навичок для моделювання програмного забезпечення з використанням об’єктно-орієнтованих мов програмування. Такі знання та навички призначені для використання при розробці архітектури складних програмних додатків з урахуванням сучасних вимог у відношенні до ефективності та гнучкості розробки програмних продуктів.
Завдання: Інтегральна компетентність: ІНТ - Здатність розв’язувати складні спеціалізовані завдання або практичні проблеми інженерії програмного забезпечення, що характеризуються комплексністю та невизначеністю умов, із застосуванням теорій та методів інформаційних технологій. cпеціальні компетентності: К14 - Здатність приймати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування; К15 - Здатність розробляти архітектури, модулі та компоненти програмних систем; К20 - Здатність застосовувати і розвивати фундаментальні і міждисциплінарні знання для успішного розв’язання завдань інженерії програмного забезпечення; К25 - Здатність обґрунтовано обирати та освоювати інструментарій з розробки та супроводження програмного забезпечення.
Результати навчання: У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі результати навчання: знати особливості моделювання архітектури програмного забезпечення різного цільового призначення; твірні, структурні і поведінкові шаблона проектування GOF; сучасні тенденції у області моделювання програмного забезпечення. вміти застосовувати на практиці елементи мову моделювання програмного забезпечення UML, розробляти діаграми класів, послідовностей, і т.д. вміти застосовувати на практиці шаблони проектування у складних задачах проектування. У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання: ПР05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення. ПР11. Вибирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання. ПР12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення. ПР14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення. ПР23. Вміти документувати та презентувати результати розробки програмного забезпечення
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни: Вступ до інженерії ПЗ Супутні і наступні навчальні дисципліни: Констрування програмного забезпечення Практикум з команжної розробки ПЗ
Короткий зміст навчальної програми: Моделювання та аналіз програмного забезпечення є одним із фундаметальних предметів, який надасть змогу проектувати архітектуру та впроваджувати локальні рішення на рівні систем класів. Основні теми, як охоплює даний предмет - це паттерни проектування, антипатерни, метрики коду, принципи SOLID та інше.
Опис: Тема 1. Git Тема 2. Розробка UML діаграми прецендентів та діяльності. Тема 3. Розробка UML діаграми компонентів та діаграма розгортання. Тема 4. Розробка UML діаграми класів проекту Тема 5. Розробка UML діаграми послідовностей та діаграми кооперацій. Тема 6. Розробка архітектури MVVM. Тема 7. Твірні шаблони. Насаджування залежностей, інверсія контролю. Тема 8. Застосування структурних шаблонів. Моделювання бізнес-логіки проекту, розробка бізнес-фасаду. Тема 9. Застосування поведінкових шаблонів: Стан (State), Знімок(Memento). Серіалізація, збереження даних користувача. Тема 10. Застосування поведінкових шаблонів: Команда, Спостерігач, Відвідувач, та ін.
Методи та критерії оцінювання: 1) Захист лабораторних робіт включає демонстрацію програм, створених за індивідуальним варіантом, оформлення письмових звітів до лабораторних робіт. 2) Усне опитування відбувається на лабораторних заняттях та під час здачі екзамену. Опитування здійснюється за питаннями зі сформованих списків до кожної лабораторної роботи та екзамену. 3) Тестування відбувається у ВНС під час контрольного заходу (поточного опитування) та під час екзамену. 4) Екзамен складається з письмової компоненти (тест) та усної компоненти (індивідуальне опитування).
Критерії оцінювання результатів навчання: Протягом семестру передбачено проведення виконання 8 лабораторних робіт. Студенти, які захистили усі лабораторні роботи під час семестру - допускаються до екзамену. Перша робота стосується системи контролю версій, наступні 3 роботи стосуються навчання мови C#, 4-8 лабораторна стосується моделювання та аналізу проекту за допомогою шаблонів та мови проектування UML. Максимальні оцінки за лабораторні роботи виставляються при вчасному та успішному виконанні та захисту робіт, який включає в себе: • написання програм мовою програмування C# та демонстрація їх роботи для різних вхідних даних, • відповіді на питання про роботу програми, • модифікація програми (на вимогу викладача для підтвердження самостійності виконання роботи), • відповіді на питання викладача за темою роботи та супутніх питань по відповідній теорії. У зв’язку з воєнним станом в Україні, графік захистів є гнучким для студентів.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Крег Ларман. Застосування UML 2.0 і шаблонів проектування. Застосування UML і шаблонів: Вступ до об’єктно-орієнтованого аналізу та проектування та ітераційної розробки. — 3-е изд. — М.: Вільямс, 2006. — 736 с. 2. Джозеф Шмуллер. Свій самостійно UML 2 за 24 години. Практическое руководство. Sams Навчіть себе UML за 24 години, повний комплект для початківців. — М.: Вільямс, 2005. — 416 с. 3. Грейді Буч, Джеймс Рембо, Айвар Джекобсон. Мова UML. Руководство пользователя. Посібник користувача Unified Modeling Language. — 2-е изд. — М., СПб.: ДМК Пресс, Пітер, 2004. — 432 с. Допоміжна 1. Буч Г., Якобсон А., Рамбо Дж. UML. Класика CS. 2-е изд. / Пер. з англ.; Під загальною редакцією проф. С. Орлова — СПб.: Питер, 2006. — 736 с.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).