软件建模技术第6章用例图讲义

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

3、用例---Use Case
系统、子系统或类与外部的参与者(actor) 交互的动作序列的说明,包括各种序列及 出错序列。
用例分析可以认为是对系统功能的分解。
存款
Withraw Money
3、用例---Use Case
(1)用例的表示 简单名 路径名
3、用例---Use Case
2、参与者---Actor
(2)参与者间的关系
NewClass 超类参与者
NewClass
客户
特殊化参与者
NewClass2
特殊化参与者
NewClass3
电话客户
NewClass2
网上客户
NewClass3
2、参与者---Actor
(3)怎样识别参与者 谁向系统提供信息? 谁从系统获取信息? 谁操作系统? 谁维护系统? 系统使用哪些外部资源? 系统是否和已经存在的系统交互?
(2)怎样确定用例的粒度? 用例的粒度(用例的大小)可大可小, 一般一个系统易控制在20个用例左右。 用例是系统级的、抽象的描述,不是细 化的(是做什么,非怎样做) 对复杂的系统可以划分为若干个子系统 处理。
3、用例---Use Case
(3)怎样获取用例? 参与者希望系统执行什么任务? 参与者在系统中访问哪些信息(创建、 存储、修改、删除等)? 需要将外界的哪些信息提供给系统? 需要将系统的哪个事件告诉参与者? 如何维护系统?
2、参与者---Actor
参与者是系统外部的一个实体; 参与用例的执行过程;
通过向系统输入或请求系统输入某些事 件来触发系统的执行; 由参与用例时所担当的角色来表示;
每个参与者可以参与一个或多个用例。
2、参与者---Actor
(1)参与者的表示
2、参与者---Actor
强调: Actor不是指人,而是指参与用例时所担 当的角色。 如果一个角色的操作是由另一个角色代 理完成的,请建立该角色到另外角色之 间的依赖。
6.4 用例描述
(2)详细描述
基本事件流
① 图书管理员向系统发出“新增书籍信息”请求。 ② 系统要求图书管理员选择要新增的书籍是计算 机类还是非计算机类。 ③ 图书管理员做出选择后,显示相应界面,让图 书管理员输入信息,并自动根据书号规则生成书号。 ④ 图书管理员输入书籍的相关信息,包括:书名、 作者、出版社、ISBN号、开本。页数、定价。是否 有CD-ROM。 ⑤ 系统确认输入的信息中书名没有重名。 ⑥ 系统将所输入的信息存储建档。
6.2 用例图的组成
系统边界 参与者(活动者,Actor) 用例(Use Case) 关系(Relationship)

棋牌馆管理系统用例图
1、系统边界(主体)
系统边界是定义由谁或什么(即,参与者) 使用系统,系统能够为哪些参与者提供什 么特定利益(即,用例)。
系统边界在UML中绘制为方框,用系统的 名称作为标签,参与者绘制在边界外部, 用例绘制在边界内部。
第六章 用例图
6.1 用例图概述 6.2 用例图的组成 6.3 阅读用例图 6.4 用例描述 6.5 建立用例模型
6.1 用例图概述
用例图是获取需求的直接方法;
用例图是外部参与者所能观察到的系统功 能的模型图,它将系统、子系统和类的行 为可视化; 用例图还是软件测试人员进行测试的指导。
选择谁?
6.4 用例描述
1、对用例的描述有两种方法 (1)用例图:只能描述系统的大概功能, 是一种视图; (2)用例描述:更详细地描述用例的功能。
用例概述
Biblioteka Baidu用例详述
6.4 用例描述
2、用例描述的组成 用例名称 简要说明/描述 优先级 参与者 前置条件 基本事件流 其他事件流 扩展点 后置条件
4、关系--Relationship
四种基本关系: 关联(association) 包含(include) 扩展(extend) 泛化(generalization)
(1)关联
描述参与者与用例之间的关系; 用单向箭头,表示谁启动用例; 每个用例都有角色启动,除包含和扩展 用例;
事件流:就是用例执行时,由一序列活动组成的 控制流。 基本事件流:对用例中常规、预期路径的描述。 扩展事件流:主要是对一些异常情况、选择分支 进行描述。 前置条件:在用例启动时参与者(actor)与系统 应置于什么状态。 后置条件:用例结束时系统应置于什么状态。
6.4 用例描述
4、用例描述举例


(3)扩展
(4)泛化

一个用例和其几种情形的用例间构成泛化关系。 往往父用例表示为抽象用例。 任何父用例出现的地方子用例也可出现。
6.3 阅读用例图
思考 假设有这样的需求,在学生档案管理中, 管理员经常需要做3件事: (1)增加一条学生记录; (2)修改一条学生记录 (3)删除一条学生记录。 如果要画出用例图,则以下两种方法哪种 更合适?
(2)包含

是指两个用例之间的关系。其中一个用例(基 本用例,base use case)的行为包含了另一个用 例(包含用例,inclusion use case)的行为。
(2)包含

如果两个以上用例有大量一致的功能,则可以 将这个功能分解到另一个用例中,其他用例可 以和这个用例建立包含关系。
•图6-7 包含用例
(2)包含
执行基用例时,必须执行被包含用例,被包含 用例也可单独执行。
(2)包含

如果一个用例的功能太多时,可用包含关系建 模成两个或多个小用例。
(3)扩展

也是指两个用例之间的关系。 一个用例可以被定义为基础用例的增量扩展, 称作扩展关系。 扩展关系是把新的行为插入到已有用例中的 方法。 基础用例即使没有扩展用例也是完整的。一 般情况下基础用例的执行不会涉及扩展用例, 只有特定条件发生,扩展用例才被执行。
以用例UC01“新增书籍信息”为例,说明如何细化用 例描述。 (1)用例概要描述 ① 用例名称:新增书籍信息(UC01)。 ② 简要说明:录入新购书籍信息,并自动存储建档。 ③ 事件流:基本事件流和扩展事件流 ④ 非功能需求 ⑤ 前置条件:用户进入图书管理系统。 ⑥ 后置条件:完成新书信息的存储建档。 ⑦ 扩展点:无 ⑧ 优先级:最高(满意度 5,不满意度 5)
相关文档
最新文档