Mit Uebung lässt sich bei kleinen Sachen OOA und OOD durchaus auch im Kopf machen, aber gemacht werden muss es, und den Kopf kann man ganz gut mit Papier, Bleistift, Radiergummi, und wer mag Kaugummi oder Cervisia unterstützen.
Ich stimme damit nicht überein.
An eine Anwendung werden Anforderungen aus der realen Welt gestellt (business cases).
Ein OO-Analyst bildet diese business cases in einem Objektmodell ab.
Mit UML Diagrammen kann man verschiedene Sichten dieses Objektmodells darstellen.
Genau diese Sichten liefern etwas, woran es heute in vielen Unternehmens-ITs mangelt:
Eine übersichtliche, menschenlesbare Dokumentation der Anwendungen.
Vielleicht sehe ich das aber auch nur stärker als Problem als andere Kinder, da ich eben oft in Notes Projekte kam, die vor die Wand gelaufen waren und die Java/J2EE Projekte im Team entwickle (so ungewöhnlich auch nicht, d.h. viele von euch werden sich da wiedererkennen). Für beide Aufgaben stellt eine vernünftige Dokumentation einen hohen Wert dar.
Diagramme stellen Information wesentlich übersichtlicher dar als Source code dar. Tool (z.B. Rational Rose) erzeugte Diagramme sind leichter zu lesen als menschenerzeugte (v.a. wenn ich es zeichne). Trotzdem haben diese Tools ein...
<exkurs>
Problem: Die vom OO-Analyst gezeichneten Diagramme stellen Prognosen für eine effiziente programmatische Lösung der business cases dar. Bei der Umsetzung in code kann sich herausstellen, dass es anders als gezeichnet eben besser geht.
Die UML-Sichten müssten also neu gezeichnet werden. Dies läuft auf eine mehrfache Pflege von "source code" hinaus. Eine Lösung aus diesem Dilemma wären roundtrip engineering tools, wo aus Source code UML Modelle generiert werden können. Dies erfordert aber einen hohen UML- und OO-Design-Tool Sachverstand.
</exkurs>
Für einen OO-Anfänger sind solche Tools wie Rational Rose sicher nichts. Ich benutze Rose seit 2 Wochen, aber nur Teile und bislang mehr intuitiv. Hat meine Erwartungen übererfüllt, aber ich beschäftige mich schon länger mit diesem OO/UML Zeugs und ich war skeptisch.
Aber OOD/A im Kopf? Dadurch verliert man dieses wichtige Dokumentations-Feature. Überhaupt... Mein Kopf reicht für meine OO-Aufgabenstellungen nicht aus. Ich bezweifele stark, dass der Kopf von irgendjemand für OO/A Aufgabenstellung, die eine gewisse Trivialitätsschranke überschreiten, ausreicht.
Ich meine: Ein Warenkorb besteht aus einer Menge an zu kaufenden Items. O.k.. Aber jemand einen Vorschlag für die Objektmässige Darstellung des Spielplans der EM 2004 in Portugal. Im Kopf?
Ich nehm dafür lieber Rational Rose.
Gruß Axel