{"id":842,"date":"2018-09-05T08:00:52","date_gmt":"2018-09-05T06:00:52","guid":{"rendered":"http:\/\/formalmind.com\/?p=842\/"},"modified":"2022-09-06T17:58:06","modified_gmt":"2022-09-06T15:58:06","slug":"black-box-specifications","status":"publish","type":"post","link":"https:\/\/www.formalmind.com\/de\/blog\/black-box-specifications\/","title":{"rendered":"3 Wege zum Schreiben von Black-Box-Spezifikationen"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Es gibt viele Techniken, die bei der Bew\u00e4ltigung der heutigen steigenden Produktkomplexit\u00e4t helfen. Im Folgenden beschreiben wir das Black-Box-Paradigma und 3 Anwendungsm\u00f6glichkeiten daf\u00fcr. W\u00e4hrend Sie hoffentlich eine \u00fcbergeordnete Strategie zur Bew\u00e4ltigung der Produktkomplexit\u00e4t haben, k\u00f6nnen einzelne Techniken schnell angewendet werden, um die \"low hanging fruit\" zu ernten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Veranstaltungsmeldung:<\/strong> Wir organisieren gemeinsam die <strong>Barcamp f\u00fcr Systemtechnik<\/strong> in Hamburg, Deutschland, am 10. November 2018. <a href=\"https:\/\/systemscamp.org\/nord2018\/\" target=\"_blank\" rel=\"noopener\">Mehr erfahren &gt;&gt;<\/a><\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Black Box Thinking<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Konzept einer \u201cBlack Box\u201d ist nicht neu: Man definiert, was immer man haben m\u00f6chte, anhand seines Verhaltens. Denken Sie an eine Kaffeemaschine: Sie wissen, dass die \u201cBox\u201d etwas Platz auf Ihrer Arbeitsplatte und eine Steckdose ben\u00f6tigt. Sie m\u00fcssen irgendwie Wasser und Kaffeepulver hineingeben, und irgendwann entnehmen Sie frischen Kaffee. Ach ja, und irgendwie m\u00fcssen Sie auch den Abfall loswerden. Aber dar\u00fcber hinaus k\u00fcmmert es Sie nicht wirklich, wie sie die Magie vollbringt, die Eingaben in frischen Kaffee zu verwandeln.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Denkweise kann auf jeder.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00e4hnt haben: Der K\u00e4ufer interessiert sich normalerweise nicht f\u00fcr das verwendete Material, sondern nur f\u00fcr die elektrischen Eigenschaften.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Black-Box-Fallstricke<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Black-Box-Design so gro\u00dfartig ist, warum wenden wir es nicht die ganze Zeit an? Daf\u00fcr gibt es viele Gr\u00fcnde, hier sind einige g\u00e4ngige:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Die Grenze definieren:<\/strong> Ein Grund daf\u00fcr ist, dass die Definition der Systemgrenze Disziplin, ein gutes Verst\u00e4ndnis 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\u00f6glichkeiten, es \u201czu schneiden\u201d. Und wenn Sie einen minderwertigen Schnittpunkt w\u00e4hlen, k\u00f6nnen Sie unn\u00f6tige Komplexit\u00e4t hinzuf\u00fcgen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Undichte Kartons<\/strong> Ein weiteres Problem tritt auf, wenn die Box nicht so opak ist, wie Sie es sich w\u00fcnschen. Manchmal \u201csickert\u201d die Implementierung innerhalb der Blackbox nach au\u00dfen, mit unbeabsichtigten Folgen. Betrachten wir Gl\u00fchbirnen. W\u00e4hrend eine moderne LED in die Fassung einer herk\u00f6mmlichen Gl\u00fchbirne passen mag, ist sie m\u00f6glicherweise nicht mit dem Lichtdimmer kompatibel (es sei denn, Sie verwenden eine dimmfreundliche LED).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Konzeption vs. Implementierung<\/strong> Die Modularit\u00e4t des Designs passt nicht unbedingt zur Modularit\u00e4t der Implementierung. Dies kann zu Problemen f\u00fchren, wenn der Entwicklungsprozess dies nicht ber\u00fccksichtigt. Beispielsweise kann der Versuch, die Modularit\u00e4t w\u00e4hrend der Designphase beizubehalten, zu klobigen Systemen f\u00fchren, die gr\u00f6\u00dfer sind als n\u00f6tig. Auch die Modularit\u00e4t der Software ist typischerweise im integrierten System (Hardware plus Software) verborgen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3 Wege zum Schreiben von Black-Box-Spezifikationen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem dies alles gesagt ist, hier ist eine Liste von drei spezifischen Techniken zur Anwendung von Black-Box-Denken in der Spezifikationsphase.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">1.<\/span>One-Pager f\u00fcr Kommunikation<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Eine einfache, aber effektive Methode ist die Erstellung von One-Pagern f\u00fcr 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:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Kurzbeschreibung<\/li><li>Funktion<\/li><li>Schnittstellen<\/li><li>K\u00f6rperliche Merkmale<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00f6nnen an anderer Stelle festgehalten werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One-Pager eignen sich hervorragend als \u201cVertrag\u201d zwischen Teams. Wenn Sie einen agilen Ansatz verfolgen, z. B. \u201cScrum of Scrum\u201d, kann der One-Pager von den Product Ownern verwendet werden, um \u00c4nderungen zwischen den verschiedenen Subsystemen des Produkts zu kommunizieren und zu vereinbaren.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">2.<\/span>Lass dein Datenmodell die Grenzen der Blackbox widerspiegeln<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Viele Organisationen arbeiten mit modernen Anforderungsmanagement-Tools wie <a href=\"https:\/\/www.jamasoftware.com\/platform\/jama-connect\/\" target=\"_blank\" rel=\"noopener\">Jama Connect<\/a>, die es dir erlauben, ein Beziehungsmodell zu entwerfen, das die verschiedenen Hierarchieebenen aufzeigt. Damit dies effektiv ist, ben\u00f6tigst du einen Entwicklungsansatz, der sicherstellt, dass du die verschiedenen (Teil-)Systeme so definierst, dass die Grenzen klar abgegrenzt sind. Betrachten Sie dieses Beispiel:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img data-src=\"http:\/\/formalmind.com\/wp-content\/uploads\/2018\/09\/data-model.png\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-845 lazyload\"\/><noscript><img decoding=\"async\" src=\"http:\/\/formalmind.com\/wp-content\/uploads\/2018\/09\/data-model.png\" alt=\"\" class=\"wp-image-845\"><\/noscript><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die Systemanforderungen sind die Grundlage f\u00fcr die verschiedenen Subsysteme und bilden die Basis f\u00fcr die Kommunikation zwischen System- und Subsystemteams. Die Subsystemteams \u00e4ndern niemals die Systemanforderungen, sondern fordern (bei Bedarf) \u00c4nderungen vom Systemteam an.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Artefakte des Subsystems (Subsystem Verification and Design Description) stellen Implementierungsdetails dar und sind daher f\u00fcr das Systemteam nicht von Interesse (und standardm\u00e4\u00dfig nicht sichtbar).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nur zur Klarstellung: ein solches Datenmodell reicht nicht aus, es sei denn, es wird durch eine geeignete Methode erg\u00e4nzt (wie <a href=\"https:\/\/en.wikipedia.org\/wiki\/Behavior-driven_development\" target=\"_blank\" rel=\"noopener\">verhaltensgesteuerte Entwicklung<\/a>, BDD) und Prozessen.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">3.<\/span>Mit Systemmodellen arbeiten (MBSE)<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Der anspruchsvollste Ansatz ist der Aufbau eines Systemmodells. Hierf\u00fcr ben\u00f6tigen Sie Modellierungswerkzeuge (wie <a href=\"https:\/\/www.sparxsystems.com\/\" target=\"_blank\" rel=\"noopener\">Enterprise Architekt<\/a>) und w\u00e4hlen Sie eine Modellierungssprache, wie zum Beispiel <a href=\"https:\/\/www.formalmind.com\/de\/blog\/requirements-uml-sysml\/\">SysML<\/a>. Systemmodellierungssprachen wie SysML enthalten alle Strukturen zur Beschreibung eines Systems als Blackbox sowie die F\u00e4higkeiten, das Innere der Box zu entwerfen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Systemmodelle sind f\u00fcr Laien schwer zu lesen. Deshalb ist es sehr wichtig, eine fundierte Entwicklungsmethode, die Methode unterst\u00fctzende Prozesse und Schulungen f\u00fcr alle Beteiligten zu haben. Obwohl Schulungen f\u00fcr alle Beteiligten hilfreich sind, um die Modelle zumindest lesen zu k\u00f6nnen, 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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schlussfolgerung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Black-Box-Design, wenn richtig gemacht, ist eine gro\u00dfartige Technik, um mit Komplexit\u00e4t umzugehen. Wie wir hier gezeigt haben, kann die Technik unabh\u00e4ngig vom Entwicklungsstand angewendet werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aber ebenso wichtig ist, dass es eine Denkweise ist. Die Beachtung des Black-Box-Paradigmas kann bei der Entwicklung skalierbarer Produkte viel bewirken.<\/p>\n\n\n\n<div class=\"_3bJ2H CHExY\">\n<div class=\"_1l8RX _1ByhS\" style=\"text-align: right;\"><span style=\"color: #999999;\">Foto von <a style=\"color: #999999;\" href=\"https:\/\/unsplash.com\/photos\/ADv0GiMBlmI?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Esther Jiao<\/a> auf <a style=\"color: #999999;\" href=\"https:\/\/unsplash.com\/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/span><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Das Black-Box-Paradigma hilft bei der Bew\u00e4ltigung der Produktkomplexit\u00e4t. Lernen Sie 3 M\u00f6glichkeiten kennen, es anzuwenden.<\/p>","protected":false},"author":1,"featured_media":1508,"comment_status":"open","ping_status":"open","sticky":false,"template":"wp-custom-template-single-post-feature-image","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[13],"tags":[87,88,89,59,90],"class_list":["post-842","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-black-box","tag-data-model","tag-interfaces","tag-mbse","tag-one-pager"],"_links":{"self":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/comments?post=842"}],"version-history":[{"count":0,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/media\/1508"}],"wp:attachment":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/media?parent=842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/categories?post=842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/tags?post=842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}