When individually tested software components are combined into an integrated whole, this is what is referred to as software systems integration. When subsystems become combined to form products, or when various components are combined to make subsystems, it means that the software has been integrated.
For clarification, it should be noted that a system is a collection of subsystems that cooperate so that the entire system can deliver greater functionality. Systems integration entails the integration of existing, sometimes disparate subsystems. These subsystems will all have interfaces. The integration process involved connecting the subsystems together by adhering their interfaces together. If the interfaces fail to connect directly, the adhesive qualities between them can provide any mappings that might be required. In other words, systems integration concerns the act of determining the required adhesive.
After components are tested and implemented as in a “big bang” approach, they may be integrated. Systems integration can be thought of as a small step toward the end of integration testing and component development. There is far less risk with continuous integration.
There are a number of advantages to continuous integration over the approach taken with regular systems integration. Developers divide a produce into partial products that are capable of being integrated individually. These partial produces may be lumped into increments that are referred to as, “vertical,” as they cover subsystems. Increments are capable of crossing subsystem boundaries and, in doing so, produce a partial product. Systems integration is reoccurring in that incremental build yields results sequentially and closer to the product.
With systems integration, customers have an advantage in observing a product early in its development stages. Developers can then verify quality factors such as performance, in a work environment instead of having to rely on simulations or models. Integration that is continuous decreases the risk inherent in integrations, because the developers can identify any problems that may arise with the integration. The early problems are often the most difficult to address during early reoccurrences of software integration.
The person who is interested in becoming a systems integration engineer should have a very broad skill set that include such things as hardware engineering, software engineering, general problem solving skills and also be well-versed on the various interface protocols. The problems that may arise in systems integration may not have come up previously, other than in the broadest sense possible .Therefore, the engineer must be inventive, over all other characteristics.
