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

合集下载

第3章 用例图

第3章 用例图

为了保证系统正常运行,谁将对系统进行维护管理

(副参与者)? 谁将完成系统数据的录入、导出及修改等工作(主 动参与者)? 谁或什么系统对系统产生的结果感兴趣(被动参与 外部系统进行交互? 在预定的时间,是否有事件自动触发? 系统从何处获取信息?
(2)参与者不一定是人,也可以是一个外部系统, 该系统与本系统相互作用。代表的是一种角色。 (3)在系统的实际运作中,多个不同的用户可能 只对应于一个参与者;同时一个实际用户也可 能对应系统的多个参与者。
例如: 在“房地产开发经营管理系统”中,
所有的购房者作为一个集合,在“房屋销售子 系统”中作为购房合同的签约方出现,多个个 体在系统中担任一个参与者;同时,某个独立 的购房者在“物业管理子系统”中又作为房屋 的业主出现,同一个人在系统中担任了两类参 与者。
主参与者和副参与者
主参与者使用系统的主要功能,是使用系统较 频繁、业务量较大的用户。 副参与者处理系统的辅助功能,它与用例进行 交互的主要目的是为了给其他的参与者提供某些服 务。如管理数据库、通信、系统备份以及其他管理
等系统维护工作。
主动参与者和被动参与者
主动参与者是系统的启动者,负责启动一个或多
借阅图书用例的描述
用例名称 标识符 用例描述 参与者 状态 BorrowBook UC0001 图书管理员代理借阅者办理借阅手续 图书管理员 通过审查
前置条件
后置条件 假设 基本操作流程
图书管理员登录进入系统
如果这个用例成功,在系统中建立并存储借阅记录 图书管理员已经成功地登录到系统 1. 2. 3. 4. 5. 管理员输入借书证信息 系统验证借阅证的有效性 图书管理员输入图书信息 添加新的借阅记录 显示借书后的借阅信息

第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?
答案: 销售员
参与者

2012-2013 第二学期 11本 UML 第三章 用例和用例图

2012-2013 第二学期 11本 UML 第三章 用例和用例图

代表两个用例之间的关系, 其中一个用例(基本用例base use case)的行为包含另 一个用例(包含用例inclusion use case)的行为的关系。 例子一:
确 认




查询余额
17
§3.4.2 包含关系(续)

例子二:从基本用例指向包含用例。 基本用例:ATM System 包含用例:Identify Customer ; Validate Account
11
§3.3 脚本(scenario)


脚本又称为情景、场景、情节、剧本等 在UML中,脚本贯穿用例的一条单一路径。 脚本的定义:脚本是用例的实例(instance)。 脚本与用例之间是对象与类的关系。 例如:针对‘取钱’的用例,脚本就会有 1、正常完成取钱的脚本。 2、账户拒绝、取不出钱的处理脚本。 3、取出钱不对后的处理脚本。 但是有1、2、3、…构成了一个用例。 脚本的描述:一个脚本是用具体的文字加以描述的。

用例驱动的方法论。 用例是各种交互的动作序列之间的说明与描述。 用例的描述、表示与命名方法、规律。 用例描述的是系统功能性的需求。 理解用例之间相互关系(泛化、包含、扩展)。 脚本是用例的实例。 参与者在系统中的含义。参与者之间同样有泛化关系。 用例描述是用例的主要部分。 用例描述无统一的标准。 用例分析结果与分析人员的水平与领域知识相关
由以上例子看出: 其用例描述并无一个固定的模式可循,各自有理解和侧重, 关键是要多加练习。
25
§3.7 寻找用例的方法

用例分析可遵循的步骤:
1、找出系统外部的参与者和外部系统,确定系统的边界; 2、确定每一个参与者所期望的系统行为; 3、命名这些系统行为为用例; 4、使用泛化\包含\扩展关系处理系统行为的公共或变更部分; 5、编制每一个用例的脚本; 6、绘制用例图; 7、区分主事件流和异常事件流,单独处理异常事件流用例; 8、细化用例图,去掉重复与冲突;

第三讲用例图

第三讲用例图

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说明:查询、提款、转帐三个是基用例,它们都包含打印回执用 例.基用例执行时必须执行包含用例,否则,基用例是不完整的,包 含用例不是孤立存在的,它仅作为基用例的一部分出现.图中,包含 关系的箭头是从基用例指向包含用例. • 只有当某个事件流片断在多个用例中出现时,才将这个事件流片段抽 取出来,放在一个单独的用例中,把这个用例用作包含用例。

用例和用例图

用例和用例图

技巧 实地观察
访谈
描述
• 直接观察个人工作旳情况,以发觉现存旳实践方式和
问题
• 从个人处搜集特定信息
特定群体 调查
对一组人员进行调查,以便了解工作态度和共同看法
• 问卷调查 搜集详细数据和统计意义上比较主要旳数据
• • 顾客指 导
让最终顾客告诉你,他们是怎样操作系统旳
• 原型制作 模拟一种无法直接测试旳系统
人、外部系统、外部因素等
12
3.2.2 辨认参加者:参加者要点
• 参加者指在系统中所扮演旳角色。即在拟定参加者时,
应主要考虑他旳角色,而不是这个角色旳实例。
• 某些组织中可能有诸多营销人员,但他们均起着同
一种作用,扮演着相同旳角色。
• 一种顾客也能够扮演多…种角色:一种高级营销人员
既能够是贸易经理,也能够是一般旳营销人员。
小一点旳蓝色大理石
5
3.2.1 获取原始需求:如此脆弱
客户/顾客旳要 求/想法/期望
验收
分析和设计
没价值旳 软件需求
补文档
软件产品 编码和测试
软件设计
6
3.2.1 获取原始需求:也需要开发
客户/顾客旳要 求/想法/期望
软件产品
开发
验收
编码和测试
有价值旳 软件需求
分析和设计
软件设计
7
3.2.1 获取原始需求:技巧
第三章 用例和用例图
1
3.1 概述
• 用例图着重从系统外部执行者旳角度来描述系统需要提
供哪些功能,执行者能够是人或外部系统。
2
3.1 概述
用例图旳构成元素
• 图中旳元素涉及:参加者、用例、某些表达关系旳连接

3章:用例图习题

3章:用例图习题

3章:用例图习题第3章用例图习题一、简答题1. 什么叫参与者,参与者有哪些基本特性?答:参与者也被称为活动者,是与系统发生交互的外部实体。

参与者的特性有:1)参与者位于系统的外部,不属于系统的内容;2)参与者与系统发生交互关系,交互关系主要有:使用系统,启动系统,获取系统信息或给系统提供信息;3)参与者和系统之间存在交互信息的接口,系统提供接口让参与者使用系统,或者系统通过参与者的接口与参与者进行交互。

