This work is licensed under a Creative Commons .
© 2008 Jaime M. As Nozawa. You are free to copy, distribute and transmit the work and make derivative works under the following conditions: a) You must give the original author. b) can not use this work for commercial purposes (including publication by any means, for-profit entities). c) If you alter, transform this work or creates a derivative work only can distribute the work under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the owner of the copyright. The rights under fair use and other constraints are not affected by the above. Full license Castilian. The information contained in this document and the derivatives thereof are provided as they are, the authors assume no liability if the user or reader of these misuses.After analyzing the business and have made your workflow processes it's time to start designing (and analyzing) the architecture of your system.
The big question for every developer and architect software implemented in PHP would be: what CASE tools available to me, is there any free ... and these I generate PHP code? and PHP 5 if you ask too much??
For I will list those to over the years I have been able to test:
StarUML: Interesting tool is perfect for documentation using the RUP methodology, those who come to use Rational Rose, this tool will appear to be a clone almost identical (including colors). You the ability to create icons for your stereotypes and create your own profiles. (Say I can create my Profile modeling for Zend Framework or MVC own more "open"). Its interface is light and pleasant. using UML 2.0.
generation code for PHP 5: Intermediate
*** Use a method of "templates", in which one can even modify the code generated. Aggregation and composition detects and automatically generates the attribute in the "client class"
Disadvantage:
- only runs on Windows
- The code generated "Chance" (over-written) code generated earlier.
- The creation of classes are created without taking into account the package location.
- You can create ER diagrams but ultimately generates nothing of SQL.
- No reverse engineering has to PHP. ArgoUML
:
ArgoUML is one of those jewels made free perfect fit for JAVA, fortunately in recent years has taken into account in PHP and object-oriented capabilities and we have this great tool for PHP. Ahh !!... Certainly this is the use.
generation code for PHP 5: Excellent *** **
Has the ability to generate code for PHP 5 and further develop in parallel (not chanca code), has some comment tags to prevent overwriting of methods. Code generation is done using the technique of long names classes: presentacion_UCCcontrollers_gestionarPrestamo.php
While we're on the doorstep of the namespaces in PHP 5.3 and PHP 6, it is still the only "simple" of belonging to a class a package.
>> runs on Linux and Windows <<
Disadvantages:
- It is very heavy and requires a lot of main memory.
- still using UML 1.4, the interface is not as Agadir and features icons to recognize stereotypes. (Identify a problem controlling my classes with data).
- Despite improvements in the latest version, I still believe that their "usability" is not the best.
- No Reverse Engineering available for PHP (if the draw would be a GOL)
- does not detect the composition. It is not a handicap but gives you more work to create attributes.
Bouml
BoUML was a surprise after it has been tested recently (and have done 2 years ago I see your progress), now has full support for PHP 5 and is directed to the developer. Intended, forces you to use the methodology RUP, for example you can not create a class diagram in a "Use Case View" where you only need to create use cases. It is lightweight, uses UML 2.0 and has icons for stereotypes. Interesting:)
generation code to PHP 5: Excellent *** **
has the ability to generate code for PHP 5 and also continue to develop in parallel (no code chanca) generator has a getter and setter methods (that is the best, saving me a lot of work) and also will generate PHP5 code in methods.
comes with an application for collaborative project management and change management in the diagrams we create. (Outstanding contribution)
have a choice of reverse engineering to PHP 5. Very good. (This makes this program for free only for now)
detects the association of composition, creating a class attribute on the client.
Disadvantages:
- The code does not yet have a technique to provide ownership of a class to a package, but maybe there is a trick (which I have not changed) technique to generate with "long names" class.
- Do not have a generator to SQL data model.
-
- Other disadvantage is that although you can set the style phpDocumentor documentation returnValue not detected or parameters of a method to generate in the commentary. It is possible manually type them but it would be very laborious
Then there other tools: Umbrella ( **) (the interface is basic and code generation as well) and of course the Rational Rose ( ** ) ... we can say that is the best in RUP and UML ... BUT ....
to generate code PHP4Rose only know PHP: PHP code generated only 4 and is lousy.
CONCLUSIONS:
* Applications such as Rational Rose for PHP is discarded (without analyzing the cost of licenses).
* ArgoUML is good but it takes training and lots of RAM in your PC. * No tools
Case proposes even namespaces PHP 5.3 or PHP 6 and that which is right around the corner.
* Although still use ArgoUML, I will work to further investigate the bouml that is too interesting. When bouml have the option to change the "format of a class name (or tell me how) and has the generation of a data model (SQL) will be compared to the CASE tool for PHP.
Even for my projects continue using ArgoUML and in my spare time to further investigate boUML.
0 comments:
Post a Comment