Neeas 2019-11-23 17:57 采纳率: 0%
浏览 447

UML的状态图自身转移画法

这是一个UML的状态图画法

图片说明
请问谁知道具体怎么画的吗,求具体步骤,因为我是一直只能画到上面的箭头,下面的转移箭头怎么也画

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-29 09:19
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    状态图是一种描述系统状态及其变化过程的图形工具。在状态图中,每个状态都有一个名称和一组动作(或事件)来触发状态的变化。这些动作可以是输入操作、输出操作或其他类型的活动。

    对于您提到的图1和图2,我将分别提供如何绘制这两种情况下的状态图的具体步骤:

    图1:存款

    步骤一:定义状态

    • 状态:存款(Depositing)
    • 动作:余额增加(Bal+=am)

    步骤二:绘制状态图

    1. 在状态图上创建一个新的状态节点。
    2. 给新状态添加一个名字(例如,“Depositing”)和一个符号。
    3. 将“Deposit(amt)”连接到新状态。
    4. 在“Depositing”状态下方添加一个分支,用于处理存款操作。

    步骤三:绘制动作

    • InCredit(开户)是一个与存款相关的动作,它将账户从零设置为当前金额。
    • 将“With InCredit”连接到“Depositing”。

    步骤四:绘制其他动作

    • 可以考虑以下动作:
      • 抽象动作(抽象动作通常不直接出现在状态图中,但它们对状态图有影响):比如取款(Withdrawn)、转账(Transferred)等。
      • 其他可能的动作取决于系统的特定需求,例如利息计算、交易确认等。

    图2:存款后取款

    步骤一:定义状态

    • 状态:存款(Depositing),余额增加(Bal+=am)
    • 动作:余额减少(Bal-=am),账户更新(Updated)

    步骤二:绘制状态图

    1. 创建一个新的状态节点,并给它一个名字(例如,“Depositing”,“Updated”)以及相应的符号。
    2. 将“Deposit(amt)”连接到新的状态节点。
    3. 在新的状态节点下创建另一个分支,表示存款后的操作,包括余额减少和账户更新。

    步骤三:绘制动作

    • With InCredit(开户)作为存款的操作之一。
    • 对于取款操作,你可以使用类似的方法,将“Draw(amt)”连接到存款的节点,并将其行为设置为“Bal-=am”。然后,在存款的节点下方添加一个分支,表示取款后的操作,如“Account Updated”。

    总结

    为了正确地绘制状态图,你需要了解状态图的基本结构和组成部分,以及如何根据不同的场景和需求进行调整。如果您有任何疑问或需要进一步的帮助,请随时提问。

    评论

报告相同问题?