Архітектура та проектування програмного забезпечення
Анотація курсу
Цей курс навчить проектувати та розробляти архітектуру програмного забезпечення – сукупність найважливіших рішень про організацію програмної системи. Розробка архітектури включає: вибір структурних елементів і їх інтерфейсів, за допомогою якихскладена система, обмірковування їх поведінки в рамках співпраці структурних елементів; з’єднання обраних елементів структури і поведінки у все більш крупні системи; архітектурний стиль, який направляє всю організацію – все елементи, їх інтерфейси, їх співпраця і їх з’єднання.
Мета:
Метою курса є освоєння теоретичних знань, пов’язаних з використанням технічних і програмних засобів, що забезпечують найбільш ефективні технології проектування програмного забезпечення, у тому числі аспектів, пов’язаних з розподіленими системами і архітектурою програмного забезпечення та практичних навичок застосування проектування програмного забезпечення, середовищ розробки і архітектури.
Основні завдання:
Завдання курсу – набуття теоретичних знань та практичних умінь з формування базового уявлення про галузі застосування архітектури програмного проекту; набуття вмінь і навичок проектування програмного забезпечення. Перелік мінімуму знань та вмінь, необхідних для подальшої практичної діяльності: здатність до абстрактного мислення, аналізу та синтезу; здатність застосовувати знання у практичних ситуаціях; здатність вчитися і оволодівати сучасними знаннями; здатність застосовувати фундаментальні і міждисциплінарні знання для успішного розв’язання завдань інженерії програмного забезпечення.
Що ви будете знати:
- базові методи створення архітектури проекту;
- принципи архітектури в проектуванні програмного забезпечення;
- базові шаблони проектування програмного забезпечення;
- методи зворотної інженерії для відновлення дизайну програмного забезпечення;
- принципи компонентного проектування;
- базові принципи проектування з урахуванням таких якостей, як продуктивність, безпека, захищеність, можливість повторного використання, надійність.
Що ви будете вміти:
- вибирати вихідні дані для проектування, керуючись формальними методами опису вимог;
- аналізувати, цілеспрямовано шукати і вибирати необхідні для вирішення професійних завдань інформаційно-довідникові ресурси і знання з урахуванням
- сучасних досягнень науки і техніки;
- застосовувати різні шаблони проектування та середовища розробки;
- проводити передпроектне обстеження предметної області, системний аналіз об’єкта проектування;
- проектувати і реалізовувати програмне забезпечення, використовуючи різні технології проміжного програмного забезпечення;
- модифікувати проекти, використовуючи продумані підходи до управління змінами;
- вміти застосовувати методи компонентної розробки програмного забезпечення
Тематичний план курсу
Основні поняття ППЗ. Принципи проектування. Проектування архітектури. Аналіз вимог. Архітектурні стилі. Функціонально орієнтоване проектування. Бібліотеки підпрограм. Апаратне забезпечення в програмній архітектурі. Аспектно – орієнтоване проектування. Технології реалізації компонентів реалізації. Використання компонент при проектуванні ПО. Класи проектування. Уніфікована мова моделювання UML. Проектування за умов повторного використання компонентів. Компонентне проектування. Патерни проектування
Загальна інформація
Форма навчання | Кількість кредитів ECTS | Загальна кількість академічних годин | Лекційні | Лабораторні | Самостійна робота | Форма контролю |
---|---|---|---|---|---|---|
Денна | 10 | 300 | 68 | 34 | 198 | екзамен, залік |
Заочна | 10 | 300 | 16 | 16 | 268 | екзамен, залік |
Компетентності | Результати навчання |
---|---|
СК01 Здатність ідентифікувати, класифікувати та формулювати вимоги до програмного забезпечення. СК02 Здатність брати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування СК03 Здатність розробляти архітектури, модулі та компоненти програмних систем. СК05 Здатність дотримуватися специфікацій, стандартів, правил і рекомендацій в професійній галузі при реалізації процесів життєвого циклу. СК10 Здатність накопичувати, обробляти та систематизувати професійні знання щодо створення і супроводження програмного забезпечення та визнання важливості навчання протягом всього життя. СК11 Здатність реалізовувати фази та ітерації життєвого циклу програмних систем та інформаційних технологій на основі відповідних моделей і підходів розробки програмного забезпечення. СК12 Здатність здійснювати процес інтеграції системи, застосовувати стандарти і процедури управління змінами для підтримки цілісності, загальної функціональності і надійності програмного забезпечення. | ПР03 Знати основні процеси, фази та ітерації життєвого циклу програмного забезпечення. ПР04 Знати і застосовувати професійні стандарти і інші нормативно-правові документи в галузі інженерії програмного забезпечення. ПР06 Уміння вибирати та використовувати відповідну задачі методологію створення програмного забезпечення. ПР09 Знати та вміти використовувати методи та засоби збору, формулювання та аналізу вимог до програмного забезпечення. ПР10 Проводити передпроектне обстеження предметної області, системний аналіз об’єкта проектування. ПР11 Вибирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання. ПР12 Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення. ПР14 Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення. ПР16 Мати навички командної розробки, погодження, оформлення і випуску всіх видів програмної документації. ПР17 Вміти застосовувати методи компонентної розробки програмного забезпечення. ПР20 Знати підходи щодо оцінки та забезпечення якості програмного забезпечення. ПР22 Знати та вміти застосовувати методи та засоби управління проектами. |