Ich möchte, dass meine Skizzen zum Design und Verhalten eines Programms rationalisiert werden und eine gemeinsame Sprache mit anderen Entwicklern haben.
Ich habe mir UML angesehen und im Prinzip scheint es das zu sein, wonach ich suche, aber es scheint übertrieben zu sein. Die Informationen, die ich online gefunden habe, wirken ebenfalls sehr aufgebläht und akademisch.
Wie kann ich UML im Klartext verstehen, um es meinen Kollegen erklären zu können? Was sind die kanonischen Ressourcen für das Verständnis von UML auf der Basis?
Antworten:
Die Fragen haben mir gefallen - die gleichen, die ich mir gestellt habe:
Folgendes habe ich gefunden:
Für einen Kick-Start: Meine Wahl wäre Fowlers UML Destilled . Es ist wirklich eine Destillation der Grundlagen, wie bereits erwähnt wurde: Definitionen, Beispiele, Ratschläge, wann ein bestimmter Diagrammtyp verwendet werden sollte oder nicht. Es ist auch eine gute Referenz , wenn Sie sich auf einen bestimmten Teil der UML konzentrieren möchten, ohne das Buch von Anfang bis Ende zu lesen.
Für eine ausführlichere, aber einfachere Einführung: UML 2 für Dummies wurde für meine Kollegen und mich erstellt. Es wird nicht nur UML, seine Syntax und Verwendungsmöglichkeiten ausführlich vorgestellt, sondern es werden auch viele Tipps zu guten Programmier- und Entwurfspraktiken gegeben.
Es gibt gelegentlich Unterschiede zwischen den beiden Büchern, welche Syntax zu welcher Version des UML-Standards gehört. Diese sind jedoch winzig und definitiv nicht erforderlich, um mithilfe von UML-Diagrammen Entwurfsideen zu kommunizieren. (Zum Beispiel: ob UML 2 diskrete Multiplizitäten zulässt, dh zeigt, dass eine bestimmte Eigenschaft genau X-, Y- oder Z-Objekte haben kann, anstatt nur null, eins, viele oder mehr als X, wenn die Namen der Teilnehmer unterstrichen werden sollen. ..)
Für eine nicht akademische und weniger wortreiche Einführung: Dieser Blog enthält Artikel zu verschiedenen Aspekten der UML: http://blog.diadraw.com/category/uml/
Es ist kein Lehrbuch, ist also alles andere als erschöpfend, sondern verwendet auch Geschichten und Beispiele, die sich nicht auf Lehrbücher beziehen. Die wenigen verfügbaren Beiträge konzentrieren sich auf die visuelle Einführung von UML-Konzepten, sodass Sie das Lesen des Textes insgesamt überspringen können.
quelle
Martin Fowlers UML Destilled hat mir sehr gut gefallen . Kurz und knapp und mehr als ausreichend für Whiteboard-Diskussionen. Holen Sie sich ein paar Exemplare und leiten Sie sie an das Team weiter.
quelle
Diagramme alleine sind nicht immer hilfreich. Das Anwendungsfalldiagramm kann beispielsweise keine Geschäftsregeln im Detail vermitteln. Das Klassendiagramm kann sehr nützlich sein, da Sie möglicherweise Klassencode und DLLs daraus generieren können.
Ich finde diese Diagramme am nützlichsten:
Es gibt so viele nützliche Ressourcen, aber überprüfen Sie diese:
Edit-1 als Antwort auf Marks Kommentar.
Obwohl ich diese Ressourcen nicht täglich verwende, dienen sie als Kurzreferenz für die UML-Syntax. Die oben genannten Ressourcen werden ausgewählt, da sie eine schnelle und einigermaßen umfassende Darstellung von UML-Diagrammen bieten. Es zeigt allgemeine Diagramme und hilft dem neuen UML-Benutzer, den Unterschied zwischen ihnen schnell zu erkennen. Die erste Ressource, das Video, enthält Details zum Anwendungsfall und dessen Beziehung zu anderen Diagrammen. Es wird nicht erwartet, dass die oben genannten Ressourcen für jeden ausreichen, der UML oder OOD lernen möchte. Mir ist klar, dass das Erlernen solcher Themen in der ursprünglichen Frage nicht beabsichtigt war.
quelle
Wenn Sie mit nur 10% davon zufrieden sind , sollten Sie nicht versuchen, es aus dem UML-Buch zu lernen. Lesen Sie lieber ein gutes Buch über objektorientierte Analysen oder Entwurfsmuster - diese Bücher liefern Ihnen die 10%, die Sie suchen.
Wenn Sie dennoch ein Tutorial für UML suchen, würde ich diese Webseite und insbesondere diesen Aufsatz über UML-Diagramme empfehlen (Es ist keine Anzeige, ich persönlich habe keinerlei Beziehung zu dieser Site). Blättern Sie einfach durch die Diagramme und sehen Sie sie sich an: Sie sind größtenteils selbsterklärend und Sie können leicht verstehen, was sie darstellen, solange Sie sich mit OOP und dem allgemeinen Programmdesign und der Architektur auskennen.
Warum würde ich genau diese Seite empfehlen? (im Kommentar gefragt)
Es gibt mehrere Gründe, warum es mir besser gefallen hat als den anderen:
quelle
Die UML 2.0-Taschenreferenz von O'Reilly ist etwas detaillierter, aber wahrscheinlich die beste Wahl, da sie klein genug ist, um schnell zu finden, was Sie benötigen, aber dennoch Erklärungen enthält, wenn Sie sie benötigen. Und es ist auf dem neuesten Stand, was bei den "UML-Spickzettel" oder Referenzkarten, die ich im Internet gefunden habe, nicht der Fall ist - diese beschreiben meistens UML 1.x.
quelle
Dazu gibt es drei Teile:
Holen Sie sich eine formale UML-Referenz
Wenn Sie eine neue "Sprache" lernen, erhalten Sie eine Referenz, die Sie jederzeit aufrufen und verwenden können, unabhängig davon, ob es sich um ein Buch oder eine Online-Ressource handelt. UML Destilled ist klein, hat großartige Erklärungen und viele klare Diagramme. Auch wenn Sie nicht alle Funktionen nutzen, können Sie jederzeit zurückgehen und nach dem "richtigen" Weg suchen, um etwas auszudrücken.
Verwenden Sie UML, um Dinge zu modellieren
Nachdem Sie eine Referenz erstellt haben, beginnen Sie damit, einige kleine vorhandene Systeme oder Systeme zu modellieren, die Sie gerade verwenden. Sie werden wahrscheinlich in den meisten Situationen bei Klassendiagrammen, Sequenzdiagrammen und Zustandsdiagrammen bleiben wollen. Wenn Sie sich bei etwas nicht sicher sind, gehen Sie zu Ihrer Referenz und suchen Sie nach der "richtigen" Verwendung. Wenn dies nicht hilft, versuchen Sie es mit Googeln oder fragen Sie bei Stack Overflow. Übung ist genau wie Programmierung der Schlüssel.
Verwenden Sie einige UML in realen Projekten
Denken Sie beim Einsatz von UML in Ihrem Team daran, dass dies nur ein Hilfsmittel ist, um zu verstehen, welches System Sie erstellt haben oder erstellen werden. Sie sollten Ihre Referenz während des Diagramms weiterhin überprüfen, sich jedoch darauf konzentrieren, die Informationen zu übermitteln, ohne die Regeln genau einzuhalten.
Denken Sie an Ihre High-School-Schreibkurse zurück. Ihr Lehrer hielt es wahrscheinlich für eine Hauptsünde, Sätze mit "und", "aber" oder "oder" zu beginnen. Als Sie mehr geschrieben und mehr Kontrolle über die englische Sprache erlangt haben, haben Sie gelernt, die Regeln zu biegen, um eine größere Wirkung zu erzielen. Sie haben den Übergang von der richtigen Herangehensweise zur Herangehensweise vollzogen, die das vermittelt, was Sie am besten sagen wollten. UML sollte in der Industrie genauso verwendet werden.
quelle
Ich würde sagen, wenn Sie UML kennen, geben Ihnen alle Diagramme unterschiedliche Ansichten Ihrer Anwendung. Viele Bücher sind verfügbar.
Wenn Sie UML nicht kennen, ist es am einfachsten, nur Klassen- / Sequenzdiagramme zu erstellen, die vom vorhandenen Code umgekehrt wurden. Sie müssen nur den vorhandenen Code in UML umkehren und Ihre eigenen Notizen in die Klassen- / Sequenzdiagramme einfügen. Klassendiagramme geben eine statische Ansicht Ihrer Anwendung, Sequenzdiagramme beschreiben Methodenabläufe und damit das Anwendungsverhalten. UML Job erledigt und kein Fehler :)
quelle