The term integration refers to a software development activity in which separate software components are combined into a whole. Integration is done at several levels and stages of the implementation, for the following purposes:
The Rational Unified Process approach to integration is that the software is integrated incrementally. Incremental integration means that code is written and tested in small pieces and then is combined into a working whole by the addition of one piece at a time. The contrasting approach is phased integration. Phased integration relies on integrating multiple (new and changed) components at the same time. The major drawback of phased integration is that it introduces multiple variables and makes it hard to locate errors. An error could be inside any of the new components, in the interaction between the new components, or in the interaction between the new components and those at the core of the system. Incremental integration offers the following benefits:
It is important to understand that integration occurs (at least once) during each iteration. An iteration plan defines the use cases to be designed and thus the classes to be implemented. The focus of the integration strategy is to determine the order in which classes are implemented and then combined. |