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

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