Case- Tools / UML
-
Werte Forumsbesucher,
eine blöde Frage vielleicht, aber was machen Case- Tools (RationalRose, Together, Enterprise Architekt o.ä.) eigentlich überhaupt? Machen die mir die Arbeit freundlicher?
Die selbe Frage stellt sich mir bei UML - was soll mir das wirklich erleichtern oder gar ganz abnehmen?
Alles Unfug oder echt hilfreich - ich bitte um eure Meinungen und Erklärungen!
Danke!
-
Case-Tools kenne ich persönlich nicht, UML nutze ich auch nur selten. Aber drei Vorteile/Erleichterungen von UML fallen mir spontan ein: Man skizziert mit UML ja seine Klassen, Strukturen und Abhängigkeiten voneinander. Damit kann man sich recht schnell einen Überblick über die Zusammenhänge schaffen; es ist z.B. praktisch, das UML-Krams auszudrucken und bei einer Code-Besprechung dabei zu haben.
Zweiter Vorteil: Man kann in UML für jede Klasse Methoden und Elemente angeben, ein gescheites Programm generiert dir dann aus dem UML-Diagramm den Quelltext, dann musst du nur noch die Methoden fülllen (klappt bei mir aber nie, bei mir muss sich der Quelltext entwickeln).
Dritte Sache: Soweit ich weiß, kann man UML auch dazu nutzen, Zustandsdiagramme zu bauen. Die können verflucht praktisch sein, um gewisse Abläufe deutlicher zu machen, als Kommentare oder Quelltext das je könnten. Ein Beispiel (falls dir Zustandsdiagramme nix sagen) siehe hier (Seite 69).
Das ist alles, was mir jetzt so einfällt, ich bin aber wie gesagt auch nur Anfänger in Sachen UML.
-
Danke erstmal für die Antwort,
ich habe mir das jetzt mal grob angeschaut, wenn ich das richtig verstehe, klickt man sich mit den CASE- Tools ein UML- Gerüst zusammen, das wiederum in das Gerüst für die Zielsprache übersetzt wird. Korrigiert mich, wenn ich falsch liege.
Einleuchtender Vorteil ist wohl, daß das Target quasi zwangsdokumentiert wird - wer dokumentiert schon gerne, wir schreiben doch alle selbstdokumentierend ;).
Eine Frage habe ich noch:
Angenommen, ich habe im CASE- Tool was zusammengeklickt, das Target mit Leben erfüllt und muß aber was ändern. Gibt es da eine Art Backannotation aus dem Target- Code, dem UML- Code oder geht das nur von "oben"?Vor etwa sieben Jahren habe ich sowas ähnliches auf einer Messe gesehen, da hat jemand zwanzig Minuten auf bunten Icons herumgeklickselt, Pfeilchen- Strippen gezogen und mir dann erklärt, daß das eine Sensorabfrage sei und ich jetzt "nur noch" den Hardwarezugriff definieren müsse. Als ich ihn bat, auch noch einen Schalter einzubauen, der z.B. das Sensorsignal für gültig erklärt, hat er wieder angefangen, Herumzuklicken; Nein, ich darf das Gerüst nicht im Code erweitern, der würde ja überschrieben. Ob damals UML schon im Spiel war, weiß ich nicht mehr.
Nach einer halben Stunde so eine Abfrage ist jetzt nicht der ultimative Effektivitätsbeweis, auch wenn der Mann viel erzählt hat, was da an Code rausgekommen ist, dürfte für die meisten nur eine vierminütige Fingerübung mit Hirn auf Halbmast sein.Worin liegt also der Vorteil im Gebrauch eines CASE- Tools?
-
pointercrash() schrieb:
eine blöde Frage vielleicht, aber was machen Case- Tools (RationalRose, Together, Enterprise Architekt o.ä.) eigentlich überhaupt? Machen die mir die Arbeit freundlicher?
Die selbe Frage stellt sich mir bei UML - was soll mir das wirklich erleichtern oder gar ganz abnehmen?
Alles Unfug oder echt hilfreich - ich bitte um eure Meinungen und Erklärungen!
Du könntest ebenso fragen was Konzepte nützen, man kann ja gleich mit dem Entwickeln loslegen. Wie schon gesagt hat es Dokumentierenden Charakter, hilft bei der Übersicht eines Systemes, und damit meist der vermeidung von Fehlern im Vorfeld. Und je nach dem wie Komplex du es pflegst (und was das Tool unterstüzt) kannst du auch mehr oder weniger Code daraus generieren.
Ein UML-Diagramm ist für einen Laien aber auch leichter zu erklären als Code. Man kann sofern ein Absoluter Grundstock an UML-Grundwissen vorhanden ist hiermit auch Kunden gegenüber Abläufe besser erklären.
Ganz abnehmen tut es im Regelfall nichts, es erleichtert die Dokumentation und die Vermittlung was das System leisten und wie es umgesetzt können soll. Der Einsatz von UML und Case-Tools kann auch die Arbeit nicht zwangsweise verkleinern, wobei man IMHO grundsätzlich bei jeder Form der Konzeption Fehler ausmerzen kann die später Zeitraubend sind.
Ich persönlich setze UML vorwiegend privat (!) ein, wobei ich mit gegenseitigen Abgleich arbeite (Round Trip; Wenn auch nur auf Ebene von Klassen/Methoden/Attributen). Manches lässt sich IMHO in UML besser sehen und ändern, wo anderes im Code schneller zu machen ist.
cu André