Я ищу инструмент, который может перепроектировать С++ на UML (и наоборот). Тем не менее, важнейшим требованием является то, что он может корректно анализировать методы (функции-члены), чтобы определить корректность зависимостей.
Подробнее:
В следующем коде ClassA зависит от ClassB, поэтому инструмент UML должен показать это пунктирной линией. Кажется, что очень мало инструментов, которые могут это сделать. Я пробовал Enterprise Architect, UMLStudio, Visual Paradigm, Borland Together, IBM Rational Architect и другие.
class ClassB
{
static void methodStatic() {}
void method() {}
};
class ClassA
{
void method()
{
ClassB::methodStatic();
ClassB c;
c.method();
}
};
Изменить: я также попробовал StarUML. Обратите внимание, что Enterprise Architect практически идеален; он корректно идентифицирует зависимости от типов параметров метода и типов полей, а все другие функции разработки с круговым движением, похоже, работают хорошо. Однако он просто не определяет зависимости от тел метода, как в примере.