UML Klasen Diagramm zu PHP5 und umgekehrt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • UML Klasen Diagramm zu PHP5 und umgekehrt

    Hi @ all,

    kennt jemand von Euch ein gutes Programm, mit dem man UML Diagramme erstellen kann und dann als PHP5 Coder exportieren kann.

    Oder vielleicht sogar PHP5 Code hat und daraus ein UML Diagramm dargestellt wird.

    Kenne zwei Freeware: ArgoUML und Dia haben mir aber nicht so gut gefallen...

    Vielen Dank für Eure Erfahrungen und Tipps im Voraus.

    Mfg
    mchashi.

  • #2
    wenn du kein ArgoUML verwenden willst, wirst du evtl. pech haben...

    wir haben uns innerhalb der Firma mal diverse Lösungen angeschaut und bei allen Lösungen schwächen gefunden (teilweise gravierende)...

    Poseidon zum Beispiel überschreibt Änderungen im Code, wenn du die UML-Diagramme aktualisierst und exportierst... Den Code jedesmal neu einzufügen ist auf dauer garantiert keine Lösung...

    Außerdem unterstützen die meißten UML Tools kein PHP oder nur PHP4...

    Von diesem Standpunkt ist Argouml das vollständigste und Beste Tool... Einziger Nachteil hier: Es werden momentan keine Sequenzdiagramme unterstützt... da kann man aber mit der Poseidon Community Edition nachwerkeln!

    Was missfällt dir denn an ArgoUML ??

    gruss

    Kommentar


    • #3
      danke für deine antwort.

      hatte ArgoUML ganz anderst in erinnerung.
      gucke mir gerade mal die version ArgoUML-0.16.1 an.

      melde mich dann noch mal...

      hab jetzt aber feierabend, melde mich dann morgen zu wort.

      Kommentar


      • #4
        Guten Morgen,

        habe ArgoUML jetzt ein wenig getestet und auch die Extension für PHP4 und PHP5 eingespielt.

        Alles läuft, bin schon zufrieden...
        Folgender Code wurde mir aus einem Klassendiagramm erzeugt:
        PHP-Code:
        <?php

        error_reporting
        (E_ALL);

        /**
         * untitledModel - class.Person.php
         *
         * $Id$
         *
         * This file is part of untitledModel.
         *
         * Automatic generated with ArgoUML 0.16.1 on 18.02.2005, 08:31:51
         *
         * @author firstname and lastname of author, <author@example.org>
         */

        if (version_compare(PHP_VERSION'5')) {
            die(
        'This file was generated for PHP 5');
        }

        /* user defined includes */
        // section -64--88-0--75-30748f36:10224414d62:-7ffe-includes begin
        // section -64--88-0--75-30748f36:10224414d62:-7ffe-includes end

        /* user defined constants */
        // section -64--88-0--75-30748f36:10224414d62:-7ffe-constants begin
        // section -64--88-0--75-30748f36:10224414d62:-7ffe-constants end

        /**
         * Short description of class Person
         *
         * @access public
         * @author firstname and lastname of author, <author@example.org>
         */
        class Person
        {
            
        // --- ATTRIBUTES ---

            /**
             * Short description of attribute name
             *
             * @access public
             * @var string
             */
            
        public $name '';

            
        /**
             * Short description of attribute alter
             *
             * @access public
             * @var int
             */
            
        public $alter 0;

            
        // --- OPERATIONS ---

            /**
             * Short description of method __construct
             *
             * @access public
             * @author firstname and lastname of author, <author@example.org>
             * @return void
             */
            
        public function __construct()
            {
                
        // section -64--88-0--75-30748f36:10224414d62:-7ffa begin
                // section -64--88-0--75-30748f36:10224414d62:-7ffa end
            
        }

        /* end of class Person */

        ?>
        Kann man noch ein paar Optionen zur der Codeausgabe einstellen? Was soll dieser Kommentar section ...
        Stört mich irgendwie, will den ja nicht jedes mal suchen und raus machen. Oder folgendes
        PHP-Code:
        if (version_compare(PHP_VERSION'5')) {
            die(
        'This file was generated for PHP 5');

        Möchte auch nicht vor jeder Funktion einen Autor hinschreiben etc.

        Vielen Dank im Voraus für Tipps.

        Mfg
        mchashi.

        Kommentar


        • #5
          diese einträge

          Code:
          // section -64--88-0--75-30748f36:10224414d62:-7ffe-includes begin
          benötigt argo um deinen Code bei überarbeitungen am uml model nicht rauszuwerfen..

          ich finde die dinger eigentlich nicht störend...

          den if-block am Anfang kannst du nicht über argo rauswerfen... im zweifelsfall die sources für die Plugins runterladen und überarbeiten...

          gruss

          Kommentar


          • #6
            aja

            danke für deine antwort.

            die sources (java files) habe ich mir mal angeguckt. diesen if block kann man ganz leicht rausnehmen. wird einfach an nen string angehangen.

            doch wie kann ich es machen, dass wenn ich quellcode (eine Klasse) habe und daraus ein klassendiagramm anfertigen will. also genau umgekehrt ???

            hab mal gelesen, dass das mit php nicht geht, ist aber schon ne zeit her...

            Kommentar


            • #7
              dann würdest du sog. "Reverse Engineering" benötigen...

              Für PHP gibt es da nichts...

              Argouml kann Reverse Engineering auch nicht, wenn das aber irgendwann mal kommen sollte, sollte dass aufgrund der Pluginarchitektur auch mit PHP gehen...

              Leider ist es in diesem Bereich für PHP allgemein sehr schlecht bestellt!

              Aber ich habe die Hoffnung, dass sich das im Laufe der zeit bessern wird durch PHP5

              gruss

              Kommentar


              • #8
                hallo
                ich habe auch eine suche durchgeführt, und anscheinend fündig geworden.
                da scheint einer im internet eine art workshop gestellt zu haben, wie man aus php-code uml-klassen bekommen kann (mit hilfe eines programms namens withclass)
                hier noch der link dafür:
                http://www.microgold.com/version2/ar...HPReverse.html

                es ist aber auf english

                Kommentar


                • #9
                  ArgoUML und PHP4 und PHP5

                  Hi Folks,

                  habe mir ArgoUML runtergeladen von Sourceforge. Da ist aber kein PHP4 oder PHP5 Export-Modul dabei ? Wo bekomme ich diese "Extension" kostenlos her ? Bin nicht fündig geworden und um jedne Hinweis (gerne per Email) dankbar.

                  Beste Grüße

                  Simon.

                  Kommentar

                  Lädt...
                  X