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

Переваги інкрементної інтеграції



Інтеграція

 

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

Інтеграція забезпечує:

■ спрощену діагностику дефектів;

■ меншу кількість «розгалуження алгоритмів» (лісів);

■ раннє створення першої працюючої версії продукту;

■ зменшення загального часу розробки;

■ кращі відносини з замовником;

■ збільшення шансів завершення проекту;

■ більш надійні оцінки графіка розробки проекту;

■ більш точні звіти про стан розробки;

■ кращу якість коду;

■ меншу кількість документації.

 

Поетапна та інкрементна інтеграція

Поетапна інтеграція складається з визначених етапів:

1. «Модульна розробка» - проектування, кодування, тестування і налагодження кожного класу.

2. «Системна інтеграція» - об'єднання класів в одну величезну систему.

3. «Системна дезінтеграція» - тестування і налагодження всієї системи.

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

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

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

При інкрементній інтеграції пишуться і тестуються окремі частини програми, які потім комбінуються по одному. При такому підході виконуються такі дії:

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

2. Потім треба спроектувати, закодувати, протестувати та відлагодити клас.

3. Тоді слід прикріпити новий клас до скелету, протестувати і відлагодити з'єднання скелету та нового класу. Перш ніж переходити до додавання нового класу, треба переконатися, що ця комбінація працює.

 

Переваги інкрементної інтеграції

Інкрементний підхід має деякі переваги над поетапним підходом:

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

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

3. Отримання покращеного моніторингу стану інтеграції. При частій інтеграції реалізована і нереалізована функціональність очевидна. Менеджери матимуть краще уявлення про стан проекту, коли будуть бачити, що 50% системи вже працює, а не чуючи, що кодування «завершено на 99%».

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

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

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

 







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