ТЕХНОЛОГІЇ РОЗРОБЛЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ-2. ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
---|---|
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи |
Статус дисципліни | Нормативна |
Форма навчання | очна(денна)/заочна/дистанційна |
Рік підготовки, семестр | 3 курс, осінній семестр |
Обсяг дисципліни | 120 годин (36 годин – Лекції, 18 годин – Лабораторні, 66 годин – СРС) |
Семестровий контроль/ контрольні заходи | залік |
Розклад занять | http://rozklad.kpi.ua |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: к.т.н., Амонс Олександр Анатолійович, Лабораторні: ст.викладач, Майєр Ілля |
Розміщення курсу | https://campus.kpi.ua |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Опис дисципліни. При проходженні даної дисципліни, студенти познайомляться з сучасними методологіями та підходами до розробки програмних систем, де в цьому процесі є роль тестування, на яких етапах розробки які підходи до перевірки якості використовуються. На лабораторних заняттях опанують роботу на різних етапах розробки програмних систем та перевірку якості програмних систем. В курсі передбачений контроль якості отриманих знань у вигляді експрес-контрольних та модульних контрольних робіт.
Предмет навчальної дисципліни: методології розробки програмних систем. Основні поняття інкрементальної розробки та Agail-методології. Підходи до перевірки якості програмної системи. Модульне тестування. Поняття регресійного та інтеграційного тестування.
Міждисциплінарні зв’язки. Дисципліна Бази даних базується на дисциплінах: Операційні системи; Програмування – 1. Основи програмування; Програмування – 2. Структури даних та алгоритми; Дискретна математика. Бази даних.
Мета навчальної дисципліни. Підготовка висококваліфікованих фахівців, які володіють основними підходами до організації розробки програмних систем, написання та виконання модульних та інтеграційних тестів. Організації тестування на різних фазах розробки програмної системи..
Основні завдання навчальної дисципліни
Знання:
Життевий цикл програмних продуктів;
Етапи розробки програмних систем;
Мову UML;
Методологію RUP;
Принципи екстремального програмування.
Підходи до тестування програмного коду
Уміння:
Планувати фази розробки програмних систем;
Читати та описувати моделі систем на мові UML;
Використовувати Rational Rose;
Вести розробку з використанням сучасних CASE засобів проектування та розробки;
Писати та відпрацьовувати модульні тести;
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити: мати навички розробки. Знати мову програмування C# та вміти розробляти прості застосування. Знати алгоритми та структури даних.
Постреквізити: проектування програмного застосування та вміння організувати якісну розробку та перевірку програмної системи.
Після проходження дисципліни студенти будуть вміти аналізувати предметну область, будувати діаграми з описом програмної системи. Знати етапи розробки та тестування програмної системи. Вміти вибрати метрики оцінки якості системи. Розробляти модульні тести та вміти організовувати тестування.
Зміст навчальної дисципліни
Очна форма
Лекційні заняття
Розділ 1. Вступ до сучасних технологій програмування
Тема 1.1. Сучасні методології розробки комп’ютеризованих систем
Тема 1.2. Мова проектування UML
Розділ 2. Методологія Rational Unified Process.
Тема 2.1. Вступ до RUP.
Тема 2.2. Технологічні процеси RUP.
Тема 2.3. Технологічний процес тестування.
Лабораторні заняття
1. Системи контроля версій. Розподілена система контролю версій «Mercurial».
2. Основи відладки та тестування програмних продуктів.
3. Основи відладки та тестування web-застосувань.
4. Основи прототипування та тестування користувацького інтерфейса.
5. Діаграми UML.
6. Керування якістю програмного продукта. Метрики програмного забезпечення.
7. Керування проектами. Системи керування проектами.
Заочна форма
Лекційні заняття
Розділ 1. Вступ до сучасних технологій програмування
Тема 1.1. Сучасні методології розробки комп’ютеризованих систем
Розділ 2. Методологія Rational Unified Process.
Тема 2.2. Технологічні процеси RUP.
Тема 2.3. Технологічний процес тестування.
Лабораторні заняття
1. Системи контроля версій. Розподілена система контролю версій «Mercurial».
2. Основи відладки та тестування програмних продуктів.
3. Основи відладки та тестування web-застосувань.
Навчальні матеріали та ресурси
Базова література
Буч Г., Рамбо Д., Джекобсон И. Язык UML. Руководство пользователя: Пер. с англ. – М.: ДМК, 2006. – 496 с.
Ф.Крачтен Введение в Rational Unified Process Информационных Технологий; БИНОМ.
М. Фаулер. Рефакторинг: улучшение существующего кода. – Пер. С англ.. – Изд-во Вильямс, 2016. – 893с.
Рой Ошероув. Искусство автономного тестирования с примерами на С#. 2-е изда-ние / пер. с англ. Слинкин А. А. – М.: ДМК Пресс, 2014. – 360.
Допоміжна література
Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 3-е изд. / Пер. с англ. – Изд-во Вильямс, 2010. – 720 с.
Боггс У., Боггс М. UML и Rational Rose: Пер. с англ. – М.: Лори, 2000. – 582 с.
Роман Піхлер. Agile продукт-менеджмент за допомогою Scrum. Створення продуктів, що подобаються клієнтам. Пер. с англ. – видавництво Фабула: - 2019 – 128 с.
Майк Кон. Оцінювання і планування в Agile. Пер. с англ. – видавництво Фабула, 2019. – 336 с.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Очна форма
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 | Тема 1.1. Сучасні методології розробки комп’ютеризованих систем Лекція 1. Вступ. Огляд історії розвитку технологій програмування. Поняття життєвого циклу програмних систем. Література: [1, Гл.1.1.4], [3, Гл.1] Завдання для СРС. Історія розвитку Agile-методологій. |
2 | Тема 1.1. Сучасні методології розробки комп’ютеризованих систем. Лекція 2. Сучасні методології розробки програмних систем. Моделі розробки. Концепції програмування. Функціональний підхід до розробки програмних систем. MSF. RUP. Екстремальне програмування. Література: [1, Гл.1.1.6], [3, Гл.1] Завдання для СРС. Організація підтримки процесу розробки «Канбан» |
3 | Тема 1.2. Мова проектування UML. Лекція 3. Основні поняття мови UML. Призначення мови. Поняття моделі. Поняття діаграм UML. Типи діаграм.. Література: [1, Гл.1.1.2; Гл.3], [3, Гл.1] Завдання для СРС. Основні поняття доменної моделі проектування (DDD). Базові основи роботи з пакетом проектування Rational Rose. |
4 | Тема 1.2. Мова проектування UML. Лекція 4. Діаграми варіантів використання. Призначення діаграми. Поняття актора, варіанта використання (прецедента). Види зв’язків між елементами. Стереотипи зв’язків. Приклади. Література: [1, Гл.5], [3, Гл.6] Завдання для СРС. Проектування сценаріїв використання програмних систем. Види сценаріїв |
5 | Тема 1.2. Мова проектування UML. Лекція 5. Діаграми класів. Призначення діаграми. Поняття концептуальної моделі, специфікації, моделі реалізації. Поняття класу, об’єкта. Види зв’язків між класами. Стереотипи класів. Атрибути та операції. Приклади. Література: [1, Гл.14], [3, Гл.6;Гл.9], [6, Гл.2] Завдання для СРС. Проектування по моделі. Відображення елементів діаграми класів у програмному коді. |
6 | Тема 1.2. Мова проектування UML Лекція 6. Діаграми взаємодії. Призначення діаграм. Діаграми послідовності. Послідовність виконання операцій. Взаємозв’язок з діаграмами класів. Види операцій. Література: [1, Гл.5;Гл.6], [3, Гл.10], [6, Гл.3;Гл.4] Завдання для СРС. Відображення діаграм послідовності у програмному коді. Зв’язок діаграм послідовностей, діаграм варіантів використання та сценаріїв. |
7 | Тема 1.2. Мова проектування UML. Лекція 7. Діаграми кооперації. Діаграми кооперації. Взаємозв’язок між діаграмами кооперації та послідовності. Приклади. Література: [1, Гл.12], [2, Л.6], [3, Гл.9] Завдання для СРС. Діаграми послідовності дій та граничні класи. Потоки керування в часі. Структура потоків керування. |
8 | Тема 1.2. Мова проектування UML. Лекція 8. Діаграми компонентів та розгортання. Призначення діаграм. Поняття компонента. Зв’язок з діаграмами класів. Діаграми розгортання. Приклади. Література: [1, Гл.1;Гл.4], [2, Гл.4;Гл.5] Завдання для СРС. Інтерфейс прикладного програмування. Моделювання з використання сутностей таблиць, файлів та документів. Розподілення компонентів |
9 | Тема 2.1. Вступ до RUP. Лекція 9. Вступ до RUP. Організація процесу розробки програмних систем. Ітеративна розробка. Поняття процесу розробки основаного на архітектурі. Література: [1, Гл.1;Гл.4], [2, Гл.4;Гл.5] Завдання для СРС. Трикутник успіху. Історія RUP |
10 | Тема 2.2. Технологічні процеси RUP Лекція 10. Технологічний процес управління проектом. Мета. Планування ітеративного проекта. Поняття ризиків. Поняття метрик. Виконавці та артефакти. Література: [7, Гл.2] Завдання для СРС. Базова модель розподілу часу та обсягів робіт при формуванні плану фаз. Підходи до боротьби з ризиками. |
11 | Тема 2.2. Технологічні процеси RUP Лекція 11. Технологічний процес моделювання бізнес-процесів. Мета. Сценарії моделювання. Виконавці та артефакти. Технологічний процес. Інструментальна підтримка. Література: [7, Гл.4] Завдання для СРС. Елементи та діаграми UML для опису бізнес-процесів. |
12 | Тема 2.2. Технологічні процеси RUP Лекція 12. Технологічний процес управління вимогами. Мета. Поняття вимоги. Типи вимог. Збір вимог та керування ними. Проектування інтерфейсу орієнтованого на користувача. Виконавці та артефакти. Інструментальна підтримка. Технологічний процес керування вимогами. Література: [7, Гл.2;3] Завдання для СРС. Основні правил проведення інтерв’ю з потенціальними користувачами. Використання прототипів при аналізі вимог та проектуванні користувацького інтерфейсу. |
13 | Тема 2.2. Технологічні процеси RUP. Лекція 13. Технологічний процес аналіза і проектування Мета. Аналіз та проектування. Модель проектування. Модель аналіза. Роль інтерфейсів. Виконавці та артефакти. Артефакти систем реального часу. Модульне проектування. Інструментальна підтримка. Література: [1, Гл.9], [2, Л.9], [3, Гл.10], [7, Гл.11] Завдання для СРС. Аналіз та проектування у методології екстремального програмування. |
14 | Тема 2.2. Технологічні процеси RUP Лекція 15. Технологічний процес управління конфігурацією Мета. Куб ССМ. Технологічний процес. Інструментальна підтримка. Завдання для СРС. Підтримка розробки програмного забезпечення за допомогою Subversion, Mercurial, Rational Clear Case. |
15 | Тема 2.2. Технологічні процеси RUP Лекція 16. Технологічний процес управління середовищем розробки. Мета. Виконавці та артефакти. Технологічний процес. Література: [7, Гл.10] Завдання для СРС. Види середовищ. Інструменти керування конфігураціями операційних систем в автоматичному режимі. Використання віртуалізації в управлінні середовищами розробки та тестування. |
16 | Тема 2.2. Технологічні процеси RUP Лекція 17. Технологічний процес впровадження. Мета. Виконавці та артефакти. Технологічний процес. Література: [7, Гл.10], [8] Завдання для СРС. Проблеми розгортання ПО. Антишаблони поставки та розгортання ПО. Безперервне розгортання у розробці ПО. |
17 | Тема 2.3. Технологічний процес тестування Лекція 14. Технологічний процес тестування. Мета. Поняття якості. Тестування в ітеративному життєвому циклі. Класифікація тестів. Модель тестування. Виконавці та артефакти. Технологічний процес тестування. Інструментальна підтримка. Література: [1, Гл.4], [2, Л.13] Завдання для СРС. Використання Rational Test Manager, Test Robot та Test Factory при організації процесу забезпечення якості програмних систем. Поняття модульних тестів та структура тестових платформ xUnit. |
18 | Тема 2.3. Технологічний процес тестування Лекція 18. Технологічний процес реалізації. Мета. Конструкції. Інтеграція. Прототипи. Виконавці та артефакти. Технологічний процес. Інструментальна підтримка. Література: [7, Гл.8] Завдання для СРС. Сучасні підходи до розробки: безперервна інтеграція, технологія TDD. |
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1 | Лабораторна робота 1. Системи контроля версій. Розподілена система контролю версій «Mercurial» Необхідно створити Mercurial репозиторій, клонувати створений репозиторій одного із open-source проекту (наприклад, на bitbucket.org або codeplex.com) |
2 |
2 | Лабораторна робота 2. Основи відладки програмних продуктів. Запустити любий із open-source проектів на відладку, перевірити різні методи та підходи до відладки програмних продуктів. |
2 |
3 | Лабораторна робота 3. Основи відладки web-застосувань. Запустити любий із open-source web-проектів на відладку, перевірити різні методи та підходи до відладки web-застосувань. |
2 |
4 | Лабораторна робота 4. Основи прототипування користувацького інтерфейса. Реалізувати прототипу користувацького інтерфейсу для не менш ніж 3 форм та продемонструвати Application Flow. Реалізувати обробку переходів між елементами користувацького інтерфейсу (події переходів між формами та події на відповідних елементах інтерфейсу) та добавити заповнення елементів тестовими даними. Література: [7] |
4 |
5 | Лабораторна робота 5. Діаграми UML. Проаналізувати тему та створити діаграму варіантів використання згіно вибраній темі. Створити діаграму взаємодії для одного з процесів розроблюваної системи. Створити діаграму послідовностей для одного з процесів розроблюваної системи. Література: [7], [8] |
4 |
6 | Лабораторна робота 6. Керування якістю програмного продукта. Метрики програмного забезпечення. Створити метрики програмного кода для проекта за допомогою продукта Ndepend. Перетворити найбільш складні та громіздкі частини програмного кода в більш просту форму. Повторно побудувати метрики та провести порівняння з попередніми результатами. Література: [7] |
2 |
7 | Лабораторна робота 7. Керування проектами. Системи керування проектами. Розгорнути будь-яку систему керування проектами. Інтегрувати систему керування проектами з репозиторієм вихідних кодів. Завести в системі керування проектами задачі, попередньо розбив їх на наступні категорії: несправність, покращення, функціональна можливість та інші. Завести в системі набір компонентів. Завести декілька версій програмного застосунку. Література: [8] |
2 |
Заочна форма
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 | Тема 1.1. Сучасні методології розробки комп’ютеризованих систем Тема 1.2. Мова проектування UML. Лекція 1. Вступ. Сучасні методології розробки програмних систем. Основні поняття мови UML. Діаграми UML. Поняття життєвого циклу програмних систем. Поняття моделі системи в UML. Поняття діаграм UML. Типи діаграм. . Діаграми варіантів використання. Діаграми класів. Діаграми взаємодії. Діаграми компонентів та розгортання. Література: [2, §В.1], [3, §4.9] [1, §5.1], [2, §1.1], [3, §2.1] Завдання на СРС. Agile-методології. Основні поняття доменної моделі проектування (DDD). Проектування сценаріїв використання програмних систем. Види сценаріїв. Проектування по моделі. Відображення елементів діаграми класів у програмному коді. Інтерфейс прикладного програмування. Моделювання з використання сутностей таблиць, файлів та документів. Розподілення компонентів. |
2 | Тема 2.1. Вступ до RUP. Тема 2.2. Технологічні процеси RUP. Лекція 2. Вступ до RUP. Технологічні процеси RUP Організація процесу розробки програмних систем. Ітеративна розробка. Поняття процесу розробки основаного на архітектурі. Мета. Планування ітеративного проекта. Поняття ризиків. Поняття метрик. Технологічний процес моделювання бізнес-процесів. Технологічний процес управління вимогами. Література: [6, §2.3], [6, §1.2.2] Завдання для СРС. Базова модель розподілу часу та обсягів робіт при формуванні плану фаз. Підходи до боротьби з ризиками. Елементи та діаграми UML для опису бізнес-процесів. Основні правил проведення інтерв’ю з потенціальними користувачами. Використання прототипів при аналізі вимог та проектуванні користувацького інтерфейсу. Аналіз та проектування у методології екстремального програмування. |
3 | Тема 2.3. Технологічний процес тестування. Лекція 3. Технологічний процес тестування. Технологічний процес реалізації. Мета. Поняття якості. Тестування в ітеративному життєвому циклі. Класифікація тестів. Модель тестування. Конструкції. Інтеграція. Прототипи. Виконавці та артефакти. Технологічний процес тестування. Інструментальна підтримка.. Література: [5, §5.11-5.17], [4, §5.11-5.17], [5, §1.3], [5, §2.2] Завдання для СРС. Використання Rational Test Manager, Test Robot та Test Factory при організації процесу забезпечення якості програмних систем. Поняття модульних тестів та структура тестових платформ xUnit. Сучасні підходи до розробки: безперервна інтеграція, технологія TDD. |
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1 | Лабораторна робота 1. Системи контроля версій. Розподілена система контролю версій «Mercurial» Необхідно створити Mercurial репозиторій, клонувати створений репозиторій одного із open-source проекту (наприклад, на bitbucket.org або codeplex.com) |
2 |
2 | Лабораторна робота 2. Основи відладки програмних продуктів. Запустити любий із open-source проектів на відладку, перевірити різні методи та підходи до відладки програмних продуктів. |
2 |
3 | Лабораторна робота 3. Основи відладки web-застосувань. Запустити любий із open-source web-проектів на відладку, перевірити різні методи та підходи до відладки web-застосувань. |
4 |
Самостійна робота студента/аспіранта
Очна форма
|
Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
---|---|---|
1 | Історія розвитку Agile-методологій. | 2 |
2 | Організація підтримки процесу розробки «Канбан» | 2 |
3 | Основні поняття доменної моделі проектування (DDD). Базові основи роботи з пакетом проектування Rational Rose. | 4 |
4 | Проектування сценаріїв використання програмних систем. Види сценаріїв. | 4 |
5 | Проектування по моделі. Відображення елементів діаграми класів у програмному коді. | 4 |
6 | Відображення діаграм послідовності у програмному коді. Зв’язок діаграм послідовностей, діаграм варіантів використання та сценаріїв. | 2 |
7 | Діаграми послідовності дій та граничні класи. Потоки керування в часі. Структура потоків керування. | 4 |
8 | Інтерфейс прикладного програмування. Моделювання з використання сутностей таблиць, файлів та документів. Розподілення компонентів. | 4 |
9 | Трикутник успіху. Історія RUP. | 4 |
10 | Базова модель розподілу часу та обсягів робіт при формуванні плану фаз. Підходи до боротьби з ризиками. | 4 |
11 | Елементи та діаграми UML для опису бізнес-процесів. | 2 |
12 | Основні правил проведення інтерв’ю з потенціальними користувачами. Використання прототипів при аналізі вимог та проектуванні користувацького інтерфейсу. | 4 |
13 | Аналіз та проектування у методології екстремального програмування. | 4 |
14 | Використання Rational Test Manager, Test Robot та Test Factory при організації процесу забезпечення якості програмних систем. Поняття модульних тестів та структура тестових платформ xUnit. | 4 |
15 | Підтримка розробки програмного забезпечення за допомогою Subversion, Mercurial, Rational Clear Case. | 2 |
16 | Види середовищ. Інструменти керування конфігураціями операційних систем в автоматичному режимі. Використання віртуалізації в управлінні середовищами розробки та тестування. | 2 |
17 | Проблеми розгортання ПО. Антишаблони поставки та розгортання ПО. Безперервне розгортання у розробці ПО. | 2 |
18 | Сучасні підходи до розробки: безперервна інтеграція, технологія TDD.. | 2 |
19 | Підготовка до заліку по всьому матеріалу модуля. | 10 |
**
**
Заочна форма
|
Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
---|---|---|
1 | Agile-методології. Основні поняття доменної моделі проектування (DDD). Проектування сценаріїв використання програмних систем. Види сценаріїв. Проектування по моделі. Відображення елементів діаграми класів у програмному коді. Інтерфейс прикладного програмування. Моделювання з використання сутностей таблиць, файлів та документів. Розподілення компонентів. | 8 |
2 | Базова модель розподілу часу та обсягів робіт при формуванні плану фаз. Підходи до боротьби з ризиками. Елементи та діаграми UML для опису бізнес-процесів. Основні правил проведення інтерв’ю з потенціальними користувачами. Використання прототипів при аналізі вимог та проектуванні користувацького інтерфейсу. Аналіз та проектування у методології екстремального програмування. | 8 |
3 | Використання Rational Test Manager, Test Robot та Test Factory при організації процесу забезпечення якості програмних систем. Поняття модульних тестів та структура тестових платформ xUnit. Сучасні підходи до розробки: безперервна інтеграція, технологія TDD. | 15 |
4 | Відображення діаграм послідовності у програмному коді. Зв’язок діаграм послідовностей, діаграм варіантів використання та сценаріїв. Діаграми послідовності дій та граничні класи. Потоки керування в часі. Структура потоків керування | 15 |
5 | Трикутник успіху. Історія RUP. Базова модель розподілу часу та обсягів робіт при формуванні плану фаз. Підходи до боротьби з ризиками. | 15 |
6 | Основні правил проведення інтерв’ю з потенціальними користувачами. Використання прототипів при аналізі вимог та проектуванні користувацького інтерфейсу. | 15 |
7 | Підтримка розробки програмного забезпечення за допомогою Subversion, Mercurial,. Види середовищ. Інструменти керування конфігураціями операційних систем в автоматичному режимі. Використання віртуалізації в управлінні середовищами розробки та тестування. | 18 |
8 | Підготовка до заліку по всьому матеріалу модуля. | 10 |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;
на лекції викладач користується власним презентаційним матеріалом; відпрацьовує практичну частину на віртуальній машині з встановленою відповідною РСУБД; використовує гугл-диск для викладання матеріалу поточної лекції, додаткових ресурсів, лабораторних робіт та інше; викладач відкриває доступ до певної директорії гугл-диска для скидання електронних лабораторних звітів та відповідей на МКР;
на лекції заборонено відволікати викладача від викладання матеріалу, усі питання, уточнення та ін. студенти задають в кінці лекції у відведений для цього час;
лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;
модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат пересилається у файлі до відповідної директорії гугл-диску;
заохочувальні бали виставляються за: активну участь на лекціях; участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць; презентацій по одній із тем СРС дисципліни тощо. Кількість заохочуваних балів не більше 10;
штрафні бали виставляються за: невчасну здачу лабораторної роботи. Кількість штрафних балів не більше 10.
Види контролю та рейтингова система оцінювання результатів навчання (РСО) (очна форма)
Рейтинг студента з дисципліни складається з балів, що він отримує за:
виконання контрольних робіт (2 експрес-контрольні на лабораторних заняттях);
виконання та захист 7 лабораторних робіт;
виконання 2 модульних контрольних робіт (МКР);
заохочувальні та штрафні бали.
Система рейтингових балів та критерії оцінювання
Експрес-контрольні роботи:
«відмінно» – повна відповідь (не менше 90% потрібної інформації) – 2.5 балів;
«добре» – достатньо повна відповідь (не менше 75% потрібної інформації) або повна відповідь з незначними недоліками – 1,5-2 балів;
«задовільно» – неповна відповідь (не менше 60% потрібної інформації) та незначні помилки – 1 бали;
«незадовільно» – відповідь не відповідає вимогам до «задовільно» – 0 балів.
Лабораторні роботи:
«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 5 балів;
«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 4/3 бали;
«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином електронний протокол до лабораторної роботи – 2/1 бал;
«незадовільно», незадовільна відповідь та/або не оформлений належним чином електронний протокол до лабораторної роботи – 0 балів.
За кожне заняття запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.
Модульні контрольні роботи:
«відмінно», повна відповідь (не менш ніж 90% потрібної інформації) – 5 балів;
«добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), або повна відповідь з незначними помилками – 3-4 балів;
«задовільно», неповна відповідь (але не менш ніж 60% потрібної інформації) та незначні помилки – 1-2 бали;
«незадовільно», незадовільна відповідь (неправильний розв’язок задачі), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали
– за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо); за активну роботу на лекції (питання, доповнення, зауваження за темою лекції, коли лектор пропонує студентам задати свої питання) 1-2 бали, але в сумі не більше 10;
– презентації по СРС – від 1 до 5 балів.
Міжсесійна атестація
За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 22,5 бали (2 лабораторні, МКР-1, 1 експрес-контрольна). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 8 балів.
За результатами 13 тижнів навчання максимально можлива кількість балів – 45 балів (4 лабораторні, МКР-2, 2 експрес-контрольні). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 16 балів.
Максимальна сума вагових балів контрольних заходів протягом семестру складає:
RD = 7*rлаб+2*rмкр+2*rек + (rз - rш)=7*5+2*5+2*2,5+ (rз - rш)=50 + (rз - rш),
де rлаб – бал за лабораторну роботу (0…5);
rмкр – бал за написання МКР (0…5);
rек – бал за написання експрес-контрольної роботи (0…2,5);
rз – заохочувальні бали за активну участь на лекціях, презентації, участь в олімпіадах, конкурсі роботи, наукові роботи за тематикою дисципліни (0…10);
rзш – штрафні бали.
Залік:
Умовою допуску до екзамену є зарахування всіх лабораторних робіт та стартовий рейтинг не менше 17 балів.
На заліку студенти виконують письмову контрольну роботу. Кожен білет містить два теоретичних запитання (завдання) і одне практичне завдання. Перелік теоретичних питань наведений у додатку 1. Кожне запитання оцінюється у 10 балів.
Система оцінювання питань:
«відмінно», повна відповідь, не менше 90% потрібної інформації, що виконана згідно з вимогами до рівня «умінь», (повне, безпомилкове розв’язування завдання) – 9-10 балів;
«добре», достатньо повна відповідь, не менше 75% потрібної інформації, що виконана згідно з вимогами до рівня «умінь або є незначні неточності (повне розв’язування завдання з незначними неточностями) – 7-8 балів;
«задовільно», неповна відповідь, не менше 60% потрібної інформації, що виконана згідно з вимогами до «стереотипного» рівня та деякі помилки (завдання виконане з певними недоліками) – 5-6 бали;
«незадовільно», відповідь не відповідає умовам до «задовільно» – 0-4 балів.
Сума стартових балів та балів за екзаменаційну контрольну роботу переводиться до екзаменаційної оцінки згідно з таблицею:
Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів | Оцінка |
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Є не зараховані лабораторні роботи або не зарахована модульна контрольна робота |
Не допущено |
Додаткова інформація з дисципліни (освітнього компонента)
передбачена можливість закривати частину лабораторного та лекційного матеріалу шляхом здобування сертифікатам по online курсам (наприклад, COURSERA) відповідних розділів та тем дисципліни;
перелік теоретичних питань, які виносяться на семестровий контроль наведено в Додатку 1;
на початку семестру викладач аналізує існуючі курси по тематиці дисципліни та пропонує пройти відповідні безкоштовні курси студентам. Після отриманням студентом сертифікату проходження дистанційних чи онлайн курсів за відповідною тематикою, викладач закриває відповідну частину курсу (лабораторні чи лекції) за попередньою домовленістю з групою.
Робочу програму навчальної дисципліни (Силабус):
Складено доцент, к.т.н., Ульяницька Ксенія Олександрівна
Ухвалено кафедрою АУТС (протокол № 1 від 27.08.2020 р.)
Погоджено Методичною комісією факультету[1] (протокол № 1 від 02.09.2020 р.)
Додаток 1
Перелік теоретичних питань на залік
Сучасні методології розробки комп’ютеризованих систем
1. Огляд історії розвитку технологій програмування. Поняття життєвого циклу програмних систем.
2. Сучасні методології розробки програмних систем.
Моделі розробки. Концепції програмування. Функціональний підхід до розробки програмних систем. MSF. RUP. Екстремальне програмування.
Мова проектування UML
3. Основні поняття мови UML.
Призначення мови. Поняття моделі. Поняття діаграм UML. Типи діаграм.
4. Діаграми варіантів використання.
Призначення діаграми. Поняття актора, варіанта використання (прецедента). Види зв’язків між елементами. Стереотипи зв’язків. Приклади
5. Діаграми класів.
Призначення діаграми. Поняття концептуальної моделі, специфікації, моделі реалізації. Поняття класу, об’єкта. Види зв’язків між класами. Стереотипи класів. Атрибути та операції. Приклади.
6. Діаграми взаємодії.
Призначення діаграм. Діаграми послідовності. Послідовність виконання операцій. Взаємозв’язок з діаграмами класів. Види операцій.
7. Діаграми кооперації.
Діаграми кооперації. Взаємозв’язок між діаграмами кооперації та послідовності. Приклади.
8. Діаграми компонентів та розгортання.
Призначення діаграм. Поняття компонента. Зв’язок з діаграмами класів. Діаграми розгортання. Приклади.
Методологія Rational Unified Process
9. Вступ до RUP.
Організація процесу розробки програмних систем. Ітеративна розробка. Поняття процесу розробки основаного на архітектурі. Поняття процесу, що
Технологічні процеси RUP
10. Технологічний процес управління проектом.
Мета. Планування ітеративного проекта. Поняття ризиків. Поняття метрик. Виконавці та артефакти.
11. Технологічний процес управління конфігурацією.
Мета. Куб ССМ. Технологічний процес. Інструментальна підтримка.
12. Технологічний процес управління середовищем розробки.
Мета. Виконавці та артефакти. Технологічний процес.
13. Технологічний процес впровадження.
Мета. Виконавці та артефакти. Технологічний процес
[1] Методичною радою університету – для загальноуніверситетських дисциплін.