📜  面向对象分析和设计中的动态建模

📅  最后修改于: 2022-05-13 01:57:00.216000             🧑  作者: Mango

面向对象分析和设计中的动态建模

动态建模描述了系统中与时间和操作顺序有关的那些方面。它用于指定和实现系统的控制方面。动态模型在状态图的帮助下以图形方式表示。它也被称为状态建模。状态模型由多个状态图组成,每个类都具有对应用程序很重要的时间行为。状态图与事件和状态有关。事件代表外部功能活动,状态代表值对象。

事件:
事件是在特定时间的特定点发生的事情,例如人按下按钮或火车 15930 从阿姆利则出发。事件将信息从一个对象传递到另一个对象。

事件分为三种类型:信号事件、变化事件和时间事件。
这些解释如下。

  1. 信号事件:
    信号事件是时间上的特定事件。信号是从一个对象到另一个对象的显式单向信息传输。信号事件是发送或接收信号的事件。当一个对象向另一个对象发送信号时,它等待确认,但确认信号是该对象下的单独信号控制第二个对象,它可能会或可能不会选择发送它。UML 符号是 (<>) 写在框顶部的名称内,并在另一部分列出所有信号属性。例如:

  2. 更改事件:
    它是由一个布尔表达式的满足引起的。change 事件的目的是当表达式从 false 变为 true 时,不断地测试表达式。change 事件的 UML 表示法是关键字,当后面跟着一个带括号的布尔表达式.
    例如:
    when(battery power < lower limit)
    when(room temperature < heating/cooling point ) 
  3. 时间事件:
    它是由绝对时间的出现或时间间隔的流逝引起的。绝对时间的 UML 表示法是关键字,后跟一个涉及时间的带括号的表达式,时间间隔是关键字,后跟一个计算持续时间的带括号的表达式。
    例如:
    when(Date = mar 2, 2005)
    after(50 seconds) 

状态 :
状态是对象的属性值和链接的抽象。值和链接根据它们的整个行为组合在一起形成一个状态。对象对输入事件的响应称为状态。状态对应于对象接收到的两个事件之间的间隔。事件的状态取决于过去的事件。所以基本上,状态代表时间间隔。状态的 UML 符号是一个圆形框,包含一个可选的状态名称列表,以粗体列出名称,将名称置于框顶部附近,首字母大写。例如:

以下是关于状态需要记住的要点。

  1. 忽略不影响对象行为的属性。
  2. 类中的对象具有有限数量的可能状态。
  3. 每个对象一次可以处于一种状态。
  4. 在一个状态中,所有事件都被忽略,除了那些明确规定了行为的事件。
  5. 事件和状态都取决于抽象级别。