用例及用例图

合集下载

UML用例和用例图

UML用例和用例图

h
18
主要内容
基本概念:Use case、Actor、
Scenario Use case间的关系 Use Case 分析技术 案例讲解
h
19
关系
• 参与者与用例之间
– 关联关系
• 用例与用例之间
– 包含关系 (include) – 扩展关系 (extend) – 泛化关系 (generalization)
• 主事件流: • 1、系统显示ID和密码窗口; • 2、顾客键入ID和密码,然后按OK键; • 3、系统验证顾客ID和密码,并显示个人信息窗口; • 4、顾客键入姓名、街道地址、城市、邮政编码、电话号码,然
后按OK键; • 5、系统验证用户是否为老顾客; • 6、系统显示可以卖的商品列表; • 7、顾客在准备购买的商品图片上单击,并在图片旁边输入要购
• 用例结束后的系统状态
• 其他需要描述的内容
用例描述原则:尽可能写的“充分”,而不是追求写的形 式化、完整或漂亮。
h
32
h
33
书写用例文档
——路径交互步骤的描述
只书写“可观测”的 使用主动语句 句子必须以执行者或系统作为主语 每一句都要朝目标迈进 分支和循环 不要涉及界面细节
h
34
书写用例文档
买的数量。选购商品完毕后按Done按钮; • 8、系统通过库存系统验证要购买的商品是否有足够库存; • …….(后续描述省略)
问题:对用户界面的描述过于详细,对于需求文档来说, 详细的用户描述对获取需求并无帮助。
h
45
改进后的描述
• Use Case:Buy Something • 参与者:Customer • 主事件流: • 1、顾客使用ID和密码进入系统; • 2、系统验证顾客身份; • 3、顾客提供姓名、地址、电话号码; • 4、系统验证顾客是否为老顾客; • 5、顾客选择要购买的商品和数量; • 6、系统通过库存系统验证要购买的商品是否有足

第3章用例及用例图-案例学习资料

第3章用例及用例图-案例学习资料
16
● ① 找出系统外部参与者,确定系统边界和范围。
17
● ② 确定各参与者所期望的系统行为。
柜台人员 客房预订 预订变更 入住登记 退房结帐 选择课程 信息查询
18
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
19
● ④ 确定各用例之间的关系(泛化,包含,扩展)。
13
● ⑥ 编制用例说明。
● 用例:增加课程
●参与者:管理员
●操作流:
① 管理员选择进入管理界面,用例开始。
② 系统提示输入管理员密码。
③ 管理员输入密码。
④ 系统检验密码。
A1:密码出错。
⑤ 进入管理界面,系统显示当前所建立的全部课程信息。
⑥ 管理员选择增加课程,管理员输入新课程信息。
⑦系统验证是否与已有课程冲突。
2
3.7 业务用例图
4
3.8 实例
• 案例1:
– 有一个爱书之人,家里各类书籍已过千册,平时又 时常有朋友外借,因此需要一个图书管理系统。该 系统应该能够将书籍的基本信息按计算机类、非计 算机类分别建档,实现按书名、作者、类别、出版 社等关键字的组合查询功能。在使用系统录入新书 籍时系统会自动按规则生成书号,以修改信息,但 不能够删除记录。该系统还应该能够对书籍的外借 情况进行记录,可对外借情况列出打印。另外,还 希望能够对书籍的购买金额、册数按特定时限进行 统计。
20
● ⑤ 绘制用例图。
21
● ⑥ 编制用例说明。
● 用例:客房预订 ●参与者:柜台工作人员 ●说明:
① 工作人员启动预订功能。 ② 根据预订需求查看客房空闲信息。 ③ 输入预订人信息。 ④ 安排客房。 ⑤ 预订成功。

用例及用例图案例

