Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Arkhitektura_ta_proekt_PZ_Otvety.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
524.8 Кб
Скачать

20. Архітектурні зразки, еталонні моделі та еталонні варіанти архітектури

У проміжку між схемами із прямокутників і ліній - найпростішими "ескізами" архитектур - і комплексними архитектурами, укомплектованими всією необхідною інформацією про системи, існують численні перехідні етапи. Кожен такий етап є результат прийняття ряду архітектурних рішень, сукупність архітектурних альтернатив. Деякі з них самі по собі мають певну цінність. Перш ніж переходити до аналізу архітектурних структур, розглянемо проміжні етапи.

Архітектурний зразок

Архітектурний зразок - опис типів елементів і відносин і виклад ряду обмежень на їх використання.

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

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

У зразків є один вкрай корисний аспект - справа в тому, що вони демонструють відомі атрибути якості. Саме тому архітектори вибирають зразки не навмання, а виходячи з певних міркувань. Деякі зразки містять відомі рішення проблем, пов'язаних із продуктивністю, інші призначаються для систем з високими вимогами до безпеки, треті успішно реалізуються в системах з високою готовністю. У багатьох випадках вибір архітектурного зразка виявляється першим істотним рішенням архітектора.

Синонимичним архітектурному зразку є загальновживаний термін "архітектурний стиль" (archіtectural style).

Еталонна модель

Еталонна модель - це поділ між окремими блоками функціональних можливостей і потоків даних. Еталонною моделлю називається стандартна декомпозиція відомої проблеми на частині, які, взаємодіючи, здатні її вирішити.

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

Еталонна архітектура

Еталонна архітектура - це еталонна модель, відображена на програмні елементи (які спільно реалізують функціональність, визначену в еталонній моделі) і потоки даних між ними.

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

Еталонні моделі, архітектурні зразки та еталонні архітектури не є варіантами архітектури; це не більш ніж корисні поняття, сприятливі фіксації окремих елементів архітектури. Кожний з них з'являється як результат проектних рішень, прийнятих на самих ранніх етапах. Відношення між цими проектними елементами представлено на Рисунку «Відносини між еталонними моделями, архітектурними зразками, варіантами еталонної і програмної архітектури»

Рисунок «Відносини між еталонними моделями, архітектурними зразками, варіантами еталонної й програмної архітектури»

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]