独上高楼网站
  •    你所在位置:首页 VS.netUML基础知识〉用状态图进行设计
  • 用状态图进行设计
  • 作者:佚名  文章来源:http://squall.cs.ntou.edu.tw/  发布日期:2008-02-28  浏览次数:450
  • 打印这篇文章
  •  

     所有软件实质上都可以认为是一种特殊的状态机。状态机是一个公共术语,用来描述一个系统在某种条件下会做什么以及按什么顺序去做。就像一个程序员写的声明,必须按某种顺序执行,每条声明说明计算机状态的改变。
      
      用可视化对象、状态图来描述系统行为的思想在设计方法中非常流行。状态图可用于系统和子系统行为建模,应用范围从简单商务应用到最复杂的通讯协议。
      
      有两类系统行为:转换和交互,学习状态图的重要一点就是要理解这两种系统行为的区别。
      
      转换(子)系统
      
      转换(子)系统在调用时所有输入信息都已经准备好了,在某个计算过程后,会产生输出信息。如图1所示:
      

     


      

    图1 一个简单的转换系统


      
      转换系统的例子有:数据获取系统,音频压缩系统(软件和硬件),或者甚至是一个简单计算输入数值的平方根的过程。自顶向下分解是转换系统通常使用的设计方法论,因为它能够将复杂的输入输出关系分解为简单的、更易管理的关系。同样,传统的编程和系统级规格说明语言经过转换、修改,以适合自顶向下的功能设计方法。
      
      交互系统
      
      易于理解的一个交互系统例子是交通灯控制器。它的所有输入不可能同时存在,输入是没有终结的无穷序列。
      
      不可能编写一个转换系统来实现这样一个控制器。事实上,大多数控制器被定义为交互式的,而不是转换式的,其应用领域包括过程控制、军事、航空、汽车工业、DSP、ASIC设计、医药电子和类似的嵌入式系统。
      


      

    图2 一个简单的交互式系统


      
      其实每个系统都有交互式组件,因为一个系统几乎不可能脱离它的环境单独存在。反之,系统存在的原因就是为了与一些实体或环境中的实体合作或交互。这种合作通过发送、接受、识别、拒绝信号序列——这一系列交互行为来完成
      
      扩展状态图和Petri Nets与交互式系统有关(这是BetterState 的优势)。在本教程中我们称交互子系统为控制器。请不要将它与经典的控制理论相混淆。......

  • 打印这篇文章
  • 与本文主题相关的文章
  • 返回首页