用例及用例图案例
第3章
用例及用例图-案例
3.7 业务用例图 3.8 案例
1
3.7 业务用例图
• 作用
– 帮助了解机构及其软件系统(或工作内容) – 帮助业务过程重建工程工作 – 帮助员工(小组内成员)充分了解业务及其角色
• 什么时候需要
– 对机构不熟悉 – 机构业务发生变更 – 机构中主要部分使用的软件需建立 – 机构中有些大型复杂工作流的文档不足
20
● ⑤ 绘制用例图。
21
● ⑥ 编制用例说明。
● 用例:客房预订 ●参与者:柜台工作人员 ●说明:
① 工作人员启动预订功能。 ② 根据预订需求查看客房空闲信息。 ③ 输入预订人信息。 ④ 安排客房。 ⑤ 预订成功。
22
● ⑥ 编制用例说明。
● 用例:预订变更 ●参与者:柜台工作人员 ●说明:
A2:有冲突。
⑧系统添加新课程,并提示添加成功。
⑨系统回到管理主界面,显示所有课程,用例结束。
14
● ⑦ 对异常流程确定单独用例。 ⑧ 优化用例图,解决用例之间的冲突和重复。
15
案例3:
宾馆客房业务管理用例分析
宾馆客房业务管理提供客房预订、预订变更、 客房入住、退房结帐、旅客信息查询几个方面的 功能。
第3章 用例和用例图
● 3.4 用例图 3.4.1 用例图的作用 3.4.2 用例图的形式
● 3.5 用例描述 ● 3.6 用例分析 ● 3.7 业务用例图
● —— 重要知识点
26
本章作业
(1) 什么叫用例? (2) 用例图在软件建模中的作用是什么? (3) 用例之间存在那几种关系? (4) 包含关系和扩展关系有什么区别? (5) 参与者可以是那几种形式? (6) 什么叫事件流,作用是什么?

用例和用例图

用例和用例图

用例
用例(use case)是Ivar Jacobson发明的. 其它的中 文译名有: 用况、用案等. 定义1: 用例是对一个活动者(actor)使用系统的一项 功能时所进行的交互过程的一个文字描述序列. 定义2: 用例是系统、子系统或类和外部参与者交互 的动作序列的说明, 包括可选的动作序列和会出现 异常的动作序列. 用例是代表系统中各个项目相关人员之间就系统的 行为所达成的契约, 软件开发过程是用例驱动的.
实例1:图书馆管理系统中的用例图
1.确定系统涉及的总体信息 图书馆管理系统是对书籍的借阅及读者信息进行统 一管理的系统,具体包括读者的借书、还书,书籍 预订;图书馆管理员的书籍借出处理、书籍归还处 理、预订信息处理;还有系统管理员的系统维护, 包括增加书目、删除或更新书目、增加书籍、减少 书籍、增加读者账户信息、删除或更新读者账户信 息、书籍信息查询、读者信息查询等。
用例图的作用
用例图展示了用例之间以及用例与参与者之间是怎样相互联 系的。用例图对系统、子系统或类的行为进行了可视化,使 用户能够理解如何使用这些元素,并使开发者能够实现这些 元素。 用例图主要用来描述用户的功能需求。UML侧重从最终用户 的角度来理解软件系统的需求,强调谁在使用系统、系统可 以完成哪些功能。用例分析技术已经是一种公认有效的用户 需求获取、分析和描述技术
情况二:假如机票购买者通过呼叫中心,由人工座席 操作订票系统购买机票,那么谁是参与者?
情况三:如果机票购买者通过呼叫中心的自动语音预 定机票而不是通过人工座席,那么谁是参与者?
情况四:如果扩大系统边界,让呼叫中心成为机票预 定系统的一个子系统,并且假设机票购买者将可以 自主选择是通过人工座席还是自动语音登录网站预 订机票,那么谁是参与者?

第2章用例和用例图

第2章用例和用例图

