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
Antworten:
Von den vielen von UML vorgeschlagenen Diagrammen sind Klassendiagramme und Sequenzdiagramme immer noch weit verbreitet, gefolgt von Zustandsdiagrammen:
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?) ;-)
quelle
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
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.
quelle
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?
quelle
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.
quelle