Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Інтеграція.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
148.56 Кб
Скачать

Зростаюча інтеграція

При зростаючій інтеграції пишуться та інтегруються спочатку класи, що знаходяться внизу ієрархії. Додаються низькорівневі класи по одному, а не всі одночасно. На рис. 3 показано порядок, в якому відбувається інтеграція класів при зростаючому підході.

Рис. 3. При зростаючій інтеграції класи, які знаходяться внизу ієрархії, об’єднуються спочатку, а ті, які знаходяться на вершинівкінці

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

Головна проблема зростаючої інтеграції в тому, що вона залишає наостанок об'єднання основних, високорівневих класів системи. Якщо на верхніх рівнях існують концептуальні проблеми проектування чи конструювання, то вони не виявляться, поки всі деталі не будуть реалізовані.

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

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

Рис. 3. В якості альтернативи просування виключно знизу вгору можна виконувати висхідну інтеграцію посекційно.

Ризик-орієнтована інтеграція

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

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

Функціонально-орієнтована інтеграція

При функціонально-орієнтовані інтеграції відбувається інтеграція однієї функції кожного моменту.

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

Рис. 5. При функціонально-орієнтованій інтеграції працюють з групами класів, що представляють собою окремі функції.

Компоненти додаються в «дерево функціональності» ієрархічним набором класів, що реалізують окрему функцію.

Функціонально-орієнтована інтеграція має три основні переваги:

  1. Вона дозволяє обійтися без великої кількості заглушок.

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

  3. Добре поєднується з об'єктно-орієнтованим проектуванням.

Т-подібна інтеграція

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

Рис. 6. При Т-подібній інтеграції створюють та інтегрують вертикальний зріз системи, щоб перевірити архітектурні помилки.