Інженерія програмного забезпечення та командна робота - Силабус освітнього компонента

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інформаційні управляючі системи та технології
Статус дисципліни Обов’язкова (нормативна)
Форма навчання очна(денна), заочна
Рік підготовки, семестр 2 курс, весняний семестр
Обсяг дисципліни 3 кредити / 90 годин (36 годин – лекції, 18 годин – лабораторні, 36 годин – СРС)
Семестровий контроль/ контрольні заходи Залік/залікова робота, МКР, захист лабораторних робіт
Розклад занять http://rozklad.kpi.ua
Мова викладання Українська
Інформація про керівника курсу / викладачів Лектор: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com, Лабораторні: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com,
Розміщення курсу https://classroom.google.com/c/NjYxOTIzNzg5NTA2?cjc=3u5smuj

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Опис дисципліни

Під час навчання студенти отримають теоретичні знання та практичні навички методологій розробки програмного забезпечення, командної роботи, навчаться формулювати та аналізувати вимоги до програмного забезпечення, проєктувати, розробляти та тестувати програмне забезпечення для вирішення практичних і наукових задач в області інформаційних систем і технологій.

Метою навчальної дисципліни

є формування та закріплення у студентів наступних загальних компетентностей: (ЗК2) Здатність застосовувати знання у практичних ситуаціях; (ЗК3) Здатність до розуміння предметної області та професійної діяльності; (ЗК8) Здатність оцінювати та забезпечувати якість виконуваних робіт; а також наступних фахових компетентностей: (ФК2) Здатність застосовувати стандарти в області інформаційних систем та технологій при розробці функціональних профілів, побудові та інтеграції систем, продуктів, сервісів і елементів інфраструктури організації; (ФК3) Здатність до проєктування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (ІоТ), комп’ютерноінтегрованих систем та системної мережної структури, управління ними; (ФК4) Здатність проєктувати, розробляти та використовувати засоби реалізації інформаційних систем, технологій та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші); (ФК5) Здатність оцінювати та враховувати економічні, соціальні, технологічні та екологічні фактори на всіх етапах життєвого циклу інфокомунікаційних систем; (ФК6) Здатність використовувати сучасні інформаційні системи та технології (виробничі, підтримки прийняття рішень, інтелектуального аналізу даних та інші), методики й техніки кібербезпеки під час виконання функціональних завдань та обов’язків; (ФК7) Здатність застосовувати інформаційні технології у ході створення, впровадження та експлуатації системи менеджменту якості та оцінювати витрати на її розроблення та забезпечення; (ФК8) Здатність управляти якістю продуктів і сервісів інформаційних систем та технологій протягом їх життєвого циклу; (ФК9) Здатність розробляти бізнес-рішення та оцінювати нові технологічні пропозиції; (ФК10) Здатність вибору, проєктування, розгортання, інтегрування, управління, адміністрування та супроводжування інформаційних систем, технологій та інфокомунікацій, сервісів та інфраструктури організації.

Предмет навчальної дисципліни:

методи та підходи, що використовуються при командній роботі, аналізі вимог, проектуванні, реалізації, тестуванні, впровадженні та експлуатації інформаційних систем та технологій.

Програмні результати навчання, на формування та покращення яких спрямована дисципліна:

(ПРН3) Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп’ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проєктування і використання інформаційних систем та технологій; (ПРН5) Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій; (ПРН8) Застосовувати правила оформлення проєктних матеріалів інформаційних систем та технологій, знати склад та послідовність виконання проєктних робіт з урахуванням вимог відповідних нормативно-правових документів для запровадження у професійній діяльності; (ПРН15) Знати та застосовувати професійні стандарти і інші нормативно-правові документи в галузі інформаційних систем та технологій; (ПРН17) Знати методології та технології проєктування та реалізації інформаційних управляючих систем та технологій підтримки прийняття рішень. Вміти використовувати існуючі засоби, компоненти та технології для побудови інформаційних управляючих систем та технологій підтримки управлінських рішень; (ПРН18) Знати спеціалізовані мови та технології програмування необхідні для розробки програмного забезпечення інформаційних управляючих систем та технологій підтримки прийняття рішень. Розробляти відповідне програмне забезпечення, що входить до складу інформаційних управляючих систем та технологій підтримки прийняття рішень.

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Пререквізити

