AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > 软件工程

统一建模语言UML轻松入门之动态建模

51自学网 http://www.51zixue.net

 

  4.3状态图

  状态图是UML中的状态机视图。状态机由对象的各个状态和连接这些状态的转换组成。每个状态对一个对象在其生命期中满足某种条件的一个时间段建模,当一个事件发生时,它会触发状态间的转换,导致对象从一种状态转化到另一新的状态。与转换相关的活动执行时,转换也同时发生。

  状态图用于描述对象可以拥有的状态以及引起状态相互转移的事件和条件,它揭示了对象的生命周期,是针对类的一种建模工具。状态是对象前一次操作的结果,事件是引起状态向另一状态转化的活动。所有对象都有状态,但通常只对具有复杂行为的类建立状态图。状态图强调的是事件驱动的对象的动作,这在对反应式系统的建模是相当重要的。

  两个类的状态图之间可以相互发送消息,一个状态还可以有嵌套的子状态,各子状态之间的关系可以为与/或关系。

  在如图4.3所示的车载GPS终端系统中,车载GPS终端一方面与GPS卫星通信,另一方面将从GPS卫星获得的位置信息(经度、维度等)通过GSM短消息与车辆监控调度中心进行交互。


图4.3 车载GPS终端系统

  在这样的系统中,鉴于通信过程中GPS终端可能处于不同的状态,我们可用状态图来对其进行描述,这样很直观和明确。图4.4给出了GPS终端的状态(待命、有问题、通话中、短消息通讯中)及其状态之间的变迁关系。


图4.4 GPS终端的状态图

  4.4 活动图

  活动图用于描述系统、用例、程序模块中的逻辑流程的先后执行次序、并行次序,是对人类组织的现实世界中的工作流程的建模,有助于理解系统高层活动的执行行为。

  活动图中的主要概念是"活动",而"活动"的具体含义又取决于作图目的和抽象层次:

  (1)当活动图用于描述系统行为时,主要侧重于系统多个用例活动之间相互制约的执行顺序,同时,识别出系统中存在的可以并行进行的用例,此时,活动表示系统要完成的任务;

  (2)当活动图用于描述用例时,用于描述用例中的操作执行次序和操作完成的结果,显示多个对象的操作是如何相互结合起来共同完成用例的一个脚本,揭示出操作之间的并行性,为编码实现提供开发并行程序的便利,此时,活动表示类中的方法,即操作。允许将某个组织或执行者要完成的若干操作聚集在泳道中,以明确责任。

  活动图用于低层次程序模块的作用类似于流程图,但活动图还可以描述并行操作,而流程图则只能描述串行操作。例如,图4.5给出了生产管理系统中的定单处理用例的活动图,它明显地带有流程图的特色,但是,它还表示了处理过程中的并行过程。图4.5中的付款认可活动属于财务管理用部门的职责,其它活动属于销售部门的职责,这两个部门在并行运作。

点击放大此图片
图4.5 定单处理的活动图

  图4.6则给出了药品管理系统中药品采购入库过程的活动图。


图4.6 药品入库的活动图

 

 
 

上一篇:软件开发质量管理层次模型  下一篇:统一建模语言UML轻松入门之综合实例