2. 用例有哪些特性?答:概括起来,用例有以下特性:1)用例描述用户对系统的期望,被用于软件需求建模,一个用例对应于软件能够为参与者提供的一项服务。

2)用例反映参与者与系统一次完整的交互过程。

这个交互过程总是要耗费一段时间,并1执行一定的流程。

流程的执行是参与者与系统的一段互动过程,在这个过程中有输入到系统的信息,以及系统反馈给参与者的信息。

3)用例的执行过程是系统为参与者的一次服务过程,这个服务就体现为系统提供给参与者的功能。

一个用例执行的完成,需要有确定的评价结果,这个结果表现为系统提供给参与者的一项完整的功能。

4)用例是软件设计和测试的依据。

3. 用例之间有哪几种关系?答:泛化关系,包含关系,扩展关系。

4. 用例叙述应该包括哪些基本内容?答:包括:用例编号,用例名,参与者,前置条件,事件流,后置条件。

二、填空题1. 用例图的要素包括(参与者)、用例和(关系)。

2.参与者的英名名称是(actor),参与者2也被称为(活动者)。

3.参与者的类型可以是(人)、设备、(外部系统)和时间。

4.用例的英名名称是(usecase),也被称为(用案)和(用况)。

5.用例之间的关系有(泛化)、包含和(扩展)。

6.执行用例之前系统所处的状态被称为(前置条件),(事件流)被称为用例执行的流程。

三、选择题1.下面不属于用例图作用的是(C)A:展现软件的功能 B:展现软件使用者和软件功能的关系C:展现软件的特性 D:展现软件功能相互之间的关系2.下面(B)不属于用例图的要素A:参与者 B:包含3C:用例 D:关系3.下面对参与者说法不正确的是(A)A:是系统的一个实体 B:也叫活动者C:在系统外部 D:与系统发生交互4.下面(D)不属于参与者类型()A:人 B:设备C:外部系统 D:交互对象5.下面对用例说法不正确的是(C)A:usecase B:用况C:使用情况 D:用案6.下面不属于用例特点的是(B)A:用例描述用户可见的软件功能4B:用例反映功能的不同抽象层次C:用例反映参与者与系统一次完整的交互过程D:用例是软件设计和测试的依据7.下面不属于用例之间关系的是(A)A:关联 B:泛化C:包含 D:扩展四、练习题1.根据你的理解,把下面的用例图补充完整。

