Uml 序列图

Uml 序列图,uml,software-design,sequence-diagram,Uml,Software Design,Sequence Diagram,我正在浏览一个大型开源应用程序的代码,希望了解它是如何设计和工作的。是否有一个工具可以将C和C++代码逆向设计成序列图? 这可能有点牵强,但是当应用程序处理输入时,如果有一个工具可以给我调用的函数列表(以不同的模块和正确的顺序)呢?或者帮助我快速分析一个给定的应用程序(尤其是一个有大量代码库的应用程序) 期待答案,因为我认为这一定是一个涵盖面很广的话题。有一些,但价格昂贵。RationalRose在被IBM收购之前是最有名的 《C++语言的本质》很难进行静态分析。这就是为什么能做到这一点的工具如

我正在浏览一个大型开源应用程序的代码,希望了解它是如何设计和工作的。是否有一个工具可以将C和C++代码逆向设计成序列图? 这可能有点牵强,但是当应用程序处理输入时,如果有一个工具可以给我调用的函数列表(以不同的模块和正确的顺序)呢?或者帮助我快速分析一个给定的应用程序(尤其是一个有大量代码库的应用程序)


期待答案,因为我认为这一定是一个涵盖面很广的话题。

有一些,但价格昂贵。RationalRose在被IBM收购之前是最有名的

《C++语言的本质》很难进行静态分析。这就是为什么能做到这一点的工具如此之少。由于非C++开发的激增使用支持反射/内省的语言,这种类型的工具真的留下了C++。这并不是说没有,只是它们很难找到,而且通常是昂贵的4GL类软件包的一部分。rationalrose主要是一种工具,它让您可以绘制系统图,它将帮助跟踪组件,并最终生成各种语言的源代码。它还可以在一定程度上将源代码反向工程到图表中

rationalrose产品几乎被rationalrequirementpro所取代,大部分功能(集中在Java上)被并入IBM的websphereapplicationdevelopment平台,我相信现在称为RAD

Rational工具以其全面性而闻名,它们真正的目标是为一个项目的大型开发商店提供同样多的工作人员,通常从50多名开发人员开始

由于C++语言的复杂性(从工具的角度),以及java和C语言等语言的普及,供应商们确实没有强调C++。 <>我对VisualStudio知识不太了解,它仍然支持C++,但我愿意猜测C++ UML支持只在昂贵的专业版中,如Pro或Engest.

之前被问及。奇怪的是,Altova没有。Sparx Systems可以记录应用程序的执行情况,并从该跟踪中生成序列图,此外还可以从源代码中进行常规静态反向工程。执行分析器支持(在EA 9.2中):

  • Microsoft Windows本机C
  • 微软Windows本机C++
  • Microsoft Windows Visual Basic
  • 微软.NET系列(C#,J#,VB)
  • Sun微系统Java
  • PHP
您至少需要EA的专业版,在撰写本文时,单座许可证的成本为199美元(一九九)


网站上有一个可用的工具(来自三个主要版本之前)。

我可以了解更多关于这些工具的信息吗?我原以为这个话题一定涵盖得很好,但现在我开始不这么想了。在放弃之前,我尝试了很多工具,并创造了一些新的想法。我发现将代码反向工程到序列图中并不是一个好主意。我知道有一些工具可以很好地做到这一点,但结果还是不太可读。有了ZenUML,你就可以清晰地大声思考。