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

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

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

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

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

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

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

Форми організації освітнього процесу та види навчальних занять

Л – лекційні заняття; ПЗ – практичні заняття – практична підготовка до і активна участь в проектуванні архітектури безпосередньо на занятті; СРЗ – самостійна робота здобувача вищої освіти; К – консультації викладача, МКР – модульна контрольна робота.

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

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

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

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

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

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

6 тиждень
Л6. Метод аналізу компромісних архітектурних рішень
СРЗ, К

7 тиждень
Л7. Метод аналізу вартості і ефективності.
ПЗ4. Аналіз компромісних архітектурних рішень
СРЗ, К, МКР1

8 тиждень
Л8. Архітектурні шаблони (стилі). Шаблони Яруси та Ланки. Шаблон Модель-Вид-Контролер.
СРЗ, К

9 тиждень
Л9. Шаблон Презентація-Абстракція-Контроль. Шаблон Мікроядро.
ПЗ5. Оцінка архітектури на основі сценаріїв
СРЗ, К

10 тиждень
Л10. Шаблон Канали та фільтри. Шаблон Дошка оголошень.
СРЗ, К

11 тиждень
Л11. Шаблони проектування. Шаблон Брокер. Шаблон Ціле-Частина. Шаблон Господар-Раб.
ПЗ6. Проектування програмної архітектури на основі архітектурних стилів
СРЗ, К

12 тиждень
Л12. Шаблон Проксі. Шаблон Командний процесор. Шаблон Приборкувач подань.
СРЗ, К

13 тиждень
Л13. Шаблон Передатчик-Приймач. Шаблон Видавець-Абонент. 
ПЗ7. Проектування програмної архітектури на основі архітектурних стилів
СРЗ, К

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

15 тиждень
Л15. Лінійки програмних продуктів. 
ПЗ8. Проектування програмної архітектури на основі архітектурних стилів
СРЗ, К

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

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

Процедура оцінювання

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Здобувачі протягом семестру готуються до лекційних та практичних занять, виконують 2 модульні контрольні роботи та РГР.
Для забезпечення оперативного контролю за успішністю та якістю рівня навчальних досягнень здобувачів вищої освіти дисципліна поділяється на два семестрові модулі.

Семестровий модуль № 1
Оцінка за виконання практичних робіт (1 – 3) – 20 балів. Термін надання виконаних робіт – до 7 тижня.
МКР1 – 30 балів (7 тиждень). 
Перескладання можливе протягом 9 – 11 тижнів за розкладом консультацій.
Семестровий модуль № 2
Оцінка за виконання практичних робіт (4 – 5) – 10 балів. Термін надання виконаних робіт – до 14 тижня.
МКР2 – 30 балів (14 тиждень). 
Оцінка за виконання РГР – 10 балів  (15 тиждень).

Максимальна оцінка, яку може отримати здобувач за всі виконані види робіт – 100 балів. 

Підсумковим контролем з дисципліни є усний екзамен. Екзаменаційний білет з дисципліни складається з двох частин: перевірки теоретичних знань у способі опитування та виконання практичних завдань. Мінімальна кількість балів, що зараховується як позитивний результат, дорівнює 60 (за 100-бальною системою). Бали розподіляються наступним чином: 45 балів – теоретична частина та 55 балів – практична.
Теоретична частина містить 3 питання рівної складності, практична – 3 питання різної складності.
За бездоганну відповідь на кожне теоретичне питання студент отримує – 15 балів. При цьому відповідь вважається бездоганною, якщо студент повністю розкрив суть питання, послідовно і логічно його доповів, навів приклади, проілюстрував відповідь необхідною і достатньою кількістю діаграм. 
За кожне питання знімається 3 бали, якщо було наведено невірне визначення або за відсутність необхідного визначення. За невірні пояснювальні діаграми (при необхідності) або за їх відсутність знімається 5 балів. За похибки в основах обґрунтування знімається 2 бали (за кожну основу). Знімається 5 бали, якщо не наведено прикладів, коли це вимагається.
За бездоганне виконання двох завдань практичної частини студент отримує – 20 балів і одного завдання – 15 балів. Кожне завдання практичної частини іспиту вважається виконаним бездоганно, якщо при рішення обґрунтовано, зроблені всі необхідні діаграми і текстові пояснення. 
Якщо студент відмовився відповідати, то він отримує незадовільну оцінку. 
Іспит враховується не складеним, якщо студент отримав незадовільну оцінку. 
Максимальна оцінка за правильні відповіді на всі питання екзаменаційного білету становить 100 балів.

Умови допуску до підсумкового контролю