成绩管理
UML用例图组成( UML用例图组成(续) 用例图组成
饮料销售机
UML用例图组成( UML用例图组成(续) 用例图组成
用例与用例的扩展关联用来表示通过对已有用例增加步 用例与用例的扩展关联用来表示通过对已有用例增加步 扩展关联用来表示 骤创建一个新的用例,即对原有的用例进行了扩展。 骤创建一个新的用例 即对原有的用例进行了扩展。扩展只能 即对原有的用例进行了扩展 发生在基用例的序列中的某个具体指定点上。这个点叫做扩 发生在基用例的序列中的某个具体指定点上。 展点.在UML图中,使用带虚线箭头表示,并在线上标有构造 展点 在UML图中,使用带虚线箭头表示, 图中 带虚线箭头表示 如下图所示: 型<<extend>> 。如下图所示:
UML用例图组成( UML用例图组成(续) 用例图组成
包含关联与扩展关联的区别: 包含关联与扩展关联的区别:
存在包含关联的两个用例,在执行基本用例时 一定会执 存在包含关联的两个用例 在执行基本用例时,一定会执 在执行基本用例时 行包含用例;存在扩展关联的两个用例,在执行基本用例时 在执行基本用例时, 行包含用例;存在扩展关联的两个用例 在执行基本用例时 可以执行,也可以不执行扩展部分 可以执行 也可以不执行扩展部分. 也可以不执行扩展部分
UML用例图的作用( UML用例图的作用(续) 用例图的作用
• 用例图的主要作用: 用例图的主要作用:
– 用来描述待开发系统的功能需求和系统使用场景 – 作为开发过程的基础,驱动各阶段的开发工作 作为开发过程的基础, – 用于验证与确认系统需求
画好用例图是由软件需求到最终实现的第一步. 画好用例图是由软件需求到最终实现的第一步.
UML用例图的建模( UML用例图的建模(续) 用例图的建模

权限管理用例图及用例分析

权限管理用例图及用例分析
异常事件流:
管理员提交表单数据格式错误,系统提示错误信息
系统将数据写入数据库时失败,提示错误信息后置条件:无源自注释:无用例图用例描述
用例编号:006
用例名称:权限管理
优先级别:HIGH
参与者:管理员 一般用户
用例描述:
权限管理
前置条件:
1.用户成功登陆系统
基本事件流:
在权限管理的页面上,输入新员工信息
点击提交按钮
员工信息被修改、删除或被导出 个人可以查看自己的信息 登录
系统给出提示
其他事件流:
管理员在执行基本事件流过程中点击”取消”按钮,系统关闭表单页

02-用例和用例图

02-用例和用例图

使用用例时注意的问题:
1. 2. 3. 4. 不要将所有的需求都以用例的形式表示出来. 不要将所有的需求都以用例的形式表示出来 用例只描述系统功能性方面的需求, 它只是全部需求的一部分. 用例只描述系统功能性方面的需求 它只是全部需求的一部分 本质上用例分析是功能分解技术, 但目前是OO开发的第一步 开发的第一步. 本质上用例分析是功能分解技术 但目前是 开发的第一步 用例是与实现无关的关于系统功能的描述. 用例是与实现无关的关于系统功能的描述
(2) 储户按“取款”按钮 并输入 • 设置交易类型为“取款” 储户按“取款”按钮,并输入 设置交易类型为“取款” 取款数目 • ATM系统获得取款金额 系统获得取款金额 (3) 储户取走现金 储户取走现金/ATM卡/收据 卡 收据 • 输出现金、收据和 输出现金、收据和ATM卡 卡 (4) 储户离开 只描述了actor的行为 的行为 只描述了 • 系统复位 只描述了System的行为 的行为 只描述了
3.4.2 包含关系
包含关系是指一个用例(基本用例 的行为包含了另一 包含关系是指一个用例 基本用例)的行为包含了另一 基本用例 个用例(包含用例 的行为. 包含用例)的行为 个用例 包含用例 的行为 包含关系是依赖关系的版型, 但其含义更多. 包含关系是依赖关系的版型 但其含义更多
右图的例子演示了 包含关系
常见问题分析
(1) 用例的粒度问题 对于一个目标系统进行用例分析后得到的用 例数目有多少比较合适? 例数目有多少比较合适
常见问题分析
(2) 用例的分解 合并 用例的分解/合并 系统中相似的功能, 系统中相似的功能 是合并为一个用例还是 分解为几个用例? 分解为几个用例
用例的描述
用例的描述格式(续表 用例的描述格式 续表) 续表

用例和用例图

用例和用例图

访客用例图
会员用例图
书店管理员用例图
3、用例描述 (1)细化用例描述----搭框架

用例名称:搜索图书 概述:用户根据关键字搜索图书 前置条件:无 事件流: 基本事件流 扩展事件流 后置条件: 无
3、用例描述 (2)细化用例描述----填"血肉"

事件流: •基本事件流 1 用户点击“搜索图书”,用例开始。 2 系统显示搜索图书商品界面,提示用户输入商品关键字。 3 用户输入图书关键字,选择提交。 4 系统访问数据库,根据关键字查询相关的图书商品信息, 并把查询出的图书信息显示搜索图书页面。 5 用例结束。 •扩展事件流 4a) 系统未查出所要商品相关信息,显示提示信息,用例 结束。 4b) 系统查出用户输入的关键字为空,显示提示信息并返 回基本事件流2。

编写用例描述应遵循以下几点:



使用简单的语法,主语明确,语义易于理解;在事件流描 述中让读者直观地了解是参与者在控制还是系统在控制; 从第三者观察的角度指出参与者的动作,以及系统的响应; 显示参与者的意图而非动作 显示过程向前推移,每一步都有前进感;

构建结构良好的用例
为系统和部分系统中单个的、可标识的、合理的原子行为 命名。 将多个用例的公共的行为抽取出来放到一个被包含用例中。 对于变化部分,将其抽取出来,放到扩展用例中。 清晰的描述事件流。


扩展关系(Extend)
扩展关系表示基本用例在由扩展用例间接说明的一个位置 上隐式的合并了另一个用例(扩展用例)的行为。 基本用例不知道扩展用例的任何细节,没有扩展用例,基 本用例是完整的。只有在特定条件下,它的行为可以被扩 展用例的行为扩展,因此扩展关系处理事件流的异常或者 可选事件。

餐馆系统用例及用例图

餐馆系统用例及用例图

•记录预约(Recork booking)事件路径:1接待员输入要预约的日期2系统显示该日的预约3有一张合适的餐桌可以使用:接待员输入顾客的姓名、电话、预约的时间、用餐人数和餐桌号4系统记录并显示新预约。

可选或例外的事件路径3a 没有可用的餐桌:1 没有合适的餐桌可以使用,用例终止3b 餐桌过小1 接待员输入顾客的姓名电话预约时间,用餐人数和餐桌号2 用餐人数多于餐桌容纳的人数,系统询问是否继续预约3 如果回答“否”, 用例将不进行预约而终止4 如果回答“是”, 预约将被输入,并附有一个警告标志。

•记录到达:(Record arrival)基本事件路径1领班输入当前日期2系统显示当天的预约3领班确认一个选定的预约已经到达4系统对此进行记录并更新显示器,将顾客标记为已经到达。

可选或例外的事件路径3a 没有提前预订:1 系统中没有记录该顾客的预约,领班输入预约时间、人数和餐桌号,创建一个未预约登记;2 系统记录并显示新预约//将红字的部分,独立为一个用例,用例描述如下:●记录未预约顾客(Record walk_in)基本事件路径1 侍者领班执行“显示预约”用例2 侍者领班输入时间、用餐人数和分配给顾客的餐桌3 系统记录并显示新预约●取消预约(Cancel booking)基本事件路径1 侍者领班执行“显示预约”用例2 接待员选择要求的预约3 接待员取消该预约4 系统询问接待员确认取消5 接待员回答“是”,系统记录取消并更新显示可选或例外的事件路径4a 预约的时间是在该现时间之前1 系统显示,预约的时间是在该查询时间之前,2 系统显示不能取消过去某段时间的预约4b 已经记录了顾客到来的预约1 系统显示不能取消该预约 调换餐桌(Table transfer)基本事件路径1 侍者领班选择需要的预约2 侍者领班改变该预约的餐桌分配3 系统记录改变并更新显示•显示预约(Display Bookings):1用户输入一个日期2系统显示当日的预约。

软件工程课件之第4章用例和用例图

软件工程课件之第4章用例和用例图

4.2.3 泛化关系
借阅者
.9 泛化关系
4.2.4 分组关系
在一些用例图中,用例的数目可能很多,这时就需要把 这些用例组织起来。这种情况在一个系统包含很多子系 统时就会出现。另一种可能就是,当你按顺序和用户会 谈,收集系统需求时,每个需求必须用一个单独的用例 来表达,这时就需要某种方式来对这些需求进行分类。
4.1.1 参与者
例如,在“图书管理系统”中,可以认为“读者”是 “学生读者”和“教师读者”的泛化,而“学生读者” 还可以具体化为“本科生读者”和“研究生读者”;同 样,“图书管理员”也是“采购员”、“ 编目员”及 “借阅人员”的泛化。图4.3表示出了参与者之间的泛 化关系。
4.1.1 参与者
“<<extend>>”是扩展关系的构造型,箭头指向基本用例。
4.2.2 扩展关系
借阅者
<<include>>
还书
<<extend>>
查询图书 交罚款
图4.8 扩展关系
区别与联系:
联系:都是从现有的用例中抽取出公共的那部分信息
,作为一个单独的用例,然后通过不同的方法来重用这 个公共的用例,以减少模型维护的工作量。
因此,在“图书管理系统”中“借阅者”和“系统管理 员”都是参与者。
4.1.1 参与者
【例4-1】客户给销售员发来传真订货, 销售员下班前 将当日订货单汇总输入系统。谁是系统的参与者?
分析:根据参与者的定义可知,此系统的参与者是销售 员。
4.1.1 参与者
【例4-2】在需求分析中常见的权限控制问题,一般的 用户只可以使用一些常规的操作,如查询等,而管理员 除了常规操作之外还需要进行一些系统管理工作,如一 些关键数据的增加、删除、修改等,操作员既可以进行 常规操作又可以进行一些配置操作。

第5讲2-用例及用例图

第5讲2-用例及用例图
取款 用例旳动态事件流
a 经过读卡机,储户插入ATM卡
b ATM系统从卡上读取银行ID、帐号、并验证帐号。 c 储户键入密码,系统检验密码。 d 储户按确认键,输入取款金额。 e ATM把帐号和取款金额传递给银行系统,取回帐户余额。 f ATM输出现金,并显示帐户余额。 d ATM统计事务到日志文件。

参加者
1. 参加者旳概念 参加者(actor)是外部需要与系统交互旳事物。
也被称为活动者。 2.参加者旳三种类型
①. 人:客户,读者,库管员 ②. 设备:计算机,磁盘,读卡机等 ③. 外部系统:上层系统等
参加者旳表达
参加者能够表达为下面三种形式。
参加者之间旳关系
参加者之间能够有泛化关系。
用例之间旳关系(1)
用例之间能够具有下列几种关系:
➢ 泛化关系 ➢ 包括关系 ➢ 扩展关系
参加者与用例之间旳关系
关联关系 参加者与用例之间是关联关系,表达参加者与用
例之间具有使用,交互信息旳关联。
用例之间旳关系(3)
泛化关系 参加者与参加者之间,用例与用例之间存在一般与 特殊旳关系。
用例之间旳关系(4)
包括关系 两个用例之间,一种用例(基本用例)旳行为包括了 另外一种用例(包括用例)旳行为。 包括关系用依赖关系旳<<include>>构造型来表 达。
某学校网上选课系统旳用例分析(1)
管理员经过系统管理界面进入系统,建立本学期 要开设旳多种课程,将课程信息保存到数据库中, 并能够对课程进行改动和删除。 学生经过客户机浏览器进入系统,选择课程:能够 查询课程,选择课程,支付课程费用。
某学校网上选课系统旳用例分析(2)
●找出系统外部参加者,拟定系统边界和范围。

用例和用例图

用例和用例图

如何绘制用例图 1、用例分析技术步骤(不固定,可根据需要调整):
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ 找出系统外部的参与者和外部系统,确定系统的边界和范围。 确定每一个参与者所期望的系统行为 把这些系统行为命名为用例 使用泛化、包含、扩展等关系处理系统行为的公共或变更部分 编制每一个用例的脚本 绘制用例图 区分基本事件流和异常情况的事件流,如有需要可以把表示异常 情况的事件流作为单独的用例来处理 ⑻ 细化用例图,解决用例间的重复与冲突。
用例之间的关系 4、参与者与用例之间的关系:关联关系Association
关联关系描述参与者与用例之间的关系,在UML中它是 两个或多个类元之间的关系,它描述了类元的实例间的 联系。(类元,一种建模元素,常见类元包括类、参与者 、构件、数据类型、接口、结点、子系统以及用例等, 其中类是最常见的类元) 关联关系表示参与者和用例之间的通信。在UML中,关 联关系用直线或箭头表示。如果参与者启动了用例,箭 头指向用例;如果参与者利用了用例提供的服务,箭头指 向参与者。如果二者是互动的,则是直线。 例:汽车租赁系统用例图(部分)。显示的是“客户”参与者以 及与他交互的3个用例,“预定”、“取车”、“还车” 。
FEAT01.新增书籍信息 FEAT03.书籍信息按计算机类、非计算机类分别建档 FEAT04.录入新书时能够自动按规则生成书号 FEAT05.计算机类与非计算机类书籍采用不同的书号规则 FEAT06.录入新书时如果重名将自动提示 FEAT02.修改已有的书籍信息 FEAT07.按书名、作者、类别、出版社等关键字组合查询书籍 FEAT08.列出所有书籍信息 FEAT14.所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行 FEAT09.记录外借情况 FEAT10.外借状态能够自动反应在书籍信息中 FEAT11.按人、按书查询外借情况 FEAT12.列出所有的外借情况 FEAT14.所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行 FEAT13.按特定时间段统计购买金额、册数 FEAT14.所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行

用例和用例图

用例和用例图

扩展关系
扩展点是一个条件,决定扩展是否会被使用, 扩展点定义了一个扩展用例一直在监视的条 件,一旦条件满足,扩展用例就将自己加入 到执行用例中。比如基用例向系统报告一个 错误,该错误这是某个扩展用例监视的条件, 在收到这个条件后,扩展用例就插入执行, 对错误进行处理,执行完毕后,基用例被允 许从中断的地方继续执行。
用例图
用例图是基于用例的方法的一部分,基 于用例的方法还包括对用例的文本描述 和用例脚本。文本描述用来强调用例的 需求细节,脚本则用来说明用例执行中 的选项、测试需求以及为后续的开发提 供较高层次的测试计划。
参与者(1)
参与者是某种类型的用户,用户指使用系 统的人,或者是其他的的系统、设备。 参与者的图形表示见教材P24页图3.4所示。
用例和用例图
教学目的
熟悉用例的概念,掌握用例图的作用; 掌握用例之间的关系; 学会使用用例对软件系统需求建模; 掌握用例描述; 掌握Rose下用例建模。
用例建模概述
用例图从用户的角度来描述系统功能,并 指出各功能的操作者,其基本组成成份是系 统、参与者和用例。 用例从外部用户的角度来描述系统应该实现 什么样的功能。 参与者是与系统进行交互的外部实体,系统 是实现各种用例的“黑盒”。
establish credit
监督员
用例图
用例图包含三个元素,它们是:参与者、用例、关 系。 参与者:参与系统成功操作的某些人、系统、设 备甚是是企业所扮演的角色。 用例:标志系统的某个关键行为。每个用例都表 达了系统必须达到的目标或必须产生的结果。 关系:标志参与者和用例之间的交互称为关联。 每个关联成为在用例描述中加以解释的对话,而每 个用例描述又提供了一组脚本,它们有助于开发测 试用例。用例之间有包含、扩展和泛化关系。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⑨系统回到管理主界面,显示所有课程,用例结束。

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

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

② 确定各参与者所期望的系统行为。
4.5 发现用例
发现用例的一般方法:

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

② 确定各参与者所期望的系统行为。
4.5 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。
教学进程

① 找出系统外部参与者,确定系统边界和范围。
② 确定各参与者所期望的系统行为。

管理员: 借书证管理: 办证,补证,注销,证件查询 图书管理:
查询,添加,修改,删除
借阅管理: 书目查询,借书,还书,过期催还,丢失处理 学生: 借书证管理: 办证,补证,注销 借阅管理:
书目查询,借书,还书,丢失处理
√ √ √ √ 开户
存款
取款 转帐
3. 用例的特点 ② 用例描述用户提出的一些可见需求,对应 一个具体的用户目标。
储蓄系统

√ √ √
开户 存款
取款
转帐
×
数据上传
3. 用例的特点 ③ 用例反映系统与用户的一次交互过程,应 该具有交互的信息的传递。
帐户,密码,金额数 确认信息,帐户余额
取款
3. 用例的特点
用例及用例图
张鲲
用例及用例图
4.1 用例 4.2 参与者 4.3 用例之间的关系 4.4 用例图 4.5 发现用例
4.1 用例
1. 用例的概念 用例(use case): 表示参与者与系统的一次交互过程。 2.用例的表示 用例用椭圆表示
3. 用例的特点 ① 用例用于描述系统的功能,这个功能是外 部使用者看到的系统功能,不反映功能的实现 方式。 储蓄系统
● 4.3 用例图 4.4.1 用例图的作用 4.4.2 用例图的形式 ● 4.5 发现用例
● —— 重要知识点
教学进程

⑥ 编制用例说明。
● 用例:还书
●参与者:管理员,借阅者
●操作流:
① 管理员进入图书借阅界面,用例开始。 ②系统要求输入所还图书的条码。 ③系统显示所借图书的信息。 ④确认还书。 ⑤系统回到上一界面,等待处理下一业务。
练习2:
对宾馆客房管理进行用例分析。
① 确定宾馆客房管理的参与者;
② 参与者所看到的客房管理功能;

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

⑥ 编制用例说明。
4.5 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。 ⑤ 绘制用例图。 ⑥ 编制用例说明。
2. 用例图的形式
取款用例描述实例 ● 用例:取款 ●参与者:储户 ●操作流: ① 通过读卡机,储户插入ATM卡 ② ATM系统从卡上读取银行ID、帐号、并验证帐号。
③ 储户键入密码,系统检验密码。
④储户按确认键,输入取款金额。 ⑤ATM把帐号和取款金额传递给银行系统,取回确认信 息和帐户余额。 ⑥ ATM输出现金,并显示帐户余额。 ⑦ATM记录事务到日志文件。
4.2 参与者
1. 参与者的概念
参与者(actor)是外部需要与系统交互的事 物。也被称为活动者。 2.参与者的三种类型 ①. 人:客户,读者,库管员 ②. 设备:计算机,磁盘,读卡机等 ③. 外部系统:上层系统等
3. 参与者的表示
参与者可以表示为下面三种形式。
4. 参与者之间的关系
参与者之间可以有泛化关系。
4.3 用例之间的关系
用例之间可以具有以下几种关系:
①. 关联关系
②. 泛化关系
③. 包含关系
④. 扩展关系
1. 关联关系
参与者与用例之间是关联关系,表示参与者与 用例之间具有使用,交互信息的关联。
2. 泛化关系
参与者与参与者之间,用例与用例之间存在 一般与特殊的关系。
3. 包含关系
两个用例之间,一个用例(基本用例)的行为 包含了另外一个用例(包含用例)的行为。 包含关系用依赖关系的<<include>>构造型来 表示。

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

⑥ 编制用例说明。
● 用例:退房结帐 ●参与者:柜台工作人员
d ATM记录事务到日志文件。
总结
用例的特点
① 用例用于描述系统的功能,这个功能是外 部使用者看到的系统功能,不反映功能的实现 方式。 ② 用例描述用户提出的一些可见需求,对应 一个具体的用户目标。 ③ 用例反映系统与用户的一次交互过程,应 该具有交互的信息的传递。 ④ 用例是对系统功能的描述,属于需求建模。

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

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

⑤ 绘制用例图。●⑤ 绘制用例图。●
⑤ 绘制用例图。

⑤ 绘制用例图。

⑥ 编制用例说明。
● 用例:借书
●参与者:管理员,借阅者 ●操作流:
① 管理员进入图书借阅界面,用例开始。 ② 系统要求输入借阅者的借书证编码。 ③系统检验借书证编码,如果正确,则显示借阅者的信息。 A1:借书证编码有错。 A2: 如果该借阅者所借图书已经超期,则提示,本次拒借. ④ 系统要求输入所借图书的条码。 ⑤ 系统显示所借图书的信息。 ⑥ 确认借书。 ⑦系统回到上一界面,等待处理下一借书。

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

⑧ 优化用例图,解决用例之间的冲突和重复。

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

④ 确定各用例之间的关系(泛化,包含,扩展)。
4.5 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
●说明:
① 工作人员启动退房结帐功能。 ② 输入旅客标志信息。
③ 系统显示旅客入住信息。
④ 显示入住天数,费用。 ⑤ 接收费用。
⑥ 打印发票。
⑦ 入住登记结束。
练习1:
1、对图书馆的图书借阅进行用例分析。
① 确定图书管理的参与者;
② 参与者所看到的图书管理功能;
③ 把这些功能分解为用例; ④ 确定用例之间的关系; ⑤ 画用例图; ⑥ 优化用例图; ⑦ 描述事件流。
④ 用例是对系统功能的描述,属于需求建模。
取款
用例的动态事件流
a 通过读卡机,储户插入ATM卡
b ATM系统从卡上读取银行ID、帐号、并验证帐号。 c 储户键入密码,系统检验密码。
d 储户按确认键,输入取款金额。
e ATM把帐号和取款金额传递给银行系统,取回帐户余额。 f ATM输出现金,并显示帐户余额。
案例1:
某学校网上选课系统的用例分析
管理员通过系统管理界面进入系统,建立本学 期要开设的各种课程,将课程信息保存到系统中,
并可以对课程进行改动和删除。
学生通过客户机浏览器进入系统,选择课程:
可以查询课程,选择课程,支付课程费用。

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

② 确定各参与者所期望的系统行为。
4. 扩展关系
扩展关系表示基本用例在扩展点要增加新的 行为或功能,以扩展到新用例。
扩展关系用依赖关系的<<extend>>构造型来 表示。
4.4 用例图
1. 用例图的作用
用例图用来描述软件需求模型中的系统功能, 通过一组用例可以描述软件系统能够给用户提 供的功能。
用例图可以作为整个系统开发过程中的开发依 据,指导和驱动其他模型。
柜台人员 客房预订 预订变更
入住登记
退房结帐 选择课程 信息查询
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。

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

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

⑤ 绘制用例图。

⑥ 编制用例说明。
相关文档
最新文档