第3章用例及用例图-案例

合集下载

第3章 用例图及其应用

第3章  用例图及其应用

1 基本概念
1.2 用例
– 定义
对一组动作序列的描述,系统通过执行这一组动作序 列为参与者产生一个可观察的结果
– 用例特征
说明了系统具有的一种行为模式 说明了一个参与者与系统执行的一个相关的事务序列 提供了一种获取系统需求的方法 提供了一种与最终的用户和领域专家进行沟通的方法 提供了一种测试系统的方法
– 2)包含关系 )
是一种构造型关系,它将一个基用例连接到一个包含用 例 UML1.1中为使用关系,在1.3中改为包含关系 包含关系在一个用例中重用另一个用例中的步骤 包含关系用带箭头的虚线表示,沿线上加一个用双尖括 号括起来的"include"
2 关系及其应用
2.4 关系的扩展
使用包含关系的三种情况: a.如果有多个用例,并且这些用例包含大量类似 的行为,应该考虑将这些类似的行为通过包含关 系包含到用例中 b.对两个或多个互相独立的用例建模时做了重复 的工作,可以通过包含关系包含这些重复的工作 c.如果某个行为可能会引入冗余,或者,当行为 发生变化时可能导致不一致性,这时,应该对这 种行为进行孤立建模并将它包含到用例中
3 参与者规范及应用
3.1 参与者规范
– Rose在实现中对参与者和类使用相同的规 范窗口,包括如下一些标签:
General Detail Operations Attributes Relations Components Nested Files
3 参与者规范及应用
3.1 参与者规范
– General标签
Name Stereotype Documentation
3 参与者规范及应用
3.1 参与者规范
– Detail标签
Multiplicity (参与者基数)

第3章用例及用例图-案例精品PPT课件

第3章用例及用例图-案例精品PPT课件
9
● ② 确定各参与者所期望的系统行为。
管理员: 增加课程 修改课程 删除课程
学生: 查询课程 选择课程 网上付费
10
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
11
● ④ 确定各用例之间的关系(泛化,包含,扩展)。
12
● ⑤ 绘制用例图。
5
案例1: • 用例图
6
案例1: • 优化
7
案例2:
某学校网上选课系统的用例分析
管理员通过系统管理界面进入系统,建立本学 期要开设的各种课程,将课程信息保存到系统中, 并可以对课程进行改动和删除。 学生通过客户机浏览器进入系统,选择课程:可 以查询课程,选择课程,支付课程费用。
8
● ① 找出系统外部参与者,确定系统边界和范围。
You Know, The More Powerful You Will Be
谢谢大家
荣幸这一路,与你同行
It'S An Honor To Walk With You All The Way
演讲人:XXXXXX 时 间:XX年XX月XX日
2
3.7 业务用例图
• 业务角色(Business Actor)
– 机构(组织)外部参与者
• 业务工人(Business Worker)
– 机构内部参与者所起作用的表示
• 业务用例(Business Use Case)
– 业务功能(无论是手工还是自动处理)
• 业务机构(Business Organization)
13
● ⑥ 编制用例说明。
● 用例:增加课程
●参与者:管理员
●操作流:

第3章(用例图)

第3章(用例图)
识别用例
从分析系统的参与者开始,考虑每个参与者是怎样使用系统。
①参与者希望系统提供什么功能; ②系统是否存储和检索信息; ③当系统改变状态时,是否通知参与者; ④是否存在影响系统的外部事件,是哪个参与者通知系
统这些外部事件。
用例
识别用例 例1:Email客户端(如:outlook express),A在北京发邮件给深 圳的B,系统提醒B”你有新邮件”,B收邮件。
参与者的表示方法
参与者
如何发现系统的参与者 ①谁使用系统? ②谁安装系统、维护系统? ③谁启动系统、关闭系统? ④谁从系统中获取信息,谁提供信息给系统? ⑤在系统交互中,谁扮演了什么角色? ⑥系统会与哪些其他系统相关联?
参与者
如何发现系统的参与者 例1:客户给销售员发来传真订货, 销售员下班前将当日订货单汇总 输入系统。
用例
用例的粒度 用例所包含的系统服务或功能单元的多少。
用例
用例规约 对每一个用例的详细描述信息,以便于其他人对整个系统有一
个更加详细地了解。
用例规约的内容
(1)简要说明 (2)前置条件 (3)基本事件流 (4)其他事件流 (5)异常事件流 (6)后置条件
前置条件 扩展事件流 基本事件流
后置条件
用例
事件流
例:将银行自动取款机(ATM)系统中的“提款”用例用事件流表述。 提款─基本事件流
基本流步骤1:用户插入信用卡 基本流步骤2:输入密码 基本流步骤3:输入提款金额 基本流步骤4:提取现金 基本流步骤5:退出系统,取回信用卡
用例
事件流
例:将银行自动取款机(ATM)系统中的“提款”用例用事件流表述。
问题:谁是系统的Actor?
答案: 销售员
参与者

