25
Рис.3
Нисходящая интеграция
При нисходящей интеграции вы создаете те классы, которые находятся на вершине
иерархии, первыми, а те, что внизу, — последними.
Хорошей альтернативой нисходящей интеграции в чистом
виде может стать подход с
вертикальным секционированием.
Рис. 4 Вертикальное секционирование
При этом систему реализуют сверху вниз по частям,
возможно, по очереди выделяя
функциональные области и переходя от одной к другой.
Восходящая интеграция
Рис.5
Восходящая интеграция
При восходящей интеграции вы пишете и интегрируете сначала классы, находящиеся в низу
иерархии. Добавление низкоуровневых классов по одному, а не всех одновременно — вот что
делает восходящую интеграцию инкрементной стратегией. Сначала вы пишете тестовые драйверы
для выполнения
низкоуровневых классов, а затем добавляете эти классы к тестовым драйверам,
пристраивая их по мере готовности. Добавляя класс более высокого уровня, вы заменяете классы
драйверов реальными.
26
Рис. 6 Гибридный подход при восходящей интеграции
Как и нисходящую, восходящую интеграцию в чистом виде используют редко — вместо нее
можно
применять гибридный подход, реализующий секционную интеграцию.
Сэндвич-интеграция
Проблемы с нисходящей и восходящей интеграциями в чистом виде привели к тому, что
некоторые эксперты стали рекомендовать сэндвич-подход.
Рис. 7 Сэндвич-интеграция
Сначала вы объединяете высокоуровневые классы бизнес-объектов на вершине иерархии.
Затем добавляете классы, взаимодействующие с
аппаратной частью, и широко используемые
вспомогательные классы в низу иерархии.
Напоследок вы оставляете классы среднего уровня.
Достарыңызбен бөлісу: