Software System Integration
Software system integration refers to the practice of combining individually tested software components into an integrated whole. Software is integrated when components are combined into subsystems or when subsystems are combined into products.
In a product line effort, we identify two stages of software system integration:
1. Core assets are integrated into the core asset base as part of core asset development, including review or test: This merging may take the form of "pre-integration" and cover more than software components. As assets are developed and reviewed or tested, they migrate to the asset base.
2. Core assets are integrated during the building of an individual product: Here, the production plan guides the process, defining how developers will select the appropriate core assets from all the available ones and construct a product. All assets such as requirements, architecture, processes, and testing assets contribute to the construction and must be integrated into a delivered product. Integration may involve tailoring assets according to planned variations or developing product-unique software components, requirements, tests, and so forth.