views:

60

answers:

1

We have been using Rational Rose 2000 or so for modeling since i guess 2000 or so and were looking to upgrade, however when I looked at the license cost I wondered if it was still the leader in UML for C++ code generation. Further complicating the mater our interface layer is now c++/CLI and we would like to be able to generate that as well. Any one have a tool they like that works well for a very large enterprise product.

+1  A: 

I have had outstanding success generating code with the very affordable Enterprise Architect from Sparx Systems.

Personally I have been working with C# and can't speak to C++ support, but I recommend you have a look. With some fairly straightforward customization, we were able to generate our UI layer, bindings to the data layer, simple business rules that are enforced on both the UI and business rule layer (required field, field length restrictions, range restrictions, etc.), and generate the ORM binding info (NHibernate .xml.cfg files).

The largest project this was used on involved about 10 modelers.

Some of that comes out of the box and some we extended to meet our needs.

Eric J.
+1 For EA (especially compared with rose), though I don't believe in code generation, so haven't used that side of it.
anon
@Neil: If you use a compiler you use code generation :-) Generating high level language from a UML model is analogous to generating machine code (or MSIL etc) from a high level language. The level of abstraction just increases. I find code generation from UML great for plumbing code that's boring to write by hand and highly repetitive. We use partial classes extensively to separate generated code from stuff that needs a human.
Eric J.

related questions