uml.org.cn UML和Rose教程.doc 角色 通讯关联 用例名 2.2.3用例之间的关系 用例之间有扩展、使用、组合三种关系:扩展和使用是通用化关系的另一种体现。组合则把相 关的关系打成包当作一个整体看待。 ·扩展关系是一个用例中加入一些新的动作后则构成了另一个用例。 护展 签定汽车购买合同 釜定保险单 。当一个用例使用另一个用例时,这两个用例间就构成使用关系。 签定汽车保脸合同签定摩托车保险合同 使用 使用 签定保险单 第
UML 和 Rose 教程.doc 第页11 2.2.3 用例之间的关系 用例之间有扩展、使用、组合三种关系:扩展和使用是通用化关系的另一种体现。组合则把相 关的关系打成包当作一个整体看待。 扩展关系是一个用例中加入一些新的动作后则构成了另一个用例。 当一个用例使用另一个用例时,这两个用例间就构成使用关系
-头 uml.org.cn UML和Rose教程.doc 2.3举例建立用例图的方法和文档的详细注释 2.3.1描述用例 描述要点:描述用例时,应着重描述系统从外界看来会有什么样的行为,而不管该行为在系统 内部是如何具体实现的,即只管外部能力,不管内部细节。 用例描述应包括下面几点: 1)用例的目标:最终任务、结果等 2)用例是怎样被启动的:何角色在何情况下启动。 3)角色和用例之间的消息流:通知、修改、决定等 4)用例的多种执行方案: 5)用例怎样才算完成并把值传给了角色。 客户 卖饮料 哭 供货人 供货 吴 收银员 取货款 自动售货系统 第2
UML 和 Rose 教程.doc 第页12 2.3 举例建立用例图的方法和文档的详细注释 2.3.1 描述用例 描述要点:描述用例时,应着重描述系统从外界看来会有什么样的行为,而不管该行为在系统 内部是如何具体实现的,即只管外部能力,不管内部细节。 用例描述应包括下面几点: 1) 用例的目标:最终任务、结果等 2) 用例是怎样被启动的:何角色在何情况下启动。 3) 角色和用例之间的消息流:通知、修改、决定等 4) 用例的多种执行方案: 5) 用例怎样才算完成并把值传给了角色
-头水 UML和Rose教程.doc 向机器中投 钱而 检查币的 量 显示可买的 饮料种类 选轻想买的 无法送出饮料 送出饮料 得院材 NewState2 顾客向白动售货机购货的过程 2.3.2测试用例 有效性检查在系统开发之前。当用例模型构造完成后,开发者将模型交由用户讨论,由用户检 查模型能否满足客户对系统的需求。发现问题产生修改,最终,用户和开发者之间对系统功能达成 共识。反之,整个工程从头重来。 正确性测试保证系统的工作符合规格说明。 用具体的用例测试系统的行为,又称“漫游用例”。即指定一人扮演角色,另一人扮演系统。 两者消息传递的推演发现不足。(recommend) 用用例描述本身测试,或称定义测试。 2.3.3实现用例 用例用来描述系统应能实现的独立功能,实现用例就是在系统内部实现用例中所描述的动作, 通过把用例描述的动作转化为对象之间的相互协作,完成用例的实现。 L中实现用例的基本思想是用协作表示用例,而协作又被细化为若干个图。协作的实现用脚 本描述。 1)用例实现为协作 协作是是实现用例内部依赖关系的解决方案。通过使用类、对象、类(或对象)之间 的关系(协作中的关系称为上下文)和它们之间的交互实现需要的功能(协作实现的功能 又称交互)。 2)协作用若干个图表示 表示协作的图有协作图、序列图和活动图。这些图用于表示协作中的类(或对象)与 类(或对象)之间的关系交互。在有些场合,一张协作图就完全能够反映出实际用例的协 第3
UML 和 Rose 教程.doc 第页13 2.3.2 测试用例 有效性检查在系统开发之前。当用例模型构造完成后,开发者将模型交由用户讨论,由用户检 查模型能否满足客户对系统的需求。发现问题产生修改,最终,用户和开发者之间对系统功能达成 共识。反之,整个工程从头重来。 正确性测试保证系统的工作符合规格说明。 用具体的用例测试系统的行为,又称“漫游用例”。即指定一人扮演角色,另一人扮演系统。 两者消息传递的推演发现不足。(recommend) 用用例描述本身测试,或称定义测试。 2.3.3 实现用例 用例用来描述系统应能实现的独立功能,实现用例就是在系统内部实现用例中所描述的动作, 通过把用例描述的动作转化为对象之间的相互协作,完成用例的实现。 UML 中实现用例的基本思想是用协作表示用例,而协作又被细化为若干个图。协作的实现用脚 本描述。 1) 用例实现为协作 协作是是实现用例内部依赖关系的解决方案。通过使用类、对象、类(或对象)之间 的关系(协作中的关系称为上下文)和它们之间的交互实现需要的功能(协作实现的功能 又称交互)。 2) 协作用若干个图表示 表示协作的图有协作图、序列图和活动图。这些图用于表示协作中的类(或对象)与 类(或对象)之间的关系交互。在有些场合,一张协作图就完全能够反映出实际用例的协
uml.org.cn UML和Rose教程.doc 作画面,而在另一些场合,只有把三种不同的图结合起来,才能反映协作状态。 3)协作的实例一一脚本 脚本是用例的一次具体执行过程,它代表了用例的一种使用方法。当把脚本看作用例的 实例时,对角色而言,只需描述脚本的外部行为,也就是能够完成什么样的功能,而忽略完 成该脚本的具体细节,从而到达帮助用户理解用例含义的目的:当把脚本看作协作的实例时, 则要描述脚本的具体实现细节(利用类、操作和它们之间的通讯)。 实现用例的主要任务是把用例描述中的各个步骤和动作变换为协作中的类、类的操作和 类之间的关系。具体说来,就是把用例中每个步骤完成的工作交给协作中的类来完成。实质上, 每个步骤转换成类的操作,一个类中可以有多个操作。注意,一个类可以实现多个用例,也就 是,一个类可以集成多种角色。 用例和它的实现(即协作)之间的关系可以用精化关系表示(下图为带箭头的点画线), 也可以用用例工具中的不可见的超链实现。使用用例工具中的超链,能方便地将用例视图转换 为协作或脚本。 若想成功地利用类表示用例描述,需要借助开发者的经验。通常,开发者必须反反复复 地多次试验各种不同的可能情况,逐步完善解决方案,使该方案能够实现用例描述且灵活易扩 展。如果将来用例描述改变了,只要将其对应的实现作简单地修改即可。 <<实现>> 协作 用例 <<实现>> <<实现>> <<实现>> 类A 类B 类C 用例描述: 1角色按下按钮 opname() opname() opname() 2.用例执行动作 opname2( opname2() 3用例向角色发消息 opname20) opname3( opname3() opname3( 4 +opname40 opname40 opname4( 协作实现的类图示 另外,ML的创始人Jacobson定义了三种类型的版类对象类(stereotype object type),利 用这三个对象类描述用例的实现。每对象类能胜任的职责是: 边界对象(Boundary objects):这种对象类紧靠系统的边界(虽然仍在系统内部),它负责与 第4
UML 和 Rose 教程.doc 第页14 作画面,而在另一些场合,只有把三种不同的图结合起来,才能反映协作状态。 3) 协作的实例――脚本 脚本是用例的一次具体执行过程,它代表了用例的一种使用方法。当把脚本看作用例的 实例时,对角色而言,只需描述脚本的外部行为,也就是能够完成什么样的功能,而忽略完 成该脚本的具体细节,从而到达帮助用户理解用例含义的目的:当把脚本看作协作的实例时, 则要描述脚本的具体实现细节(利用类、操作和它们之间的通讯)。 实现用例的主要任务是把用例描述中的各个步骤和动作变换为协作中的类、类的操作和 类之间的关系。具体说来,就是把用例中每个步骤完成的工作交给协作中的类来完成。实质上, 每个步骤转换成类的操作,一个类中可以有多个操作。注意,一个类可以实现多个用例,也就 是,一个类可以集成多种角色。 用例和它的实现(即协作)之间的关系可以用精化关系表示(下图为带箭头的点画线), 也可以用用例工具中的不可见的超链实现。使用用例工具中的超链,能方便地将用例视图转换 为协作或脚本。 若想成功地利用类表示用例描述,需要借助开发者的经验。通常,开发者必须反反复复 地多次试验各种不同的可能情况,逐步完善解决方案,使该方案能够实现用例描述且灵活易扩 展。如果将来用例描述改变了,只要将其对应的实现作简单地修改即可。 另外,UML 的创始人 Jacobson 定义了三种类型的版类对象类(stereotype object type),利 用这三个对象类描述用例的实现。每对象类能胜任的职责是: 边界对象(Boundary objects):这种对象类紧靠系统的边界(虽然仍在系统内部),它负责与