Welche UML-Diagramme sind noch weit verbreitet? [geschlossen]


19

Ich unterrichte Software Engineering auf Bachelor-Niveau und habe eine Frage an UML-Praktiker.

Die meisten Lehrbücher für Softwareentwicklung sind sehr bemüht, UML-Diagramme zu behandeln. Andererseits habe ich von vielen Absolventen gehört, dass UML in den Gräben anscheinend nicht mehr verwendet wird.

Welche UML-Diagramme sind in der beruflichen Praxis noch weit verbreitet und warum? Gibt es Diagramme, die nicht mehr verwendet werden und warum?

NB: Um Meinungsdebatten und Diskussionen zu vermeiden, erläutern Sie Ihre Antwort bitte mit sachlichen und objektiven Elementen (wenn möglich, überprüfbar) oder neutralen Beobachtungen zur persönlichen Erfahrung


10
Wir wissen es nicht. Wir führen keine Umfragen durch, um solche Dinge herauszufinden.
Robert Harvey

3
Ihre Frage ist in erster Linie meinungsbasiert. Ich benutze UML sehr oft, aber es gibt eine ganze Reihe von Leuten, die antworten "UML ist tot".
Qwerty_so

1
softwareengineering.stackexchange.com/q/305031/40065 ist eine sehr verwandte Frage (fast doppelt, aber sehr unterschiedlich formuliert)
Basile Starynkevitch

1
Aber vielleicht wird UML nicht mehr viel benutzt (im wirklichen Leben)? Das war mein Punkt! Dann lautet die Antwort auf Ihre Frage: keine .
Basile Starynkevitch

1
Als UML noch jung war, schrieb Martin Fowler das Buch UML destilled , das für viele Programmierer zu einer Referenz wurde. Einige Jahre später schrieb Martin kurze praktische Anwendungsnotizen UmlAsSketch , UmlAsNotes , UnwantedModelingLanguage .
Nick Alexeev

Antworten:


15

Von den vielen von UML vorgeschlagenen Diagrammen sind Klassendiagramme und Sequenzdiagramme immer noch weit verbreitet, gefolgt von Zustandsdiagrammen:

  • Sie können problemlos auf Whiteboards verwendet werden, um das Design zu erarbeiten und zu diskutieren, bevor Sie in den Code springen
  • Sie ermöglichen es, sehr schnell einen Überblick zu vermitteln, den der Code allein nicht so einfach bietet, und es gibt keinen sinnvollen Ersatz dafür.

Ich denke, Use-Case im wirklichen Leben werden eher gelegentlich verwendet. In großen Projekten mit mehreren Hundert Anwendungsfällen ist es schwierig, Diagramme zu zeichnen, und gegenüber einer tabellarischen Form ist der Nutzen gering. BPMN für das Prozessdesign, User Story Mapping oder die Zerlegung von Ereignistabellen im Cockburn- Stil werden viel häufiger verwendet. Warum ? Weil sie einfacher mit Geschäftsbenutzern geteilt werden können, um die Anforderungen effizient zu erarbeiten.

Ich bin sicher, dass es Orte gibt, an denen UML noch immer stark und systematisch eingesetzt wird. Ich kann mir nicht vorstellen, dass Luft- und Raumfahrtsoftware oder Steuerungssysteme für Kernkraftwerke ohne die vollständige UML-Dokumentation hergestellt werden. Aber ich glaube, es ist eher die Ausnahme als die Regel.

Ich fühle mich in dieser Aussage bestätigt, wenn ich in den Buchhandlungen schaue. Vor ein paar Jahren gab es viele Bücher zu UML 2.0. Wenn Sie heutzutage nach UML 2.5 suchen, ist die Auswahl eher eingeschränkt. Schlimmer noch: Viele Autoren sie nicht einmal die Mühe machen , ihre früheren Bücher zu überarbeiten , um up-to-date (Beispiel: Fowler schön „ UML destilliert “ Einführung , die noch aus dem Jahr 2003 Termine mit UML 2.0 und gleiche gilt für Ambler ‚s„Element des UML 2.0-Stils "!).

Ich glaube nicht, dass sich dieser abnehmende Trend ändern wird, wenn man die Verallgemeinerung von Agilität und die Förderung von "Arbeitssoftware über umfassende Dokumentation" betrachtet.

Am Ende würde ich sehr provokativ behaupten, dass die Modellierungsmethoden einem darwinistischen Schema zu folgen scheinen: Nur die am besten geeignete Diagrammtechnik wird überleben, die einen klaren Vorteil gegenüber informellen Ansätzen (z. B. die Serviettenillustration) und detailliertem Code (z warum ein A1-Aktivitätsdiagramm zeichnen, wenn der entsprechende Code auf ein A4-Blatt passen könnte?) ;-)



