• 剖析Rose文件,开发你自己的XDE


    起源

    半个月前,领导要我完成一个设计文档。当时项目的状况是开发已经完成,并且进行了两个星期的测试,
    客户使用也没有提出什么问题。我在琢磨怎么写这个文档,经过一番思考,准备用Rose写一个详细的类
    设计文档,起初我是希望借助第三方的工具生成Rose类设计视图,当然首先想到的肯定是Rose XDE。但
    是 Rose XDE的安装需要申请审批(我们是一个高度遵守知识产权规则的公司),实在是太麻烦。即使在
    公司安装上了,回家装的话还是需要到网上去找License。Boraland Together.net 生成的图实在是不怎
    么好看。 于是便有了自己写一个这样的工具的想法。 

    思路

    要操作Rose Model文件有两种方法。第一,看看 Rose有什么API可以调用的。第二,Rose Model如果是一
    个普通的文本文件,我们可以直接写这个文本文件。 说干就干。说实话,公司里做这样的东西,很容易被
    人说成是不务正业的。果不其然,在后面的开发过程中, 很多人跑过来,看我写的东西,问我又在搞什么
    名堂。因为长期以来的开发过程中,我喜欢开发一些小的工具, 有时侯思路来了,就在公司里干起来了。
    言归正传。 我用Notepad.exe打开了Rose Model 文件,一看果然是一个普通的文本文件,因为第一次看,
    觉得还是有点复杂。于是用Rose打开删除掉那些对结构不会影响的内容,然后再用Notepad.exe打开。就这
    样反反复复, 对Rose文件了然于胸了。原来Rose Category File由下面几部分组成(见下图):
    1,适用的版本信息
    2.Package Body:
    2.1 每一个Rose对象(类,接口,Actor(一种特殊的类))的说明
    2.2 Rose 展现部分的布局。包括哪些视图,类视图/时序图/活动图。每一种图都有自己的描述的结构。但
    基本上差不多。 现在我来说说类试图的结构: 每一个类的布局(包括位置,大小,字体等), 类与
    类的关系(包括实现和继承等) 

    Shark XDE

    我给这个工具命名Shark XDE.请下载
    下面再说说这个工具的使用吧:
    1.选择你要据此创建Rose Category文件的Assembly(*.dll或者*.exe) 如果在相应的目录下有Assembly的XML
    注释文档,则自动生成填充第二个选择项。 这个注释文档如何生成的,相信大家都知道的。
    2.选择该Assembly的XML注释文档。本工具会根据此文档,写Rose对象相关内容的注释。
    3.选择你要存放Rose Category 文件的目录。缺省设置为Assembly文件所在目录。
    4.输入Rose Category文件的名称,缺省与Assembly文件同名,只是后缀名不一样而已。
    5.生成Rose Category文件。在这个过程中也许会出现错误。一种是因为你选择的Assembly文件引用了别的Assembly,
    而这些相关的Assembly又不在当前工具所在的目录下,所以系统提示你,将这些所有相关的Assembly复制
    到当前工具所在的目录下. 另外还有一些别的错误,如你选择的Assembly文件不是.Net认识的;如你选择的
    Rose Category 文件只读或者被其他程序锁定。
    6.创建完Rose Category文件后,如何检验你所做的工作呢?首先打开一个Rose Model文件,然后通过以下两
    种方式将Rose Category文件导入。
    第一种方式,先选择你准备导入的上级包,打开缺省的视图(注意这一步不能缺,否则导完后你自己都不
    知道导在哪儿了),然后单击菜单"File/Units/Load..."或者"File/Import...",选择第四步生成的
    Rose Category文件。 参见下图
      第二种方式,创建一个Package,重命名这个Package(它的名称可以在Rose Category文件的第七行找到),
    右击这个新的Package, 弹出菜单,选择"Units/Control
    ....",在接下来的文件保存
    的对话框中随便输入一个文件名。然后再次右击新的Package, 弹出菜单,单击"Units/Reload
    ...",
    选择第四步创建的Rose Category文件。参见下图:
    
    
    导入的过程中,Rose可能会发出下面的警告:
    按Yes即可
  • 相关阅读:
    强大的Resharp插件
    配置SPARK 2.3.0 默认使用 PYTHON3
    python3 数据库操作
    python3 学习中的遇到一些难点
    log4j的一个模板分析
    MYSQL内连接,外连接,左连接,右连接
    rabbitmq实战记录
    领域模型分析
    分布式系统学习笔记
    阿里开发规范 注意事项
  • 原文地址:https://www.cnblogs.com/SharkXu/p/Readme_SharkXDE.html
Copyright © 2020-2023  润新知