ЖИТТЄВИЙ ЦИКЛ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи |
Статус дисципліни | Вибіркова |
Форма навчання | очна (денна) |
Рік підготовки, семестр | 3 курс, осінній семестр |
Обсяг дисципліни | 4 кредити / 120 годин (36 годин – Лекції, 18 годин – Лабораторні, 66 годин – СРС) |
Семестровий контроль/ контрольні заходи | Залік, МКР, захист лабораторних робіт |
Розклад занять | 1 лекція (2 години) - 1 раз на тиждень 1 лабораторна робота (2 години) - 1 раз на два тижні |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів | Лектор: к.т.н., Галушко Дмитро Олександрович: dmytro.halushko@kpi.ua Практика: PhD, Альбрехт Йосип Омелянович: yosyp.albrekht@gmail.com |
Розміщення курсу | https://classroom.google.com/c/NjIyNjQwNjA1NTg1?cjc=7jo5vcj |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Опис дисципліни
Силабус навчальної дисципліни “Життєвий цикл розробки програмного забезпечення” передбачає виконання навчальних завдань та практик програмування. Предмет розглядає ключові аспекти створення програмних продуктів, починаючи з їхньої концепції та завершуючи розгортанням і підтримкою. У рамках цього предмету студенти ознайомляться з різними моделями та методологіями розробки програмного забезпечення, включаючи Agile-підходи та класичні методи. Вони дізнаються, як планувати, аналізувати, проектувати, розробляти, тестувати та керувати програмними проектами, а також як забезпечити їхню безпеку та підтримку на різних етапах життєвого циклу. Цей предмет спрямований на формування глибокого розуміння процесів розробки програмного забезпечення та навичок, які дозволять студентам стати висококваліфікованими інженерами програмного забезпечення, здатними ефективно впроваджувати інноваційні рішення у світі інформаційних технологій.
Завдяки поєднанню лекцій і лабораторних робіт студенти отримають практичний досвід побудови надійної ІТ-інфраструктури.
Предмет навчальної дисципліни
Предмет полягає в вивченні та розумінні процесів, методів та підходів, пов'язаних із створенням програмного забезпечення від початкової ідеї до його завершення та підтримки.
Мета навчальної дисципліни
Ця дисципліна спрямована на підготовку студентів до роботи в області програмної інженерії та дозволяє їм стати компетентними фахівцями у сфері розробки програмного забезпечення, здатними ефективно керувати процесом розробки та створювати високоякісні програмні продукти.
Завдання навчальної дисципліни
Завданням навчальної дисципліни є навчити студентів розуміти та виконувати всі етапи життєвого циклу програмного забезпечення.
Пререквізити та постреквізити дисципліни
Пререквізити
Для успішного засвоєння дисципліни студент повинен володіти освітніми компонентами «Програмування. Частина 1», «Програмування. Частина 2», «Комп'ютерні мережі.»
Постреквізити
Отримані при засвоєнні дисципліни теоретичні знання та практичні уміння забезпечують успішне виконання курсових проєктів та бакалаврських робіт за спеціальністю 121 Інженерія програмного забезпечення
Зміст навчальної дисципліни
Очна форма
Лекційні заняття
- Розділ 1. Вступ та основні поняття:
- Тема 1.1. Вступ до життєвого циклу розробки програмного забезпечення
- Тема 1.2. Моделі життєвого циклу розробки ПЗ: класичні та Agile підходи.
- Розділ 2. Планування та аналіз:
- Тема 2.1. Вимоги та аналіз в життєвому циклі розробки
- Тема 2.2. Проектування програмного забезпечення: методи та підходи
- Розділ 3. Розробка та тестування:
- Тема 3.1. Розробка програмного забезпечення: методології та інструменти
- Тема 3.2. Тестування та якість програмного забезпечення
- Розділ 4. Управління проектами та процесами:
- Тема 4.1. Керування конфігурацією та версіонування ПЗ
- Тема 4.2. Управління проектами в життєвому циклі розробки
- Розділ 5. Підтримка та захист:
- Тема 5.1. Планування розгортання і підтримки програмного забезпечення
- Тема 5.2. Безпека програмного забезпечення та захист від загроз.
- Розділ 6. Інтеграція та майбутнє:
- Тема 6.1. Архітектура програмного забезпечення: основні принципи та вибір рішень
- Тема 6.2. Процеси автоматизації в життєвому циклі розробки
- Тема 6.3. Інтеграція програмного забезпечення з іншими системами
- Тема 6.4. Тенденції та майбутнє розробки програмного забезпечення.
- Розділ 7. Підсумки:
- Тема 7.1. Підсумки
Лабораторні заняття
- SQL Developer (інсталяція та налаштування). Обробка скриптів для створення тестової БД.
- Створення даталогічної моделі за варіантом.
- Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням умов WHERE, сортування ORDER BY, та сполучень JOIN.
- Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням GROUP BY… HAVING та усіх розглянутих агрегатних функцій.
- Робота в тестовій базі даних. Відпрацювання ієрархічних запитів.
- Відпрацювання конструкцій мови PL\SQL Oracle – TRIGGERs.
- Відпрацювання конструкцій мови PL\SQL Oracle – Stored Procedures; Functions.
Навчальні матеріали та ресурси
Базова література
- Sommerville, Ian. "Software Engineering." Pearson, 2019.
- Pressman, Roger S. "Software Engineering: A Practitioner's Approach." McGraw-Hill Education, 2014.
- Martin, Robert C. "Clean Code: A Handbook of Agile Software Craftsmanship." Prentice Hall, 2008.
- McConnell, Steve. "Code Complete: A Practical Handbook of Software Construction." Microsoft Press, 2004.
- Fowler, Martin. "Refactoring: Improving the Design of Existing Code." Addison-Wesley Professional, 2018.
- Beck, Kent. "Extreme Programming Explained: Embrace Change." Addison-Wesley Professional, 2004.
- Ambler, Scott W. "Introduction to UML 2 Activity Diagrams." Scott Ambler & Associates, 2009.
- Головенко, А. А., Олійник, О. Ю., Павленко, М. О. "Проєктування програмного забезпечення." Видавництво НТУУ "КПІ", 2020.
- Семенов, О. М. "Сучасні методології розробки програмного забезпечення." Видавництво Львівської політехніки, 2018.
- Іваненко, І. В. "Об’єктно-орієнтоване програмування та UML." Видавництво НАУ, 2019.
- Кравець, О. А. "Тестування програмного забезпечення." Видавництво Харківського університету, 2021.
- Чорний, Ю. О. "Основи інженерії програмного забезпечення." Київський університет імені Тараса Шевченка, 2020.
Допоміжна література
- Brooks, Frederick P. "The Mythical Man-Month: Essays on Software Engineering." Addison-Wesley Professional, 1995.
- Cohn, Mike. "User Stories Applied: For Agile Software Development." Addison-Wesley Professional, 2004.
- Boehm, Barry W. "Balancing Agility and Discipline: A Guide for the Perplexed." Addison-Wesley Professional, 2003.
- Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. "Design Patterns: Elements of Reusable Object-Oriented Software." Addison-Wesley Professional, 1994.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Лекційні заняття
№ | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 | Тема 1.1 Вступ до життєвого циклу розробки програмного забезпечення |
Основні питання: що таке життєвий цикл розробки, моделі життєвого циклу, класичні та Agile підходи. | |
2 | Тема 1.2 Моделі життєвого циклу розробки ПЗ: класичні та Agile підходи. |
Основні питання: порівняння класичних і Agile методологій, їх характеристики, вплив на проекти та вибір підходу. | |
3 | Тема 2.1 Вимоги та аналіз в життєвому циклі розробки. |
Основні питання: формування вимог, аналіз потреб, важливість специфікації. | |
4 | Тема 2.2 Проектування програмного забезпечення: методи та підходи |
Основні питання: методи та підходи до проектування програмного забезпечення. | |
5 | Тема 3.1. Розробка програмного забезпечення: методології та інструменти. |
Основні питання: використання методологій та інструментів у розробці ПЗ. | |
6 | Тема 3.2 Тестування та якість програмного забезпечення |
Основні питання: тестування та забезпечення якості програмного забезпечення. | |
7 | Тема 4.1 Керування конфігурацією та версіонування ПЗ. |
Основні питання: управління версіями та контроль програмного забезпечення. | |
8 | Тема 4.2. Управління проектами в життєвому циклі розробки |
Основні питання: керування проектами у розробці програмного забезпечення. | |
9 | Тема 5.1. Планування розгортання і підтримки програмного забезпечення |
Основні питання: бекенд сервіси, їх специфіка | |
10 | Тема 5.2. Безпека програмного забезпечення та захист від загроз. |
Основні питання: забезпечення безпеки та захисту програмного забезпечення. | |
11 | Тема 6.1 Архітектура програмного забезпечення: основні принципи та вибір рішень |
Основні питання: принципи архітектури ПЗ та вибір рішень для створення | |
12 | Тема 6.2. Процеси автоматизації в життєвому циклі розробки |
Основні питання: автоматизація процесів у життєвому циклі розробки ПЗ | |
13 | Тема 6.3 Інтеграція програмного забезпечення з іншими системами. |
Основні питання: інтеграція програмного забезпечення з іншими системами | |
14 | Тема 6.4 Тенденції та майбутнє розробки програмного забезпечення. |
Основні питання: тенденції та майбутнє розробки програмного забезпечення. | |
16 | Тема 7.1 Підсумки |
Основні питання: підбиття підсумків курсу |
Лабораторні заняття
№ з/ п | Перелік лабораторних робіт |
---|---|
1 | Лабораторна робота 1. Розробка вимог для програмного продукту. |
Студенти вивчатимуть процес визначення та документування вимог до програмного продукту, навчаться створювати вимоги, які будуть в основі подальшої розробки. | |
2 | Лабораторна робота 2. Планування та створення прототипу програмного продукту |
Студенти ознайомляться з методами планування проекту та створенням прототипів за допомогою Docker-контейнерів, що допоможе в їхній практичній роботі. | |
3 | Лабораторна робота 3. Моделювання процесів та структури програмного забезпечення |
Студенти опановуватимуть навички моделювання процесів та структури програмного забезпечення, використовуючи спеціалізовані інструменти | |
4 | Лабораторна робота 4. Практичний аспект роботи зі збіркою, релізом та публікацією ПЗ |
Студенти дізнаються, як підготувати програмний продукт до релізу, налаштувати збірку та публікацію за допомогою практичних прикладів | |
5 | Лабораторна робота 5. Розробка та тестування компонентів програмного продукту |
Учасники виконають розробку та тестування окремих компонентів програмного продукту, навчаться виявляти та усувати помилки. | |
6 | Лабораторна робота 6. Управління проектом розробки програмного забезпечення |
Студенти здобудуть практичні навички управління проектом розробки програмного забезпечення, включаючи планування, контроль та комунікацію в команді. |
Матеріали до лекційних, практичних занять та лабораторних робіт доступні для завантаження за посиланням: https://classroom.google.com/c/NjIyNjQwNjA1NTg1?cjc=7jo5vcj
Самостійна робота студента/аспіранта
№ з/ п | Вид самостійної роботи | Кількість годин СРС |
---|---|---|
1 | Підготовка до лабораторних робіт | 56 |
2 | Підготовка до МКР | 10 |
Всього | 66 |
Контрольні роботи
Двогодинна модульна контрольна робота (МКР) поділяється на дві одногодинні (45 хв.), що проводяться під час лекційних занять.
Робота | Опис |
---|---|
МКР-1 | виконується після вивчення тем 1.1 - 2.6. |
МКР-2 | виконується після вивчення тем 3.1 - 3.4. Модульні контрольні роботи виконуються в середовищі Google Classroom у вигляді тестування. |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
- правила відвідування занять: заборонено оцінювати присутність або відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та практичних заняттях;
- модульні контрольні роботи виконуються без застосування допоміжної інформації з Інтернет, дистанційного курсу на платформі Сікорський, конспекта;
- заохочувальні бали виставляються за навчальну активність на лекційних заняттях. Кількість заохочуваних балів не більше 10;
- штрафні бали виставляються за невчасну здачу лабораторних робіт. Кількість штрафних балів не більше 10;
- політика щодо академічної доброчесності: Кодекс честі Національного технічного університету України «Київський політехнічний інститут імені Ігоря Сікорського» https://kpi.ua/files/honorcode.pdf встановлює загальні моральні принципи, правила етичної поведінки осіб та передбачає політику академічної доброчесності для осіб, що працюють і навчаються в університеті, якими вони мають керуватись у своїй діяльності, в тому числі при вивченні та складанні контрольних заходів з дисципліни «Інженерія даних».
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Контроль | Опис |
---|---|
Поточний контроль | МКР, виконання та захист лабораторних робіт. |
Календарний контроль: | Проводиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу. |
Семестровий контроль: | Залік. |
Рейтинг студента з дисципліни складається із балів стартового рейтингу (протягом семестру).
Бали стартового рейтингу протягом семестру студент отримує за:
- виконання та захист лабораторних робіт
- виконання модульних контрольних робіт.
Система рейтингових балів та критерії оцінювання
Лабораторні роботи
«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної
інформації) та оформлений належним чином протокол до лабораторної роботи – 13 балів;
«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином протокол до лабораторної роботи –
11 балів;
«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином протокол до лабораторної роботи – 8 балів; «незадовільно», незадовільна відповідь та/або не оформлений належним чином протокол до лабораторної роботи – 0 балів.
Модульні контрольні роботи
«відмінно», не менш ніж 90% правильних відповідей – 11 балів;
«добре», не менш ніж 75% правильних відповідей – 9 балів;
«задовільно», не менш ніж 60% правильних відповідей – 7 балів;
«незадовільно», менш ніж 60% правильних відповідей – 0 балів.
Заохочувальні бали
за активну роботу на лекційному занятті 1 бал, але в сумі не більше 10.
Штрафні бали
Запізнення з поданням лабораторної роботи до захисту від встановленого терміну -1 бал, але в сумі не більше -10
Календарний контроль
На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 18 балів.
На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 36 балів.
Максимальна сума балів контрольних заходів протягом семестру складає:
$$ RD = (6 \cdot r_{лаб}) + (2 \cdot r_{мкр}) = 6 \cdot 13 + 2 \cdot 11 = 100, \ $$ де: $$ r_{лаб}\text{ — бал за лабораторну роботу (0…13);} $$ $$ r_{мкр}\text{ — бал за написання МКР (0…11).} $$
Форма семестрового контролю – Залік
Необхідною умовою заліку є виконання одночасно усіх видів робіт:
- виконати МКР-1 та МКР-2 не нижче ніж на оцінку «задовільно»;
- захист усіх лабораторних робіт на оцінку не нижче ніж «задовільно»;
Залік проводиться на останньому за розкладом занятті в семестрі. Якщо стартовий рейтинг протягом семестру становить 60 балів та вище, залікова оцінка, за згодою студента, переноситься в залікову відомість. У випадку, коли семестровий рейтинг нижчий за 60 балів (усі види робіт виконані) або рейтинг вищий за 60 балів, але студент виявив бажання підвищити оцінку - призначається залікова контрольна робота. Залікова контрольна робота виконуються в середовищі Google Classroom у вигляді тестування.
Система оцінювання залікової контрольної роботи
«відмінно», не менш ніж 90% правильних відповідей – 20 балів;
«добре», не менш ніж 75% правильних відповідей – 16 балів;
«задовільно», не менш ніж 60% правильних відповідей – 12 балів;
«незадовільно», менш ніж 60% правильних відповідей – 0 балів.
Сума стартових балів плюс бали за залікову контрольну роботу переводиться до залікової оцінки згідно з таблицею:
Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів | Оцінка |
---|---|
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
Робочу програму навчальної дисципліни (Силабус):
Складено: доцент кафедри інформаційних систем та технологій ФІОТ, к.т.н., Галушко Дмитро Олександрович
Ухвалено кафедрою інформаційних систем та технологій ФІОТ (протокол №16 від 12.06.2024 р.)
Погоджено Методичною комісією факультету (протокол №11 від 21.06.2024 р.)