4
"Warum ein A1-Aktivitätsdiagramm zeichnen, wenn der entsprechende Code auf ein A4-Blatt passen könnte?" Perfekt.
nbubis

Nun, aus meiner eigenen Erfahrung, in einigen Unternehmen Modellierung gesehen hat eine Verschwendung von Zeit, nur Codierung ...
Walfrat

@Christophe Was ist eine "Serviettenillustration"?
Rugk

@rugk Ich bezog mich auf die vereinfachten informellen Diagramme, die Sie beim Besprechen des Designs zur Mittagszeit ( ich weiß, es ist eine schlechte Angewohnheit ) auf einer Papierserviette oder einem Papiertischtuch gezeichnet haben, die jeder versteht und die Sie manchmal mit ins Büro nehmen, wenn Sie Sie erkennen, dass es tatsächlich Ihr Problem gelöst hat.
Christophe

7

Andererseits habe ich von vielen Absolventen gehört, dass UML in den Schützengräben anscheinend nicht mehr verwendet wird.

Sie werden alle in der Praxis eingesetzt. Aber nicht jeder benutzt sie. Manche Leute verzichten ganz auf Design und springen direkt in die Programmierung. Sie können sich nicht auf einzelne Beweise verlassen, um zu wissen, was "jeder" tut.

Tools wie UML funktionieren am besten, wenn Sie sie zur Wertsteigerung einsetzen . z.B

  • für größere projekte
  • für komplizierte Teile eines Projekts
  • wenn das Projektdesign Eingaben von mehreren Personen erfordert

Sie nur zu erstellen, um sie zu tun (oder weil der Prozess sagt, dass Sie es müssen), ist nicht produktiv. Die beste Vorgehensweise besteht darin, bei der Auswahl des Diagramms und der von Ihnen verwendeten Arten eine Auswahl zu treffen. Verwenden Sie UML, wann und wo es hilft. Dazu gehört auch, dass Sie die Art der von Ihnen verwendeten UML-Diagramme auswählen.

Auch ... UML wurde in erster Linie als Design-Tool entwickelt. Es ist nicht so effektiv (heutzutage) wie ein Dokumentationswerkzeug. Typische IDEs helfen Ihnen, viele Aspekte zu visualisieren, wenn eine Codebasisstruktur schnell verfügbar ist. Dies ist oftmals besser, als sich auf UML-Diagramme zu verlassen, die möglicherweise veraltet oder ungenau sind.


3

In den Gräben wird immer noch UML verwendet. Aber wie immer benutzen die Leute eine Teilmenge davon. Welche Teilmenge unterliegt den vorliegenden Problemen?

UML gibt es in vielen Versionen. Aber wie immer benutzen die Leute die Symbole informell und unbeständig.

UML ist, wie wir viele Musterbücher verstehen. Dies ist auch eine der Möglichkeiten, wie wir auf dem Whiteboard kommunizieren. Es ist nicht weg. Aber es wird niemals so formal wie Code verwendet.

Anstatt Schüler zu produzieren, die ein UML-Diagramm so korrigieren können, dass es der UML-Version 2.5 entspricht , oder was auch immer die neueste Version ist, produzieren sie Schüler, die verstehen, was das Diagramm zu kommunizieren versucht, auch wenn es nicht vollständig mit einer bestimmten UML-Version übereinstimmt, weil dies der Fall ist wie UML in den Gräben verwendet wird. Es kommt in seltsamen lokalen Dialekten, gemischt mit anderen Systemen, und manchmal bilden wir nur unsere eigenen Symbole.

Lehre sie, dass es in Ordnung ist zu fragen, was die Dinge bedeuten. Lehren Sie sie nicht, andere zu korrigieren, die gegen einige vorgestellte Regeln verstoßen. Wir versuchen hier nur zu kommunizieren.

Die beste Verwendung, die ich bei uml gesehen habe, besteht darin, einen neuen Programmierer ihren Plan zur Lösung eines Problems zeigen zu lassen. Es zeigte uns schnell, welche Teile des Systems sie vernachlässigt haben oder nicht erkannt haben, dass es existiert.

Ich habe auch Orte bearbeitet, die UML benötigten, auch wenn sie nicht benötigt wurden. Wir haben immer das gleiche Muster verwendet, es war also nur eine Formalität. Wir kamen zu dem Punkt, dass wir gerade neue Namen in alte Diagramme mit Fotos eingekauft haben. Ermutigen Sie diese Art der Nutzung nicht.

Aber ich denke, wir alle wissen, dass es einen Unterschied zwischen der normalen Pfeilspitze und der offenen Pfeilspitze gibt. Recht?


0

Ich werde nach meiner Erfahrung spezifisch sein: - Einsatzdiagramm - Sequenzdiagramm - Klassendiagramm Diese drei werden in jedem Projekt am häufigsten verwendet und bieten einen echten Kommunikationswert mit dem Team auf verschiedenen Ebenen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.