kostenloser Webspace werbefrei: lima-city


UML - Modellbasiertes Entwickeln: Wie gehe ich vor?

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    tangoal

    Kostenloser Webspace von tangoal

    tangoal hat kostenlosen Webspace.

    Ich bin mir nie wirklich sicher, ob man mit UML (2.0?) überhaupt tatsächlich modellbasiert entwickeln kann. Für mich sieht es immer wie eine "Ansammlung" Diagramme aus, mit der man das Verhalten der Software "solala" beschreiben kann, aber von Vollständigkeit und Korrektheit kann nie die Rede sein. Von daher:

    Hat jemand Erfahrungen gesammelt mit modellbasiertem Entwickeln, vor allem für C++ Software?

    Mich interessieren vor allem folgende Aspekte:
    (1) Vollständigkeit der Beschreibung eines Software-Modells durch unterschiedliche Beschreibungs-Formen
    (2) Verzahnung der einzelnen Beschreibungs-Formen
    (3) Generierung von Quellcode (-rahmen)
    (4) Reverse Engineering (Quellcode-Änderungen zurückimportieren)
    (5) Unterstützung für automatische Tests

    zu (1): ein Software-Modell kann mit unterschiedlichen Hilfsmitteln (z.B. Diagramme unterschiedlichster Art oder textuelle Formen) beschrieben werden. Klassen-Diagramme, Sequenz-Diagramme, Zustands-Automaten, etc. Inwiefern sind diese Diagramme eindeutig?

    zu (2): inwiefern greifen die Beschreibungs-Formen aus (1) ineinander und geben ein einheitliches Bild der Software wieder?

    zu (3): Inwiefern weiß man, wie bestimmte Modell-Eigenschaften in dem generiertem Code aussehen werden? (z.B. wie wird eine "Assoziation", "Komposition", etc. im Quellcode aussehen? Als Pointer/Referenz?)

    zu (4): schafft man es, dass Modell mit der tatsächlichen Software "synchron" zu halten? Vor allem wie?

    zu (5): Interessanter wichtiger Aspekt, der bisher nur Stiefmütterlich behandelt wird. Inwiefern gibt es Hilfe, um:
    (a) das Modell selbst auf Konsistenz, Richtigkeit, Vollständigkeit während der Entwicklungs-Zeit des Modells zu testen?
    (b) den generierten Quellcode zu testen? Man spezifiziert das Verhalten der Software, also muss es im Prinzip möglich sein, daraus auch Testfälle zu generieren. Weiß nicht, ob ich mich hier verständlich ausdrücke.

    Ein wirklich starkes Tool dafür scheint StarUML 2 zu sein. Das ist zumindest das beste, das ich gefunden habe, zumal man es auch beliebig lange frei testen kann, bevor man die Lizenz erwirbt und es auch noch auf meinem präferierten Linux-System läuft.

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!