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:
The Unified Process for EDUcation approach to integration is to incrementally integrate the software. Incremental integration means that code is written and tested in small pieces, and then combined into a working whole by adding one piece at a time.
The contrasting approach to incremental integration is phased integration. Phased integration relies on integrating multiple (new and changed) components at a time. The major drawback of phased integration is that it introduces multiple variables and makes it harder to locate errors. This is primarily due to the fact that an error could be in any one of the new components, in the interaction between the new components at the core of the system, or in the interaction between the new components.
It's important to understand that integration occurs at least once within each and every iteration. An iteration plan defines what use cases to design and what classes to implement. The focus of the integration strategy is to determine the order in which classes are implemented and combined.