Rose从代码中建模的一个疑问

deepwater 2001-09-25 10:36:18
假设我有一个类class1和另一个一个类class2,class2和class1的关系是1对多。
我用C++和STL来实现如下:

#include <list>

using namespace std;

class class1{
};

typedef list<class1*> class1_list;

class class2{
protected:
class1_list lots_of_class1;
};

我想这应该是没什么问题的。

现在让Rose做逆向工程(最好先建一个VC++的空模型,然后用Tool->Visual C++->update model from code。直接用C++ Analyzer的话老说什么"cannot include <list>",虽然我已经把include search directory设置好了),Rose从代码中分析出来的模型中除class1和class2外,class2中还正确的包含了一个类型为 class1_list 的association,看起来不错。

我的问题是,在Class Diagram中无法让这个association被显示出来:把Rose生成的class1和class2拖到Class Diagram View中,它们并没有如预期的出现表示association的连线,Rose也不让 class1_list这个association被拖进Class Diagram View中。原因我想大概是因为Rose不知道class1_list这个typedef其实和class1有关系。

这样要是我把这个Class Diagram给别人看的话,别人根本看不出class1和class2有任何联系。当然我可以手工拉一个association从class2到class1,但这样的话Rose就以为这两个类之间又有了一个新的association了,显然不合适。

敢问列为大侠为小弟我解惑。

...全文
38 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
青润 2001-09-26
  • 打赏
  • 举报
回复
一对多的关系,如何一个一对多的关系,你如果描述不清楚,在后面你是不可能合理的分析和设计出来的。所以你必须找到合适的例子,否则rose这些工具会因为其中的部分association不合理而无法生成代码,也就是你的建模会彻底失败。
简单的构想,不一定都合理。你不能只想着,这可能会存在,而必须举出关系存在的理由。

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