从XMI生成类图

Xed*_*own 10 php uml class-diagram enterprise-architect argouml

情况

我有一个PHP项目,其中有很多类,在Zend Naming Convention之后有许多文件夹中有很多关系.

我使用NetBeans IDE 7.1.我在Windows 7下工作.

目标

我需要看到类关系的图形表示,可能在不同的深度和不同程度的复杂性.此外,如果图中的类是可点击的,那将是很好的.我不一定需要生成文档.

尝试

1.在NetBeans中

NetBeans是一个非常棒的IDE,具有许多功能.事实上,它识别类依赖性,并且假设它有某种方式以图形方式查看这种关系,本地或通过插件是明智的.这样的插件存在,但适用于5.5版.我有7.1,它不兼容.失败.

2.企业架构师

一个简单的谷歌搜索将Enterprise Architect作为一个全能的,完全全面的工具来解决这些问题.所以,我下载并安装.我不打算详细介绍如何无法理解如何做任何事情,以及教程如何吹嘘软件可以做什么,但很少说出如何做.

所以,我导入了源代码.它生成了许多不同的类并解析了所有成员.此外,它还生成了类图."完美!",我虽然,但唉.类图仅显示类之间的关系,其文件位于同一源文件夹中,尽管关系在类的属性中可见.搜索关于如何将所有这些图合并为一个的文档是不成功的.失败.

:我这个人之前创建的并行线程在这里.

3. PHP_UML

找到了这个PEAR工具.看起来不错.因此,我阅读了有关如何从各种来源为我的设置安装它的文档,并运行它.首先,我使用了html输出格式.大!很多带索引的文档,bla bla bla.但是,在我想要的方向上做得最好的是: 类图? 毋庸置疑,我想,这是我实际需要的非常糟糕,超级简化的版本.结论:失败.

4. Enterprise Architect + PHP_UML

但是,PHP_UML也可以生成XMI.哇.非常好.我可以存储我的关系并以不同的方式查看它们并与其他人交流.

所以,我将它导入Enterprise Architect.结果:与之前的Enterprise Architect一样,只有没有类图.只是课程.据我所知,我现在可以手动创建关系.史诗失败.

5. ArgoUML + PHP_UML

通过我搜索解决方案的某个地方,我偶然发现某人说他们使用的是ArgoUML.已下载并已安装.导入的XMI有些麻烦(必须明确地将版本更改为1).失败(见尝试3).

结论

这样一个看似微不足道的任务,但又如此困难.我是否必须完成整个列表,尝试每个应用程序?

Xed*_*own 5

其中一种方法是采用我的尝试2或4中说明的方法,然后按照此处给出的Enterprise Architect的说明.

使用PHP_UML 生成XMI文件:

  • 如果您已单独安装PHP,请按照以下说明安装PEAR(如果尚未安装).
  • 如果您在Windows下使用XAMPP(我的情况),请按照这些说明将PEAR添加到PATH env变量,从而通过CMD使PEAR可用,并了解如何在*nix和Windows系统中安装软件包.提示: PATH分隔符是";" (分号)for Windows.
  • 在某些设置中,如果使用XAMPP,您可能需要激活XSL扩展.在这种情况下,打开您的php.ini文件(您可能需要管理员权限才能保存它),并取消注释或将以下行添加到"动态扩展"部分的底部:extension=php_xsl.dll.
  • 安装PHP_UMLpear install PHP_UML.
  • 执行phpuml -f xmi -o name_of_output_dir.如果您计划稍后将生成的XMI与某些较旧的程序一起使用,则可能需要通过添加来指定XMI版本1 -x 1.
  • 对我来说,这没有立即起作用,说我失踪了../../data/xmlschema.rng.不知道为什么会发生这种情况,但是如果你遇到类似的错误,你可以从这里下载并将它放在dataPEAR目录下的文件夹中.

此XMI稍后可以与Enterprise Architect,ArgoUML其他XMI工具一起使用.