Inhalt Abbildung PDF Source OO-Designkurs
 |<    <     >    >|  Generated by CoCoDiL

3 Systemarchitektur

3.1 Einführung

3.1.1 Womit beschäftigt sich ein Systemarchitekt?

Kommunikation mit externen Systemen

Kommunikation der Komponenten innerhalb des Systems

Dieselben Fragen, die die Kommunikation mit den externen Systemen betreffen, müssen auch für die Komponenten innerhalb des Systems beantwortet werden.

Eine Komponente ist nicht auf mehreren Servern verteilt. Eine Komponente besteht aus mehreren Paketen und diese beinhalten Klassen.

3.1.2 Was zeichnet eine gute Systemarchitektur aus?

Am besten gefällt mir eine Regel die ich von Frank Buschmann während der OOP Messe in München gehört habe. Den genauen Wortlaut habe ich nicht mehr in Erinnerung aber sinngemaess war es folgendes

Jeder Programmierer sollte innerhalb weniger Minuten die Systemarchitektur aufzeichnen können.

Ein guter Systemarchitekt achtet auf Abhängigkeiten zwischen den Systemen bzw. Komponenten. Dabei helfen die Begriffe Kopplung und Kohäsion.

Kohäsion Kopplung

Kohäsion Innerer Zusammenhalt zwischen den Merkmalen einer Entwurfs- oder Konstruktionseinheit. Das Prinzip der maximalen Kohäsion fordert eine möglichst hohe Bindungsstärke innerhalb einer Entwurfs- oder Konstruktionseinheit.

Kopplung: Zusammenhang zwischen unterschiedlichen Entwurfs- oder Konstruktionseinheiten. Minimale Kopplung zielt auf die Reduktion der Bindung zwischen den Einheiten, insbesondere die Vermeidung zyklischer Benutzung.

Zwischen den Komponenten (Paketen) sollte eine geringe Kopplung sein, d.h. Komponenten (bzw. Pakete) sind weitgehend unabhängig voneinander. Dies bedeudet einer Änderung an einer Komponente (bzw. Pakete) wirkt sich wahrscheinlich nicht auf eine andere Komponente (Paket) aus.

Zwei Elemente die eine hohe Kohäsion aufweisen, sollen in derselben Komponente (Paket) sein.

Inhalt Abbildung PDF Source OO-Designkurs
 |<    <     >    >|  Generated by CoCoDiL