Архітектура та проєктування програмного забезпечення
Мета вивчення дисципліни
формування у здобувачів цілісної системи знань та вмінь архітектурного проєктування програмних систем та оцінювання розроблених варіантів архітектури
Практичне значення та використання отриманих знань
сформувати в здобувачів вищої освіти знання архітектурних шаблонів, методів проєктування і оцінювання архітектури, основних концепцій архітектури програмного забезпечення; розуміння зв’язку між вимогами до програмного забезпечення і програмними архітектурами; вміння створювати архітектурні альтернативи для задачі, оцінювати їх і вибирати серед них найкращу; навичок акуратного документування архітектури.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Визначення програмної архітектури. Програмний процес і архітектурно-економічний цикл. Роль архітектури програмного забезпечення. Архітектурні структури і подання.
Лекція 2. Кероване атрибутами проєктування архітектури. Розробка архітектури на основі сценаріїв. Множинність точок зору. Додаткові аспекти використання проєкту архітектури.
Лекція 3. Якість програмного забезпечення. Метамодель якості. Сценарії атрибутів якості на практиці.
Лекція 4. Якість програмного забезпечення. Реалізація якості. Тактики реалізації атрибутів якості.
Лекція 5. Аналіз і оцінювання програмної архітектури. Переваги проведення інспекцій архітектури. Оцінка архітектури на основі сценаріїв.
Лекція 6. Метод аналізу компромісних архітектурних рішень.
Лекція 7. Метод аналізу вартості і ефективності.
Лекція 8. Архітектурні шаблони (стилі). Стилі Яруси та Ланки. Стиль Модель-Вид-Контролер. Стиль Презентація-Абстракція-Контроль.
Лекція 9. Стиль Мікроядро. Стиль Канали та фільтри. Стиль Дошка оголошень.
Лекція 10. Стиль Мікросервіси
Лекція 11. Шаблони проєктування. Шаблон Брокер. Шаблон Ціле-Частина. Шаблон Господар-Раб.
Лекція 12. Шаблон Проксі. Шаблон Командний процесор. Шаблон Приборкувач подань.
Лекція 13. Шаблон Передатчик-Приймач. Шаблон Видавець-Абонент.
Лекція 14. Документування подань. Документування інтерфейсів. Перехресна документація. Правила безпечного документування.
Лекція 15. Лінійки програмних продуктів
Практичні заняття
Практичне заняття №1. «Специфікація вимог до програмної системи».
Мета заняття: відновлення навичок специфікації вимог до програмної системи.
Практичне заняття №2. «Нефункціональні вимоги на практиці».
Мета заняття: досягнення вмінь визначати та формалізувати вимоги щодо атрибутів якості.
Практичне заняття №3. «Проєктування програмної архітектури на основі сценаріїв використання».
Мета заняття: формування навичок проєктування на основі сценаріїв використання.
Практичне заняття №4. «Аналіз компромісних архітектурних рішень».
Мета заняття: досягнення вмінь використання методу ATAM.
Практичне заняття №5. «Оцінка архітектури на основі сценаріїв».
Мета заняття: досягнення вмінь використання методу SAAM.
Практичне заняття №6. «Проєктування програмної архітектури на основі архітектурних стилів».
Мета заняття: формування навичок проєктування на основі архітектурних стилів.
Практичне заняття №7. «Проєктування програмної архітектури на основі архітектурних стилів (продовження)».
Мета заняття: формування навичок проєктування на основі архітектурних стилів.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Визначення програмної архітектури. Розробка архітектури на основі сценаріїв. Множинність точок зору. Тактики реалізації атрибутів якості. Аналіз і оцінювання програмної архітектури: оцінка архітектури на основі сценаріїв, метод аналізу компромісних архітектурних рішень.
Лекція 2. Архітектурні стилі: Яруси та Ланки, Модель-Вид-Контролер, Мікроядро, Канали та фільтри, Мікросервіси. Шаблони проєктування: Брокер, Ціле-Частина, Господар-Раб, Проксі, Видавець-Абонент. Документування архітектурного проєкту.
Практичні заняття
Практичне заняття №1. «Проєктування програмної архітектури на основі сценаріїв використання та вимог за якістю».
Мета заняття: формування навичок проєктування на основі сценаріїв використання та з урахуванням вимог за якістю.
Консультації здійснюються впродовж семестру згідно встановленого розкладу.
Індивідуальна робота
Для денної форми здобуття освіти
Розрахунково-графічна робота
Мета розрахунково-графічної роботи – підтвердження опанування дисципліни та прищеплення навичок самостійної розробки, оцінки та документування архітектурного проєкту програмної системи.
Здобувач отримує завдання на першому тижні семестру на платформі edu.op.edu.ua.
Пояснювальна записка містить 30-35 сторінок Кількість розділів – 4.
Змістовна послідовність виконання роботи.
1. Специфікація функціональних і нефункціональних вимог до проєктованого програмного забезпечення.
2. Проєктування архітектури програмного забезпечення на основі сценарії використання.
3. Оцінювання архітектурного проєкта методами ATAM та SAAM.
4. Проєктування архітектури на основі архітектурних стилів та шаблонів проєктування.
Захист розрахунково-графічної роботи – протягом двох останніх навчальних тижнів семестру.
Контрольна робота для здобувачів заочної форми
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 3 теоретичних питання та 2 практичних завдання.
Обсяг відповіді на кожне теоретичне питання: не більше, ніж одна сторінка тексту, оформленого шрифтом Times New Roman 14 pt. Текст відповіді повинен бути виконаний самостійно, а не згенерований засобами штучного інтелекту.
Практичне завдання №1. «Проєктування архітектури на основі сценаріїв використання». Практичне завдання №2. «Проєктування архітектури на основі архітектурних стилів».
Термін надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць до початку сесії.
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні
1) 5-ти індивідуальних поточних завдань. Індивідуальні поточні завдання виконуються письмово і полягають в виконанні типових дій відповідно до мети та завдань практичних занять. Бездоганне виконання індивідуального поточного завдання №1 оцінюється у 6 балів; індивідуальних поточних завдань №2 і №3 – по 7 балів; індивідуальних поточних завдань №4 – у 4 бали, №5 – у 5 балів;
2) розрахунково-графічної роботи. Бездоганне виконання оцінюється у 11 балів.
3) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі комп'ютерного тестування. Бездоганне виконання кожної модульної контрольної роботи становить 30 балів.
Підсумковий контроль – екзамен. Екзамен у формі комп'ютерного тестування. Максимальна оцінка, яку може отримати студент – 100 балів.
Для заочної форми здобуття освіти
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 50 балів. При її захисті студент може отримати до 39 балів.
Захист розрахунково-графічної роботи. Бездоганне виконання курсової роботи оцінюється у 11 балів.
Підсумковий контроль – екзамен. Екзамен у формі комп'ютерного тестування. Максимальна оцінка, яку може отримати студент – 100 балів.
ПР05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
ПР11. Вибирати вихідні дані для проєктування, керуючись формальними методами опису вимог та моделювання.
ПР12. Застосовувати на практиці ефективні підходи щодо проєктування програмного забезпечення.
ПР13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПР14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проєктування, тестування, візуалізації, вимірювань та документування програмного забезпечення.