Konzept: Softwareintegration
Diese Richtlinie beschreibt verschiedene Ansätze für die Integration von Softwarekomponenten in das System.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

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.