Page 31 - 4190
P. 31
або для яких можна встановити певне логічне відношення (напри-
клад, ту саму функцію реалізовано для багатьох середовищ, як-от
введення даних для дисків та портів мережі або різних типів даних,
як, наприклад, цілого або комплексного);
об’єднання за часом - у підсистему об’єднуються незалежні
об’єкти, які активізуються в спільний проміжок часу;
комунікативне об’єднання - в підсистему об’єднуються
об’єкти, які мають спільне джерело даних;
процедурне об’єднання - в підсистему об’єднуються об’єкти,
які послідовно передають одне одному керування;
функціональне об’єднання - коли кожний з об’єктів, що вхо-
дить у підсистему, виконує частину робіт для здійснення загальної
функції, яку виконує підсистема, тобто всі об’єкти виконують спільне
завдання.
Ми неодноразово підкреслювали, що розробляючи систему, слід
постійно пам’ятати тезу: "Всяка зроблена система з часом потребує
змін". Якщо проаналізувати наведені вище способи поєднання
об’єктів у підсистеми з погляду стійкості до змін, коли кожна зміна
вимоги потребує відповідного коригування мінімальної кількості ар-
хітектурних компонентів, то можна зробити висновок, що всі способи
1-5 не сприяють полегшенню модифікації вимог. Що ж до функціо-
нального поєднання, то якщо ціль, яку реалізує таке поєднання, від-
повідає певним вимогам у моделі вимог, трасування вимог у моделі
проекту можна вважати досягнутим.
Якщо в новостворюваній системі передбачається використання
готових систем (так званих успадкованих систем), їх доцільно вважа-
ти підсистемами новостворюваної системи.
Використання готових компонент або спільних компонент для
підсистем потребує спеціального розгляду, який буде подано у розді-
лі 7.
Архітектурне проектування може потребувати перегляду моделі
аналізу вимог. Наприклад, якщо поведінка певного об’єкта частково
використовується в кількох підсистемах, таку частину доцільно виді-
лити в окремий об’єкт або навіть у підсистему.
Виділення підсистем для дуже великих проектів є досить склад-
ною роботою і може вестися з урахуванням дещо інших критеріїв.
Наприклад, якщо розроблення ведуть декілька груп різних рівнів
компетентності або різних рівнів забезпеченості ресурсами, або
роз’єднаних географічно, розподілення на підсистеми може вестися з
31