• на уровне системы: слияние отдельных функций и характеристик, ранее выполнявшихся дискретными элементами управления, в область общего управления;
• на уровне процесса: постепенное наращивание компонентов продукта в единое работающее и протестированное изделие;
• на функциональном уровне: идентификация интегрированных функций как объединения многих отдельных функций для формирования наглядного эффективного (измеримого) результата.
Для достижения системной интеграции используют подходы сверху вниз или снизу вверх. В первом берут все подсистемы интересующей системы и объединяют их за один раз. Подсистемы индивидуально тестируются перед интеграцией, но все они собираются одновременно для интеграции. Этот метод сопряжен с высоким риском, поскольку в нем любую обнаруженную проблему сложно изолировать и решить. Второй подход начинается от элементов самого нижнего уровня и их интеграции с проверяемыми приращениями. Процесс движется от нижнего уровня системы к подсистемам верхнего уровня. Одним из положительных аспектов этого подхода является то, что элементы более низкого уровня обычно можно интегрировать в начале программы. Этот подход, по сравнению с первым, также снижает риск за счет одновременного введения ограниченного числа неизвестных переменных.
Интеграция является одним из самых затратных и трудоемких мероприятий в процессе системного проектирования. Для больших и сложных систем на эту деятельность может быть использовано до 40% усилий по разработке, в основном для системных испытаний. Порядок, в котором элементы системы интегрируются в единое целое, должен быть тщательно спланирован, важно учесть график работ и интерфейсы. Не следует на этом этапе объединять все или слишком много элементов одновременно. Наиболее практичный подход, используемый для новых или модифицируемых систем, заключается в том, чтобы вводить в ходе синтеза элементы системы через ряд промежуточных состояний конфигурации или стадий работы. Выполняется функциональное тестирование собранного устройства, чтобы убедиться, что сборка готова для проверочных испытаний и готова к интеграции на следующий уровень. Как правило, проверяются ключевые функции, чтобы гарантировать, что собранная система функционирует должным образом.
Планирование процесса интеграции начинается, когда определяется перечень мероприятий по проекту. Уточнение плана интеграции происходит во время этапа проектирования архитектуры высокого уровня. Интеграция выполняется, когда компоненты оборудования и программного обеспечения разработаны и сданы командами разработчиков. Интеграция и верификация являются тесно связанными итерационными процессами, следующими один за другим до тех пор, пока вся система не будет готова к оперативному развертыванию.
План интеграции охватывает подход, тестирование и проверку интегрированных подсистем, а также определение проверки интегрированной системы. Он обычно включает:
a) аспекты развития (графические ограничения, ресурсы, оборудование, рабочая сила);
b) результаты шагов разработки (проектирование системы, предварительный проект, детальное проектирование, архитектура, описания физических объектов, интерфейсов между физическими объектами, описания функциональных возможностей продукта или услуги);
c) планы тестирования (от ранней до поздней стадии). Желательно продемонстрировать функциональные связи (т.е. небольшие последовательные подфункции), которые при сквозном объединении раскрывают системную функцию.
При реализации процессов интеграции системы полезно начинать с четкой коммуникации между исполнителями, чтобы все понимали цели проекта и свои роли. Далее составить карту всего процесса для выявления потенциальных рисков и спланировать действия в чрезвычайных ситуациях. Первыми объектами, которые необходимо интегрировать, являются те, которые необходимы и достаточны для демонстрации сквозной жизнеспособности основной функции системного уровня. После завершения и демонстрации основного системного потока аналогичным образом обрабатываются параллельные, взаимодействующие и вспомогательные потоки, которые добавляют дополнительную функциональность. В процессе исполнения рекомендуются регулярные проверки для получения обновлений о ходе работ и проблемных отказов, для отслеживания задач и поддержания видимости операций. После интеграции проводится заключительное испытание, чтобы убедиться, что все работает так, как ожидалось.