5.对象交互——交互图
交互图显示一组对象及它们之间传送的消息,包括时序图和协作图,它们是UML中用于对系统的动态方面进行建模的。时序图是强调消息时间顺序的交互图。协作图示强调接受和发送消息对象的结构组织的交互图。时序图和协作图在语义上是等价的,也就是说它们可以互相转换。
例:客户李明取20元钱的顺序图
首先,考虑系统外部和系统打交道的对象(对象指的是某一种抽象的坚实存在,它是封装了状态和行为的,具有明确边界和身份的实体)。
对象:读卡机、ATM屏幕、李明的账户、取款机
将这几个对象描绘在交互图上,十分自然地,也是“面向对象”地考虑在系统中应该如何设置担负不同职责的软件“角色”,它们共同完成这一任务,这如同当人们需要互相协同来完成某一工作时,需要进行分工一样。
在前面取钱的用例中,用户和系统的交互,可以分为4个连续执行的动作:
①客户将卡插入ATM机;
②客户输入密码;
③用户选择取钱选项;
④用户输入所取金额。
这4个动作构成了系统参与者和系统的联系,每一动作都相当于向系统发出了一个命令,系统必须在内部执行相应的操作,以正确响应这命令。这命令在UML里被称为消息(Message,消息在对象间传递,用于启动目标对象内部的某些操作)。这些消息由不同的对象接受,并做出反应,对象之间也进行消息传递。
在UML里,连接(Link)被定义为对象之间的语义联系。连接是类之间的关联关系实例。在时序图中,两个对象之间有消息传递,意味着它们之间在语义上存在着联系,所以它们的对象之间存在着连接关系,反之,只要对象之间存在着连接关系,就可以在它们之间发送消息。由于仅从图符的绘制上无法在协作图上读出消息发送的顺序,所以通常在消息上一定要标明消息顺序号,而时序图则可以省略。交互图画好后,就可以为下一步设计类图做好准备。
思考题
1.请简述什么是软件需求分析。
2.软件需求分析分哪几种,并简述它们的特点。
3.什么是结构化分析方法,请简述它的一般过程。
4.请简述什么是面向对象的方法。
参考文献
[1]GradyBooch.UML用户指南.北京:机械工业出版社,2002.
[2]JamesRumbaugh.UML参考手册.北京:机械工业出版社,2005.
[3]WendyBoggs.UML与RationalRose2002入门到精通.北京:电子工业出版社,2005.