系统建模,需要从系统的结构和行为两个方面来描述。其中系统的行为是通过状态图、活动图、序列图和协作图来描述的。首先先介绍状态图和活动图。
一、活动图
学习过流程图,活动图的流程图很相似。流程图常是被用来建立算法模型,可以表示一个算法的执行序列、过程、判定点、分支和循环。它们的不同点在于活动图支持并发操作和并行活动。但是活动图很难清楚的描述动作与对象之间的关系,没有交互图直接。活动图可以描述一个操作在执行过程中所完成的工作或动作,描述对象内部是如何工作的,以及一组相关的动作是如何执行的、如何影响周围对象的。活动图的特点就是可以多线程应用。
直接通过例子来介绍活动图的基本要素,活动图最重要的是泳道技术.所谓泳道技术,是将活动用线分成一些纵向区域,这些纵向区域称为泳道。每个区域代表一个特定类,或者人,或者部门的责任区。泳道技术是活动图中引入的一种面向对象机制。可以提取类及分析各个对象之间的交互提供方便。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9UFRNFTQU1UNrRVTrJ1RlZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DOygjMyQDN5EzNyEDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
机房收费系统中的例子
二、状态图
状态图描述了一个具体对象的可能状态以及它们之间的转换。活动图强调的是一个行为的动作,而状态图强调的是一个行为的结果。
下面这幅图画的似乎很牵强,还没有想清楚机房收费系统中具体有哪些状态。(希望大家共同交流)