![]() ![]() ![]() Watch out for closed or product specific code generation processes or frameworks as you could end up stuck with that product. Sparx and Visual Paradigm do UML really well and generate code well, however, hooking into project lifecycles and other process is where RSM/RSA is strong. Ok, that was way too detailed, so a simpler example would be ArgoUML, which has no code generation features and focuses on drawing more than the modeling aspect of UML. Do you need more mature processes such as use case management, pattern creation, asset creation, RUP integration, etc? (RSA/RSM/IBM Rational Products)ĭetailed Examples: IBM Rational Software Architect did not implement UML 2.0 all the way when it comes to realizes type relationships when creating a UML profile, but Visual Paradigm and Sparx got it right.Would you want to generate code stubs or full functioning code?( GenMyModel, Visual Paradigm, Sparx, Altova).Do you have an existing set of documents that you need to work with? (Depends on the documents).Are you concerned about model portability, XMI support? ( GenMyModel, Sparx, Visual Paradigm, Altova).Do you want to formalize your modeling through profiles or meta-models? OCL? ( Sparx, RSM, Visual Paradigm).Will you be modeling in the future? (For basic modeling - Community editions of pay products).Are you modeling or drawing? (Drawing - ArgoUML, free implementations, and Visio).Note: The listed answers are my view as the best even if other products support a given feature or need. Here are the questions that should be answered as each vendor product/solution does some things better than others. Sure, diagrams are important, but really you are creating a model. A common misunderstanding is that UML is about creating diagrams. The previous posts have too many answers and not enough questions. Here is a screenshot but right now I am not able to show you rev eng GUI/capabilities in a screenshot.Some context: Recently for graduate school I researched UML tools for usability and UML comprehension in general for an independent project. It is still being sold but I think the devteam is quite small. SAP has acquired Sybase in 2011, and since then the product has been even more paywalled and somewhat orphaned. I don't know how well the C++ reverse engineering feature works with C++ macros. That's quite a bit of work to learn the built-in DSL and scripting engine, but you might give it a try. Powerdesigner's main strength lies on relational databases, and, therefore, on building classes for Object-Relational Mappers mainly in Java (but C++ as a target language is also offered).īut Powerdesigner has good programmability features, and you could write your own importers and finetune the built-in C++ metamodel. Powerdesigner is a database reverse-engineering tool, but it has a so-called "Object-Oriented Modeling" Module which can reverse-engineer Java Code, and to a limited extent C++ code. But there still is a one-month trial license. I am a big fan of SAP Powerdesigner which runs on Windows. Looks fairly dead, given 12 years with no update. There's too many to do by hand in this code, not feasible.ĪrgoUML: Can't figure out how to install this addon or fork of ArgoUML that has reverse-engineering for C++ here. Visual Paradigm doesn't work if there are macros.unless you define every single macro for it in advance. Umbrello: Looked promising, crashed when I attempted to do the import of the module I wanted the diagrams of. Modelio: Can't install, relies on some old packages that Fedora 29 no longer supports. Definitely doesn't work "out of the box", requires some configuration that I cannot follow.īoUML - Won't work, the C++ has pre-processor directives.ĭoxygraph: Only works if the entire code-base is covered by Doxygen properly, as far as I can tell. h file into it, but the results is just an empty class - attributes and methods did not carry over.ĭia with cpp2dia - I cannot get this to work. They were otherwise empty, and several were missing. The "overview" for the module I was interested in was several boxes, with the name of an enumeration or class. Every class was named "Class" in the sidebar. StarUML: While it has an addon that performs reverse engineering, the results were mediocre. At least runs with "impure" C++ (Has macros and other pre-processor steps).If it can't get the complicated parts, that's fine. At least gets the attributes and methods.Either does not require an IDE, or works with QTCreator (which my project is based on).Runs out of the box on Windows OR Linux.What tools are available for creating UML Class Diagrams from a set of. I have tried those mentioned and am looking for alternatives.That post is ancient and tools have come and gone since then.I can use either Linux or Windows, not just Windows (vastly increasing overall options). ![]()
0 Comments
Leave a Reply. |