Ich hatte jedoch einen oder zwei Professoren, die sich für die Verwendung einer strengen, formalen UML aussprachen, die der Spezifikation so nahe wie möglich kam.
Fragen Sie Ihren Professor, wann er diesen Ansatz das letzte Mal auf einem realen System angewendet hat. Ernst.
Ich versuche so formal wie möglich zu sein, wenn es um UML geht, aber nur, wenn es Sinn macht. Zeloten auf beiden Seiten des Spektrums (von Cowboys bis hin zu straffen Formalisten) verstehen das nicht.
Es gibt Kontexte, in denen ein weniger strenger Ansatz (wie der, den Sie persönlich verwenden) am besten geeignet ist. Ein gutes Beispiel sind kleine Systeme oder Änderungen, bei denen die Anforderungen gering und nicht vollständig definiert sind. Die verantwortliche Gruppe ist effizient und effektiv. Es ist wichtiger, es herauszubekommen, als es perfekt zu machen. Es wird iterativ durchgeführt und einige Mängel sind akzeptabel.
Oder Sie befinden sich in einer Phase, in der Sie Gastimulation und Skizzieren ausführen, anstatt eine vollständige formale Modellierungsphase durchzuführen. Das sind Beispiele, die mir einfallen würden.
In anderen Fällen benötigen Sie einen starren formalen UML-Ansatz. Beispielsweise könnten Sie vertraglich gebunden sein; Sie haben eine sehr große Anzahl von Entwicklern in mehreren Teams (möglicherweise verteilt). Der Umfang des Projekts kann in Jahren liegen. Es ist ein sehr großes System (einschließlich Software- und Hardwarekomponenten). die Ausfallkosten sind hoch usw.
Zu anderen Zeiten müssen Sie stattdessen / zusätzlich zu UML (tatsächliche mathematische formale Modelle wie Petri-Netze, CSP oder zeitliche Logik) etwas anderes verwenden. Beispiele hierfür sind Echtzeitsysteme, Systeme, bei denen Ausfälle katastrophal sind (medizinische Geräte) oder wo Sie vertraglich gebunden sind (zB in Europa bei der Entwicklung von Transportsystemen)
Es hängt alles von den Umständen ab und davon, was wir von jedem Ansatz erwarten. Ein Professor, der sich an die Formalität hält, ist einfach ein blinder Eiferer. Die Welt der Technik ist keine Schwarz-Weiß-Dichotomie zwischen Richtig und Falsch. Es ist eine Welt intelligenter Kompromisse.
Wenn Sie intelligent genug sind, um ein lockeres, informelles Modell in einer Weise zu verwenden, die effektiv und angemessen ist, um die Arbeit zu erledigen, dann soll es so sein. Ebenso wird von Ihnen erwartet, dass Sie erkennen, wann Sie NICHT informell vorgehen und / oder wann Sie NICHT formal vorgehen .
Trotzdem muss man es mit den Professoren nach Herzenslust spielen. Geben Sie ihnen einen Knochen, damit sie Ihnen eine Note geben, und wenn das bedeutet, sich endlich ihrem Mantra der Eiferer zu beugen, ist das in Ordnung. Sie wissen, was für Sie funktioniert, und Sie werden hoffentlich wissen, wann Sie was und wie in der realen Welt verwenden müssen.