Aus dem Kurs: Einführung in die Softwarearchitektur 4: Architekturdokumentation

Die Kontextabgrenzung

Die Kontextabgrenzung. Die Kontextabgrenzung ist das dritte Kapitel im Arc42-Template. Mit ihr stellen wir unser System im Kontext zu anderen Systemen oder Benutzern da. Wir definieren auf die Art und Weise externe Schnittstellen, und wie diese gestaltetet sein könnten, wobei wir hier nicht all zu sehr ins Datei gehen. Für die Kontextabgrenzung bedienen wir uns in aller Regel der Kontextsicht. Diese wird auch als Bezugspunkt für weitere Sichten dienen, wobei hervorzuheben ist, dass Sie als Ausgangspunkt vor allem für die Bausteinsicht dient. Denn die Bausteinsicht wird dann eine Art Zoom in unserem System, dass wir mit der Kontextsicht noch eher grob darstellen. Die Kontextabgrenzung besteht aus zwei Unterkapiteln. Wir haben zum einen den fachlichen Kontext und zum anderen den technischen Kontext. Der fachliche Kontext stellt die verschiedenen Kommunikationspartner aus fachlicher Sicht dar und klärt dabei vor allem, welche Eingabe-, Ausgabedaten und Schnittstellen vorliegen. Die Schnittstellen sind hierbei aber eben nicht technischer Natur, sondern vor allem geht es hierbei eher um Daten, die übertragen werden. Die technische Prägung kommt dann im technischen Kontext. Dabei mappen wir die fachlichen Ein- und Ausgaben auf technische Kanäle und definieren die tatsächlichen technischen Schnittstellen. Diese kann im Detail von den fachlichen Schnittstellen abweichen. Für die Kontextabgrenzung eignen sich 3 Diagrammtypen besonders gut. Da hätten wir zum einen das Paketdiagramm für sehr abstrakte Darstellung, Das Verteilungsdiagramm, wenn Sie sehr viel mit externer Hardware oder externer Laufzeitumgebung arbeiten, und das Komponentendiagramm. In der Beispieldokumentation nutze ich das Komponentendiagramm. Schauen wir uns mal an, wie sich das gestaltet. In der Beispieldokumentation ist die Kontextabgrenzung direkt nach den Randbedingungen zu finden. Das erste Kapitel dabei ist die fachliche Abgrenzung. Wir zoomen sozusagen von der fachlichen Sicht später in die technische. Das Kapitel selbst beginne ich zunächst mit einer Darstellung, weil Darstellung am einfachsten einen Einstieg in komplexe Thematiken erlauben. Ich nutze hierbei ein Komponentendiagramm, wobei ich in das Komponentendiagramm auch Akteure mit aufgenommen habe. Diese sind im Grunde Nutzergruppen, wie der Stellplatzanbieter, der Servicetechniker usw. und so fort. Das, was wir hier sehen, sind nicht eindeutige Daten, die darüber tragen werden. Wartung zum Beispiel oder Auftragserteilung. Es ist nicht so, dass Sie diese Daten eins zu eins auf mögliche Datenobjekte mappen können. Was Sie hier aber gegebenenfalls eintragen könnten, sind Domainenobjekte insofern Sie ein Domainmodell verwenden. Außerdem habe ich hier unten ein externes System, dass ich ebenfalls mit System gekennzeichnet habe. Die Legende gibt dem Leser an, wobei es sich um FotoMaX eigene Systeme handelt. Diese sind extra blau hervorgehoben, und welches externe Systeme sind. Diese Farbkodierung behalte ich im Rest des Dokuments bei. Neben den einfachen Beschreibungen, die Sie oben finden, haben wir unten noch textuelle Beschreibungen. Diese textuellen Beschreibungen gehen bei mir dann noch ein Stückchen weiter, weil ich wichtige fachliche Zusammenhänge etwas ausführlicher erläutere. In unserem Fall ist es beispielsweise so, dass wir bei FotoMaX 2 verschiedene Aufbaue betrachten müssen. Da hätten wir zum einen den Standalone-Fall und zum anderen den Connected-Fall. Im technischen Kontext erläutere ich diese Zusammenhänge nicht mehr so deutlich. Ich habe sie im fachlichen Kontext ja schon einmal genannt. Hier finden wir nun in der Darstellung Ihre Protokolle bzw. Frameworks oder Technologien, die für die Schnittstellen notwendig sind. So wird das Portal über eine angular-basierende UI angesprochen, während der Wizard, also das, was auf dem Endverkaufsgerät der Sales Unit läuft, über VPF mit dem Kunden in Kontakt tritt. Kommunikationen mit Hardware wird entweder über HTTP oder USB dargestellt. Hardware zeichne ich hierbei als 3-dimensionale Kästchen und grenze sie damit von Software-System ab, wie wir das drüber finden. Auch hier ist die Farbgestaltung beibehalten, so wie wir das schon beim fachlichen Kontext hatten. Und ebenfalls finden Sie hier eine weitere Erläuterung zu allen Bestandteilen. In diesem Video habe ich Ihnen gezeigt, was eine Kontextabgrenzung ist. Wichtig dabei ist, dass Sie eben den fachlichen und den technischen Kontext auseinander halten, da der fachliche Kontext sich eher auf die Fachzusammenhänge konzentriert und dabei die Daten hervorhebt, die übertragen werden. Der technische Kontext deutet dann schon ein Stück weit auf die technische Umsetzung hin.

Inhalt