T3_用例及用例图

T3_用例及用例图
1)摘要:需求分析早期使用,通常用于主成功场景
2)非正式:需求分析早期使用,可覆盖不同的场景
3)详述:详细编写所有步骤及各种变化。
二、用例图
1.用例图的作用
1)用例图用来描述软件需求模型中的系统功能,通过一组用例可以描述软件系统能够给用户提供的功能。
2)用例图可以作为整个系统开发过程中的开发依据,指导和驱动其他模型。
2.关联关系:参与者与用例之间是关联关系,表示参与者与用例之间具有使用,交互信息的关联。
3.泛化关系:参与者与参与者之间,用例与用例之间存在一般与特殊的关系。
4.包含关系:
1)两个用例之间,一个用例(基本用例)的行为包含了另外一个用例(包含用例)的行为。
2)包含关系Βιβλιοθήκη 依赖关系的<<include>>构造型来表示。
周次
第3周,第1次课;总第2次课
章节名称
第三章:用例及用例图
授课方式
课堂讲授(√);上机实验();
实际操作( );课程设计();
教学时数
2
授课方法
和手段
课堂讲授
教学目的
与要求
目的和要求:
1.理解什么是用例及用例图
2.用例的特点
3.用例的构成
4.用例的编写
5.用例的关系
6.如何发现用例
7.案例演示
教学基本内容纲要
5.扩展关系“
1)扩展关系表示基本用例在扩展点要增加新的行为或功能,以扩展到新用例。
2)扩展关系用依赖关系的<<extend>>构造型来表示。
七、如何发现用例
1.发现用例的简单描述:
1)选择系统边界
2)确定主要参与者
3)确定每个主要参与者的目标

第3章 用例图

第3章 用例图

案例分析--用例图
实例:“杂志流通”
在杂志的内容被一个雇员分析之前,每个杂志 首先由图书馆登记;分析员认为有意义的文章 被汇总输入到系统中;随后,杂志在雇员中传 阅。在此过程中,要求生成流通通知。该通知 被附到杂志上,并且包含现在正在阅读杂志的 雇员的名字。最后,在最后一名读者把杂志返 回到图书馆时,它由图书馆来存档。
3.1 参与者
从上面的问答得到系统中初步的类和对象:
GUI(图形用户界面):识别用户的命令,接收 用户的输入,显示程序的结果。
Recorder(记录员):记录中奖信息。 Chooser(抽奖者):抽出中奖号码。 Printing(打印对象):打印中奖信息。 Searching(查询对象):为奖票持有者查询中
3.2 用例
问:抽奖主持人用这个系 抽奖程序初步的用例图
统做什么事情?兑奖人员
抽奖程序
如何用这个系统帮助兑奖

