3 Wege zum Schreiben von Black-Box-Spezifikationen

Das Black-Box-Paradigma hilft bei der Bewältigung der Produktkomplexität. Lernen Sie 3 Möglichkeiten kennen, es anzuwenden.

Es gibt viele Techniken, die bei der Bewältigung der heutigen steigenden Produktkomplexität helfen. Im Folgenden beschreiben wir das Black-Box-Paradigma und 3 Anwendungsmöglichkeiten dafür. Während Sie hoffentlich eine übergeordnete Strategie zur Bewältigung der Produktkomplexität haben, können einzelne Techniken schnell angewendet werden, um die "low hanging fruit" zu ernten.

Veranstaltungsmeldung: Wir organisieren gemeinsam die Barcamp für Systemtechnik in Hamburg, Deutschland, am 10. November 2018. Mehr erfahren >>

Black Box Thinking

Das Konzept einer “Black Box” ist nicht neu: Man definiert, was immer man haben möchte, anhand seines Verhaltens. Denken Sie an eine Kaffeemaschine: Sie wissen, dass die “Box” etwas Platz auf Ihrer Arbeitsplatte und eine Steckdose benötigt. Sie müssen irgendwie Wasser und Kaffeepulver hineingeben, und irgendwann entnehmen Sie frischen Kaffee. Ach ja, und irgendwie müssen Sie auch den Abfall loswerden. Aber darüber hinaus kümmert es Sie nicht wirklich, wie sie die Magie vollbringt, die Eingaben in frischen Kaffee zu verwandeln.

Diese Denkweise kann auf jeder.

Wenn Sie Bauteile von der Stange kaufen, achten Sie in der Regel auf die Beschreibung in der Blackbox: Nehmen wir den Widerstand, den wir gerade erwähnt haben: Der Käufer interessiert sich normalerweise nicht für das verwendete Material, sondern nur für die elektrischen Eigenschaften.

Black-Box-Fallstricke

Wenn Black-Box-Design so großartig ist, warum wenden wir es nicht die ganze Zeit an? Dafür gibt es viele Gründe, hier sind einige gängige:

Die Grenze definieren: Ein Grund dafür ist, dass die Definition der Systemgrenze Disziplin, ein gutes Verständnis des Themas und viel Erfahrung erfordert. Wenn Sie eine Komponente kaufen, definiert die Komponente implizit die Grenze. Wenn Sie jedoch Ihr eigenes System zerlegen, gibt es viele verschiedene Möglichkeiten, es “zu schneiden”. Und wenn Sie einen minderwertigen Schnittpunkt wählen, können Sie unnötige Komplexität hinzufügen.

Undichte Kartons Ein weiteres Problem tritt auf, wenn die Box nicht so opak ist, wie Sie es sich wünschen. Manchmal “sickert” die Implementierung innerhalb der Blackbox nach außen, mit unbeabsichtigten Folgen. Betrachten wir Glühbirnen. Während eine moderne LED in die Fassung einer herkömmlichen Glühbirne passen mag, ist sie möglicherweise nicht mit dem Lichtdimmer kompatibel (es sei denn, Sie verwenden eine dimmfreundliche LED).

Konzeption vs. Implementierung Die Modularität des Designs passt nicht unbedingt zur Modularität der Implementierung. Dies kann zu Problemen führen, wenn der Entwicklungsprozess dies nicht berücksichtigt. Beispielsweise kann der Versuch, die Modularität während der Designphase beizubehalten, zu klobigen Systemen führen, die größer sind als nötig. Auch die Modularität der Software ist typischerweise im integrierten System (Hardware plus Software) verborgen.

3 Wege zum Schreiben von Black-Box-Spezifikationen

Nachdem dies alles gesagt ist, hier ist eine Liste von drei spezifischen Techniken zur Anwendung von Black-Box-Denken in der Spezifikationsphase.

1.One-Pager für Kommunikation

