UML <--> Operatoren, Konstruktoren, etc...
-
Hallo,
ich hab von UML eigentlich noch niocht viel Ahnung, lese mich aber gerade ein bischen ein. Ich hab da eine Frage zu den Klassendiagrammen:
Eigentlich sollte das ganze ja unabhängig von der Programmiersprache sein in dem man das Projekt umsetzen will (so stehts hier). Ich kann mir aber nicht vorstellen dass das so einfach klappt. Beispielsweise bietet C++ Operatorenüberladung. Was mach ich damit in UML, schreibt man das überhaupt hin? Wie siehts mit Konstruktoren / Destruktoren aus? Bei meinen Beispielen ist nie ein Konstruktor im UML-Shema, in der dazugehörigen Implementierung in C++ gibts das dann aber dann alles.Gruß
-
FireFlow schrieb:
Eigentlich sollte das ganze ja unabhängig von der Programmiersprache sein in dem man das Projekt umsetzen will (so stehts hier). Ich kann mir aber nicht vorstellen dass das so einfach klappt.
gut erkannt. es klappt nicht. deswegen darf uml nicht in der planung eingesetzt werden, weil das produkt dann nicht gut werden könnte. zum nachträglich-dokumentieren isses fein, weil man dann schnell ein paar lustige bilder gebaut hat für die bwl-er. für die kommunikation zwischen entwircklern isses auch nicht gut.
hängt natürlich vom problemumfeld ab. wenn es nur darum geht, eine vereinsverwaltung zu machen, dann tut man die in uml entwerfen, in ein case-tool klopfen und geht heim.Beispielsweise bietet C++ Operatorenüberladung. Was mach ich damit in UML, schreibt man das überhaupt hin?
zur not mit dem namen "operator+"
Wie siehts mit Konstruktoren / Destruktoren aus?
zur not mit den namen, die in c++ verwendet werden.
Bei meinen Beispielen ist nie ein Konstruktor im UML-Shema, in der dazugehörigen Implementierung in C++ gibts das dann aber dann alles.
das dürfte ein fehler sein.
naja, nicht direkt fehler. in uml ist ausdrücklich erlaubt und erwünscht, daß man irrelevante details wegläßt. aber mir scheint, deine beispiele sollten wie vollständige diagramme aufgenommen werden, dann sollte auch alles drin sein.ich hätte übrigens gerne ein bildchen zu
template<typename Data,Size size=0,bool onHeap=(size==0||size>4096)> class Vector{ private: typedef RawArray<Data,size,onHeap> RawArray; public: typedef typename SelectIterator<Data,typename RawArray::Iterator,Vector>::Type Iterator; ... template<typename Data,typename Impl,typename Container> class CheckedIterator{ private: Impl impl; Container* container; ... #ifndef NDEBUG template<typename Data,typename Impl,typename Container> struct SelectIterator{ typedef CheckedIterator<Data,Impl,Container> Type; }; #else template<typename Data,typename Impl,typename Container> struct SelectIterator{ typedef Impl Type; }; #endif template<typename RawObject,Size size,bool onHeap> struct RawArrayMemory:NoCopy{ RawObject begin[size]; Size getSize() const{ return size; } RawObject& operator[](Size index){ ASSERT(index<size); return begin[index]; } }; template<typename RawObject,Size size> struct RawArrayMemory<RawObject,size,true>:NoCopy{ RawObject* begin; RawArrayMemory(){ begin=new RawObject[size]; } ... template<typename RawObject> struct RawArrayMemory<RawObject,0,true>:NoCopy{ RawObject* begin; Size size; RawArrayMemory(Size _size){ size=_size; begin=new RawObject[size]; } ... template<typename Data,typename RawIterator> class RawArrayIterator{ private: RawIterator pos; ... template<typename Data,Size size,bool onHeap> class RawArrayImpl{ private: typedef AlignedMemory<sizeof(Data),ALIGNOF(Data)> RawObject; RawArrayMemory<RawObject,size,onHeap> memory; public: RawArrayImpl(){ } ... template<typename Data,Size size,bool onHeap> class RawArray:public RawArrayImpl<Data,size,onHeap>{ public: void swap(RawArray& a){ RawArrayImpl<Data,size,true>::swap( static_cast<RawArrayImpl<Data,size,onHeap>&>(a) ); } }; template<typename Data> class RawArray<Data,0,true>:public RawArrayImpl<Data,0,true>{ public: RawArray(Size size): RawArrayImpl<Data,0,true>(size){ } void swap(RawArray& a){ RawArrayImpl<Data,0,true>::swap(a); } };
irgendwie hab ich das gefühl, die bildchen sagen gar nichts aus und sind leider nur in den max 5% der klassen brauchbar, wo es vererbung und virtuelle funktionen gibt. kann aber auch dran liegen, daß ich den modernen kram einfach nicht kapiere.
-
volkard schrieb:
FireFlow schrieb:
Eigentlich sollte das ganze ja unabhängig von der Programmiersprache sein in dem man das Projekt umsetzen will (so stehts hier). Ich kann mir aber nicht vorstellen dass das so einfach klappt.
gut erkannt. es klappt nicht. deswegen darf uml nicht in der planung eingesetzt werden, weil das produkt dann nicht gut werden könnte. zum nachträglich-dokumentieren isses fein, weil man dann schnell ein paar lustige bilder gebaut hat für die bwl-er. für die kommunikation zwischen entwircklern isses auch nicht gut.
hängt natürlich vom problemumfeld ab. wenn es nur darum geht, eine vereinsverwaltung zu machen, dann tut man die in uml entwerfen, in ein case-tool klopfen und geht heim.Das ist eine persönliche Meinung und keine Tatsache, daher sollte man es auch
als solche "kennzeichnen".Beispielsweise:
Für mich funktioniert das nicht, deswegen setze ich uml nicht in der planung ein.
-
Redhead schrieb:
Das ist eine persönliche Meinung und keine Tatsache, daher sollte man es auch als solche "kennzeichnen".
guter einwand. da das eigentlich immer gilt, hab ich's in meine sig getan.
-
volkard schrieb:
Redhead schrieb:
Das ist eine persönliche Meinung und keine Tatsache, daher sollte man es auch als solche "kennzeichnen".
guter einwand. da das eigentlich immer gilt, hab ich's in meine sig getan.
Wer liest sowas schon.
-
Also zur Zeit ist es mein Auftrag die Entwicklungen von 1.800 Softwareentwicklungen unter einen Hut zu bringen. Und diese verwenden nicht nur UML in allen Formen und Tools, sondern u.a. auch mathematische Modelle.
Was glaubst Du wieviel Hochsprachen und (RT)OS die hier verwenden ...
Und trotzdem haben wir hier auch Code-Generatoren im Einsatz für die Industrialisierung ...
-
EDIT: 1.800 Entwicklern, nicht Entwicklungen.
-
daß uml noch eingesetzt wird, ist doch kein argument dafür, daß es irgendwas bringt. uml wird genauso in die geschichte der informatik-witze eingehen wier ungarische notation und wie struktogramme.
damals schreib man übrigensAlso zur Zeit ist es mein Auftrag die Entwicklungen von 1.800 Softwareentwicklungen unter einen Hut zu bringen. Und diese verwenden nicht nur STRUKTOGRAMME in allen Formen und Tools, sondern u.a. auch mathematische Modelle.
ich kann nicht nachvollziehen, warum solche massen den buzzwords hinterherlaufen und manche verstehen nicht, warum ich nicht davon wenigstes begeistert bin. naja, macht nix. ich hab halt nen schweren stand. was mich aber immer aufregt, ist wenn 5 oder 8 jahre später auf einmal alle es schon immer gewußt haben.
-
volkard schrieb:
für die kommunikation zwischen entwircklern isses auch nicht gut.
Naja, um mal eben jemand 'ne vorhandene Struktur zu erklären ist das eigentlich gar nicht so schlecht. Man zeichnet mal eben auf, wie der Teil, den man ihm erklären will, in etwa aussieht.
Oder hast du bessere Variante?
-
*kopfschüttel*
... und da nach all der Zeit beim volkard immer noch keine Erkenntnis für die Modelling vorliegt, werde ich das auch nicht mehr ändern.
Völlig unfähig einen neuen View zu setzen.
Ach ja, wie auch ohne Modellbetrachtung! Mentale Selbststerilisation ...Helium schrieb:
volkard schrieb:
für die kommunikation zwischen entwircklern isses auch nicht gut.
Naja, um mal eben jemand 'ne vorhandene Struktur zu erklären ist das eigentlich gar nicht so schlecht. Man zeichnet mal eben auf, wie der Teil, den man ihm erklären will, in etwa aussieht.
Oder hast du bessere Variante?Psst!... Re-use, Abstraktion, Domain Modelle, Dokumentation, Destillation, Transformation, Konfiguration, Analyse, Requirements Engineering, Software Design ...
Um dein Domain Model ein wenig zu erweitern ...
Domain-driven Design | ISBN: 0321125215"If you don't think you getting value from your investment in OO programming, this book will tell you what you 've forgotten to do."
- Ward Cunningham
-
zusammenhangloses gebrabbel voller anglizismen überzeugt mich nicht. aber ich sagte ja, daß ich auf buzz-words nicht reinfalle.
-
p84 du bist schrecklich.
-
warum soll da uml nicht gut sein? selbstverständlich kann man mit uml sprachunabhängig sachen erklären1 es kommt drauf an in welcher ebene und mit welchem diagramm!
-
warum sollen da struktogramme und programmablaufpläne nicht gut sein? selbstverständlich kann man mit struktogrammen und programmablaufplänen sprachunabhängig sachen erklären1 es kommt drauf an in welcher ebene und mit welchem diagramm!
(nur als ergänzung, damit klar ist, daß das alleinige benutzen-können nicht für die sinnhaftigkeit spricht.)
-
UML ist Müll für dumme Masochisten.
-
volkard schrieb:
zusammenhangloses gebrabbel voller anglizismen überzeugt mich nicht. aber ich sagte ja, daß ich auf buzz-words nicht reinfalle.
Trollversuch eines Moderators dem die (sachlichen) Argumente ausgehen.
-
Redhead schrieb:
volkard schrieb:
zusammenhangloses gebrabbel voller anglizismen überzeugt mich nicht. aber ich sagte ja, daß ich auf buzz-words nicht reinfalle.
Trollversuch eines Moderators dem die (sachlichen) Argumente ausgehen.
schau einfach mal den beitrag davor an. es ist echt nur ein anhäufung von anglizismen. ist dir das nicht störend aufgefallen?
-
Ich habe den bewussten Beitrag, auch jetzt zu diesem Zeitpunkt, nicht gelesen.
Mich stört, wie angegeben, die Formulierung, und nicht deine ablehnende Haltung.
Aus dem Kindergarten bzw. Script-Kiddie Alter sind wir wohl beide schon deutlich
raus. Etwas mehr Souvernität und weniger Pöbelei, wäre dir bestimmt nicht schwer
gefallen.PS.: Der Beitrag ist eine Schlagwortansammlung ohne Inhalt und direkten Bezug
zur Originalfrage, warum überhaupt kommentieren ?
-
Redhead schrieb:
, warum überhaupt kommentieren ?
um den einsteigern ein wenig schmerz zu nehmen. wenn sie wissen, daß sie nur uml betreiben, weil der prof es benotet, dann können sie das durchaus mal betreiben und nach der klausur entsorgen. sie können zum beispiel guten gewissens erst die softare bauen und nachher so tun, als hätten sie vorher uml-diagramme gemalt. wenn sie aber annehmen müssen, uml sei das eigentlich wichtige und sie es einfach nicht hinkriegen, in uml gescheite software zu bauen (oder bemerken, daß ihr uml gar nicht half), ist das wesentlich gemeiner. also hab ich klargestellt, was ich von dem beitrag halte.
PS.: Der Beitrag ist eine Schlagwortansammlung ohne Inhalt und direkten Bezug zur Originalfrage
oh. das ist natürlich eine feine ausdrucksweise, zu der ich zwar fähig wäre, aber irgenwie habe ich dabei das gefühl, nicht ehrlich zu sein und nicht in den himmel zu kommen.
-
P84@work schrieb:
Psst!... Re-use, Abstraktion, Domain Modelle, Dokumentation, Destillation, Transformation, Konfiguration, Analyse, Requirements Engineering, Software Design ...
Ich war heute auf der Systems und habe ein Grundprinzip der Informationstheorie verifiziert: Der Informationsgehalt einer Eingabe steigt mit ihrer Unerwartetheit. Anders rum: Mir sind Wörter wie total cost of ownership, Geschäftsprozess-Optimierung, business plan, Solution, xxxxxxxx-Management nur so um die Ohren geflogen. Entsprechend war der Informationsgehalt.
Mit sowas gewinnst du aber in einem Forum voller Techniker keinen Blumentopf. Wir wollen Informationen, in kompakter Form, am besten mit Entropie = 1. Die von mir zitierte Aussage hat eine Entropie von 0 gehabt. Wie man leicht feststellen kann, wenn man Software Engineering Vorlesungen besucht, kann man jeden Begriff völlig unterschiedlich definieren und jeder tut es auch. Buzzword