SysML 的图表可以被视为一种画布类型,在这种画布上,工程师将创建构成模型的工程概念的可视化表示。SysML 有九种图表类型,每种类型都侧重于问题或解决方案的特定方面。虽然这些图表类型通常包含不同类型的元素,但它们都遵循一种标准表示形式,由一个包含标题和内容区域的框架组成。
本节将介绍在绘制图表时可使用的部分实用工具和功能,但还有许多其他功能同样有用。
图框
图框是一种视觉工具,用于将图表中的元素和关系框定起来。该框架由两部分组成:
默认情况下,Enterprise Architect 会将框显示在图表窗口内,但根据 SysML 规范,可以隐藏框以创建一个更简洁的绘图界面。
每当需要时,都可以重新开启边框。并且可以对发送到剪贴板或打印机的图表进行设置,使其无论在用户界面中是否被隐藏,都能以边框的形式显示出来。
如果将其设置为不可选择状态,框架将自动调整大小以适应图表的边界,会从默认尺寸开始扩大,但不会缩小到更小的尺寸。不过,这些框也可以设置为可选择状态,并根据模型师的偏好进行调整。
请注意,使用 14.0 版或更高版本的 Enterprise Architect 所生成的显示图框的图表,在使用早于 14.0 版的 Enterprise Architect 版本打开时,会将父对象绘制在图表上。
图表说明(注释)
除了标题中包含的元信息外,图表还可以有描述内容,这对于新用户理解图表的目的和意图非常有帮助。该描述可以在图表的注释窗口中添加、查看和维护。
图表通常用于描述模型或系统的各个方面。虽然图本身及其包含的元素和连接件讲述了一个故事,但往往还需要用一些描述性的文字对图表进行注释,以补充额外的信息。例如,这些文字可能包括:
这些注释将生成文档形式的内容,并可通过 WebEA 界面查看。
图表属性
每个图表都有一系列的属性,这些属性在元层面描述了图表的特征,其中包括诸如以下的项目:
此外,还有一个选项卡专门用于指定图表中哪些区域是可见的,还有一个选项卡用于指定矩阵和泳道。
主题与外观的变更
Enterprise Architect 提供了一项功能,使您能够将选定的主题应用于您设备上呈现的所有图表。您可以利用此功能来创建特定类型的图表样式,并且它能够影响颜色、字体、渐变、线条粗细以及背景图像(拼贴)。这是一个很有用的机制,可以为您的图表增添吸引力或统一它们的外观。
还可以为每个图表元素单独设置颜色和样式,既可以将其设为默认值(即该元素在每个图表中所呈现的样式),也可以仅针对当前图表中的该元素进行设置。
图表的其他可视化方式
在遵循 SysML 规范并具备模型工具所应具备的所有图表功能的同时,Enterprise Architect 为模型设计者提供了多种不同的查看图表的方式,从而呈现出图表及其元素的丰富可视化效果。这些包括:
此外,该图表有两种查看模式,这两种模式会改变图表的外观,使其更适合演示使用,从而增加了其吸引力,并减少了对底层建模语言严格性的关注。
通过使用替代图像增强吸引力
作为模型一部分所创建的图表旨在向受众传达信息,而图表的意图往往通过使用图像的方式更清晰地传达给非技术或业务领域的受众。Enterprise Architect 提供了一种机制,可以将系统建模语言中那种通常不太吸引人的常规图形符号替换为各种格式的图像,包括基于矢量的图像。
该图像可应用于图表中的所有图像实例,也可仅应用于特定的图表。可以将一组默认图像导入到“图像管理器”中,或者用户或团队也可以自行创建特定于某一领域或行业的专属图像。
图表过滤器
图表过滤器提供了一种筛选机制,用于剔除图表或元素列表中不相关的部分,只保留与当前视图相关的元素和连接器。这些过滤器可以针对元素或连接器进行定义,并且可以设置多种条件,例如剔除所有状态为“已验证”且创建时间早于某个里程碑日期的元素。更简单地说,还可以过滤掉特定的元素类型或样式。不符合条件的元素可以被隐藏、以灰色显示或只是变暗(变淡),从而使其可见但不突出。
图表说明
图表说明用于描述图表中所使用的元素和连接线。这些说明能够动态地改变图表中元素和连接线的视觉效果,例如根据元素属性或标记值来改变填充颜色、线条颜色和线条宽度。
可以创建任意数量的图例,并且这些图例可以应用于一个或多个图表中。
4.1 图形的通用方面
图是可视化模型内容以及表达图作者所认为的重要内容的最重要方式之一。其引人注目的视觉吸引力以及作为叙述工具讲述所建模系统某些方面的故事的能力,使图成为最重要的视图之一。在 SysML 中,每个图都具有共同的方面(或特征),包括:
还有许多其他设施,这些设施在工程师使用图时会有所帮助,其中包括:
图表框架
图表框架类似于一个幕布,将构成图表的元素围在其中。虽然在与书面文本一起查看图表时它更为重要,但有些建模人员在建模时更希望图表可见。
对于每个图表,边框都可以方便地显示或隐藏,当边框被隐藏时,图信息(如图类型、父图和名称)仍会在图标题中显示。
偏好设置还可以设置为在导出图表作为文档、剪贴板或保存图片时显示图表框架。这些选项位于“偏好设置”对话框的“图”页面。
该框架的左上角有一个标题区域,其中包含了关于图表的有用信息。这种语法描述了标题区域的内容。
diagramKind [modelElementType] modelElementName [diagramName]
图标题栏
图标题栏提供了关于该图和处理所有开放图的工具的有用信息。即使边框不可见,标题栏也会显示图的详细信息。
它还设有许多其他实用的图标,用于控制显示的各个方面,包括:
图内容
该图内容是您查看和编辑图的画布。这是一个高度灵活的工作区域,拥有大量用于创建和可视化现有图表的实用工具。可以添加图片,并将其与标准的几何 SysML 元素混合使用,从而生成富有表现力且引人注目的图,这些图有助于向技术及非技术受众传达重要的工程概念。
Enterprise Architect 通过多种可视化技术扩展了视图。这些工具将为你提供处理图表内容的替代方式,对于那些更熟悉电子表格、列表和文档元素操作的新手来说,非常欢迎。还请注意,在这张图中,图像可以作为原版SysML图形的替代方案。
文档视图
这是一种方便的视图,它将以叙述性形式在文档中展示图表中的元素。它也被称为“内联规范”面板,并非独立的视图,而是与所选图表相关的面板。文档会方便地在图表的右侧打开,这样图和文档就可以同时查看。图表中的每个元素在文档中都会有一个标题,元素的注释(描述)会显示在标题下方的位置。此视图中呈现的元素及其注释都可以方便地进行编辑,同时可以查看文档视图和图表,并且两者会保持同步。默认情况下,元素是按字母顺序排列的,但可以通过上下文菜单更改排序顺序,使其按照从上到下或从左到右的顺序排列。
列表视图
这是一种在图中查看元素的有效方式,,同时还能以一种熟悉的电子表格形式对其进行查看、更新和创建。元素属性包括标准属性、标签值和注释都可以管理,并且提供带有离散值列表的属性下拉列表,提供了跨多个元素查看这些属性的便捷方式。
规格视图
规格管理器与内联文档查看器类似,但功能更强大,并且会以独立的可折叠窗口形式打开。它是专为熟悉使用电子表格或文档的工程师及其他利益相关者设计的完美工具。它实质上使建模者或查看者能够将图表(或包)的内容可视化为文档或电子表格。文档视图类似于熟悉的文字处理器文档,可以进行内联编辑以创建新元素及其描述。这种可视化还可以更改,使其类似于电子表格,其中属性显示在列中。
对于那些从基于文档的系统工程流程中转型过来的人来说,这是一种非常受欢迎的观点;也是工程师输入基于测试的信息(如需求、活动、组件及其他元素)的首选。
甘特图
这展示了图表中各元素的典型甘特图视图,其中已对这些元素进行了资源分配。可通过可视化让工程或项目经理了解模型中的进展情况。
绘图工具
还有多种其他工具可用于展示模型库中的信息,帮助工程师在处理图中元素时使用,包括但不限于:
图示色带与菜单
在处理图时,有许多功能区非常有用。如前所述,起点是设计功能区的“图”面板,允许你插入新图,编辑和更改现有图的视图。
设计功能区上的“元素”面板在处理图中元素(或在浏览器窗口选择)时也很有用,允许你插入新元素、编辑现有元素并管理元素属性、特征和职责。
另一个重要的功能区是布局功能区,其中包含多个面板,适合处理图表。其中包括“图”面板,包含设置主题和更改图解模式的选项,例如手绘。
“样式”面板允许将图表元素的视觉样式属性设置为一组或单个元素。
“对齐”面板提供了丰富的工具,用于对齐图中的元素。这些工具非常有用,提供了多种对齐选项,这些选项通常在大多数绘图软件包中不具备,使元素——例如——可以均匀地水平或垂直分布。
“工具”面板提供了一系列用于处理图表的工具,允许在图表中筛选内容——例如,允许建模者仅显示指定状态的约束元素,这些元素是在指定日期之后创建的——平移、缩放以及布局选项。过滤器面板为图中内容提供快速且临时的过滤方式,无需创建图过滤器。
此外,还提供了一系列辅助工具,用于处理图表及其元素,能够控制诸如水平和垂直锁定等功能,以限制元素的对角移动。
在EA中,一个图表拥有丰富的属性设置,其中一些是描述性的,比如名称;而另一些则是规范性的,用于指定图表的显示方式以及哪些元素、分隔区和其他特征应当可见,包括线条样式。
这些属性中有许多可以在图表级别以及元素或连接器级别进行设置,从而使得图表的不同部分能够以不同的方式显示出来。
设置元素分区可见性的功能对于工程图来说尤其有用,因为 SysML 提供了丰富的分区来涵盖各种不同的项目。如果不加以管理,这些分区可能会使图表变得杂乱无章,并降低读者理解图表含义的能力。
这些分区与其他属性一样,可以在图表级别或元素级别进行设置,这使得建模人员能够针对特定元素选择要显示的分区。
4.2 模块定义图
模块定义图是 SysML 图中使用最广泛的;它用于建模块、它们与其他元素(包括其他模块)的关系以及它们以属性、操作和接收的形式呈现的特征。模块是系统描述的模块化单元,提供了将系统建模为模块单元图或树的方式。其他元素,如约束块和属性,也可以出现在图中,帮助描述所建模的系统。
元素
在模块定义图中可能出现的主要元素由该类型图的图工具箱提供:
在模块定义图中可能出现的主要连接器如下所示:
工具
在结构建模和模块定义图中,可以使用多种工具,包括:
用途
模块定义图是一种通用的图,可用于描述系统的结构方面。
4.3 需求图
需求图用于创建和查看需求及其与其他元素(包括其他需求)的关系。需求可以在任何层级指定,从战略性企业或业务需求,到利益相关者需求,再到低层次工程,甚至软件和过渡需求。
图中元素可以从多种不同角度看,包括:
需求图中可能出现的主要元素有:
需求图中可能出现的主要连接器有:
需求建模可以使用多种工具,包括:
这些需求工具中最广泛使用的可能是规范管理器,它将为处理文本规范(如需求或约束)提供一种便捷且熟悉的方式。规范管理器可用于查看包内元素列表或图表。
需求图可用于利用包含关系展示需求层级,使观察者能够看到需求之间的结构关系。然而,当需求与其他元素通过其他关系(包括其他需求)在图中展示时,需求最为引人注目。例如需求与测试用例或需求与解决方案组成部分之间的关系。
4.4 用例图
用例图用于定义和展示用例以及从系统中获取价值的参与者。用例图描述了参与者与用例之间的关系,将用例包含在表示系统边界的范围内,而根据定义,参与者位于该边界之外。尽管用例图看似简单,但它是一种有效的沟通工具,能够说明外部角色通过与系统交互所获得的价值或目标。每个用例都可以进一步细化,包括描述、约束条件以及若干个场景,这些场景包含由参与者和系统交替执行的一系列步骤,以实现预期目标。
用例图中可能出现的主要元素有:
用例图中可能出现的主要连接器有:
除了用例图本身之外,还有多种工具可用于处理用例相关的工作。这些包括:
用于处理用例的主要工具是场景窗口,这是一个功能全面且专门设计用于处理用例和场景的工具。该工具可用于定义用例及其场景和约束条件,这为传统的基于文本文档的定义用例的方法提供了一种更高效的替代方案。这确保了用例图以及用例、其场景和约束的详细说明都包含在同一模型中,并且能够进行追溯。
如果由于合同或流程方面的原因需要以文档形式呈现用例,那么可以利用内置的文档生成引擎从模型中自动生成用例报告。
用例图可用于明确描述一个用例及其场景和约束条件的细节。这为传统的基于文本文档的用例定义方法提供了一种受欢迎的替代方案。这样可以确保用例图以及用例及其场景和约束条件的文本细节都包含在同一模型中,并且能够进行追溯。如果由于合同或流程原因需要用文档格式来呈现用例,可以使用内置的文档引擎从模型中自动生成用例报告。
4.5 包图
SysML 软件包图用于定义或查看那些构成存储库基本结构的软件包。这些软件包可能包括命名空间及其子软件包以及其他不太正式定义的元素集合。图表中出现的这些软件包也可以在浏览器窗口中查看,并且其层次结构可以通过展开和折叠树状结构来进行导航。
在包图中所呈现的主要元素是包本身及其所包含的元素。包之间存在着许多重要的关系,其中包括依赖关系,它表明一个包依赖于其他多个包。包可以被组织成多种不同的层次结构。
包图中可能出现的主要元素有:
在包图中可能出现的主要连接器有:
在结构建模和块定义图中,可以使用多种工具,包括:
包图可用于描述包与其所包含的元素之间的关系。虽然在浏览器窗口中可以查看结构信息,但包之间以及包与元素之间存在的一系列关系无法在浏览器窗口中直观呈现。包图还可以包含在文档中,并且能够通过向受众提供架构或设计某一部分的概览(类似于出版物中的目录)来帮助他们定位,从而起到引导作用。
4.6 活动图
活动图是最重要的行为图,可用于对基于流(离散或连续)的行为建模,这类行为中,输入会通过遍历一系列对条目执行操作的动作被转换为输出。活动图类似于常见的流程图,但语义更复杂,还允许活动与动作关联到块、需求、用例等元素。
出现在活动图上的动作可以包含输入引脚或输出引脚,它们代表交互节点:输入会通过这些节点送入动作,输出也会从这些节点发出。
活动图中可出现的主要元素有:
活动图中可出现的主要连接器有:
多种工具可配合行为建模和活动图使用,包括:
活动图可用于对基于流的行为建模,类似于SysML规范提出之前就被广泛使用的通用流程图或功能流图。这类图通常用于展示系统各部分的行为方式,包括条目和信号的输入输出。
4.7 内部模块图
内部块图提供了一种查看Block结构的方式:通过端口和连接器将部件属性连接在一起展示。该图适用于展示Block(由图框表示)的组成结构,以及构成Block的各个部件之间的输入、输出流;如有需要,还可在连接器上标注流的方向。
模块定义图中可出现的主要元素有:
模块定义图中可出现的主要连接器有:
多种工具可配合结构建模和内部模块图使用,包括:
Internal Block diagram用于对Block的内部结构建模,包括Block的各个组成部分以及这些部分之间的关系。
4.8 参数图
SysML 参数图是一种带有部分使用限制的 Internal Block Diagram,用于对含参数的方程进行建模。该图是描述方程及其参数的重要工具;由于可构建方程组并与 Measures of Effectiveness (MOEs) 相关联,因此在开展权衡分析、评估不同设计方案时发挥着关键作用。
参数图用于说明 Constraint Block 的使用方式,并提供一套机制,将性能、可靠性等各类工程分析内容及相关考量因素,与其他 SysML 模型和图形结合起来。
参数图规定了如何借助 Constraint Block 对另一模块的属性进行约束。约束的应用,是将约束表达式(例如 \(F=m*a\))中的参数(如 F、m、a)与某一模块的具体属性(如质量、加速度)进行绑定,由这些模块属性为参数提供具体数值。
参数图中可使用的主要元素包括:
参数图中可使用的主要连接关系包括:
工具可用于结构建模与 Internal Block Diagram 的常用工具如下:
参数图可通过搭建约束网络(如数学表达式{F=m*a}、{a=dv/dt}),体现系统各项物理属性受到的约束关系。
该图也可用于权衡分析:可借助 Constraint Block 定义目标函数,以此对比不同备选方案。
同时还能对关键性能参数及其相互关联关系进行建模,并在系统全生命周期中对这些参数持续追踪。
4.9 顺序图
顺序图是一种 交互图,它展示了对象之间按时间顺序进行的交互。该图表拥有两个坐标轴:纵轴代表时间,横轴代表参与交互的对象,通常这些对象会按照最能清晰阐明交互过程的方式进行排列。这类图表起源于软件交互的建模,但在系统工程中同样适用——既可以作为规范性说明,指出元素(例如 模块)应当如何交互;也可以作为描述性说明,展示在实践中它们实际是如何交互的。
这张顺序图 展示了驾驶员与车辆之间的交互以及消息流的顺序。该图表表达了“驾驶车辆”这一用例所必需的交互过程。该交互归属于“AutomotiveDomain” Block 所有。
可以出现在顺序图中的主要元素包括:
可以出现在顺序图中的主要连接器包括:
在行为建模和顺序图中可以使用多种工具,包括:
我们之所以要对一个系统进行建模,这一事实本身就意味着该系统具有某种程度的复杂性,如果不借助工具是无法管理的。Sequence diagrams 可以用来表示系统场景,展示系统的各个部分如何相互协作以实现某个特定的结果。消息(Messages)被认为是在代表对象生命周期的 lifelines 之间进行交换的,这些消息代表了对象发送和接收的操作或信号 。
4.10 状态机图
状态机图是一种有效展示系统元素(如模块)生命周期信息的方式。它主要用于描述实体在其生命周期或循环过程中出现的关键条件(也就是“状态”)。通常,我们只会用状态机图来对那些生命周期中存在重要阶段的实体进行建模。根据状态机的定义,实体会从一个状态转换到另一个状态。我们可以描述触发器和事件以实现状态转换,并可定义守卫条件来限制状态的改变。每个状态都可以定义在进入、执行期间以及退出该状态时所发生的行为。
在状态机图中,主要可以出现以下元素:
在状态机图中连接这些元素的主要连接器包括:
除了状态机图本身,还有各种各样的工具可以用来处理状态机图,例如:
复杂的系统通常由像模块这样的实体组成,这些实体往往具有复杂的行为,其生命周期可能很难被理解。
状态机可以用来描述实体在其生命周期或循环中出现的关键条件(即“状态”)。通常,我们只会用状态机图来对那些生命周期中存在重要阶段的实体进行建模。这些图表能够让我们深入了解实体是如何从一个状态转换到另一个状态的,同时自动忽略掉那些对分析不重要的条件。