Modellpartitionierung

Sie können ein Modell in einer einzigen Datei entwickeln und anschließend in mehrere Dateien aufteilen, die als Modellpartitionen bezeichnet werden. Sie könnten über eine Partitionierung nachdenken, wenn sich das Modell auf Grund seiner Größe oder Paketstruktur nicht mehr verwalten lässt.

Sie sollten ein Modell jedoch nur in Extremsituationen partitionieren, da eine Modellpartitionierung zu Verzögerungen in der Zusammenarbeit und Entwicklungsarbeit im Team führen kann, wenn sie nicht sorgfältig ausgeführt wird. Bevor Sie an die Partitionierung eines Modells denken, sollten Sie sicherstellen, dass Ihr Modell eine effektive Architektur besitzt und Sie effektive Eigentumsrechte daran zuweisen, um die Partitionen zu minimieren und komplexere Mischvorgänge zu verringern.

Effektive Modellarchitektur und Eigentumsrechte

Eine effektive Architektur basiert hauptsächlich auf Dekomposition. Die folgenden Prinzipien der Dekomposition sind dieselben, die der objektorientierten Entwicklung, dem komponentenbasierten Design und einer serviceorientierten Architektur zu Grunde liegen:

Wenn Ihr zerlegtes Modell noch immer viele Abhängigkeiten enthält, haben Sie zwei Optionen:

Nach der Erstellung einer effektiven Architektur können Sie Einzelpersonen oder kleinen Teams das Eigentumsrecht an Architekturkomponenten zuweisen. Wenn nur eine einzige Person oder ein kleines Team auf engem Raum an einem logischen Paket oder einer Verzweigung eines Modells arbeitet, werden komplexere Mischvorgänge mit diesem Modell minimiert, unabhängig davon, ob Sie das Modell in einer einzelnen oder in mehreren Modelldateien speichern.

Mit der Partitionierung von Modellen in mehrere Modelldateien können Sie komplexere Mischvorgänge nicht verhindern, da gegenseitige Abhängigkeiten der Architektur nicht physisch, sondern logisch bedingt sind. Bei der Partitionierung eines Modells in mehrere Modelldateien werden die Darstellungen der gegenseitigen Abhängigkeiten der Elemente zu dateiübergreifenden anstatt zu dateiinternen Verweisen.

Mischkonflikte auf Grund fehlerhafter dateiübergreifender Verweise lassen sich schwer beheben. Dateiübergreifende Verweise stellen potenzielle Bruchstellen dar, da Sie die Dateien in Hostdateisystemen bereitstellen. Wenn Sie die Dateien außerhalb der Eclipse-Umgebung verschieben, umbenennen oder anderweitig ändern, kann Eclipse daher die dateiübergreifenden Verweise nicht finden.

Kriterien für die Partitionierung von Modellen

Sie sollten die Partitionierung eines Modells in mehrere Dateien in folgenden Situationen in Erwägung ziehen:

Bestimmte Konfigurationsverwaltungsrichtlinien machen eine parallele Entwicklung möglich. Dabei arbeiten mehrere Teammitglieder gleichzeitig an einem Modell. Bei einer parallelen Entwicklung können sich unkoordinierte Änderungen auf die Datei sowie auf das logische Modell oder Modellsubset auswirken, das die Datei darstellt. Sie müssen alle Änderungen mischen, bevor Sie die Modelldatei in dem Konfigurationsverwaltungssystem speichern können. Eine einfache Mischung liegt vor, wenn Änderungen keinen Konflikt verursachen, so dass das Modellmischtool die Änderungen automatisch mischt. Ein komplexerer Mischvorgang liegt vor, wenn mehrere Benutzer widersprüchliche Änderungen vornehmen und ein Benutzer bestimmen muss, welche Änderungen übernommen werden.

Abstraktionsebenen

Ein Modell sollte erste geteilt werden, wenn seine Abstraktionsebene stabilisiert ist. Wenn die Abstraktionsebene eines Modells stabil ist, muss die Teilung nur noch selten geändert werden. Sie sollten außerdem gemeinsame Komponenten ermitteln und diese als erstes stabilisieren, da Änderungen von gemeinsamen Komponenten Konflikte verursachen können, die alle anderen Partitionen betreffen.

Frühe Versionen eines Modells stellen oft nur die Subsysteme der Ausgangsebene eines Systems dar. Teilen Sie das Modell erst, nachdem die Subsysteme der Ausgangsebene so definiert sind, dass sie auch in künftigen Iterationen bestehen bleiben. Wenn die Subsysteme der Ausgangsebene gefestigt und stabil sind, können Sie getrennt werden, um durch parallele Entwicklung das Öffnen des Modells zu beschleunigen. Wenn der Inhalt der einzelnen Subsysteme gefestigt (stabilisiert) ist, können die Subsysteme geteilt werden.

Synchronisierte Arbeitsbereiche

Um beim Arbeiten mit Modellpartitionen fehlerhafte Daten zu vermeiden, sollten Sie immer in einem synchronisierten Arbeitsbereich arbeiten, dessen Partitionen dieselbe Änderungsstufe aufweisen.

Beispiel

Das folgende Beispiel zeigt, was passieren kann, wenn Sie in einem nicht synchronisierten Arbeitsbereich mit den Partitionen eines Modells arbeiten.

Ein Modell in einem Konfigurationsverwaltungssystem besteht aus zwei Partitionen (Modell X und Modell Y). Beide Modelle liegen in der Version 20 vor. Modell X enthält ein Paket mit der Bezeichnung P1. Modell Y ist leer.

Zwei Benutzer führen den folgenden Arbeitsablauf aus:

  1. Benutzer A checkt beide Modelle mit dem Versionsstand 20 aus.
  2. Benutzer A nimmt mehrere Änderungen an P1 vor und verschiebt P1 aus Modell X in Modell X.
  3. Benutzer A checkt Modell X und Modell Y ein. Beide Dateien haben jetzt den Versionsstand 21.
  4. Benutzer B hat Modell X mit dem Versionsstand 20 in seinem Arbeitsbereich und nimmt eine Änderung an P1 vor.
  5. Wenn Benutzer B versucht, seine Änderungen zu speichern, fordert das Konfigurationsverwaltungssystem ihn auf, entweder die vorhandene Version im Arbeitsbereich auszuchecken (Modell X, Version 20) oder die neuere Version (Modell X, Version 21).

Wenn Benutzer B sich für die im Arbeitsbereich vorhandene Version (Modell X, Version 20) entscheidet, muss er möglicherweise die Operation wiederholen, für die das Auschecken nötig wurde.

Wenn Benutzer B seine Änderungen jedoch mit der neueren Modellversion (Modell X, Version 21) speichert, überschreibt er die Änderungen, die Benutzer A vorgenommen hatte.

Zugehörige Tasks
Modelle für die Teamentwicklung verwalten
Modelle partitionieren
Rechtliche Hinweise | Feedback
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.