当前位置:文档之家› 第4章_用例及用例图(同济大学软件工程硕士面向对象技术)

第4章_用例及用例图(同济大学软件工程硕士面向对象技术)


⑧系统添加新课程,并提示添加成功。
⑨系统回到管理主界面,显示所有课程,用例结束。
课堂练习
对图书馆的图书管理系统进行用例分析:
1. 2. 3. 4. 5. 6. 7. 确定图书管理的参与者; 参与者所看到的图书管理功能; 把这些功能分解为用例; 确定用例之间的关系; 画用例图; 优化用例图; 描述事件流。
储蓄系统
√ √ √ 开户
存款
取款 转帐
用例的特点(2)
用例描述用户提出的一些可见需求,对应一个 具体的用户目标。
储蓄系统

√ √ √
开户 存款
取款
转帐
×
数据上传
用例的特点(3)
用例反映系统与用户的一次交互过程 ,应该具有交互的信息的传递。
帐户,密码,金额数 确认信息,帐户余额
取款
用例的特点(4)
用例之间的关系(3)
泛化关系
参与者与参与者之间,用例与用例之间存在一般 与特殊的关系。
参与者的泛化关系
用于简化用例图 销售系统用例图:
- 销售人员和客户用的基本上 相同的用例图
- 计算回扣是例外
Customer OrderProducts Sales system
ListProducts
用例图过于复杂(太多的交叉线 ) 采用一个公共的参与者(购买者 ) 原来的角色由此导出
④储户输入取款金额,按确认键。 ⑤ATM把帐号和取款金额传递给银行系统,取回确认信息和帐户 余额。 ⑥ ATM输出现金,并显示帐户余额。
⑦ATM记录事务到日志文件。
取款用例描述另一种描述
● 用例:取款 ●参与者:储户
储户
插入ATM卡
ATM系统行为
从卡上读取银行ID、帐号、并验 证帐号
键入密码 检验密码
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。

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

④ 确定各用例之间的关系(泛化,包含,扩展)。
用例图可以作为整个系统开发过程中的开发依据 ,指导和驱动其他模型 (Use Case Driven Object Modeling)。
用例图的形式
取款用例描述实例
● 用例:取款 ●参与者:储户 ●操作流: ① 通过读卡机,储户插入ATM卡 ② ATM系统从卡上读取银行ID、帐号、并验证帐号。
③ 储户键入密码,系统检验密码。

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

② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。
某学校网上选课系统的用例分析(5)

确定各角色和用例之间的关系(泛化,包含,扩展)。
用例的事件流是对系统行为的动态描述
取款
用例的动态事件流
a 通过读卡机,储户插入ATM卡
b ATM系统从卡上读取银行ID、帐号、并验证帐号。 c 储户键入密码,系统检验密码。 d 储户按确认键,输入取款金额。 e ATM把帐号和取款金额传递给银行系统,取回帐户余额。 f ATM输出现金,并显示帐户余额。 d ATM记录事务到日志文件。
SalesAgent
AcceptPayment
CalcualteCommission
参与者的泛化关系
采用泛化的关系
Sales system
- 利用相同的用例组合
父类参与者一般是个抽象 类
ListProducts
Purchaser
OrderProducts
只有能简化用例图时才采 用泛化关系
Customer SalesAgent
管理员通过系统管理界面进入系统,建立本学期
要开设的各种课程,将课程信息保存到数据库中,
并可以对课程进行改动和删除。 学生通过客户机浏览器进入系统,选择课程:可 以查询课程,选择课程,支付课程费用。
某学校网上选课系统的用例分析(2)
找出系统外部参与者,确定系统边界和范围。 ●
某学校网上选课系统的用例分析(3)
面向对象技术及其UML实践 第四章 用例及用例图
同济大学软件学院 曹布阳 buyang60@
用例
1. 用例的概念
用例(use case): 表示参与者与系统的一次交互
过程,并提供参与者相应的结果。 2.用例的表示 用例用椭圆表示
用例的特点(1)
用例用于描述系统的功能,这个功能是 外部使用者看到的系统功能,不反映功能的 实现方式。
⑤ 绘制用例图。

⑥ 编制用例说明。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
⑤ 绘制用例图。
⑥ 编制用例说明。

⑦ 对异常流程确定单独用例。
发现用例
系统行为
用例的事件流是对系统行为的动态描述 系统的反应和动作
外部可见的和可测试的
系统行为应在用例中表示出来
用例需表示系统,系统所处的环境以及系统所处环境的 交互关系
参与者
1. 参与者的概念
参与者(actor)是外部需要与系统交互的事物。 也被称为活动者。
2.参与者的三种类型 ①. 人:客户,读者,库管员 ②. 设备:计算机,磁盘,读卡机等 ③. 外部系统:上层系统等
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
●⑤ 绘制用例图。发来自用例发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
输入取款金额,按确认键 帐号和取款金额传递给银行系统 ,取回确认信息和帐户余额
输出现金,并显示帐户余额
发现用例
发现用例的一般方法:

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

② 确定各参与者所期望的系统行为。
发现用例
发现用例的一般方法:
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
⑤ 绘制用例图。
⑥ 编制用例说明。 ⑦ 对异常流程确定单独用例。

⑧ 优化用例图,解决用例之间的冲突和重复。
某学校网上选课系统的用例分析(1)
本章作业
(1) 用例之间存在那几种关系? (2) 写出自动取款机(ATM) 包括查询,取款,和存 款的用例,并画出用例图。

某学校网上选课系统的用例分析(6)
绘制用例图

某学校网上选课系统的用例分析(7)
编制用例说明
●参与者:管理员 ●操作流:
● 用例:增加课程
① 管理员选择进入管理界面,用例开始。 ② 系统提示输入管理员密码。
③ 管理员输入密码。
④ 系统检验密码。 A1:密码出错。
⑤ 进入管理界面,系统显示当前所建立的全部课程信息。 ⑥ 管理选择增加课程,管理输入新课程信息。 ⑦系统验证是否与已有课程冲突。 A2:有冲突。
包含关系用依赖关系的<<include>>构造型来表 示。
用例之间的关系(5)
扩展关系 扩展关系表示基本用例在扩展点要增加新的行为 或功能,以扩展到新用例。 扩展关系用依赖关系的<<extend>>构造型来表示 。
用例图
用例图的作用
用例图用来描述软件需求模型中的系统功能,通 过一组用例可以描述软件系统能够给用户提供的功 能。
AcceptPayment
CalcualteCommission
用例的泛化关系
父类用例
- 查找产品
两个子类:
- 查找书籍 - 查找CD
Sales system
FindProduct Customer
FindBook
FindCD
用例之间的关系(4)
包含关系
两个用例之间,一个用例(基本用例)的行为包含 了另外一个用例(包含用例)的行为。
参与者的表示
参与者可以表示为下面三种形式。
参与者之间的关系
参与者之间可以有泛化关系。
用例之间的关系(1)
用例之间可以具有以下几种关系:
1. 关联关系
2. 泛化关系
3. 包含关系 4. 扩展关系
参与者与用例之间的关系
关联关系
参与者与用例之间是关联关系,表示参与者与用 例之间具有使用,交互信息的关联。
相关主题