IBD的目的
IBD 是为了指定单个模块的内部结构。
IBD 是系统或者系统一个组成部分的静态(结构化)视图。
IBD 可以表达在BDD 中无法表达的信息: 组成部分属性和引用属性之间的连接;在连接之间流动的事件、能量和数据的类型;以及通过连接提供和请求的服务。
IBD外框
IBD ,唯一允许的模型元素类型就是模块。
外框总是代表你在系统模型某处定义的模块。在外框之中,你可以显示模块的组成部分属性和引用属性,以及把它们连接在一起的连接器。
IBD组成部分属性
IBD 中的组成部分属性和BDD 中模块的组成部分分隔框中的组成部分属性有着相同的意义: 它代表一种结构,位于在IBD 头部显示名称的模块内部一一也就是组成模块的结构。
IBD 中组成部分的标识法是带有实线边框的矩形。
引用属性
IBD 中的引用属性和BDD 中模块的引用分隔框中的引用属性有着同样的意义:它代表IB D 头部显示的名称代表的模块外部的结构一一也就是模块因为某种目的而需要的模块,或者是为了触发行为,或者是为了交换事件、能量和数据。
IBD 中引用属性的标识法是带有虚线边框的矩形。
连接器
IBD 中两个属性之间的连接器表示,那两个结构在正确组装且可操作的系统中,拥有某种方式可以互相访问。你可以选择为一个连接器指定名称和类型,以传达更多关于连接那两个结构的媒介的额外信息。
两个相互连接的属性可以都是组成部分属性、引用属性,或者一样一个。如果两个相互连接的属性拥有兼容的端口一一标准端口或者流端口一一你就可以选择把连接器与那些端口连接,而不是直接与属性连接。这样做表示那些属性是在边界的特殊交互点处连接的。
尽量用连接器连接端口而不是模块本身。
~共轭意味着流规格中的流属性的方向和端口相反。
如果你通过标准端口连接两种属性,那么就可以传递一种属性在那些端口提供,另一种属性需要的服务。
项目流
项目流代表在系统中两种结构之间流动的事件、能量或者数据的类型。
IBD 中项目流的标识法是实心的三角箭头,它位于连接两个流端口的连接器上。
就是表示两个模块之间的流动量
内嵌组成部分和引用
什么是内嵌:显示模块中的组成部分;
有什么用:内嵌让你可以在单独视图中表示系统层级结构的多个层级。当看图者需要看到内嵌组成部分之间的关联时,这就很有必要。
建议你谨慎地使用这种功能; 内嵌使用过多导致IBD 变得不可读。
点标识法
SysML 没有限制在IBO 中对属性可以进行多少层内嵌。唯一的限制是你的画布的维度,以及图的可读性。属性中的内嵌属性会占据图的很大空间。
什么是点标识法:点标识法让你能够以字符串的形式简洁地表示结构化层级关系。
有什么用:使画布看起来简洁。
图中’.‘表示的是组成关系。
因为内嵌可以有任意深度,所以点标识法的字符串也可以任意长。
点标识法不会表达sensorPayload的模块名称和多重性。
如果需要看到层级关系每个级别每个属性的类型和多重性,那么你就应该使用内嵌标识法,而不是点标识法。
连接内嵌属性
当你需要为内嵌属性添加连接器的时候,有两种选择: 跨越封装内嵌属性的边界绘制连接器,或者在那个边界的端口处停止,并从指向内嵌属性的那个端口再绘制一条连接器。
决定是跨边界绘制连接器,还是在边界上的端口处停下,这应该基于对设计原则的理解。
端口让你以模块化的方式指定模块,显示面向客户端的接口,它会隐藏模块的内部实现。这是面向对象中的封装原则。
尽量遵从封装原则。
设计原则的理解。
端口让你以模块化的方式指定模块,显示面向客户端的接口,它会隐藏模块的内部实现。这是面向对象中的封装原则。
尽量遵从封装原则。