系统建模语言(SysML)与其他语言一样,需要学习。我们无法像小时候在家听父母讲母语那样幸运地从小接触它,但许多读者可能因各种原因已经对这种语言有所了解,例如:
如果最后一种情况属实,你很可能已对这门语言有深入理解,但或许也需要一些休息一下——因为该规范内容相当密集,你还得深入了解一下统一建模语言(UML)的规范。而更有可能的是,大多数读者此前几乎没有接触过该语言。本示例旨在为你快速、概览性地展示如何在Enterprise Architect中使用SysML进行基于模型的系统工程(MBSE)项目建模。本示例基于规范附录中的混合动力汽车案例。
17.1 包概述(结构模型示例)
包图展示了一种可视化存储库内容的方式;当在 Enterprise Architect 的浏览器窗口中查看该图的内容时,可以浏览其结构。包图上还显示了重要的结构关系和命名空间关系,有助于明确仓库中元素组之间的关键高层级关联。
包图-应用SysML配置文件
如图所示,HSUV模型是一个表示用户模型的包。为了包含该配置文件中的构造型,已将SysML配置文件应用于此包。HSUV模型可能还需要使用其他模型库,例如SI单位类型模型库。这些模型库将按照所示方式导入到用户模型中。
包图——展示模型的包结构
该包图展示了用于定义HybridSUV系统的模型结构。该图提供了一种有效的方式,用于查看构成存储库的高层容器(包),并定义HybridSUV系统的结构、行为和需求。
操作视图与性能视图以及用户模型其余部分之间的关系通过«import»关系明确表达。图中显示的包已定义,也可以使用浏览器窗口在分层视图中可视化。
虽然浏览器窗口为浏览存储库提供了重要机制,但还有许多其他视图可供选择,例如在此情况下使用的图。Enterprise Architect 还提供了一种便捷的方式创建用户自定义的图,可作为浏览存储库的替代方法。该机制使系统工程师及其他人员能够创建任意数量的导航单元,从而为不同受众提供定制化的模型访问方式,使用户无需了解或掌握如何遍历模型。
这些在通过网页浏览器查看模型时特别有用。
17.2 设置上下文(边界和用例)
系统的上下文对于所有利益相关者理解系统在环境中的运作至关重要。用例图是SysML工具包中最为简单却最具描述性的图表之一。其优势在于,它能够将系统外部的实体(参与者)与他们期望从系统中获得的利益(用例)联系起来,而无需明确说明系统如何实现这些价值。用例可以在描述性层面编写,但如果需要更详细的信息,可以使用Enterprise Architect的场景构建器来为每个场景指定具体步骤,该工具可大大减轻编写用例文档的工作负担。此外,活动图等行为图以及用例文档也可由该工具自动生成。
领域领域模型 - 确定上下文
该内部结构图展示了用户自定义的图类型用法,用于描述系统在特定环境中的情况。«system» 和 «external»这两个构造型的概念是用户自定义的,未在SysML中规定,但有助于系统工程师描述目标系统与其环境之间的关系。
Enterprise Architect还允许用更具吸引力和意义的图像来替代SysML中的传统符号,从而帮助非技术人员更好地理解并接受该图。
这种元素外观的更改可应用于全局(默认)或特定图级别,从而为不同受众创建不同的显示效果。
用例图 - 顶级用例
用例图将HybridSUV描述为由多个外部角色所使用的系统。该图有助于明确所有与系统交互或从中获取价值的角色(包括人员及其他系统)的背景信息。尽管用例图看起来简单,但它提供了一种机制,确保所有可能的系统交互都被定义并理解。系统本身在图中以边界元素表示,作为用例的容器,而参与者则位于边界之外。在此图中,除驾驶员外,还有多个外部角色将与HybridSUV系统进行交互,包括注册车主、维护人员、保险公司以及车辆管理部门。
用例会显示在浏览器窗口中,并可方便地按参与者和用例进行分组。随后可以定义任意数量的用例图,以便系统工程师可视化这些用例。
Enterprise Architect 还提供了一系列实用且独特的工具,可帮助系统工程师高效地描述用例并定义场景,详细说明参与者与系统之间的交互步骤。一旦完成这些定义,该工具便可直接从模型自动生成行为图。
一旦步骤生成模型元素,便可添加可追溯性:
用例图 - 操作用例
下图中描述了与“操作车辆”相关的目标级用例。这些用例有助于具体说明与驾驶和停车相关的各类目标。该图以车辆驾驶员为核心参与者。而诸如车辆维护、注册和保险等更高层级的用例,则定义在独立的一组上下文用例中。
除了上一节中描述的用于阐述场景及其详细步骤的广泛功能外,该工具还提供了许多其他功能,以协助系统工程师在处理用例时进行工作。其中最有用的功能之一是可追溯性窗口,它能够清晰地展示某个特定用例所关联的内容,以及这些关联元素彼此之间的关系。当在浏览器窗口或图中选择不同的用例(或其他任何元素)时,该窗口会自动刷新,以显示所选元素的连接信息。