Software Development Methodologies

Major: Software Engineering
Code of subject: 7.121.01.O.002
Credits: 6.00
Department: Software
Lecturer: Maksym Seniv
Semester: 1 семестр
Mode of study: денна
Learning outcomes: PH01. Know and apply modern professional standards and other legal documents on software engineering. PH02. Evaluate and select effective methods and models for the development, implementation, maintenance of software and management of relevant processes at all stages of the life cycle. РН09. Make a reasonable choice of paradigms and programming languages for software development; apply modern software development tools in practice. PH12. Make effective organizational and managerial decisions in conditions of uncertainty and changing requirements, compare alternatives, assess risks. РН13. Configure software and control its versions and software documentation during the whole software lifecycle. PH15. Carry out software reengineering in accordance with customer requirements.
Required prior and related subjects: Corequisites: Master’s Thesis Internship
Summary of the subject: Introduction. The main models of LC software, their advantages and disadvantages. Levels of development of the company according to SMM. History of software development methodologies Iterative software development process Rational Unified Process (RUP) Essential Unified Process (EssUP) Iterative approach without functional specifications Getting Real. Iterative-incremental method of OpenUP software development Feature driven development (FDD) Rapid Application Development (RAD) methodology Iterative and incremental DSDM approach A set of concepts, principles and techniques of Agile Modeling Agile Unified Process (AUP) Group of iterative methods of software development Agile Data Method Basic concepts, advantages, disadvantages and areas of application of extreme programming (Extreme programming, XP) Scrum project management methodology Kanban project management methodology
Assessment methods and criteria: Current control: 40% (report – 10%, laboratory works – 30%, of which laboratory works #1 and #3 – 5% each, laboratory works #2 and #4 – 10% each) Exam: 60% (written part 50%, spoken part 10%) The first two laboratory works should be defended within first 8 weeks of the term. Otherwise a student gets 0 for either of labs #1 and #2 if they have been delayed. The maximum mark for each laboratory work can be obtained if a student performed the task correctly, managed to prove that they have accomplished the task with no assistance, and answered all the practical and theoretical questions properly.
Recommended books: 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с.