Eine einfache, aber effektive Methode ist die Erstellung von One-Pagern für jedes (Teil-)System. Die Idee ist, den wesentlichen Vertrag zwischen dem Produzenten und dem Konsumenten eines Systems zu erfassen. Denken Sie an die Produktbeschreibung in einem Katalog. Ein One-Pager sollte Folgendes enthalten:

  • Kurzbeschreibung
  • Funktion
  • Schnittstellen
  • Körperliche Merkmale

Wenn dies nicht auf eine Seite passt, sind Sie wahrscheinlich zu spezifisch. Beachten Sie, dass der Zweck dieses Dokuments die Kommunikation ist. Technische Details können an anderer Stelle festgehalten werden.

One-Pager eignen sich hervorragend als “Vertrag” zwischen Teams. Wenn Sie einen agilen Ansatz verfolgen, z. B. “Scrum of Scrum”, kann der One-Pager von den Product Ownern verwendet werden, um Änderungen zwischen den verschiedenen Subsystemen des Produkts zu kommunizieren und zu vereinbaren.

2.Lass dein Datenmodell die Grenzen der Blackbox widerspiegeln

Viele Organisationen arbeiten mit modernen Anforderungsmanagement-Tools wie Jama Connect, die es dir erlauben, ein Beziehungsmodell zu entwerfen, das die verschiedenen Hierarchieebenen aufzeigt. Damit dies effektiv ist, benötigst du einen Entwicklungsansatz, der sicherstellt, dass du die verschiedenen (Teil-)Systeme so definierst, dass die Grenzen klar abgegrenzt sind. Betrachten Sie dieses Beispiel:

Die Systemanforderungen sind die Grundlage für die verschiedenen Subsysteme und bilden die Basis für die Kommunikation zwischen System- und Subsystemteams. Die Subsystemteams ändern niemals die Systemanforderungen, sondern fordern (bei Bedarf) Änderungen vom Systemteam an.

Die Artefakte des Subsystems (Subsystem Verification and Design Description) stellen Implementierungsdetails dar und sind daher für das Systemteam nicht von Interesse (und standardmäßig nicht sichtbar).

Nur zur Klarstellung: ein solches Datenmodell reicht nicht aus, es sei denn, es wird durch eine geeignete Methode ergänzt (wie verhaltensgesteuerte Entwicklung, BDD) und Prozessen.

3.Mit Systemmodellen arbeiten (MBSE)

Der anspruchsvollste Ansatz ist der Aufbau eines Systemmodells. Hierfür benötigen Sie Modellierungswerkzeuge (wie Enterprise Architekt) und wählen Sie eine Modellierungssprache, wie zum Beispiel SysML. Systemmodellierungssprachen wie SysML enthalten alle Strukturen zur Beschreibung eines Systems als Blackbox sowie die Fähigkeiten, das Innere der Box zu entwerfen.

Systemmodelle sind für Laien schwer zu lesen. Deshalb ist es sehr wichtig, eine fundierte Entwicklungsmethode, die Methode unterstützende Prozesse und Schulungen für alle Beteiligten zu haben. Obwohl Schulungen für alle Beteiligten hilfreich sind, um die Modelle zumindest lesen zu können, empfehlen wir, in eine umfassende Anpassung sowohl der Werkzeuge als auch der Dokumentengenerierung zu investieren. Eine gut gestaltete Vorlage, die lesbare Dokumente erzeugt, verbessert die Akzeptanz von Systemmodellierungen erheblich.

Schlussfolgerung

Black-Box-Design, wenn richtig gemacht, ist eine großartige Technik, um mit Komplexität umzugehen. Wie wir hier gezeigt haben, kann die Technik unabhängig vom Entwicklungsstand angewendet werden.

Aber ebenso wichtig ist, dass es eine Denkweise ist. Die Beachtung des Black-Box-Paradigmas kann bei der Entwicklung skalierbarer Produkte viel bewirken.

Foto von Esther Jiao auf Unsplash

Ähnliche Beiträge