Здавалка
Главная | Обратная связь

Стратегії інкрементної інтеграції



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

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

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

Спадаюча інтеграція

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

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

До переваг спадаючої інтеграції відноситься:

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

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

3. Спадаюча інкрементна інтеграція дозволяє почати кодування до того, як всі деталі низькорівневого проектування завершені.

Незважаючи на всі ці переваги, спадаюча інтеграця часто має недоліки:

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

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

3. Спадаючу інтеграцію практично неможливо реалізувати в чистому вигляді. Якщо підходити до неї буквально, то треба починати з вершини (Рівнь 1), а потім інтегрувати всі класи наступного рівня (Рівня 2). Коли всі класи інтегруються на Рівні 2, починаються інтегруватися класи Рівня 3

4. Не можна використовувати спадаючу інтеграцію, якщо набір класів не має вершини.

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

 

Рис. 2. В якості альтернативи суворого просування зверху вниз, можна виконувати інтеграцію зверху вниз, розбивши систему на вертикальні шари.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.