I'm a fan of using UML diagrams in the whole technical project process, first by defining the domain, the usecases as well as the architecting process and last helping out during the real nitty gritty coding process. I often use Sequence Diagrams in RIA projects to identify the logic and flow involved and how they map to services and objects. When it comes to coding i usually create a Class Diagram to see if i missed something.
Sometimes, when the client or project requires it, i use it in the formal sense, by actually providing and presenting the diagrams in the briefing and to fellow developers but i often use it in the 'informal sense', merely as a sketchpad, a blank sheet of paper that gives me room for trial and error. It helps me in the mental process, giving a technical software architecture a visual representation. As we all know, more often then not projects tend to change both in scope as in requirements and by constantly reiterating the process using UML i find it gives me much more confidence in the chosen solution, often finding room for improvement. My experience is that this process of iteration is often forgotten in the development process but it helped me a lot, finding errors or gaps in the architecture (and/or implementation) and informing the project manager in time on such occasion.
There's a lot of UML modelling software but we Actionscript developers often were not allowed the cool stuff, the reverse-engineering of code to UML, creating of stub code from UML diagrams. :( Since the language is rapidly changing evolving, some even call it "the javafication of flex", i hope companies like Gentleware soon implement Actionscript 3 support in their software. Today they announced Gentleware Apollo for Eclipse, which allows for modelling Class Diagrams from within Eclipse and back- and forward engineering to code. Also they introduce a rent subscription model which means you can rent the software for as little as EURO 5 per month!
UPDATE: Tomas points me to Enterprise Architect from Australian based Sparx Systems that supports both AS2 and AS3 forward- and backward code engineering as well as generating stub code from UML diagrams. Ironcally, 3 years ago i blogged about the Flash eco system, using the same software but it did not support Actionscript back then, and then i went searching for alternative software. Should have watched the product! :)
Check out cool Enterprise Architect UML tool which already supports ActionScript 2.0 & 3.0 in both reverse-engineering code to UML and stub code generation from UML: http://www.sparxsystems.com/products/ea_features.html
Posted by: lharp | Thursday, October 19, 2006 at 20:38
Thanks Tomas,
That looks quite interesting, i'll download the trial and start testing the AS support :)
Great!
Posted by: ohwhen | Thursday, October 19, 2006 at 22:04
Hi Owen,
Thanks for the mentioning of and the linking to our new product Apollo for Eclipse.
I´ll forward your suggestion regarding Actionscript 3 support to our developers (I´m the marketing guy here at Gentleware ;-) )
Best regards,
Tobias Worzyk
Posted by: Tobias Worzyk | Monday, October 23, 2006 at 10:09