System integration is defined as the process of bringing together the component subsystems into one system and ensuring that the subsystems function together as a system. Systems integration is the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole.
The system integrator brings together discrete systems utilizing a variety of techniques such as computer networking, enterprise application integration, business process management or manual programming.
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. Components may be integrated after all are implemented and tested as in a waterfall model or a “big bang” approach. In either, software system integration appears as a discrete step toward the end of the development life cycle between component development and integration testing.
Continuous integration is a much less risky approach wherein the components and subsystems are integrated as they are developed into multiple working mini-versions of the system. Continuous integration offers several advantages over a waterfall, “big bang” approach. Developers split a product into several builds, or partial products, that can be integrated individually. These builds may be chunked into “vertical” increments, covering subsystems, or increments may cross subsystem boundaries to produce a partial end-to-end product. In both cases, integration is iterative in that a sequence of incremental builds yields results
successively closer to the desired product. Customers gain an advantage in seeing a working product early in the development, and developers can verify performance or other quality factors in a working environment, rather than relying on models or simulations. Continuous integration also decreases integration risk, because developers can identify integration problems, often the most complex to address, during early iterations of software integration.
Software integration provides required steps to be conducted for integration and checkout of informal software engineering builds. The software design and development team and test engineers need to develop a strategy for planning, design, execution, data collection, and test evaluation. The software integration activities are informal and flexible for software checkout to prepare for the software and systems integration phase of the work product. The strategy for software integration provides a road map that describes the steps to be conducted as part of the implementation of software to start integration activities. When a strategy is planned, then resources are required. This strategy should be flexible and it should promote an approach that results in change.
The effective methods and processes for software and systems integration require disciplined software design and development practices, including test planning, test execution, configuration control, quality, and reporting to management and the customer of the work product being tested inside integration facilities. Having worked on thousands and software and system integrations, the Summit development team will ensure your system works as it is meant to now and in the future.