第三章 用例和用例图

第三章  用例和用例图

2014-7-16
用例间的关系
关联(association)是指参与者与其参与 执行的用例之间的通信途径 泛化(generalization)是代表一般和特殊 的关系 在泛化关系中,子用例继承父用例的行为 和含义,子用例也可以增加新的行为和含 义或覆盖父用例的行为和含义

2014-7-16
2014-7-16
UML中的 Use Case 表示
Communication
Buy Soda Customer
Actor
2014-7-16
Use Case
UML中的 Use Case 表示
post 购买商品
登录
出纳员 退还商品
顾客
2014-7-16
常见错误

识别用例时一个常见的 错误是把用例当成 是单独的步骤、操作或事务的处理。
Validate user
Buy Ticket
Individual Buy
Check password
Retinal scan
Group Buy
2014-7-16

包含(include)关系指的是两个用例之间 的关系,其中一个用例(称为基本用例, base use case)的行为包含另一个用例 (称为包含用例,inclusion use case)的 行为
箭头方向由扩展用例指向基本用例。
扩展用例依赖于被扩展用例,不是完整的独立用
例,无法单独执行。
2014-7-16
2014-7-16
用例的泛化、包含和扩展关系的比较
在扩展关系中,一个基本用例执行时,可 以执行、也可以不执行扩展部分 在包含关系中,在执行基本用例时,一定 会包含用例部分

UML-用例图

UML-用例图

2012年 2012年4月
UML与设计模式 与设计模式
18/60 18/60
要点2 要点2:主动语句
欧文丛贝克汉姆处得到传球,守门员 欧文丛贝克汉姆处得到传球,守门员… 贝克汉姆传球给欧文,欧文射门,守门员扑救… 贝克汉姆传球给欧文,欧文射门,守门员扑救 图书管理员…… 图书管理员 系统…… 系统
UML与设计模式 与设计模式
17/60 17/60
要点1 只写“可观测” 要点1:只写“可观测”的
系统通过ADO建立数据库连接,传送SQL查询语 建立数据库连接,传送 系统通过 建立数据库连接 查询语 商品表”查询商品的详细信息… 句,从“商品表”查询商品的详细信息 系统按照查询条件搜索商品的详细信息
2012年 2012年4月
UML与设计模式 与设计模式
13/60 13/60
用例阐述组成
用例名称 用例概述 涉及的参与者 前置条件Preconditions 前置条件 后置条件Postcondition 后置条件 事件流Flow of events 事件流 分支流Subflows 备选流Alternate flow
2012年 2012年4月
UML与设计模式 与设计模式
11/60 11/60
“Borrow Book”用例中的场景 Book”用例中的场景
如,在“Borrow Book”这个用例中,包含着几 ”这个用例中, 个相关的scenario: 个相关的 : Scenario-1:顺利地借到书 : Scenario-2:该种书刊不存在 : Scenario-3:物理书刊都已借出 : Scenario-4:没有该借阅者信息 :
2012年 2012年4月 UML与设计模式 与设计模式
3/60

第三讲用例图

第三讲用例图

3.3 用例图的概念
• 1. 用例图
• 用例图是描述用例、参与 者及其关系的图。与所有 UML的其它图一样,用例 图可以包括注释、约束。 图3-1是棋牌管理系统对应 的用例图。 • 图中的元素包括:参与者、 用例、一个方框和一些表 示关系的连接线,所有的 用例都位于方框之内,该 方框称为“系统边界”。 方框内是棋牌管理系统的 多个用例,方框外是外部 参与者。
第3章 用例图
目录
3.1 需求技术
3.2 RUP开发过程
3.3 用例图的概念 3.4 用例图的表示 3.5 参与者之间的关系
目录
3.6 用例之间的关系
3.7 参与者与用例之间的关系
3.8 阅读用例图 3.9 用例图应用 3.10 建模要点
第3章 用例图
• 用例图是外部参与者所能观察到的系统功能的模型图,该 图呈现了一些参与者和一些用例,以及它们之间的关系, 主要用于对系统、子系统或类的功能行为进行建模。
3.3.2 标识用例间的关系
• 2.包含关系 • 在UML中,包含关系用构造型《include》表示,它是指基用例(base use case)在它内部的某一个位置上显式地合并了另一个用例的行为。 • (1) 包含用例的表示 • 包含是指一个用例被另一个用例使用,被使用的用例就是包含用例, 使用包含用例的是基用例。 • 图3-7说明:查询、提款、转帐三个是基用例,它们都包含打印回执用 例.基用例执行时必须执行包含用例,否则,基用例是不完整的,包 含用例不是孤立存在的,它仅作为基用例的一部分出现.图中,包含 关系的箭头是从基用例指向包含用例. • 只有当某个事件流片断在多个用例中出现时,才将这个事件流片段抽 取出来,放在一个单独的用例中,把这个用例用作包含用例。

