Der Begriff "Integration" bezieht sich auf eine Aktivität in der Softwareentwicklung, bei der separate
Softwarekomponenten zu einem Ganzen kombiniert werden. Integration wird in mehreren Stufen und Stadien der
Implementierung durchgeführt:
-
Arbeit eines Teams, das an demselben Implementierungssubsystem arbeitet, integrieren, bevor das Subsystem für die
Systemintegratoren freigegeben wird.
-
Subsysteme in ein vollständiges System integrieren.
Der RUP-Ansatz für die Integration ist eine inkrementelle Integration der Software. Inkrementelle Integration
bedeutet, dass Code in kleinen Teilen geschrieben und getestet und anschließend Stück für Stück in ein funktionierendes
Ganzes eingefügt wird.
Der Gegenansatz zur inkrementellen Integration ist die phasenbasierte Integration. Bei der phasenbasierte
Integration werden mehrere (neue und geänderte) Komponenten gleichzeitig integriert. Die phasenbasierte Integration hat
den Nachteil, dass mehrere Variablen eingeführt werden und dass Fehler schwieriger zu lokalisieren sind. Dies ist
primär darauf zurückzuführen, dass ein Fehler in jeder der neuen Komponenten, in der Interaktion zwischen den neuen
Komponenten im Kern des Systems oder in der Interaktion zwischen den neuen Komponenten vorliegen könnte.
Die Vorteile der inkrementellen Integration
sind im Folgenden aufgelistet:
-
Fehler sind einfach zu lokalisieren. Wenn ein neues Problem bei der inkrementellen Integration auftritt,
sind die neue bzw. geänderte Komponente und die Interaktion mit den bereits integrierten Komponenten die ersten
Stellen, in denen der Fehler gesucht werden sollte. Außerdem ist es bei der inkrementellen Integration
wahrscheinlicher, dass Mängel nach und nach aufgedeckt werden, was die Identifizierung von Fehlern vereinfacht.
-
Die Komponenten werden vollständiger getestet. Komponenten werden während der Entwicklung integriert und
dann getestet. Das bedeutet, dass die Komponenten häufiger getestet werden, als es bei einer einstufigen
Integration der Fall ist.
-
Frühere Erfolgserlebnisse. Entwickler sehen die Ergebnisse ihrer Arbeit früher und müssen nicht bis zum
Schluss warten, was ihre Moral erheblich stärkt. Außerdem ist ein früheres Feedback möglich.
Es ist wichtig zu verstehen, dass Integration mindestens einmal pro Iteration stattfindet. Ein Iterationsplan
definiert, welche Anwendungsfälle entworfen und welche Klassen implementiert werden müssen. Der Fokus der
Integrationsstrategie liegt auf der Festlegung der Reihenfolge, in der die Klassen implementiert und kombiniert werden.
|