Jednak miałem profesora lub dwóch, którzy starali się stosować ścisłe, formalne UML, jak najbliżej specyfikacji.
Zapytaj swojego profesora, kiedy ostatni raz zastosował to podejście w prawdziwym systemie. Poważnie.
Staram się być tak formalny, jak to możliwe, jeśli chodzi o UML, ale tylko wtedy, gdy ma to sens. Zeloci po obu stronach spektrum (od kowbojów po uczciwych formalistów) tego nie rozumieją.
Istnieją konteksty, w których mniej sztywne podejście (takie jak to, którego osobiście używasz) jest najlepszym rozwiązaniem. Dobrym przykładem są małe systemy lub zmiany, w których wymagania są małe i nie w pełni zdefiniowane; grupa odpowiedzialna jest wydajna i skuteczna; ważniejsze jest, aby go wydobyć niż zrobić to idealnie. Odbywa się to iteracyjnie, a niektóre braki są dopuszczalne.
A może jesteś na etapie, w którym robisz gościnę i szkicujesz, a nie pełną fazę formalnego modelowania. To są przykłady, które przychodzą na myśl.
W innych przypadkach potrzebujesz sztywnego formalnego podejścia do języka UML. Na przykład możesz być związany umową; masz bardzo dużą liczbę programistów w wielu zespołach (prawdopodobnie rozproszonych); zakres projektu może być za lata; jest to bardzo duży system (w tym komponenty oprogramowania i sprzętu); koszt awarii jest wysoki itp.
Innym razem musisz użyć czegoś innego zamiast / oprócz UML (rzeczywiste matematyczne modele formalne, takie jak sieci petri, CSP lub logika czasowa). Przykładem tego są systemy czasu rzeczywistego, systemy, w których awarie są katastrofalne (urządzenia medyczne) lub gdzie jesteś związany umową (np. jak w Europie podczas opracowywania systemów transportu)
Wszystko zależy od okoliczności i tego, czego oczekujemy od każdego podejścia. Profesor, który usiłuje trzymać się formalności, jest po prostu ślepym fanatykiem. Świat inżynierii nie jest czarno-białą, właściwą / złą dychotomią. To świat inteligentnych kompromisów.
Jeśli jesteś wystarczająco inteligentny, aby zastosować przypadkowy, nieformalny model w sposób skuteczny i odpowiedni do wykonania pracy, niech tak będzie. Z tego samego powodu będziesz musiał rozpoznać, kiedy NIE należy stosować podejścia nieformalnego i / lub kiedy NIE należy stosować formalnego.
Powiedziawszy to, musisz grać na głos z profesorami. Daj im kość, aby dali ci ocenę, a jeśli to oznacza w końcu ukłonić się ich gorliwej mantrze, to w porządku. Wiesz, co dla Ciebie działa, i mam nadzieję, że będziesz wiedział, kiedy i czego używać w prawdziwym świecie.