П19 |
Пасєка, М. С. Архітектура та аналіз програмного забезпечення [Текст] : конспект лекцій / М. С. Пасєка, Т. Р. Стисло. – Івано-Франківськ : ІФНТУНГ, 2021. – 146 с. – (Каф. інженерії програмного забезпечення).
Розроблений відповідно до робочої програми навчальної дисципліни "Архітектура та аналіз програмного забезпечення". Містить теоретичний та практичний навчальний матеріал щодо теоретичних та прикладних архітектурних методів та засобів проєктування програмних систем, сховищ даних, розробки схеми сховищ даних, проєктування користувацьких інтерфейсів до програмних додатків, розрахунок часу виконання операцій програмування та інтелектуальної обробки, оцінка якості виконуваних робіт, дотримання визначених термінів та вартості розробки додатку. Може бути використаний студентами денної та заочної та дистанційної форм навчання. Призначено для підготовки магістрів за напрямом підготовки 121 "Інженерія програмного забезпечення".
Зміст
Аудиторія 10
Передумови 10
Вступ до архітектури та дизайну 11
Архітектура програм та систем 12
Дизайн програмних систем та функціональні вимоги 13
Цілі архітектури 14
Обмеження в архітектурних рішеннях 14
Роль архітектора у розробці 15
Дизайн експертиза: 15
Досвід експертизи: 16
Технологічна експертиза 16
Методологічна експертиза 16
Вимоги до архітектора 17
Прихована роль архітектора 17
Атрибути якості 18
Якісні сценарії 19
Загальні атрибути якості 19
Архітектурний стиль 25
Загальний архітектурний дизайн 27
Типи архітектури 29
Процес проєктування архітектури 30
Розуміти проблему 30
Визначення елементів дизайну та їх взаємозв'язку 31
Оцінка дизайну архітектури 32
Перетворення дизайну архітектури 32
Основні принципи архітектури 33
Побудуй до зміни, а не до останнього 33
Зменшити ризик та модель для аналізу 33
Використовуйте моделі та візуалізацію як інструмент комунікації та співпраці 34
Використовуйте додатковий та ітераційний підхід 34
Основні принципи проєктування 34
Розподіл занепокоєння 35
Принцип єдиної відповідальності 35
Принцип найменшого знання 35
Зменшити великий дизайн відразу 35
Не повторюйте функціональність 36
Віддайте перевагу композиції за спадкування при повторному використанні функціональності 36
Визначити компоненти та групувати їх у логічних шарах 36
Визначте протокол зв'язку між шарами 37
Визначте формат даних для шару 37
Компоненти системи повинні бути абстрактними 37
Механізм обробки винятків і виключень 37
Найменування конвенцій 38
UML 39
Структурні діаграми 40
Поведінкові діаграми 42
Перегляд моделі архітектури 44
Перегляд 4 + 1 моделі 44
Чому це називається 4 + 1 замість 5? 46
Опис архітектури мов (ADLs) 50
Розвиток об'єктно-орієнтованого підходу 51
Вступ до об'єктно-орієнтованої парадигми 52
Об'єкт 52
Клас 53
Інкапсуляція 54
Поліморфізм 54
Передача повідомлення 55
Склад або агрегація 55
Асоціація 56
Успадкування 56
Об'єктно-орієнтований аналіз 57
Моделювання об'єктів 58
Динамічне моделювання 59
Функціональне моделювання 59
Об'єктно-орієнтований дизайн 60
Принципи дизайну 62
Послідовна партія 64
Переваги 65
Недоліки 65
Архітектура каналів та фільтрів 65
Фільтрувати 65
Переваги 67
Недоліки 67
Канали 68
Архітектура управління процесом 68
Типи підсистем 68
Області застосування 69
Типи компонентів 71
Стиль архітектури сховища 72
Переваги 73
Недоліки 73
Архітектурний стиль дошки 74
Частина моделі дошки для дошок 75
Джерела знань (KS) 75
Структура даних дошки 76
Контроль 76
Переваги 76
Недоліки 77
Основна підпрограма 78
Переваги 79
Недоліки 79
Майстер підлеглий 80
Програми 81
Переваги 81
Недоліки 82
Віртуальна архітектура машини 82
Програми 84
Переваги 84
Недоліки 85
Шаровий стиль 85
Програми 85
Переваги 86
Недоліки 87
Model-View-Controller (MVC) 88
Модель 89
Контролер 89
Вид 90
MVC - I 91
MVC - II 92
MVC-додатки 92
Презентація-абстракція-контроль (PAC) 93
PAC з кількома агентами 95
Переваги 97
Недоліки 97
Поняття розподіленої архітектури 98
Основи розподіленої архітектури 99
Переваги 100
Недоліки 101
Централізована система проти розподіленої системи 101
Архітектура клієнт-сервер 102
Тонко-клієнтська модель 103
Товста / Fat-клієнтська модель 104
Переваги 104
Недоліки 105
Багаторівнева архітектура (n-рівнева архітектура) 105
Рівень презентації 106
Рівень додатків (бізнес-логіка, рівень логіки або середній рівень) 107
Рівень даних 107
Брокер Архітектурний стиль 108
Компоненти архітектурного стилю брокера 109
Сервісно-орієнтована архітектура (SOA) 112
Особливості SOA 113
SOA Operation 114
Компонентна архітектура 115
Що таке компонент? 116
Перегляди компонентів 117
Характеристика компонентів 118
Принципи компонентного дизайну 119
Рекомендації щодо дизайну компонентного рівня 121
Проведення компонентного рівня дизайну 122
Переваги 123
Користувацький інтерфейс 124
Функції та особливості інтерфейсу користувача 124
Графічний інтерфейс користувача 126
Дизайн користувальницького інтерфейсу 126
Елементи інтерфейсу користувача 127
Рівні дизайну інтерфейсу 127
Кроки дизайну інтерфейсу 128
Процес розробки інтерфейсу користувача 129
Моделі інтерфейсу користувача 130
Обґрунтування дизайну інтерфейсу користувача 131
Орієнтований на користувача 131
Простий та інтуїтивно зрозумілий 132
Місце користувачів у керуванні 132
Прозорість 133
Використовуйте прогресивне розкриття інформації 133
Послідовність 133
Інтеграція 134
Орієнтований на компонент 134
Налаштовується 134
Знизити завантаження пам'яті користувачів 135
Розподіл 135
Архітектурні методи 135
Ітеративний та інкрементальний підхід 135
Визначте цілі архітектури 136
Ключові сценарії 137
Огляд програми 137
Основні проблеми або основні точки доступу 138
Рішення кандидатів 139
Огляд архітектури 140
Зв'язування архітектурного дизайну 142
Модель 4 + 1 142
Мова архітектури опису (ADL) 142
Agile Modeling 143
IEEE 1471 143
Уніфікована мова моделювання (UML) 143
Основна література дисципліни 145
Додаткова література 145
|