До екзамену допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60 %.

Екзамен відбувається за всіма тематичними (змістовними) модулями дисципліни.

Політика освітнього процесу

1. Аудиторні заняття
    Якщо Ви прийшли в аудиторію на заняття, то маєте працювати разом з професором. Відповідно ви маєте приходити на заняття підготовленими, розібравши теоретичний матеріал та виконавши завдання, якщо вони були
    Якщо Ви пропустили попередні заняття, то маєте розібрати їх матеріал самостійно до початку наступного заняття
    Якщо Ви запізнюєтеся, то маєте тихо зайти до аудиторії і сісти на вільне місце, не відволікаючи решту
    Відвідування лекцій не контролюється і не оцінюється. Якщо Вам терміново потрібно зробити іншу роботу під час заняття, то Ви робите її поза межами аудиторії
    Звук мобільних телефонів та інших гаджетів має бути вимкнено під час заняття. Якщо Вам конче потрібно відповісти на дзвінок, то маєте тихо вийти з аудиторії.

2. Самостійна робота
    Ви маєте регулярно готуватися до лекційних і практичних занять, виконувати до зазначених дедлайнів завдання на самостійну та індивідуальну роботу
    Поведінка free-rider не відповідає принципам Кодексу етики фахівців з програмної інженерії

3. Оцінювання
    Всі оцінювані роботи здаються на перевірку лише через платформу el.opu.ua
    На протязі вивчення дисципліни підтримується політика нульової толерантності до списування
    Роботи з ознаками запозичень без посилань оцінюються нулем балів. Якщо кільки робіт містять однакові відповіді, то всі вони отримують нуль, пошук першоджерела не виконується.
    Робота, що містить відповіді на чужий варіант завдання, оцінюється нулем балів
    Роботи після дедлайну на перевірку не приймаються
    Виключення з правила дедлайну надається лише у випадку неможливості здати роботу на перевірку з поважних причин, які визнані деканатом. Тобто з питаннями щодо здачі робіт після реченця до професора слід звертатися лише за умови наявності дозволу з деканату.
    Повторний доступ до здачі надається лише для модульних контрольних робіт (МКР). Повторний доступ до МКР1 надається з 9 до 14 тижня в семестрі, повторний доступ до обох МКР надається після завершення семестру.
    В МКР оцінюються лише відповіді на запитання. Будь-який зайвий текст бали не додає. Якщо відповідь містить загальні визначення, на підставі яких професор має самостійно сконструювати відповідь, відповідь вважається некоректною.
    Складання/перескладання екзаменів виконується за встановленим деканатом розкладом.

4. Консультації
    Консультації проводяться за розкладом консультацій. На сходах, в коридорах і будь-яких інших не зазначених в розкладі локаціях консультації не надаються. 
    На консультацію слід приходити з сформульованими питаннями і Вашими варіантами відповіді на них. Якщо Ви нічого не зробили самостійно для вирішення питання, то з великою ймовірністю консультація Вам не потрібна.
    Під час консультації професор не виконує Вашу роботу і не перевіряє коректність Вашої роботи, а лише відповідає на запитання. Отже ретельно готуйте свої питання.

Література

Базова
1. Richards M., Ford N. Fundamentals of Software Architecture: An Engineering Approach. – O'Reilly Media, 2020. – 432 p. http://fundamentalsofsoftwarearchitecture.com/
2. Bass, L. Software Architecture in Practice / L. Bass, P. Clements, R. Kazman. – Addison-Wesley Professional, 2012. – 624 p.

Додаткова
3. Buschmann F. Pattern-Oriented Software Architecture. A System of Patterns / Buschmann F., Meunier R., Rohnert H., Sornmerlad P., Stal M. – John Wiley & Sons Ltd., 1996. – 467 p.

Методична
4. Конспект лекцій з дисципліни «Архітектура та проектування програмного забезпечення» для студентів спеціальності 121 – Інженерія програмного забезпечення / Укл.: В. В. Любченко. – Одеса: ОНПУ, 2019. – 59 с.
5. Методичні вказівки до практичних занять з дисципліни «Архітектура та проектування програмного забезпечення» для студентів спеціальності 121 – Інженерія програмного забезпечення / Укл.: В. В. Любченко. – Одеса: ОНПУ, 2019. – 17 с.
6. Методичні вказівки до виконання розрахунково-графічної роботи з дисципліни «Архітектура та проектування програмного забезпечення» для студентів спеціальності 121 – Інженерія програмного забезпечення / Укл.: В. В. Любченко. – Одеса: ОНПУ, 2019. – 17 с.
 

2020 рік