在C#中,除了使用前面介绍的类图和对象图外,还可以使用序列图和状态图来表示项目内程序类的结构和各元素间的对应关系。下面将简要介绍序列图和状态图的基本知识。
1.序列图
序列图用来显示用例(或用例的一部分)的详细流程。序列图几乎是自描述的,并且显示了流程中不同对象之间的交互关系,同时还可以很详细地显示对不同对象的各种调用。序列图有如下两个维度。
1)垂直维度以发生的时间顺序显示消息/调用的序列。
2)水平维度显示对象实例之间的交互。
对象之间的交互包括如下五种关系:
1)调用(call),一个对象调用另一个对象(或本身)的方法。
2)返回(return),返回一个值作为方法调用的结果。
3)发送(send),一个对象给另一个对象(或本身)异步发送一个消息。
4)创建(create),一个对象实例化另一个对象。
5)销毁(destroy),一个对象销毁另一个对象(或本身)。(www.xing528.com)
绘制序列图的方法非常简单,图顶部的框表示类的实例对象,在框中,类实例名称和类名称之间用空格/冒号/空格来分隔。如果某个类实例向另一个类实例发送了处理消息,则绘制一条具有指向接收类实例的开箭头的连线,并把处理的名称放在连线上面。对于某些特别重要的消息,可以绘制一条具有指向发起类实例的开箭头的虚线,将返回值标注在虚线上,包括返回值的虚线,这有助于序列图的阅读。
2.状态图
状态图能够表示某个类所处的不同状态和该类的状态转换信息。虽然每个类都有状态,但每个类不一定都有一个状态图。只有当行为的改变和状态有关时才创建状态图。一般只描述在系统活动期间具有三个或更多潜在状态的类的状态图。状态图的符号集包括如下五个基本元素。
1)初始起点:使用实心圆来绘制。
2)状态转换:使用带箭头的线段来绘制。
3)当前状态:使用圆角矩形来绘制。
4)判断点:使用空心圆来绘制。
5)一个或者多个终止点:使用内部包含实心圆的圆来绘制。
在进行状态图绘制时,首先需要绘制起点和一条指向该类的初始状态的转换线段。状态本身可以在图上的任意位置绘制,然后只需使用状态转换线条将它们连接起来。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。