概述
在工具向导中,对要在当前迭代中设计的用例执行下列步骤:
附加工具信息
体系结构上重要的设计元素可记录在单独的逻辑视图中,将随设计元素的确定而维护该视图。一般建议使用 <<perspective>> 包。请参阅 RSx 模型构造指南获取关于该主题的更多信息。
事件(在 UML 2.0 中也称为触发器)的特征应按需记录,以推动处理事件的设计元素的确定。该信息可以非正式方式记录(例如在独立的文档中),而不作为模型的一部分。
异步通信事件可建模成信号,以表达承载的数据或表达信号之间的关系(如泛化关系)。以下子步骤描述如何对信号建模:
-
按需要创建类图。请参阅
向模型元素添加类图。
-
添加信号。请参阅
创建并修改类图。
-
向每个设计元素添加简短的描述。请参阅
记录模型元素。
-
添加信号之间的泛化关系(如果适用)。
有关类图的更多信息,请参阅
使用类图对静态结构建模。
设计元素通常按照下列三种方式创建:
这些方法在接下来的部分中说明。
扩展模式
模式是一种特殊类型、为交互式分段精化而优化的转换,主要在单个元模型中、相同抽象程度下,并通常在同一模型中。关于更多信息,请参阅分析机制。
请参阅联机帮助中的 编写模式和 应用模式。
建模
该工具支持模型驱动的软件开发方式(请参阅模型驱动开发和
Model Driven Architecture和分析机制),在其中,您构造最终将包括设计模型的一组模型,并生成实施工件(如 3GL
代码、描述符等)。这些工件是使用转换从设计模型中得到的。在某些情况下,代码生成转换将接收分析类作为输入,但是它们主要由设计元素驱动。有关更多信息,请参阅: 应用转换。
在传统的开发方式中,您将在“设计模型”中创建类图以包含设计元素。如果您决定维护分析类,那么您可能想使用分析类的“跟踪”依赖关系建立可跟踪性。
-
按需要创建类图。请参阅
向模型元素添加类图。
-
添加子系统和类。请参阅
创建并修改类图。
-
向每个设计元素添加简短的描述。请参阅
记录模型元素。
-
(可选)使用从设计元素到所基于的分析类的“跟踪”依赖关系,将可跟踪性添加到分析类。请参阅
UML 建模中的抽象关系。
-
将设计元素组织到子系统和包中。请参阅白皮书 RSx 模型构造指南。
有关类图的更多信息,请参阅 使用类图对静态结构建模。
编码和反向设计
请注意:这一部分提到的一些工具能力在 RSM 中不受支持。
另一种方法是“代码优先”方法:代码是主要驱动因素,因为它已经存在(例如在非 greenfield 开发周期中),或者因为团队需要通过对原型编码以验证复杂的概念来对付一些特定的项目风险。作为对体系结构发现和恢复(请参阅体系结构发现、分析和控制指南)支持的一部分,工具的代码可视化能力可以自动填充主题图,例如包结构、类内部结构、继承树和协作。此任务的目标不仅是理解现有的代码,而且要抽取应用程序的模型,该模型可与其他特定模型结合使用,来使用转换生成应用程序的新版本。
一旦您生成或编写了现有代码的 UML 图,您就具有下列选择,可以利用代码描述作为设计模型的一部分:
-
将代码元素的 UML 描述收集到设计模型中,作为真实的语义模型元素。这将在未连接已收集的代码项的设计模型中创建一个新的 UML 元素。然而,它确实具有反映已收集代码项属性的属性(例如属性和操作)。 因为它是真实的 UML
语义元素,所以新的代码可以从其中生成(换句话说,它在设计模型中具有与任何通过前面所述的 greenfield 建模流程定义的设计元素相同的状态。)
-
将代码元素的可视引用放到驻留在设计模型中的图。此引用本身在设计模型中不具有语义含义,不能从中生成新的代码。正如它的名字所暗示的,它只是对实际代码元素的引用。然而,您可以建立设计模型中代码引用和语义设计元素之间的关系。这些关系在设计模型中具有语义含义,且影响代码生成。
关于更多信息,请参阅联机帮助中的 使用类图对静态结构建模。
下列步骤适用于大型子系统:
-
为每个子系统确定一组候选接口。如果您先前创建了分析类并且执行了分析级别用例实现,那么现在您将决定这些操作如何结合在一起,作为特定组件或服务的接口展现。向现有组件图添加接口,或按照需要创建新的组件图。请参阅
向建模图添加接口。
-
添加接口依赖关系。
-
通过添加从子系统到接口的实现关系,将子系统映射到接口。
-
记录接口,包括所需的行为。请参阅
记录模型元素。
-
向接口添加操作。请参阅
向图中的分类器添加操作。
-
向每个操作添加描述。请参阅
记录模型元素。
-
向每个操作添加参数。请参阅
向图中的分类器添加操作。
-
将接口组织到包中。
在 UML 2.0 中,子系统是大型组件,可以表示为具有端口和/或接口的结构化类。 请参阅联机帮助特定的 UML 2.0 主题。
不支持封装体和协议建模。
教程:
-
应用模式
样本:
-
模式 - 简单 UML 模型
|