Моделювання програмного забезпечення та патерни проєктування
Метою вивчення дисципліни є надбання здобувачами знань різноманітних методів проектування інформаційних систем та розвиток умінь і навичок практичного застосування отриманих знань в практиці розробки програмного забезпечення.
Задачі дисципліни:
– ознайомити з термінологією та ключовими поняттями;
– сформувати комплексне уявлення про основні процеси, фази та ітерації життєвого циклу програмного забезпечення та проектування програмних систем;
– оволодіти уміннями застосовувати технології та методи проектування, аналізувати проблеми щодо створення програмного забезпечення, проводити обстеження предметної області, застосовувати ефективні підходи щодо проектування програмного забезпечення;
– сформувати знання та уміння обирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання.
Дисципліна базується на знаннях, отриманих при вивченні таких дисциплін, як об’єктно-орієнтоване програмування та основи програмної інженерії.
Лекційні заняття
ЗМІСТОВИЙ МОДУЛЬ 1.ВСТУП В ПРОЦЕС ПРОЕКТУВАННЯ ІНФОРМАЦІЙНИХ СИСТЕМ
Лекція 1. Вступ в програмну інженерію ([1], c.4-17, [2], c.8-22, [3], c.3-23, [4], c.11-42).
• Поняття програмної інженерії. Ціль та задачі
• Історія розвитку програмної інженерії
• Методи програмної інженерії
Лекція 2. Сучасні підходи до проектування програмного забезпечення ([1], c.20-27, [2], c.24-42, [3], c.30-53, [4], c.50-62).
• Структурний підхід
• Об'єктно-орієнтований підхід
ЗМІСТОВИЙ МОДУЛЬ 2. МОДЕЛЮВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Лекція 3. Поняття моделі та моделювання([5], c.12-111).
• Моделювання в програмної інженерії
• Візуальне моделювання
• CASE-засоби
Лекція 4. Життєвий цикл програмного забезпечення([1], c.30-57, [2], c.42-51, [3], c.53-63, [4], c.62-70, [5], c.111-131).
• Основні поняття і визначення
• Основні процеси життєвого циклу
• Розподіл обов'язків між учасниками проекту
Лекція 5. Каскадна та ітераційна моделі([5], c.131-145, [6], c.31-45).
Лекція 6. Спіральна модель та порівняльний аналіз моделей([5], c.145-170, [6], c.50-65).
Лекція 7. Методології, що підтримують спіральну модель([5], c.175-189, [6], c.65-100).
• Гнучка методологія розробки
• Lean
• Kanban
• Scrum
ЗМІСТОВИЙ МОДУЛЬ 3. СТРУКТУРНИЙ ПІДХІД ДО АНАЛІЗУ І ПРОЕКТУВАННЯ ІНФОРМАЦІЙНИХ СИСТЕМ
Лекція 8. Методології SADT та IDEF0([1], c.60-84, [6], c.102-113).
Лекція 9. Методологія DFD([1], c.86-99, [6], c.115-130).
Лекція 10. Основи проектування баз даних та методологія IDEF1X([1], c.78-99, [6], c.95-130).
ЗМІСТОВИЙ МОДУЛЬ 4. ОБ'ЄКТНО-ОРІЄНТОВАНИЙ ПІДХІД ДО АНАЛІЗУ І ПРОЕКТУВАННЯ ІНФОРМАЦІЙНИХ СИСТЕМ
Лекція 11. Уніфікована мова моделювання([7], c.3-12, [8], c.2-16, [9], c.4-19, [10], c.11-14, [11], c.2-21).
• Структура UML
• Нотація, семантика і синтаксис
• Діаграми UML
Лекція 12. Модель варіантів використання та діаграми варіантів використання([7], c.13-18, [8], c.16-23, [9], c.20-29, [10], c.15-24, [11], c.22-30).
Лекція 13. Діаграми автоматів([7], c.19-23, [8], c.24-26, [9], c.29-34, [10], c.24-36, [11], c.31-40).
Лекція 14. Модель класів аналізу([7], c.24-30, [8], c.26-31, [9], c.35-40, [10], c.37-42, [11], c.41-50).
Лекція 15. Діаграми взаємодії([7], c.31-42, [8], c.32-36, [9], c.41-49, [10], c.43-50).
Практичні заняття
Обсяг в годинах Тема та стислий зміст роботи Мета роботи РН за ОП
2 Практична робота № 1. Визначення та опис предметної області ([1], c.4-17, c.20-27, [2], c.8-22, c.24-42, [3], c.3-23, [4], c.11-42, c.50-62).
Формулювання мети програмного продукту з урахуванням предметної області. Функціональні та нефункціональні вимоги. Побудова контекстних діаграм структурного моделювання.
У даній роботі здійснюють:
– створення контекстної діаграми;
– створення діаграми першого та другого рівнів. Отримати базові знання про моделювання програмного забезпечення. Навчитись розробляти контекстні діаграми структурного моделювання. ПРН09, ПРН10
2 Практична робота № 2. Створення діаграм прецедентів ([7], c.13-18, [8], c.16-23, [9], c.20-29, [10], c.15-24, [11], c.22-30).
У даній роботі здійснюють:
– створення варіантів використання та акторів;
– додавання відношень між акторами і варіантами використання;
– створення додаткових діаграм;
– додавання опису;
– складання потоків подій до варіантів використання. Оволодіти навичками створення діаграм прецендентів. ПРН03, ПРН05
2 Практична робота № 3. Створення діаграм класів ([7], c.24-30, [8], c.26-31, [9], c.35-40, [10], c.37-42, [11], c.41-50).
У даній роботі розробку здійснюють (з урахуванням відповідного патерну:
– створення діаграми класів
– створення пакетів групування класів;
– групування класів;
– створення пакету для кожного класу;
– розробку головної діаграми класів. Оволодіти навичками створення діаграм класів. ПРН06, ПРН07
2 Практична робота № 4. Створення діаграм класів аналізу ([7], c.24-30, [8], c.26-31, [9], c.35-40, [10], c.37-42, [11], c.41-50)
У даній роботі розробку здійснюють для одного варіанту використання. Оволодіти навичками створення діаграм класів аналізу. ПРН11, ПРН12
2 Практична робота № 5. Створення діаграми DFD ([1], c.86-99, [6], c.115-130).
Створення діаграми DFD для опису процесу з точки зору даних. Також необхідно розробити діаграми першого та другого рівнів. Оволодіти навичками створення DFD-діаграм ПРН11, ПРН12
2 Практична робота № 6. Створення діаграм діяльності ([1], c.60-84, [6], c.102-113).
У даній роботі розробку здійснюють (з урахуванням відповідного патерну:
створення діаграми діяльності, що описує бізнес-процес обраної предметної області;
створення діаграми діяльності, що описує потік подій одного з варіантів використання. Оволодіти навичками створення діаграм діяльності ПРН11, ПРН12
2 Практична робота № 7. Створення діаграм взаємодії та станів ([1], c.78-99, [6], c.95-130).
У даній роботі розробку здійснюють (з урахуванням відповідного патерну:
створення діаграми послідовності;
створення діаграми кооперації для одного з сценаріїв прецеденту. Оволодіти навичками створення діаграм взаємодії та станів ПРН11, ПРН12
Самостійна робота здобувача
Самостійна робота здобувача є одним з основних шляхів опанування здобувачем теоретико-практичного матеріалу в час, вільний від обов'язкових навчальних занять. Співвідношення обсягів аудиторних занять і самостійної роботи здобувачів визначається з урахуванням специфіки та змісту конкретної навчальної дисципліни, її місця, значення і дидактичної мети в реалізації освітньо-професійної програми, а також питомої ваги у навчальному процесі практичних, семінарських і лабораторних занять.
На самостійну роботу до першого та другого модульного контролю виноситься підготовка до лекційних та практичних занять. Підготовка до лекційних занять включає повторення пройденого матеріалу, вивчення нового матеріалу про життєві цикли програмного забезпечення. Підготовка до практичних занять включає виконання практичної роботи по варіанту до кожного заняття.
Поточний контроль здійснюється за допомогою опитувань та поточних контрольних робіт. Більш детально наведено в розділі оцінки знань здобувачів.
ЗАСОБИ ДІАГНОСТИКИ РЕЗУЛЬТАТІВ НАВЧАННЯ
Поточний контроль
Поточний контроль – контроль самостійної роботи здобувачів вищої освіти щодо встановлення рівня опанування ними програмним матеріалом з освітньої компоненти ОП, який виконується на аудиторних заняттях у терміни, встановлені календарним графіком навчання та здійснення контролю у навчальному році. Мета поточного контролю – перевірка ступеню і якості засвоєння матеріалу, що вивчається, визначення необхідності введення змін у зміст і методи навчання.
В організації навчального процесу під час вивчення дисципліни застосовують модульну та підсумкову форму контролю. Модульний контроль полягає у виконанні двох модульних контрольних робіт.
Модульні контрольні роботи з дисципліни виконуються на 7-му та 15-му тижнях 7-го семестру.
Підсумковий контроль
Підсумковий контроль має форму екзамену. Білет екзамену містить теоретичні та практичні питання. За бездоганні відповіді на всі питання екзаменаційного білету здобувач отримує 100 балів.
Індивідуальні завдання
До індивідуальних завдань належить розрахунково-графічна робота (РГР).Розрахунково-графічна робота з даної дисципліни виконується здобувачами одночасно з вивченням лекційного матеріалу у сьомому семестрі навчального року.
Розрахунково-графічна робота є самостійною роботою здобувачів, котра підводить підсумок навчання і освоєння різних тем та аспектів дисципліни. У процесі виконання цього проекту здобувачі повинні навчитися застосовувати на практиці отримані теоретичні знання і систематизувати їх у вигляді РГР.
Метою розрахунково-графічної роботи (РГР) є закріплення знань, отриманих за час вивчення дисципліни.
На виконання розрахунково-графічної роботи передбачено 15 годин індивідуальної роботи здобувача. Оцінювання здійснюється балами, які викладач відводить на цю роботу.
Виконання РГР повинно включати пояснювальну записку, друкований і електронний варіант виконаної роботи.
Графіки виконання індивідуальних завдань, варіанти для робіт, критерії оцінювання кожної частини роботи, необхідна література приведені в методичних вказівках до дисципліни.
Інтегральні критерії оцінювання практичних робіт
Накопичувальна оцінка дисципліни складається з практичних робіт та РГР. В семестровому модулі №1 здобувач виконує 3 практичних роботи, а в семестровому модулі №2 здобувач виконує 4 роботи. Загальна оцінка становить 25 балів. Критерії оцінювання практичних робіт наведено в таблиці 5.2.
Максимальна оцінка за бездоганне виконання модульної контрольної роботи становить 25 балів (1 кредит).
Перша модульна робота складається з:
тестових питань 1 рівня (7 тестових питання). Максимальна оцінка за правильну відповідь на кожне питання становить 1 бал.
тестових питань 2 рівня (2 тестових питання). Максимальна оцінка за правильну відповідь на перше питання становить 5 балів, на друге – 2 бали.
теоретичної частини (1 теоретичне питання). Максимальна оцінка за правильну відповідь становить 2 бали.
практичної частини (3 практичних завдання). Максимальна оцінка за правильну відповідь на кожне питання становить 3 бали.
Друга модульна робота складається з:
тестової частини 1 рівня (12 тестових питання). Максимальна оцінка за правильну відповідь на кожне питання становить 1 бал.
тестової частини 2 рівня (4 тестових питання). Максимальна оцінка за правильну відповідь на кожне питання становить 1,5бали.
практичної частини (1 практичне завдання). Максимальна оцінка за правильну відповідь на кожне питання становить 2 бали.
Критерії оцінювання РГР
Максимальна оцінка за бездоганне виконання РГР становить 25 балів.
Виконання РГР повинно включати пояснювальну записку, друкований і електронний варіант виконаного проекту.
5.5. Критерії оцінювання підсумкового контролю
Підсумковим контролем з дисципліни є іспит.
Іспит з дисципліни складається з двох частин: перевірки теоретичних знань шляхом опитування та виконання практичного завдання. Мінімальна кількість балів. що зараховується як позитивний результат, дорівнює 60 (за 100-бальною системою). Бали розподіляються наступним чином: 60 балів – теоретична частина та 40 балів – практична.
Екзаменаційний білет містить 3 теоретичних питання рівної складності.
За бездоганну відповідь на кожне питання здобувач отримує – 20 балів. При цьому відповідь вважається бездоганною, якщо студент не зробив жодної помилки та повністю виклав зміст питання.
За кожне запитання знімається 20 балів, якщо була здійснена невірна відповідь або за відсутність відповіді, 5 балів знімається за виправлення відповіді на запитання (за кожне виправлення).
Екзаменаційний білет містить 2 практичних завдання. За бездоганне виконання кожного завдання практичної частини здобувач отримує – 20 балів.
Практична частина іспиту вважається виконаною бездоганно, якщо усі дії виконані вірно, без помилок; всі записи, щодо розв’язання завдання записані послідовно, зроблена перевірка (якщо потрібно). Крім цього усі рисунки, креслення та схеми виконані охайно, без помилок.
Якщо здобувач відмовився від відповіді, то він отримує незадовільну оцінку.
Екзамен вважається не складеним, якщо здобувач отримав менше 60%.
ПРН09. Знати та вміти використовувати методи та засоби збору, формулювання та аналізу вимог до програмного забезпечення.
- ПРН10. Проводити передпроєктне обстеження предметної області, системний аналіз об'єкта проектування.
- ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
- ПРН11. Вибирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання.
- ПРН12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення.
- ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
- ПРН12. Застосовувати на практиці ефективні підходи щодо проектування программного забезпечення.
- ПРН07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення.
- ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
- ПРН07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення.
- ПРН06. Вміти вибирати та використовувати відповідні задачі методологію створення программного забезпечення.
- ПРН03. Знати основніпроцеси, фази та ітерації життєвого циклу программного забезпечення.
- ПРН06. Вміти вибирати та використовувати відповідні задачі методологію створення программного забезпечення.
- ПРН07. Знати і застосовувати на практиціфундаментальніконцепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії программного забезпечення.
- ПРН03. Знати основні процеси, фази та ітерації життєвого циклу программного забезпечення.