面向对象建模技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本章完
ObjectB
13
6.4
迭代
:Loan
1:
ew n n] . . [1
L
d oa
()
2:[1..n]AddLoad()
:BorrowDialog
3: [
:Borrower
1. .n ]s et
Lo
ad ()
:Book
6.5
顺序图与通信图
顺序图和通信图在语义上是等价的,所以顺序 图和通信图可以彼此转换而不会损失信息; 顺序图着重于对象间消息传递的时间顺序,通 信图着重于表达对象之间的静态连接关系。因 此对系统建模通信图最好的方法是将顺序图转 换成通信图。 步骤: (1)将所有对象和参与者添加到通信图中 (2)添加对象与参与者之间的通信链接 (3)添加交互期间参与者与对象之间传递的 消息
:BorrowDialog :Loan
<<local>> <<parameter>>
:Borrower
<<parameter>>
:Book
6
6.1.4
消息
消息是通信图中对象与对象通信的方式。通信图上 的消息使用从消息发送者连接到消息接收者的箭头 表示。 消息的类型:同步消息、异步消息、简单消息
6:findBook()
[直到超过规定或输入 新的借书证号]
7:newLoan()
8:addLoan()
9:setLoan()
6.5
顺序图与通信图
如何选择: 如果主要针对特定交互期间的消息流,可以使 用顺序图 如果集中处理交互所涉及的不同参与者与对象 之间的链接,可以使用通信图。
练习 为还书用例建模通信图P277
15
6.5
顺序图与通信图
:BorrowDialog :Borrower :Book :Loan
:MainWindow
Librarian
1:borrowBook()
2:createDialog() 4:findBorrower()
3:InputBorrowerID()
ຫໍສະໝຸດ Baidu
5:inputBookID()
loop
2: PrintFile
:Computer
:PrinterServer
3: PrintCommand
1: Print
8
6.2
对消息使用序列号和控制点
多消息同时调用
:User
1:OpenProject
:Development
2.a:OpenCodeFile 2.b:OpenResourceFile
Sqr(Number)
:Calculator :Math
对象1
Message
对象2
7
6.2
对消息使用序列号和控制点
在每个消息之前使用数字表示通信图上的次序。 每个消息数字表明调用消息的次序。例如图中的 1.Print先被调用,接着调用消息2.PrintFile,依 此类推。
:User :Printer
面向对象建模技术
软件工程系
林 琳
第6 章
通信图
Collaboration协作图 顺序图主要描述特定用例系统各组成部分之 间交互的次序,通信图则从另一个角度描述 系统对象之间的链接。 通信图中可以很容易分辨出要发生交互时需 要连接哪些系统对象。 在顺序图中,消息在系统对象之间传递暗示 了系统对象之间存在链接。通信图则提供了 一种直觉的方法来显示系统对象之间组成交 互的事件所需的链接。
:FileSystem
控制点
:PrinterServer
[打印机空闲]PrintCommand
:Printer
反身消息
CheckPassword
:System
在通信图中表示选择
:Computer 1: PrintFile
:PrinterServer
[打印机空闲] 2:PrintCommand
:Printer
[打印机忙] 2:InsertWaitQueue
:WaitQueue
6.3
在通信图中创建对象
对 象 实 例 用 new 固 化 类 型 , 消 息 使 用 create 固化类型,以明确指示该对象是在 运行过程中创建的。
<<create>> 1: DisplayMessage(Message) :BorrowDialog :MessageBox<<new>>
12
6.4
迭代
迭代可以在通信图中方便地建模,用来指示重复的 处理过程。 通信图中的迭代有两种标记符:多对象迭代、多消 息迭代 多对象迭代用于单个对象发送消息到一组其他对象 时,接收消息对象组表示对象的集合。
对象1
*Message
对象2
多消息迭代
ObjectA
[1..n]Message
4
6.1.1
对象
通信图中可以使用3种类型的对象实例:
ObjectA ObjectB:ClassB :ClassC 未指定对象所属类名 完全限定对象名 未指定对象名
5
6.1.3
通信链接
链接用来在通信图中关联对象,链接的目的是让 消息在不同系统对象之间传递。 链接可以使用parameter或者local固化类型。 parameter固化类型指示一个对象是另一个对象的 参数,而local固化类型指定一个对象像变量一样 在其他对象中具有局部作用域。
2
本章学习要点:
理解为什么要建模顺序图 理解通信图的作用 了解顺序图中的组成 了解顺序图中的消息类型 能够在顺序图建模创建对象和迭代 理解消息的控制,并能够使用条件控制消息 理解消息中的参数 建造简单的顺序图
3
6.1
通信图的构成
顺序图强调的是交互的时间顺序,而通信图 强调的是交互的情况和参与交互的对象的整 体组织。 顺序图按照时间顺序布图,而通信图按照空 间组织布图。 基本元素 对象 通信链接 消息
相关文档
最新文档