мати знання з дисциплін:

Постреквізити

отримані знання використовуються для вивчення дисциплін

Зміст навчальної дисципліни

Розділ 1. Розробка програмного забезпечення Тема 1.1 Методології розробки програмного забезпечення Тема 1.2 Гнучкі методології розробки програмного забезпечення Розділ 2. Комунікація і командна робота Тема 2.1 Види та технології комунікації Тема 2.2 Командна робота Розділ 3. Процес інженерії вимог до ПЗ Тема 3.1. Визначення вимог до ПЗ Тема 3.2. Документування вимог Тема 3.3. Аналіз та узгодження вимог Тема 3.4. Управління вимогами Розділ 4. Проєктування ПЗ Тема 4.1 Методології проєктування програмного забезпечення Тема 4.2 Структурний підхід до проєктування ПЗ Тема 4.3 Об’єктно-орієнтований підхід до проєктування ПЗ Розділ 5. Тестування ПЗ Тема 5.1 Основні поняття тестування ПЗ Тема 5.2 Види та методи тестування Тема 5.3 Мануальне тестування Тема 5.4 Модульне та інтеграційне тестування Тема 5.5 Автоматизоване тестування Тема 5.6 Розробка ПЗ через тестування Тема 5.7 Забезпечення якості ПЗ

Навчальні матеріали та ресурси

Базова література

  1. Максвел К. Джон П’ять рівнів лідерства.: Пер. з англ. Т. Куріпко. – Х.: Вид-во «Ранок» : «Фабула», 2019. – 304 с.
  2. Бродкіна І, Бродкін Г. Інженерія програмного забезпечення. – «Центр навчальної літератури», 2018. – 204 с.
  3. Грицюк Ю. Аналіз вимог до програмного забезпечення. – «Львівська політехніка», 2018. – 456с.
  4. Rod Stephens. Beginning Software Engineering. – Wiley, 2022. – 720p.
  5. Ralf Bierig. Essentials of Software Testing. – Cambridge University Press, 2022. – 324p.

