Архітектура та проектування ПЗ

Обов'язкова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
15 лекцій, 7 практичних занять.
Самостійна робота: 
складає 91 година. Самостійна робота здобувача відбувається впродовж семестру та складається з підготовки до аудиторних занять та контрольних заходів.
Індивідуальна робота: 
• очна форма — розрахунково-графічна робота.
Семестровий контроль: 
Екзамен.
Освітню компоненту забезпечує: 
Анотація: 

Анотація навчальної дисципліни

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

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

Основні результати навчання

ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
ПРН11. Вибирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання.
ПРН12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення.
ПРН13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПРН14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення.

Тематика та види навчальних занять

1 тиждень
Л1. Визначення програмної архітектури. Програмний процес і архітектурно-економічний цикл. Роль архітектури програмного забезпечення. Архітектурні структури і подання.

2 тиждень
Л2. Кероване атрибутами проектування архітектури. Розробка архітектури на основі сценаріїв. Множинність точок зору. Додаткові аспекти використання проекту архітектури.
ПЗ1. Специфікація вимог до програмної системи

3 тиждень
Л3. Якість програмного забезпечення. Метамодель якості. Сценарії атрибутів якості на практиці.

4 тиждень
Л4. Якість програмного забезпечення. Реалізація якості. Тактики реалізації атрибутів якості.
ПЗ2. Сценарії атрибутів якості на практиці

5 тиждень
Л5. Аналіз і оцінювання програмної архітектури. Переваги проведення інспекцій архітектури. Оцінка архітектури на основі сценаріїв. 

6 тиждень
Л6. Метод аналізу компромісних архітектурних рішень
ПЗ3. Проектування програмної архітектури на основі сценаріїв використання

7 тиждень
Л7. Метод аналізу вартості і ефективності.
Модульна контрольна робота №1

8 тиждень
Л8. Архітектурні шаблони (стилі). Шаблони Яруси та Ланки. Шаблон Модель-Вид-Контролер.
ПЗ4. Аналіз компромісних архітектурних рішень

9 тиждень
Л9. Шаблон Презентація-Абстракція-Контроль. Шаблон Мікроядро.

10 тиждень
Л10. Шаблон Канали та фільтри. Шаблон Дошка оголошень.
ПЗ5. Оцінка архітектури на основі сценаріїв

11 тиждень
Л11. Шаблони проектування. Шаблон Брокер. Шаблон Ціле-Частина. Шаблон Господар-Раб.

12 тиждень
Л12. Шаблон Проксі. Шаблон Командний процесор. Шаблон Приборкувач подань.
ПЗ6. Проектування програмної архітектури на основі архітектурних стилів

13 тиждень
Л13. Шаблон Передатчик-Приймач. Шаблон Видавець-Абонент. 

14 тиждень
Л14. Документування подань. Документування інтерфейсів. Перехресна документація. Правила безпечного документування.
ПЗ7. Проектування програмної архітектури на основі архітектурних стилів
Модульна контрольна робота №1

15 тиждень
Л15. Лінійки програмних продуктів. 

Індивідуальна робота

Розрахунково-графічна робота (РГР) виконується згідно з графіком навчального процесу. На її виконання відводиться 15 годин індивідуальної роботи студента. Робота повинна підтвердити опанування студентом дисципліни та прищепити навички самостійної розробки, оцінки та документування архітектурного проекту програмної системи.
Тематика РГР періодично зазнає уточнення і коригування. РГР виконується окремо кожним студентом.
Етапи виконання РГР:
−    видача завдань (1-2 тиждень);
−    самостійна робота студентів (3-14 тиждень);
−    захист РГР (15 тиждень).

Оцінювання результатів навчання

Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Модуль 1
Оцінка за виконання практичних робіт (1 – 3) – максимально 20 балів за модуль. 
МКР1 – бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання завдання). 
Модуль 2
Оцінка за виконання практичних робіт (4 – 5) – максимально 10 балів за модуль.
МКР2 – бездоганне виконання 30  балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання завдання). 
Оцінка за виконання РГР – бездоганне виконання 10 балів.

Посилання на рекомендовані джерела
1. Richards M., Ford N. Fundamentals of Software Architecture: An Engineering Approach. – O'Reilly Media, 2020. – 432 p. http://fundamentalsofsoftwarearchitecture.com/
2. Bass L., Clements P., Kazman R. Software Architecture in Practice (SEI Series in Software Engineering). ‎ Pearson Education, 2021. 438 p.
3. Volkhover A. Become an Awesome Software Architect: Book 1: Foundation. – Independently published. 2019. – 190 p.
 

2022 рік