Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Всі відповіді СП.docx
Скачиваний:
10
Добавлен:
28.01.2023
Размер:
217.28 Кб
Скачать
    1. Архітектурне проектування програмних систем

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

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

Структурування. На цьому етапі система подається сукупністю незалежних підсистем та визначається їх взаємодією.

Моделювання керування. Розробляється базова модель керування взаємодіями між частинами системи.

Модульна декомпозиція. Підсистема поділяється на окремі модулі. Тут визначаються типи модулів та їх взаємозв’язки.

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

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

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

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

Моделі керування. У моделі структури системи показані всі підсистеми, з яких вона складається. Для того щоб підсистеми функціонували як єдине ціле, необхідно керувати ними. Структурні моделі не містять ніякої інформації з керування. У моделях керування на рівні архітектури проектується потік керування між підсистемами. Можна виділити такі основні типи керування в програмних системах: Централізоване керування, Подійне керування, Модель виклику-повернення, Модель диспетчера, Децентралізоване керування.

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