Допоміжна література

  1. Cohn Mike. Agile Estimating and Planning.: Pearson; 1st edition. 2005. – 360 р.
  2. Frank Tsui. Essentials of Software Engineering. — Jones & Bartlett Learning, 2022. – 450 р.
  3. Gayathri Mohan. Full Stack Testing: A Practical Guide for Delivering High Quality Software. — O'Reilly Media, 2022. – 405 р.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Лекційні заняття

Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1 Тема 1.1 Методології розробки програмного забезпечення
Структура дисципліни та РСО. Основні поняття дисципліни. Основні міжнародні стандарти життєвого циклу розробки програмного продукту. Життєвий циклу ПЗ. Типи методологій розробки програмних продуктів. Водоспадна модель, ітеративна, спіральна модель та інші. Традиційні та гнучкі моделі розробки.
2 Тема 1.2 Гнучкі методології розробки програмного забезпечення
Поняття та принципи гнучкої розробки ПЗ. Моделі розробки програмних продуктів Scrum, Kanban, Scrumban, розробка з відкритим кодом. Організація роботи за методологією Scrum.
3 Тема 2.1 Види та технології комунікації
Поняття комунікації. Види комунікацій. Типи спілкування. Стимулювання комунікацій, мотивування членів команди.
4 Тема 2.2 Командна робота
Становлення команд. Види команд. Формування навичок командної роботи. Управління командою. Оптимізація командної роботи.
5 Тема 3.1 Визначення вимог до ПЗ
Загальні етапи процесу інженерії вимог. Етап виявлення вимог. Типи вимог. Рівні вимог. Функціональні та нефункціональні вимоги. Методи виявлення та формування вимог.
6 Тема 3.2 Документування вимог
Основні стандарти документування вимог. Способи та інструменти для документування вимог. Процес документування вимог.
7 Тема 3.3 Аналіз та узгодження вимог
Аналіз вимог, їх завершеності. Виявлення конфліктних вимог. Матриця перевірки вимог. Пріоритети та ієрархія вимог.
8 Тема 3.4 Управління вимогами
Перша частина модульної контрольної роботи. Управління ризиками та типи ризиків. Методи та задачі управління вимогами. Відслідковування та обробка змін вимог.
9 Тема 4.1 Методології проєктування програмного забезпечення
Сучасні методології проєктування ПЗ. Вибір різних типів технологій проєктування ПЗ. Інструментарій, що підтримує процес проєктування ПЗ.
10 Тема 4.2 Структурний підхід до проєктування ПЗ
Поняття декомпозиції. Принцип ієрархічного впорядкування. Принцип абстрагування. Принцип формалізації. Принцип структурування даних.
11 Тема 4.3 Об’єктно-орієнтований підхід до проєктування ПЗ
Основні поняття об’єктно-орієнтованого підходу до проєктування ПЗ. Діаграма використання. Діаграма діяльності. Діаграми послідовності, комунікації. Діаграми компонентів, розгортання. Нотація BPMN. Мова UML. Патерни проєктування.
12 Тема 5.1 Основні поняття тестування ПЗ
Друга частина модульної контрольної роботи. Основні поняття та концепції тестування ПЗ. Критерії повноти тестування. Стандарти тестування.
13 Тема 5.2 Види та методи тестування
Види та методи тестування, їх особливості і порівняння. Бета тестування. Інтеграційне тестування. Системне тестування. Технології для проведення тестування.
14 Тема 5.3 Мануальне тестування
Основні поняття мануального тестування. Підходи до його проведення та особливості застосування.
15 Тема 5.4 Модульне та інтеграційне тестування
Основні поняття модульного та інтеграційного тестувань. Підходи до їх проведення та основні відмінності.
16 Тема 5.5 Автоматизоване тестування
Види автоматизованого тестування. Основні підходи до проведення автоматизованого тестування. Інструментарій для автоматизованого тестування.
17 Тема 5.6 Розробка ПЗ через тестування
Застосування технології Test-Driven Development для тестування ПЗ. Особливості, підходи і інструментарій.
18 Тема 5.7 Забезпечення якості ПЗ
Основні поняття якості ПЗ. Стандарти забезпечення якості. Методи забезпечення та методи контролю якості.

Лабораторні заняття

Назва лабораторної роботи Кількість ауд. годин
1 Комунікація в команді. Визначення та розподіл ролей в команді 2
2 Гнучкі методології розробки ПЗ 2
3 Виявлення та формування вимог до ПЗ 2
4 Управління вимогами 2
5 Структурний підхід до проєктування ПЗ 2
6 Об’єктно-орієнтований підхід до проєктування ПЗ 2
7 Мануальне тестування ПЗ 2
8 Модульне та інтеграційне тестування ПЗ 2
9 Підсумкове заняття 2

Самостійна робота студента/аспіранта

Вид самостійної роботи Кількість годин СРС
1 Підготовка до лабораторних робіт 15
2 Підготовка до МКР 6
3 Опрацювання теоретичного матеріалу 15

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Система вимог, які ставляться перед студентом:

  • правила відвідування занять: заборонено оцінювати присутність або відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та лабораторних заняттях;
  • на лекції викладач користується власним презентаційним матеріалом; використовує гугл-диск для викладання матеріалу поточної лекції, додаткової інформації, завдань до лабораторних робіт та інше;
  • питання на лекції задаються у відведений для цього час;
  • звіти з лабораторних робіт завантажуються напередодні захисту; для захисту лабораторної роботи необхідно продемонструвати роботу відповідної завданню програми та відповісти на питання щодо програми та контрольні питання;
  • модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат завантажується у файлі через гугл-форму до відповідної директорії гугл-диску;
  • заохочувальні бали виставляються за: участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо. Кількість заохочуваних балів не більше 10;
  • штрафні бали виставляються за: несвоєчасне подання лабораторних робіт до захисту без поважних причин; переписування модульної контрольної роботи. Кількість штрафних балів не більше 10.

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Поточний контроль: МКР, виконання та захист лабораторних робіт. Календарний контроль: проводиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу. Семестровий контроль: залік. Умови допуску до семестрового контролю: виконані та захищені лабораторні роботи, написана модульна контрольна робота. Якщо семестровий рейтинг не менше 60 балів, то залік виставляється автоматично, інакше — студент допускається до залікової контрольної роботи.

