views:

46

answers:

2

My problem is a simple one. I've created a class library for Delphi 2007 and added the modelling support to it that Delphi offers. It generates nice class overviews of my code, which I'd like to use. But it's not enough. I want to export the generated UML to Altova's UModel to generate some additional documentation and nicer-looking models.
I can't find a way to export the UML from Delphi, though. I can't even find anything in Delphi that would help me to generate any other documentation, except for the class model images that it allows me to save.


My main problem with my class library is that while it's usage is simple, it's creation was quite complex. I've used several techniques to encapsulate functionality, types within types, interfaces and delegations, type aliases and a lot more. The result is actually three simple-looking classes that only expose methods needed to call a specific web service with one class for the WS itself, one class to manage the input and one to manage the output. The class interface is thus kept simple to make it's usage simple. Unfortunately, the complexity of the WS required me to create some complex code.
I need to generate two kinds of documentation now for this code. One simple document that explains how it's used. That one is simple. A second one that explains how to maintain the code, what is where and how and why certain decisions have been taken. That one is complex and requires me to model the whole thing.
I have UModel, which is a great product, especially with C# and Java code. Unfortunately, it can't import Delphi code. I've tried Enterprise Architect, which can manage Delphi code, but this code happens to be way too complex. EA doesn't understand a thing about types within types and other features I've used.
Also tried StarUML but had to cry after 10 minutes of usage since that product is just real bad... And doesn't even support Delphi... My hard disk feels real dirty now after I've installed it...
And while I could continue to try other modelling tools, I think I should have a better chance in findiing some way to convert the Together UML stuff to a regular XMI file.

+1  A: 

You might want to try ModelMaker.
It has an add-on that allows you to export the UML as XMI, which you can import in Altova UModel.
ModelMaker supports both the Delphi and C# language.

--jeroen

Jeroen Pluimers
Unfortunately, the add-in is just a dpr file which won't compile in my Delphi environment. Also, it's a commercial product so technically, I need to purchase it. I don't really want to buy a new product when I already have one that's suitable for 95% of all my needs.
Workshop Alex
How many hours of work can you save by investing EUR 199 (the current ModelMaker price: http://www.modelmakertools.com/order/newlicenses.html). Someone can probably help you with that 3rd party tool (just drop the ModelMaker people an email, even before you order anything, they might be of great help!).
Jeroen Pluimers
Well, the purpose is to generate additional documentation that can be considered optional. It's a one-time deal anyways, because this class library has a very complex structure. Without other options, I'll just skip generating the diagrams for the documentation and just keep it textual.
Workshop Alex
Wouldn't it be an idea to use the XMLDoc functionality of Delphi (and documentation generation tools) for your docs?
Jeroen Pluimers
+1  A: 

I'm afraid there's no such thing as "regular XMI file" (see for instance this example, that shows the differences in the XMI representation of the same model depending on the tool you use).

Jordi Cabot