Ein System wird in der Regel von Teams einzelner Implementierer implementiert, die zusammen und parallel arbeiten.
Damit dies möglich ist, werden mehrere Arbeitsbereiche benötigt, z. B.:
Entwicklungsarbeitsbereich
Einzelne Implementierer haben einen Entwicklungsarbeitsbereich, in dem sie die Subsysteme und die enthaltenen Elemente
implementieren, für die sie verantwortlich sind. Zum Kompilieren, Verlinken, Ausführen und Testen des Codes im
Subsystem sind andere Teile des Systems erforderlich. Normalerweise benötigen die Implementierer für die Entwicklung
ihres Subsystems nicht das gesamte System. In der Regel reichen die Subsysteme aus, die zum Kompilieren, Verlinken und
Ausführen des Subsystems im Entwicklungsarbeitsbereich erforderlich sind. Diese anderen Subsysteme müssen sich nicht
als physische Kopien im privaten Entwicklungsarbeitsbereich eines Implementierers befinden. Stattdessen können sie in
einem gemeinsamen Repository mit den intern freigegebenen Subsystemen enthalten sein. Wenn Implementierer die genaue
Position der anderen Subsysteme kompilieren, wird dies in einer gesonderten Datei definiert, z. B. makefile.
Beispiel:
Das Subsystem "Monatliche Telefonrechnung" (in einem Banksystem) benötigt die Subsysteme, die direkt oder indirekt von
dem System importiert werden, um seine Elemente zu kompilieren, zu verlinken und auszuführen. In diesem Fall werden
sechs von den zehn Subsystemen für die Implementierer des Subsystems "Monatliche Telefonrechnung" benötigt.
Der Entwicklungsarbeitsbereich für die Implementierer des Subsystems "Monatliche Telefonrechnung"
Integrationsarbeitsbereich für
das Team
Manchmal kann es ein Team von Implementierern geben, die parallel dasselbe Subsystem entwickeln. In diesem Fall müssen
die Implementierer ihre Elemente in ein Subsystem integrieren, damit diese an die Systemintegration weitergegeben
werden können. Teamintegration wird häufig in einem Systemintegrationsarbeitsbereich vorgenommen, der speziell
für die Integration der Arbeiten einzelner Teammitglieder bestimmt ist. Ein Teammitglied übernimmt die Rolle des
Integrators und ist für den Integrationsarbeitsbereich und dessen Leistung verantwortlich.
Integrationsarbeitsbereich für Integratoren auf
Systemebene
Systemintegratoren haben einen Integrationsarbeitsbereich, in dem sie mehrere Softwareelemente oder ein oder mehrere
Subsysteme nacheinander hinzufügen und damit Builds erstellen können, die dann einem Integrationstest unterzogen
werden.
Ein Integrationsarbeitsbereich für Systemintegratoren, dem in jedem Integrationsschritt Subsysteme hinzugefügt werden.
|