2_用例及用例图-3

2_用例及用例图-3
确定参与者; 1. 参与者所看到的功能; 2. 把这些功能分解为用例; 3. 确定用例之间的关系; 4. 画用例图; 5. 优化用例图; 6. 描述事件流。

③ 把这些系统行为命名为用例。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。

④ 确定各用例之间的关系(泛化,包含,扩展)。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
参与者
1. 参与者的概念
参与者(actor)是外部需要与系统交互的事物。 也被称为活动者。
2.参与者的三种类型 ①. 人:客户,读者,库管员 ②. 外部系统:上层系统等
参与者的表示
参与者可以表示为下面三种形式。
参与者之间的关系
参与者之间可以有泛化关系。
参与者与用例之间的关系参与者与用 例之间具有使用,交互信息的关联。
⑦ATM记录事务到日志文件。
发现用例
发现用例的一般方法:

① 找出系统外部参与者,确定系统边界和范围。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。

② 确定各参与者所期望的系统行为。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。
用例之间的关系(1)
用例之间的几种关系:
1. 泛化关系
2. 包含关系
3. 扩展关系

第3章 用例图

第3章 用例图
这里的Actor 是 小猪。
思考:识别参与者?
寻呼台系统:用户如果预定了天气预报,系 统每天定时给他发天气消息;如果当天气温 高于35度,还要提醒用户注意防暑;
在这个叙述里,谁是寻呼台系统的Actor?
用户,气温,时间都是Actor
1、机票购买者通过登录网站购买机票,机票购买者 就是actor
要点:用户观点而非系统观点
旅客
订票 查看今日航班
用户观点
旅客
处理订票 显示今日航班
系统观点
用例的命名
执行者视角:
(状语)动词+(定语+ )宾语
顾客
购买商品 <<extend>> 信用卡支付
要点:用例的粒度(1)
用例要有路径,路径要有步骤;而这一切都 是可观测的
最常犯错误:粒度过细,陷入功能分解
过细的粒度,一般都会导致技术语言的描述, 而不再是业务语言
用例粒度(2)
把步骤当用例
会员
<<include>>
输入用户名
会员
登录
把系统活动当用例
验证用户名和密码
<<include>> 建立数据库连接
查询订单
<<include>>
执行SQL语句
要点:用例的粒度(3)
“四轮马车”
C(Create) R(Read) U(Update) D(Delete)
个参与者。 不同的用户也可以只对应于一个参与者,从而代表同一
参与者的不同实例。
参与者
每个参与者可以参与一个或多个用例。 参与者通过交换信息与用例发生交互作用
(因此也与用例所在的系统或类发生了交互 作用) 参与者的内部实现与用例是不相关的,参与 者可以被一组定义它的状态的属性充分描述。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

17

② 确定各参与者所期望的系统行为。
柜台人员 客房预订 预订变更
入住登记
退房结帐 选择课程 信息查询
18
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。

③ 把这些系统行为命名为用例。
19

④ 确定各用例之间的关系(泛化,包含,扩展)。
20

⑤ 绘制用例图。
第 章 用例及用例图-案例
3.7 业务用例图 3.8 案例
3
1
3.7 业务用例图
• 作用
– 帮助了解机构及其软件系统(或工作内容) – 帮助业务过程重建工程工作 – 帮助员工(小组内成员)充分了解业务及其角色
• 什么时候需要
– – – – 对机构不熟悉 机构业务发生变更 机构中主要部分使用的软件需建立 机构中有些大型复杂工作流的文档不足
9

② 确定各参与者所期望的系统行为。
管理员: 增加课程 修改课程
删除课程
学生: 查询课程 选择课程 网上付费
10
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。

③ 把这些系统行为命名为用例。
11

④ 确定各用例之间的关系(泛化,包含,扩展)。
12

