Ich denke gerne, dass alles um uns herum auf die eine oder andere Weise durch ein Diagramm dargestellt werden kann. Auch wenn es sich nur um ein lineares Diagramm handelt, das den Übergang zwischen den Zuständen eines bestimmten Objekts im Laufe der Zeit darstellt (wie ein Lebewesen, das eine Reihe von Zuständen von der Geburt bis zum Tod durchläuft). Ich benutze Diagramme, um meine Gedanken und Ideen für die tatsächliche Umsetzung niederzulegen. Ich improvisiere ziemlich viel.
Daher sind meine Diagramme die meiste Zeit auf einem sehr hohen Niveau und fühlen sich wie Mind Maps an .
Zum Beispiel ist dies eine Klassenvererbungskarte (eine, die geschnitten wurde) in meinem Spiel, bei der Interactive Object der Basistyp ist.
Dies ist ein FSM - Diagramm ( Finite-State-Machine ) für eine Spikes-Falle (diese fantastischen Fallen, auf die Sie treten und die Spikes aus dem Boden tauchen lassen ).
Dies ist ein Handbuchdiagramm (so genannt, weil es ein häufig verwendetes Diagramm sein soll), das ich kürzlich gezeichnet habe. Es beschreibt die Komponenten eines Spiels und hilft auch beim Sammeln der erforderlichen Assets, da Sie sofort sehen können, was benötigt wird und was nicht. Ich empfehle diese bei kleinen Projekten, da sie bei großen ziemlich groß werden. Sie können jedoch weiter verbreitert werden, so dass möglicherweise Fehler behoben werden.
Wenn ich auf eine niedrigere Ebene gehe, muss ich in der Regel die komplexesten Aspekte meiner Architektur planen, und dort beschäftige ich mich in der Regel mit UML. Ich konzentriere mich jedoch nie darauf, absolut saubere und korrekte UML auszugeben. Ich habe das übernommen, was mir an der UML-Konvention am besten gefallen hat, und daraus eine nette Mindmap-artige UML gemacht. Es ist einfach und erledigt die Arbeit für mich, aber ich würde es aus offensichtlichen Gründen nicht in einer Umgebung tun, in der tatsächliche UML erwartet wird.
Eine andere Situation, wenn ich auf eine niedrigere Ebene gehen muss, ist, wenn ich tatsächliche Algorithmen beschreiben muss. Ich benutze sogenannte Flussdiagramme . Es ist ein Format, das sich an den beim White-Box-Test verwendeten Diagrammen orientiert .
Ein Beispiel für die Spike-Falle, die ich gerade gezeichnet habe, würde folgendermaßen aussehen:
Dies ist normalerweise die letzte Ebene zwischen Diagrammen und tatsächlichen Algorithmusimplementierungen. Bei Bedarf führe ich die Flussdiagramme weiter aus (mit zusätzlich ausgeführten Anweisungen), leite die Komplexität ab oder schätze sie ab und erstelle genaue Testfälle. Ich bevorzuge auch Diagramme gegenüber Pseudocode.
Ich habe auch ein nettes Format, um die Bildschirme in einer Multiscreen-App zu beschreiben, die Funktionen, die der Benutzer auf jedem Bildschirm auslösen kann, und die Beziehung zwischen den Bildschirmen. Normalerweise erstelle ich diese, bevor ich mit der eigentlichen Entwicklung beginne, und sie verhalten sich während des gesamten Entwicklungsprozesses wie eine Landkarte. Wenn es für einen Kunden ist, ist das Bildschirmdiagramm noch nützlicher! Es hilft mir, das gesamte Projekt von Anfang an durchzugehen und alle Funktionen zu berücksichtigen, die es benötigen wird. Daher ist es von unschätzbarem Wert, eine genaue Kosten- und Zeitschätzung bereitzustellen.
Also ja, ich zeichne definitiv alles und jeden. Wenn ich eine Idee habe, kann und werde ich auf jeden Fall ein Diagramm dafür zeichnen. Wenn ich irgendwie ein Projekt ohne ein sehr breites Diagramm beginne, um mich zu unterstützen, fühle ich mich verkrüppelt.