Методології розробки програмного забезпечення

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 7.121.01.O.003
Кількість кредитів: 6.00
Кафедра: Програмне забезпечення
Лектор: Сенів Максим Михайлович
Семестр: 1 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою вивчення навчальної дисципліни є оволодіння студентами методологіями розроблення програмного забезпечення та вміння вибирати з них найоптимальнішу при розробці заданого типу програмного продукту.
Завдання: Здатність ефективно розв’язувати спеціалізовані задачі та практичні проблеми інноваційного характеру під час професійної діяльності, пов’язаної зі всіма аспектами виробництва програмного забезпечення від початкових стадій створення специфікації до супроводу системи після здачі в експлуатацію. Здатність проєктувати архітектуру програмного забезпечення, моделювати процеси функціонування окремих підсистем і модулів. Здатність розробляти, аналізувати та застосовувати специфікації, стандарти, правила і рекомендації в сфері інженерії програмного забезпечення. Здатність розробляти і координувати процеси, етапи та ітерації життєвого циклу програмного забезпечення на основі застосування сучасних моделей, методів та технологій розроблення програмного забезпечення. Здатність забезпечувати якість програмного забезпечення.
Результати навчання: РН01. Знати і застосовувати сучасні професійні стандарти і інші нормативно-правові документи з інженерії програмного забезпечення. РН02. Оцінювати і вибирати ефективні методи і моделі розроблення, впровадження, супроводу програмного забезпечення та управління відповідними процесами на всіх етапах життєвого циклу. РН09. Обґрунтовано вибирати парадигми і мови програмування для розроблення програмного забезпечення; застосовувати на практиці сучасні засоби розроблення програмного забезпечення. РН12. Приймати ефективні організаційно-управлінські рішення в умовах невизначеності та зміни вимог, порівнювати альтернативи, оцінювати ризики. РН13. Конфігурувати програмне забезпечення, керувати його змінами та розробленням програмної документації на всіх етапах життєвого циклу. РН15. Здійснювати реінжиніринг програмного забезпечення відповідно до вимог замовника.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Кореквізити: Практика за темою магістерської кваліфікаційної роботи
Короткий зміст навчальної програми: В межах курсу «Методології розробки програмного забезпечення» розглядаються найбільш поширені методології розробки програмного забезпечення, їхні основні переваги та недоліки. Основну увагу приділено сімейству Agile-процесів, екстремальному програмуванню, методологіям Scrum та Kanban.
Опис: Вступ. Основні моделі ЖЦ ПЗ, їх переваги та недоліки. Рівні розвитку компанії за СММ. Історія розвитку методологій розробки програмного забезпечення. Ітеративний процес розробки програмного забезпечення Rational Unified Process( RUP). Основні поняття Essential Unified Process (EssUP). Ітераційний підхід без функціональних специфікацій Getting Real. Ітераційно-інкрементний метод розробки програмного забезпечення OpenUP. Функціонально-орієнтована розробка Feature driven development (FDD). Методологія швидкої розробки додатків Rapid Application Development (RAD). Ітеративний та інкрементний підхід DSDM. Набір понять, принципів і прийомів Agile Modeling. Agile Unified Process (AUP) Група ітеративних методів розробки програмного забезпечення Agile Data Method. Основні поняття, переваги, недоліки та області застосування екстремального програмування (Extreme programming, XP). Методологія управління проектами Scrum Методологія управління проектами Kanban
Методи та критерії оцінювання: Контрольні заходи. Тести. Захист лабораторних робіт. Екзаменаційний контроль (письмова компонента, усна компонента).
Критерії оцінювання результатів навчання: Поточний контроль: 40% (доповідь – 10%, лабораторні роботи – 30%, з них лабораторні роботи №1 і №3 – по 5%, №2 і №4 – по 10%) Екзаменаційний контроль: 60% (письмова компонента 50%, усна компонента 10%) Перші дві роботи мають бути захищені в перші 8 тижнів семестру. Інакше вони оцінюються в нуль балів. Максимальні бали за кожну з лабораторних робіт виставляються за умови правильного виконання, доведеної самостійності виконання та правильних відповідей на уточнюючі запитання за практичною складовою роботи та на теоретичні запитання.
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: 1. Девід Дж. Андерсон: Канбан – Харків. – 2021. – 288с 2. Д. Сазерленд: Scrum. Навчись робити вдвічі більше за менший час – Харків. – 2016. – 280с. 3. James Shore, Shane Warden. The Art of Agile Development. — O’Reilly. — 2007. — 440 p. 4. Сенів М. М. Засіб для підбору методології розроблення програмного забезпечення з урахуванням метрик проєкту // Науковий вісник НЛТУ України: збірник науково-технічних праць. – 2021. – Т. 31, № 3. – С. 120–125. 5. Symets I., Yakovyna V., Seniv M. The relation between software development methodologies and factors affecting software reliability // Комп’ютерні науки та інформаційні технології: матеріали XV Міжнародної науково-технічної конференції CSIT-2020 (Збараж, 23–26 вересня 2020 р.). – 2020. – C. 377–381. (Scopus) 6. Torgeir Dingsoyr, Tore Dyba, Nils Brede Moe. Agile Software Development: Current Research and Future Directions. — Springer. — 2010. — 240 p. 7. Кент Бек: Экстремальное программирование — Питер. – 2002. – 215с. 8. Кент Бек: Экстремальное программирование: разработка через тестирование — Питер. – 2003. – 224с. 9. Кен Ауэр, Рой Миллер: «Экстремальное программирование: постановка процесса с первых шагов и до победного конца» — Питер. – 2004. – 368с.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).