⑤ 绘制用例图。
5
案例1:
• 用例图
6
案例1:
• 优化
7
案例2:
某学校网上选课系统的用例分析
管理员通过系统管理界面进入系统,建立本学 期要开设的各种课程,将课程信息保存到系统中,
并可以对课程进行改动和删除。
学生通过客户机浏览器进入系统,选择课程:
可以查询课程,选择课程,支付课程费用。
8

① 找出系统外部参与者,确定系统边界和范围。
21

⑥ 编制用例说明明:
① 工作人员启动预订功能。 ② 根据预订需求查看客房空闲信息。 ③ 输入预订人信息。 ④ 安排客房。 ⑤ 预订成功。
22

⑥ 编制用例说明。
● 用例:预订变更 ●参与者:柜台工作人员 ●说明:
① 工作人员启动预订功能。 ② 输入预订人标志信息。 ③ 系统显示该预订人的客房预订信息。 ④ 预订变更。 ⑤ 预订变更成功。
2
3.7 业务用例图
• 业务角色(Business Actor)
– 机构(组织)外部参与者
• 业务工人(Business Worker)
– 机构内部参与者所起作用的表示
• 业务用例(Business Use Case)
– 业务功能(无论是手工还是自动处理)
• 业务机构(Business Organization)
13

⑥ 编制用例说明。
● 用例:增加课程
●参与者:管理员 ●操作流:
① 管理员选择进入管理界面,用例开始。 ② 系统提示输入管理员密码。 ③ 管理员输入密码。 ④ 系统检验密码。 A1:密码出错。 ⑤ 进入管理界面,系统显示当前所建立的全部课程信息。 ⑥ 管理员选择增加课程,管理员输入新课程信息。 ⑦系统验证是否与已有课程冲突。 A2:有冲突。 ⑧系统添加新课程,并提示添加成功。
● —— 重要知识点
26
本章作业
(1) 什么叫用例? (2) 用例图在软件建模中的作用是什么? (3) 用例之间存在那几种关系?
(4) 包含关系和扩展关系有什么区别?
(5) 参与者可以是那几种形式? (6) 什么叫事件流,作用是什么?
END
27
23

⑥ 编制用例说明。
● 用例:入住登记 ●参与者:柜台工作人员
●说明:
① 工作人员启动入住登记功能。 ② 根据旅客要求查询客房空闲信息。
③ 如果不满足旅客入住要求,则退出。
④ 接收旅客信息。 ⑤ 给旅客分配房间床位。
⑥ 接收押金。
⑦ 打印入住单 ⑧ 入住登记结束。
24

⑥ 编制用例说明。
● 用例:退房结帐 ●参与者:柜台工作人员
⑨系统回到管理主界面,显示所有课程,用例结束。
14

⑦ 对异常流程确定单独用例。 ⑧ 优化用例图,解决用例之间的冲突和重复。
15
案例3:
宾馆客房业务管理用例分析
宾馆客房业务管理提供客房预订、预订变更、 客房入住、退房结帐、旅客信息查询几个方面的
功能。
16

① 找出系统外部参与者,确定系统边界和范围。
●说明:
① 工作人员启动退房结帐功能。 ② 输入旅客标志信息。
③ 系统显示旅客入住信息。
④ 显示入住天数,费用。 ⑤ 接收费用。
⑥ 打印发票。
⑦ 入住登记结束。
25
● 小结
第3章 用例和用例图
3.1 用例
3.2 参与者
3.3 用例之间的关系 4.3.1 关联关系 4.3.2 泛化关系 4.3.3 包含关系 4.3.4 扩展关系 ● 3.4 用例图 3.4.1 用例图的作用 3.4.2 用例图的形式 ● 3.5 用例描述 ● 3.6 用例分析 ● 3.7 业务用例图
– 机构的组织部门,业务元素的集合
• 业务实体(Business Entity)
– 机构的主要产品等实体
• 物理工人(Phsical Worker)
– 机构内部人类参与者
3
3.7 业务用例图
4
3.8 实例
• 案例1:
– 有一个爱书之人,家里各类书籍已过千册,平时又 时常有朋友外借,因此需要一个图书管理系统。该 系统应该能够将书籍的基本信息按计算机类、非计 算机类分别建档,实现按书名、作者、类别、出版 社等关键字的组合查询功能。在使用系统录入新书 籍时系统会自动按规则生成书号,以修改信息,但 不能够删除记录。该系统还应该能够对书籍的外借 情况进行记录,可对外借情况列出打印。另外,还 希望能够对书籍的购买金额、册数按特定时限进行 统计。
相关文档
最新文档