预订演示

请注意 : 本帮助页面不适用于最新版本的Enterprise Architect. 最新的帮助文档在这里.

前页 后页

行为模型

行为模型包含系统的“动词”,并从几个不同的角度定义系统的行为方式。

行为图传达了系统的行为,并展示了系统的各个部分如何协同工作以满足行为需求。行为模型有一系列用途。工程师必须了解他们正在建模的系统行为的哪一部分,然后选择适当的工具特征和语言结构来模型这种行为。系统工程师使用 SysML 图来模型这些行为特征:

  • 用例图——用于缩小系统范围并将用户的目标表达为价值主张。
  • 活动图 - 用于定义承载系统工作的有序动作集。
  • 序列图 - 用于显示系统组件或部件如何交互以产生结果。
  • 状态机图 - 用于定义系统或其部件在其生命周期内的离散状态。
Enterprise Architect拥有一系列生产力工具,系统工程师可以在使用行为模型时使用这些工具,包括场景生成器、状态机表、仿真引擎等等。

使用案例和用户目标

用例模型描述了用户(人和系统)从与系统交互中获得的价值或目标。简要描述总结了每个场景A这个值,包括最重要的基本(晴天)场景。

用例技术从根本上讲是直截了当的,旨在确保从用户的角度编写功能需求。这种观点有助于确保部署的系统适合用途并被不同的用户社区所接受。然而,有大量相互矛盾的文献和同样大量的用于定义使用案例的样式。这种情况导致了混乱和不确定性,并倾向于削弱可以从这种简单技术中获得的价值。

Enterprise Architect提供了一个解决方案,包括一个专门构建的场景编辑器,工程师使用它来创建使用案例的详细描述,包括列出用户和系统执行的步骤的备用路径和异常路径。

该工具提供了一种有用的方法,可以直接从场景及其步骤生成行为图,例如活动、序列和状态机图。这些可以在对步骤序列或对备用和异常场景的分支和合并点进行更改时同步。

Scenario Builder menu in Sparx Systems Enterprise Architect.

活动和行为流

活动图是系统工程师用来显示描述块或其他结构序列的动作元素的表达图。行动使用控制流进行排序,并且可以包含输入和输出销,它们充当从一个行动流向另一个行动(或从控件或缓冲区节点)流动的项目的缓冲区。行动所进行的工作要么消耗要么生产这些物品。这些项目可以是材料、能量或信息,具体取决于系统和所描述的活动。

行动是连接以描述活动、子系统、系统或其部分之一的行为的行为原子。实际上,活动由一组动作组成,这些动作共同将输入到活动中的项目(令牌)转换为活动输出的项目(令牌)。序列中的第一个行动将接收来自拥有活动的一个输入参数节点的输入。行动中的最后一个序列会将输出放置到活动的输出参数节点之一上。行动本身具有称为销的输入和输出设备——行动将在其输入销上接收代币,执行其工作并将生成的代币放置在其输出销上。

序列和物件交互

A系统由它的各个部分组成,协同工作以执行行为模型中指定的行为。结构元素的实例通过交换消息进行交互。可以使用提供在参与实例之间交换的按时间排序的一组消息的序列图来指定和可视化这些交互。

在序列图中,参与交互的块的生命周期由虚线表示,从元素的底部开始,并在元素的生命周期中垂直延续。元素可以在任何时候被创建或销毁。由序列图表示的周期,因此生命线表示它们的存在。出现在图表顶部的元素是在交互开始时创建的。发送者和接收者之间A消息交换将起源于一条生命线(发送者)并结束于另一条生命线(接收者)。

国家和块生命

SysML状态机用于描述结构在一个时间盒的生命周期中如何以块为模型来改变其状态。这里工程师关心的不是块实例的结构,而是它的行为,这反过来又会影响它的结构。我们对“事物”可以展示的每一个状态都不感兴趣,而是对重要状态感兴趣。例如,水分子的临界状态可能是固体、液体或气体,但我们通常对 67 摄氏度的液态水不感兴趣。如果我们正在查看object生命周期的电影卷轴,状态机将挑选出发生重大和相关变化的重要帧。

Enterprise Architect还允许工程师在状态机的图表和表视图之间切换,为喜欢状态变化的表格表示的工程师和经理提供替代视图。您还可以将库表导出为 CSV 格式的电子表格以进行进一步分析。

系统工程师可以A状态机从模型生成可执行的软件代码,使用可执行状态机。生成的代码基于其语言属性。编程语言可能是Java 、C、C++、C# 或JavaScript ;无论使用哪种语言, Enterprise Architect都会立即生成适当的代码,以便构建和运行。

您不仅可以生成可执行软件代码,还可以从您的模型元素生成硬件描述语言和 Ada,用于系统硬件组件中的芯片和电路。

An example of Hardware Description Language (HDL) in Sparx Systems Enterprise Architect.