Технології розроблення програмного забезпечення - Робоча програма навчальної дисципліни (Силабус)

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

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інтегровані інформаційні системи
Статус дисципліни Нормативна
Форма навчання очна(денна)/заочна/дистанційна
Рік підготовки, семестр 3 курс, осінній семестр
Обсяг дисципліни 90 годин
Семестровий контроль/ контрольні заходи Екзамен/модульна контрольна робота
Розклад занять http://rozklad.kpi.ua
Мова викладання Українська
Інформація про керівника курсу / викладачів

Лектор: к.т.н., Амонс Олександр Анатолійович

o.amons@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-застосувань.

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

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

  1. Буч Г., Рамбо Д., Джекобсон И. Язык UML. Руководство пользователя: Пер. с англ. – М.: ДМК, 2006. – 496 с.

  2. Ф.Крачтен Введение в Rational Unified Process Информационных Технологий; БИНОМ.

  3. М. Фаулер. Рефакторинг: улучшение существующего кода. – Пер. С англ.. – Изд-во Вильямс, 2016. – 893с.

  4. Рой Ошероув. Искусство автономного тестирования с примерами на С#. 2-е изда-ние / пер. с англ. Слинкин А. А. – М.: ДМК Пресс, 2014. – 360.

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

  1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 3-е изд. / Пер. с англ. – Изд-во Вильямс, 2010. – 720 с.

  2. Боггс У., Боггс М. UML и Rational Rose: Пер. с англ. – М.: Лори, 2000. – 582 с.

  3. Роман Піхлер. Agile продукт-менеджмент за допомогою Scrum. Створення продуктів, що подобаються клієнтам. Пер. с англ. – видавництво Фабула: - 2019 – 128 с.

  4. Майк Кон. Оцінювання і планування в 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

Тема 2.1. Вступ до RUP.

Лекція 4. Вступ до RUP.

Організація процесу розробки програмних систем. Ітеративна розробка. Поняття процесу розробки основаного на архітектурі.

Література: [1, Гл.1;Гл.4], [2, Гл.4;Гл.5]

Завдання для СРС. Трикутник успіху. Історія RUP

5

Тема 2.2. Технологічні процеси RUP

Лекція 5. Технологічний процес управління проектом.

Мета. Планування ітеративного проекта. Поняття ризиків. Поняття метрик. Виконавці та артефакти.

Література: [7, Гл.2]

Завдання для СРС. Базова модель розподілу часу та обсягів робіт при формуванні плану фаз. Підходи до боротьби з ризиками.

6

Тема 2.2. Технологічні процеси RUP

Лекція 6. Технологічний процес моделювання бізнес-процесів.

Мета. Сценарії моделювання. Виконавці та артефакти. Технологічний процес. Інструментальна підтримка.

Література: [7, Гл.4]

Завдання для СРС. Елементи та діаграми UML для опису бізнес-процесів.

7

Тема 2.2. Технологічні процеси RUP

Лекція 7. Технологічний процес управління вимогами.

Мета. Поняття вимоги. Типи вимог. Збір вимог та керування ними. Проектування інтерфейсу орієнтованого на користувача. Виконавці та артефакти. Інструментальна підтримка. Технологічний процес керування вимогами.

Література: [7, Гл.2;3]

Завдання для СРС. Основні правил проведення інтерв’ю з потенціальними користувачами. Використання прототипів при аналізі вимог та проектуванні користувацького інтерфейсу.

8

Тема 2.2. Технологічні процеси RUP.

Лекція 8. Технологічний процес аналіза і проектування

Мета. Аналіз та проектування. Модель проектування. Модель аналіза. Роль інтерфейсів. Виконавці та артефакти. Артефакти систем реального часу. Модульне проектування. Інструментальна підтримка.

Література: [1, Гл.9], [2, Л.9], [3, Гл.10], [7, Гл.11]

Завдання для СРС. Аналіз та проектування у методології екстремального програмування.

9

Тема 2.2. Технологічні процеси RUP

Лекція 9. Технологічний процес управління конфігурацією

Мета. Куб ССМ. Технологічний процес. Інструментальна підтримка.

Завдання для СРС. Підтримка розробки програмного забезпечення за допомогою Subversion, Mercurial, Rational Clear Case.

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

Назва лабораторної роботи Кількість ауд. годин
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]

2
6

Лабораторна робота 6. Діаграми UML.

Проаналізувати тему та написати сценарії для варіантів використання розроблені в попередній лабораторній роботі згідно вибраної теми.

Література: [7], [8]

2
7

Лабораторна робота 7. Діаграми UML.

Проаналізувати тему та створити діаграми взаємодії для сценаріїв розроблених в попередній лабораторній роботі згідно вибраної теми.

Література: [7], [8]

2
8

Лабораторна робота 8. Діаграми UML.

Проаналізувати тему та створити діаграми послідовностей для сценаріїв розроблених в попередній лабораторній роботі згідно вибраної теми.

Література: [7], [8]

4
9

Лабораторна робота 9. Діаграми UML.

Проаналізувати тему та створити діаграми активності для сценаріїв розроблених в попередній лабораторній роботі згідно вибраної теми.

Література: [7], [8]

2
10

Лабораторна робота 10. Діаграми UML.

Проаналізувати тему та створити діаграми класів та об’єктів для системи згідно вибраної теми.

Література: [7], [8]

4
11

Лабораторна робота 11. Діаграми UML.

Проаналізувати тему та створити діаграми станів для системи згідно вибраної теми.

Література: [7], [8]

2
12

Лабораторна робота 12. Діаграми UML.

Проаналізувати тему та створити діаграми компонентів для одного з процесів розроблюваної системи.

Література: [7], [8]

2
13

Лабораторна робота 13. Діаграми UML.

Проаналізувати тему та створити діаграму розгортання для розроблюваної системи.

Література: [7], [8]

2
14

Лабораторна робота 6. Керування якістю програмного продукта. Метрики програмного забезпечення.

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

Література: [7]

2
15

Лабораторна робота 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

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

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

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

  • відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;

  • на лекції викладач користується власним презентаційним матеріалом; при необхідності демонструє підходи до програмування з використанням MS Visual Studio; використовує гугл-диск для викладання матеріалу поточної лекції, додаткових ресурсів, лабораторних робіт та інше; викладач відкриває доступ до певної директорії гугл-диска для скидання електронних лабораторних звітів та відповідей на МКР;

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

  • лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;

  • модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат пересилається у файлі до відповідної директорії гугл-диску;

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

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

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

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

  1. виконання та захист 15 лабораторних робіт;

  2. виконання модульної контрольної роботи (МКР);

  3. заохочувальні та штрафні бали.

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

Лабораторні роботи:

«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 3 балів;

«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 2 бали;

«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином електронний протокол до лабораторної роботи – 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 = 15*rлаб+rмкр+ (rз - rш)=15*3+5+ (rз - rш)=50 + (rз - rш),

де rлаб – бал за лабораторну роботу (0…5);

rмкр – бал за написання МКР (0…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 від 30.08.2021 р.)

Погоджено Методичною комісією факультету[1] (протокол № 1 від 30.08.2021 р.)

Додаток 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] Методичною радою університету – для загальноуніверситетських дисциплін.