建立软件工程之动态模型(状态图)步骤

来源:互联网 发布:淘宝好评卡片 编辑:程序博客网 时间:2024/06/05 18:05

 

关键词:状态图,软件工程,动态模型

    动态模型着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。动态模型包括事件跟踪图和状态图。事件跟踪图则侧重于说明系统执行过程中的一个特点“场景”(scenarios),也叫做脚本。脚本通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件。状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。状态图通过描绘系统的状态和引起系统状态转换的事件来表示系统的行为,是行为建模或动态建模的主要工具。

    事件:在某个特定时刻发生的事情,它是对引起系统做动作或从一个状态转换到另一个状态的外界事件的抽象。简言之、事件就是引起系统做动作或状态转换的控制信息。对象到对象的单个消息叫做一个事件。

    脚本或场景(scenarios):系统在一个特定的环境下发生的一系列事件。在一个场景中,这一系列事件和交换事件的对象都可以放在一个事件跟踪图中表示。

建立动态模型的主要步骤:

(1)准备典型的交互序列场景即脚本;
    编写脚本的过程简要概括如下:
    第一步 编写正常情况下的脚本(基本事件流)
    第二步 编写特殊情况下及出错情况下的脚本(被选事件流)

(2)确定对象之间的事件,为每个场景建立事件跟踪图;
    注 意:事件发生的先后顺序和事件的发送对象和接收对象
    第一步 确定事件,从脚本中抽取事件,事件包括系统与用户交互的所有信号、输入、输出、中断和动作等。
    第二步 画事件跟踪图,竖线代表一类对象,箭头线代表发生的事件。
   
(3)为具有重要动态行为的类建立状态图;

   状态图表示
    初态:用实心圆表示,只有一个初态
    末态:用同心圆表示,有零或多个末态
    中间态:用圆角矩形表示
    触发事件:用箭头符号表示,其中箭头表示状态转换方向,箭头上文字表示触发的事件,箭头未标文字表示当源状态的内部活动执行完后自动触发转换到目标状态。

    三种标准事件:
    do/事件:指定在该状态下执行的动作
    entry/事件:指定进入该状态的动作
    exit/事件:指定退出该状态的动作

    根据事件跟踪图画状态图的注意事项:
    a:先考虑有重要交互行为的类、对象
    b:考查事件时先考查正常情况下的基本事件,然后考虑被选事件
    c:排除系统外部因素或对象
    d:射入箭头:研究某个对象的状态时,事件跟踪图中射入到该对象(用竖线表示的对象)的箭头事件属于外部事件,在状态图中箭头旁边明确标注该事件。
    e:射出箭头:事件跟踪图中从该对象(用竖线表示的对象)射出的箭头线代表该对象达到下一个状态时所做的行为动作,或引起另一类对象状态转换的事件,在状态图中常常需画出该事件对应的下一个状态。

(4)检验不同状态图中共享的事件的一致性和完整性。

参考来源:
《软件工程》清华大学 张海潘
http://bbs.zbitedu.com/thread-27808-1-32.html

 

第七周作业——用面向对象方法分析研究书中习题2第3题中描述的机票预订系统,试建立它的对象模型、动态模型和功能模型

 

 

原创粉丝点击