Рейтинг студента складається з балів, що він отримує за:

  1. виконання та захист лабораторних робіт;
  2. виконання модульної контрольної роботи;
  3. заохочувальні та штрафні бали.

Система рейтингових балів та критерії оцінювання

Лабораторні завдання
  • «відмінно», пповна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації), повне виконання завдання лабораторної роботи – 9 балів;
  • «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації), повне виконання завдання лабораторної роботи – 7-8 балів;
  • «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки у виконанні завдання лабораторної роботи – 5-6 балів;
  • «незадовільно», незадовільна відповідь та/або значні помилки у виконання завдання лабораторної роботи – 0 балів.

За запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.

Модульні контрольні роботи
  • «відмінно», повна відповідь (не менш ніж 90% потрібної інформації), завдання виконано без помилок, дії обґрунтовано – 14 балів;
  • «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), завдання виконано без значних помилок – 10-13 балів;
  • «задовільно», неповна відповідь, в деяких завданнях можуть бути присутні значні помилки, але не менше 60% виконано правильно – 7-9 балів;
  • «незадовільно», незадовільна відповідь (неправильне виконання завдань), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали

за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо) 1-2 бали, але в сумі не більше 10.

Штрафні бали

штрафні бали виставляються за: несвоєчасне подання до захисту лабораторних робіт без поважних причин; переписування модульної контрольної роботи. Кількість штрафних балів не більше 10.

Календарний контроль

За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 32 бали (2 лабораторних роботи, перша частина модульної контрольної роботи). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 16 балів.

За результатами 13 тижнів навчання максимально можлива кількість балів – 59 балів (5 лабораторних робіт, перша частина модульної контрольної роботи). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 30 балів.

Максимальна сума вагових балів контрольних заходів протягом семестру складає:

RD = 8*rл.р.+2*rмкр+ (rз - rш)=8*9+2*14+(rз - rш)=100 + (rз - rш), де rл.р. – бал за лабораторну роботу (0…9); rмкр – бал за написання МКР (0…14); rз – заохочувальні бали (0…10); rзш – штрафні бали (0…10);.

Залік

Студенти, які виконали всі умови допуску до семестрової атестації (написали всі модульні контрольні, виконали і захистили всі лабораторні роботи) та набрали протягом семестру необхідну кількість балів (RD ≥ 60), отримують залікову оцінку (залік) автоматично відповідно до набраного рейтингу (табл. 1, що наведена нижче). У такому разі до заліково-екзаменаційної відомості вносяться бали RD та відповідні оцінки. Студенти, які набрали протягом семестру менше ніж 60 балів та не мають заборгованостей, зобов’язані виконувати залікову контрольну роботу. Залікова контрольна робота містить п’ять питань. Кожне питання оцінюється у 20 балів. Студентам, які протягом семестру набрали більш ніж 60 балів та виконали всі умови допуску, надається можливість виконувати залікову контрольну роботу з метою підвищення оцінки. В такому разі, попередній рейтинг студента з кредитного модуля скасовується і він отримує оцінку з урахуванням результатів залікової контрольної роботи (табл. 1, що наведена нижче).

Система оцінювання питань
  • «відмінно», повна відповідь (не менше 90% потрібної інформації) – 18-20 балів;
  • «добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 15-17 балів;
  • «задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 12-14 балів;
  • «незадовільно», незадовільна відповідь – 0-11 балів.

Сума набраних балів RD або балів за залікову роботу переводиться до залікової оцінки згідно з таблицею:

Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів Оцінка
100-95 Відмінно
94-85 Дуже добре
84-75 Добре
74-65 Задовільно
64-60 Достатньо
Менше 60 Незадовільно
Не виконані умови допуску Не допущено

Додаткова інформація з дисципліни (освітнього компонента)

Робочу програму навчальної дисципліни (Силабус): Складено ст. викладач, Тимофєєва Юлія Сергіївна Ухвалено кафедрою інформаційних систем та технологій ФІОТ (протокол № 16 від 12.06.2024 р.) Погоджено Методичною комісією факультету (протокол № 10 від 21.06.2024 р.)