抽出中奖号码
答:抽奖主持人用这个系统 活动主持人 抽出中奖号码,兑奖人员用
活动主持人
这个系统打印本次活动所有
打印中奖记录
的中奖记录。再对照记录兑 兑奖者
兑奖者
奖。
查询中奖情况
奖票持有者
奖票持有者
用例图的构成4要素:
参与者 用例 系统边界 关联
用例图的基本概念
3.1 参与者
1. 参与者(Actor)的概念
参与者是指存在于被定义系统外部并与该系统发生 交互的人或其他系统,他们代表的是系统的使用者 或使用环境。
在确定系统的用例时,首要问题就是识别参与者 (是一个类!!!!!!不是对象)。
如何识别用例?
参与者要向系统请求什么功能? 每个参与者的特定任务是什么? 参与者需要读取、创建、撤消、修改、或存储系统的某些信息吗? 是否任何一个参与者都要向系统通知有关突发性的、外部的改变?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
● ① 找出系统外部参与者,确定系统边界和范围。
17
● ② 确定各参与者所期望的系统行为。
柜台人员 客房预订 预订变更 入住登记 退房结帐 选择课程 信息查询
18
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
19
● ④ 确定各用例之间的关系(泛化,包含,扩展)。
13
● ⑥ 编制用例说明。
● 用例:增加课程
●参与者:管理员
●操作流:
① 管理员选择进入管理界面,用例开始。
② 系统提示输入管理员密码。
③ 管理员输入密码。
④ 系统检验密码。
A1:密码出错。
⑤ 进入管理界面,系统显示当前所建立的全部课程信息。
⑥ 管理员选择增加课程,管理员输入新课程信息。
⑦系统验证是否与已有课程冲突。
2
3.7 业务用例图
4
3.8 实例
• 案例1:
– 有一个爱书之人,家里各类书籍已过千册,平时又 时常有朋友外借,因此需要一个图书管理系统。该 系统应该能够将书籍的基本信息按计算机类、非计 算机类分别建档,实现按书名、作者、类别、出版 社等关键字的组合查询功能。在使用系统录入新书 籍时系统会自动按规则生成书号,以修改信息,但 不能够删除记录。该系统还应该能够对书籍的外借 情况进行记录,可对外借情况列出打印。另外,还 希望能够对书籍的购买金额、册数按特定时限进行 统计。
20
● ⑤ 绘制用例图。
21
● ⑥ 编制用例说明。
● 用例:客房预订 ●参与者:柜台工作人员 ●说明:
① 工作人员启动预订功能。 ② 根据预订需求查看客房空闲信息。 ③ 输入预订人信息。 ④ 安排客房。 ⑤ 预订成功。
22
● ⑥ 编制用例说明。
● 用例:预订变更 ●参与者:柜台工作人员 ●说明:
A2:有冲突。
⑧系统添加新课程,并提示添加成功。
⑨系统回到管理主界面,显示所有课程,用例结束。
14
● ⑦ 对异常流程确定单独用例。 ⑧ 优化用例图,解决用例之间的冲突和重复。
15
案例3:
宾馆客房业务管理用例分析
宾馆客房业务管理提供客房预订、预订变更、 客房入住、退房结帐、旅客信息查询几个方面的 功能。
END
27
5
案例1: • 用例图
6
案例1: • 优化
7
案例2:
某学校网上选课系统的用例分析
管理员通过系统管理界面进入系统,建立本学 期要开设的各种课程,将课程信息保存到系统中, 并可以对课程进行改动和删除。 学生通过客户机浏览器进入系统,选择课程:可 以查询课程,选择课程,支付课程费用。
8
● ① 找出系统外部参与者,确定系统边界和范围。
第3章 用例和用例图
● 3.4 用例图 3.4.1 用例图的作 3.4.2 用例图的形式
● 3.5 用例描述 ● 3.6 用例分析 ● 3.7 业务用例图
● —— 重要知识点
26
本章作业
(1) 什么叫用例? (2) 用例图在软件建模中的作用是什么? (3) 用例之间存在那几种关系? (4) 包含关系和扩展关系有什么区别? (5) 参与者可以是那几种形式? (6) 什么叫事件流,作用是什么?
24
● ⑥ 编制用例说明。
● 用例:退房结帐 ●参与者:柜台工作人员 ●说明:
① 工作人员启动退房结帐功能。 ② 输入旅客标志信息。 ③ 系统显示旅客入住信息。 ④ 显示入住天数,费用。 ⑤ 接收费用。 ⑥ 打印发票。 ⑦ 入住登记结束。
25
● 小结
3.1 用例
3.2 参与者
3.3 用例之间的关系 4.3.1 关联关系 4.3.2 泛化关系 4.3.3 包含关系 4.3.4 扩展关系
① 工作人员启动预订功能。 ② 输入预订人标志信息。 ③ 系统显示该预订人的客房预订信息。 ④ 预订变更。 ⑤ 预订变更成功。
23
● ⑥ 编制用例说明。
● 用例:入住登记 ●参与者:柜台工作人员 ●说明:
① 工作人员启动入住登记功能。 ② 根据旅客要求查询客房空闲信息。 ③ 如果不满足旅客入住要求,则退出。 ④ 接收旅客信息。 ⑤ 给旅客分配房间床位。 ⑥ 接收押金。 ⑦ 打印入住单 ⑧ 入住登记结束。
9
● ② 确定各参与者所期望的系统行为。
管理员: 增加课程 修改课程 删除课程
学生: 查询课程 选择课程 网上付费
10
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
11
● ④ 确定各用例之间的关系(泛化,包含,扩展)。
12
● ⑤ 绘制用例图。
第3章
用例及用例图-案例
3.7 业务用例图 3.8 案例
1
3.7 业务用例图
• 作用
– 帮助了解机构及其软件系统(或工作内容) – 帮助业务过程重建工程工作 – 帮助员工(小组内成员)充分了解业务及其角色
• 什么时候需要
– 对机构不熟悉 – 机构业务发生变更 – 机构中主要部分使用的软件需建立 – 机构中有些大型复杂工作流的文档不足
相关文档
最新文档