SysML 包图(Package Diagram)
1、SysML包图介绍
SysML包图(Package Diagram)是显示系统模型的组织方式时所创建的图。系统模型的组织方式由包的层级关系决定,而包的层级关系则将模型中的元素分配到逻辑上紧密相关的组中。系统模型并没有唯一正确的结构。不同的方法会建议不同的模型结构,项目的目标不同,同一模型结构产生的效果也不同 。
在项目开发中,模型元素可能会很快达到一个大的数量级,因此需要以某种方式构建和组织它们,即使对于小型开发项目也是如此。一旦你确定了对项目有效的模型结构(可能需要经历多次迭代)那么创建包图会很有用,那可以为你的利益相关者提供一种针对那种结构易于理解的视图。包图可以显示内嵌在包中的包,从而表达模型的包含层级关系 。
包图通常用于以下方式:
- 1) 大型系统,用于描绘系统中主要元素之间的依赖关系
- 2) 包图表示编译时分组机制
- 3) 包图还为模型元素提供了命名空间
包图一般标记为 pkg,用于组织模型中包含的模型元素。在此图中,系统模型包含用于需求、行为、结构和参数的包。每一个包分别在需求图、活动图、块定义图、内部块图和参数图上呈现的模型元素。请注意,块定义图和内部块图的模型元素都包含在 Structure 包中。
2、包之间的关系
包之间主要有如下三种依赖关系:
- 1) 包含(Containment):包含可包装的元素和其他包
- 2) 包引入(Package import):从其他包引入所有的元素到命名空间
- 3) 元素引入(Element import):从其他包引入一个元素到命名空间
3、包和块(Block)的区别
包是一种通用的分组机制,用于在唯一的命名空间内组织各种模型元素和相关的图。 SysML 包能够包含任何任意SysML模型元素,包括(但不限于)块。
SysML块是 SysML 模型中使用的基本结构元素,其使用方式类似于 UML 中的类。
因此,虽然 SysML 包可能包含(为其提供唯一的命名空间)块和其他 SysML 模型元素,但 SysML 块不能拥有,或者包含 SysML 包和SysML 图。
4、包图示例
下图是SysML包图示例,它显示了模型的结构。模型元素包含在包中,图中也显示了包(或特定模型元素)之间的关系。视图(操作视图和性能视图)和用户模型的其余部分之间的关系使用 «import» 关系明确表示。
请注意,«view» 模型不包含它们自己的模型元素,并且对其他包中模型的更改会在操作和性能视图中自动更新。