Aufgabe: Subsystemabhängigkeiten modellieren
Diese Aufgabe erweitert das traditionelle RUP-Subsystemdesign mit Details, die für SOA-Lösungen spezifisch sind, insbesondere, wenn Subsysteme anhand von Geschäftsanalysemodellen identifiziert werden. Beim Übergang von der Geschäftsdomäne zur IT-Domäne werden die identifizierten Funktionsbereiche, die in der Geschäftsdomäne definiert wurden, ihren IT-Pendants - Subsystemen - zugeordnet.
Zweck

Für die Verknüpfung der Geschäftsmodelle mit ihren IT-Entsprechungen sind die folgenden Schritte auszuführen:

  • Beziehung zwischen Funktionsbereichen (Konzept Funktionsbereichsanalyse) im Geschäftsanalysemodell und dem entsprechenden Designsubsystem identifizieren
  • In den Schnittstellen des Subsystems angegebenes Verhalten mit Kollaborationen der enthaltenen Designelemente und externen Subsysteme/Schnittstellen definieren
  • Interne Struktur des Subsystems in Form von Servicekomponenten dokumentieren, durch die das Subsystem realisiert wird
  • Realisierungen zwischen den Subsystemschnittstellen und den enthaltenen Komponenten und Klassen definieren
  • Abhängigkeiten von anderen Subsystemen bestimmen
Beziehungen
RollenHauptrollen: Zusätzliche Rollen: Unterstützende Rollen:
EingabenVerbindlich: Optional: Extern:
  • Ohne
Ausgaben
Hauptbeschreibung

Wir beginnen mit der Ermittlung und Dokumentation der Abhängigkeiten zwischen Subsystemen, die den in der Aufgabe Funktionsbereichsanalyse identifizierten Funktionsbereichen entsprechen. In der Regel wird ein Funktionsbereich einem einzelnen Subsystem entsprechen. Diese vereinfachte Vermutung hat sich in vielen, wenn nicht den meisten Fällen als korrekt erwiesen. Die Entscheidung, einen Funktionsbereich mehreren Subsystemen zuzuordnen, kann auch gültig und durchführbar sein. Dies bedeutet jedoch normalerweise, dass die Domänendekomposition nicht weit genug ging und die Funktionsbereiche nicht ausreichend differenziert sind.

Schritte
Subsystemabhängigkeiten beschreiben
Zweck Schnittstellen dokumentieren, von denen das Subsystem abhängig ist.  

Wenn ein in einem Subsystem enthaltenes Element Verhalten eines Elements in einem anderen Subsystem verwendet, entsteht zwischen den Subsystemen eine Abhängigkeit. Um die Wiederverwendung zu verbessern und Verwaltungsabhängigkeiten zu verringern, können Sie diese Situation mit Hilfe einer Abhängigkeit von einer bestimmten Schnittstelle des Subsystems und nicht vom Subsystemselbst oder von dem im Subsystem enthaltenen Element beschreiben.

Es gibt zweierlei Gründe:

  • Es soll möglich sein, ein Modellelement (einschließlich seiner Subsysteme) durch ein anderes zu ersetzen, sofern beide dasselbe Verhalten aufweisen. Das erforderliche Verhalten wird mit Schnittstellen beschrieben. Deshalb sollten auch alle Verhaltensanforderungen, die ein Modellelement an ein anderes stellt, mit Schnittstellen beschrieben werden.
  • Der Designer soll völlige Freiheit beim Design des internen Verhaltens des Subsystems haben, sofern das Subsystem das richtige externe Verhalten erbringt. Wenn ein Modellelement in einem Subsystem auf ein Modellelement in einem anderen Subsystem verweist, kann der Designer dieses Modellelement nicht mehr entfernen oder das Verhalten dieses Modellelements auf andere Modellelemente verteilen. Deshalb ist das System labiler.

Vergewissern Sie sich beim Erstellen von Abhängigkeiten, dass keine direkten Abhängigkeiten oder Assoziationen zwischen Modellelementen im Subsystem und Modellelementen in anderen Subsystemen bestehen. Stellen Sie außerdem sicher, dass es keine Schleifenabhängigkeiten zwischen Subsystemen und Schnittstellen gibt. Es ist nicht möglich, dass ein Subsystem eine Schnittstelle realisiert und gleichzeitig von dieser Schnittstelle abhängig ist.

Abhängigkeiten zwischen Subsystemen und zwischen Subsystemen und Paketen können wie gezeigt direkt gezeichnet werden. Wenn Abhängigkeiten auf diese Weise gezeichnet werden, gibt die Abhängigkeit an, dass ein Subsystem (z. B. Rechnungsverwaltung) direkt von einem anderen Subsystem (Terminierung von Zahlungen) abhängig ist.


Im Begleittext beschriebenes Diagramm

Beispiel für Subsystemschichten mit direkten Abhängigkeiten

Wenn es möglich ist, dass ein Subsystem durch ein anderes (das dieselben Schnittstellen hat) ersetzt wird, kann die Abhängigkeit zu einer vom Subsystem realisierten Schnittstelle anstatt zum Subsystem selbst gezeichnet werden. Auf diese Weise kann jedes andere Modellelement (Subsystem oder Klasse), das dieselbe Schnittstelle realisiert, verwendet werden. Mit Schnittstellenabhängigkeiten können flexible Frameworks mit austauschbaren Designelementen entworfen werden.


Im Begleittext beschriebenes Diagramm

Beispiel für Subsystemschichten mit Schnittstellenabhängigkeiten

 

Eigenschaften
Mehrere Vorkommen
Ereignisgesteuert
Fortlaufend
Optional
Geplant
Wiederholt anwendbar
Weitere Informationen