Unified Modelling Language

UML für die Systemarchitektur

25.08.2011
Von Stefan  Queins

Architekturunterschiede

Zunächst einmal gibt es in der Systemarchitektur keine Artefakte oder Prozesse, die man auf eine Systemlandschaft verteilen muss. Es werden also keine Prozess- oder Verteilungssichten benötigt, wie man sie aus der reinen Softwarearchitektur kennt. Je nach Art der Systemzerlegung muss aber möglicherweise eine Gruppierung der Systemkomponenten zu räumlichen Komponenten (Schränke, Einsteckkarte etc.) vorgenommen werden.

Ein weiterer Unterschied zeigt sich in der Art der Komponenten, aus denen ein System besteht. In der Softwarearchitektur werden natürlich nur reine Softwarekomponenten benötigt. In der Systemarchitektur braucht man jedoch eine zusätzliche Möglichkeit, um Software3- und Hardwarekomponenten4 unterscheiden zu können. Die Komponentenbildung unterliegt außerdem anderen Gesichtspunkten. So kann für die Zerlegung eines Systems ein wichtiges Kriterium die Beauftragung durch externe Lieferanten sein, was man bei der Softwarearchitektur eher selten findet. Ebenso lässt sich leicht erahnen, dass typische Muster aus der Softwarearchitektur5 wie das Schichtenmodell oder Pipes and Filter nicht ohne weiteres in die Systemarchitektur übertragen werden können.

Da sich die Unterschiede im Entwurf einer System- und Softwarearchitektur hauptsächlich auf Tätigkeiten beschränken, sich die erzeugten Ergebnisse in ihrer Art aber ähneln, stellt die UML auch für Systeme eine adäquate Möglichkeit dar, einen Großteil dieser Ergebnisse zu dokumentieren. Es geht nicht darum, bewährte Notationen der Hardwareentwicklung wie zum Beispiel Konstruktionszeichnungen abzulösen. Vielmehr bietet die UML in einigen Bereichen eine gewinnbringende Zusatzoption. Dies ist der Fall, wenn es um die Kommunikation der an der Systementwicklung beteiligten Teams geht, um die Nachvollziehbarkeit der Entwicklungsentscheidungen oder um einen leichteren Übergang zur Softwareentwicklung.