2011-09-20 23 views
2

我想为我的项目创建和维护域模型/高级概念模型。目前我正在使用jDeveloper并创建UML类图。这样做效果不好,我想找一个更好的选择。用于创建可“动态”浏览的域模型图的工具

问题是,一旦对象的数量增长得足够大,图表就包含如此之多的关系以至于几乎不可能读取和维护。该图是一个互相交叉的大型蛛网。

enter image description here

我觉得UML建模工具和思维导图工具的一些混合动力将是完美的这种需求

  • 我们需要的是高水平的概念化和与客户沟通。该图不一定是完美的UML
  • 我试过的一些思维导图工具只有节点之间的连接。这还不够,我至少需要关系中的多重性信息(0 ... *)和定义节点字段的能力。
  • 通过使用不同的线条样式,UML类图可以变得更加可读(倾斜/ rectiliear)和布置的类,以便相关的类相邻。我已经尝试了两种方法,但它们只在一定程度上有所帮助,一旦图表足够复杂,就没有办法避免它变得不可读。这就是“动态”部分所在的位置 - 您可以使用一个工具将类作为图中的节点,并且当您选择一个类时,它会将它带到中心,并将所有类与其相关的类相关联。通过这种方式,您可以交互式浏览班级关系图/思维导图,并一次专注于一个班级。

回答

3

a问题是,您使用图形类图显示所有信息,而不是使用多个图或实时导航。

我在我的项目中做的是从我现有的代码创建一个完整的模型,或者在没有任何代码的情况下仍然处于更高层次的概念。一旦我的模型通常用一个很大的混乱的图形创建,那么我会创建更小的类图来获取视图。这是我通常给开发人员的静态结构图。 为了帮助我思考,我自己做的是展现和隐藏依赖关系,关联或继承。这意味着我可以点击图表背景并选择隐藏依赖关系,然后选择显示关联等......我也可以点击一个类并查看与此类关联的所有相关类,关联等。因此,我可以在我的模型中动态导航。 真的很酷。

我使用Eclipse并已经尝试过几乎所有的UML插件。为了生成Java代码,我使用Papyrus进行高级抽象和基于一个类图和Omondo的简单项目,如果使用多个图的非常大的项目。