创建自己的SoDA模板

生成SoDA模板

1.   创建SoDA模板

1.程序->Rational SoDA for Word->Crate Template

2.自动打开一个空白的Word文档,并且打开SoDATemplate View.

Template ViewSoDA用来展现和编辑模板的对话框。在这个对话框中,可以对模板中的元素进行创建、修改、删除等操作。

左侧为模板中已经使用的元素,右侧为当前选中的元素,可用的一些属性等。

3.以生成Design Model中的用例实现图为例。Rose模型如下:

本来用的是我们公司一个项目,但考虑到可能会有不好的影响,就临时画了一个示意的模型,但包结构是相同的。

4.Rose Template View的右侧窗口,选择Rose Package。表示我们要对一个Rose中的Package进行操作。这通常在要针对Rose中的某个特定包来制作模板时使用。

5.打开的对话框中,输入要操作的mdl文件和包。Mdl文件指向Rose工程文件。PackageName中输入Design Model

6.Word文件中,就已经显示出黄底粉红色字体的[OPEN]字样。这就是SoDA模板中对操作的定义,它使用了Word的“批注”功能。

2.   制作UseCase的模板

下面开始制作可用于生成Use Case实现文档的模板。

先来再了解一个Template View的使用方法。Template View的界面如下:

1.         Template View中,选择左侧已经添加的 后,右侧就会出现Rose中的Package所拥有的属性以及子元素。

2.         今后所有的操作都将类似,在左侧选择在操作的元素,右侧就后列出该元素所拥有的属性以及子元素。

3.         Template View的工具栏中,最常用的几个工具钮如图: ,分别为:

Open:打开一个元素

Display:显示当前选中元素的某个属性(这里所谓的显示,实际上就是在通过模板生成文件时,输出这个元素的属性).

Repeat:进行一次循环(循环是对当前选中元素的某一类子元素进行循环).

 

4.         现在我们首先要对Design Model下的第一级包(代表系统中的模块),进行循环。

在右侧窗口中,找到SubPackages,单击后,左侧窗口以及Word文档都有变化。左侧窗口中新加入了一个动作。Word文档中也增加了相应的标记。

5.         现在要先输出一些模块的信息。这里以输出模块的名称(即包的名称)为例。点击左侧SubPackags,然后点击右侧的Name。这就又添加了一个Display类的动作,输出的内容是包的名称。

6.         选中子包后,再添加一次子包。重复4,5完成这一操作。现在我们已经访问到了Rose模型中的子系统。

7.         Rose模型中,子系统中有个“用例实现”的包,现在要访问这个用例实现的包。

选中左侧最底层的子包,再添加一次子包,重复动作4。现在已经可以访问到“用例实现”以及“设计对象”这一级。可是我们要限制Rose只访问“用例实现”。

8.         双击新添加的子包,打开“Repeat Command”属性的窗口。选中“Advance”复选框以访问一些高级属性。界面如下:

9.         Add标签下,首先单击左侧的“Left Operand”,选择要操作的属性。这里我们选Self->Name。然后单击右侧的Right Operand,选择Literal后,输入“用例实现”。表示我们只过滤出名称为用例实现的子包。设置后的图如下:

10.     现在我们已经访问到了用例实现包,只要再把下面的用例图和用例列出来,就可以了。操作方法都是一样的。在最底层的子包下,再选择右侧的AllUseCaseDiagram,即可对所有用例图循环。选择AllUseCases,即可对所有用例进行循环。

 

经验总结:

1.       上面只是指出了操作部署,并没有设置文档的格式。所有如果现在拿这个模板生成文档,格式是很难看的。

2.       建议先有一个已经有格式及层级结构的Word文档,然后在此基础上,再制作模板。

3.       Word文档的基础上制作模板上,那些标记是可以拷贝的,只是注意不要把嵌套给搞乱了就可以。

3.   制作类的属性方法的模板

对类的属性及方法的制作过程,完全同上,只是如果要生成表格,则会有一点点地方要注意。下面只简单说一下这个过程。

 

 

 

1.首先打开要处理的包。
2.创建一个两行两列的表格
3.第一列为方法名,第二列为方法的文档。
4.光标落在第二行中,然后表格->选择->行,让第二行高亮选中。
5.添加SoDA命令:SoDA->Add Command->Repeat Command,然后选中MyOperations。
6.SoDA自动对表格加入批注。注意[MASTER]在表格之上,[REPEAT]在第二行第一列的开始,[ENDRPT]在第二行最后一列,[ENDMAST]在表格之下。
7.在第二行第一列REPEAT之后,SoDA->Add Command->Display Command,然后选中方法的Name。在第二列添加方法的Document。
再生成文档,这样表格就根据方法的个数,自动增加行数了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值