uml 基础教程 第三章-用例图.ppt
合集下载
用例和用例图ppt课件
精选课件
6
参与者间的关系
▪ 在用例图中,使用泛化关系 来描述多个参与者之间的公 共行为。
▪ 示例:
父参与者
子参与者
子参与者
▪ 子参与者继承父参与者的 行为和含义,并能增加自 己特有的行为和含义
▪ 子参与者可以出现在父参
与者能出现的任何位置上
精选课件
7
3.3 用例
定义:
对一组动作序列的描述,系统通过执行这一 组动作序列为参与者产生一个可观察的结果
使用扩展关系 ▪ 扩展用例总是在一个或多个扩展点处来扩展基本用例,或
处于特定条件下, 才扩展基本用例。
基本用例
扩展点 扩展点名称
<<extend>>
扩展用例
精选课件
21
扩展关系
使用情形
a.两个用例相似但不完全相同时 b.当要对多个额外情况逐一建模时,使用扩展关
系,用一个独立的用例替代每个额外的情况 c.如果用例涵盖了所有的情况变化,则该用例将
识别用例
用例识别
识别用例最好的方法就是从分析系统的参与者开 始,考虑每个参与者是如何使用系统的。
➢ 参与者要向系统请求什么功能?
➢ 每个参与者的特定任务是什么?
➢ 参与者需要读取、创建、撤消、修改、或存储 系统的某些信息吗?
➢ 是否任何一个参与者都要向系统通知有关突发 性的、外部的改变?或者必须通知参与者关于 系统中的发生的事件?
会变得十分复杂,应该考虑使用扩展关系
精选课件
22
例
项目经理
扩展关系
项目管理系统
<<extend>> ( 任务函数)
[ 选择任务选项]
管理任务
面向对象系统分析与设计-UML基础-用例图
( 1)识别用例的一个重要来源是首先需要找出各种 可能的参与者,开列出他们的名单,然后通过对这些 参与者的调查,为他们描绘出各自要求的用例。 ( 2)识别用例的另一个重要来源是外部事件。考察 所有来自外部世界且需要作出反应的事件。一个给定 事件可能会引起一个与参与者无关的系统反应,或者 一个主要来自参与者的反应。
30
订货系统用例图
<<extend>> 信用卡支付 <<include>> 下订单 <<extend>> <<include>> 计算订单价钱 <<extend>> 退货处理 选择仓库 <<extend>> 退货服务 发货 顾客 缺货 发货者 收款员 付款 <<extend>> 信用卡系统
管理者
货物管理
UseCase
Actor
预定
取车
还车 客户
34
泛化关系
泛化关系(Generalization Association)是表示一般 与特殊的关系。用于共享用例的共同功能行为。用例 可以继承父用例的含义和行为,也可以对父用例的行 为进行增加和修改。子用例可以出现在父用例出现的 任何位置。 泛化关系用泛化箭线(带空心三角箭头的实线)表 示,从子用例发出,指向父用例。如果需要可以在箭 线上标出联系的名称。
32
关系
用例除了与参与者有联系以外,用例之 间还存在着一定的关系。参与者之间还存有 关系。关系类型包括: 关联关系 包含关系 扩展关系 泛化关系
33
关联关系
关联关系用于描 述参与者与用例之间 的关系。在 UML 中用 实线表示。例如,客 户启动系统的取钱功 能,表示客户启动与 用例的关联。关系方 向显示是谁启动了通 信。建立通信之后, 信息是可以双向流动 的。
30
订货系统用例图
<<extend>> 信用卡支付 <<include>> 下订单 <<extend>> <<include>> 计算订单价钱 <<extend>> 退货处理 选择仓库 <<extend>> 退货服务 发货 顾客 缺货 发货者 收款员 付款 <<extend>> 信用卡系统
管理者
货物管理
UseCase
Actor
预定
取车
还车 客户
34
泛化关系
泛化关系(Generalization Association)是表示一般 与特殊的关系。用于共享用例的共同功能行为。用例 可以继承父用例的含义和行为,也可以对父用例的行 为进行增加和修改。子用例可以出现在父用例出现的 任何位置。 泛化关系用泛化箭线(带空心三角箭头的实线)表 示,从子用例发出,指向父用例。如果需要可以在箭 线上标出联系的名称。
32
关系
用例除了与参与者有联系以外,用例之 间还存在着一定的关系。参与者之间还存有 关系。关系类型包括: 关联关系 包含关系 扩展关系 泛化关系
33
关联关系
关联关系用于描 述参与者与用例之间 的关系。在 UML 中用 实线表示。例如,客 户启动系统的取钱功 能,表示客户启动与 用例的关联。关系方 向显示是谁启动了通 信。建立通信之后, 信息是可以双向流动 的。
UML中文课件-用例图类图对象图包图
扩展用例依赖于被扩展用例(基本用例),它不是完 整的独立用例,无法单独执行,因此一定没有活动者 指向扩展用例;
扩展用例不一定每次都被执行和调用。 扩展用例
-12-
用例间的关系3-泛化关系( generalization)
一个用例和其几种情形的用例间构成泛化; 往往将父用例用抽象用例(abstract)表示(即,父用例
-54-
3 客房预订分析
客房预订涉及到“学生”,“订单”,“宾馆”和“客房” 几个类
假设一个订单可以预订到多个客房。
-55-
4 画出完整类图
-56-
本章目录
2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架
2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和通信图 2.11 状态图和活动图 2.12 组件图和部署图
而在OrderItem中有一个stateChange ()方法和 deliverState,不难猜出它就是用于改变其“是否交给 收货人”标志位的。
-29-
先调用Order的dispatch ()方法,它将根据其包含的 OrderItem中产品信息,来按供应商户分拆成若干个 DeliverOrder。商户登录系统后就可以获取其 DeliverOrder,并在执行完成后再调用close ()方法。 此时,就将调用OrderItem的stateChange()方法来改 变其状态。同时再调用Order的close()方法,判断该 Order的所有的OrderItem是否都已经送到了,如果是 就将其真正close()掉。
-37-
-38-
2.8.4 类图的构建步骤
类图的构建步骤 一个关于图书馆图书借阅管理的类图 一个实现旅游宾馆预订的类图
扩展用例不一定每次都被执行和调用。 扩展用例
-12-
用例间的关系3-泛化关系( generalization)
一个用例和其几种情形的用例间构成泛化; 往往将父用例用抽象用例(abstract)表示(即,父用例
-54-
3 客房预订分析
客房预订涉及到“学生”,“订单”,“宾馆”和“客房” 几个类
假设一个订单可以预订到多个客房。
-55-
4 画出完整类图
-56-
本章目录
2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架
2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和通信图 2.11 状态图和活动图 2.12 组件图和部署图
而在OrderItem中有一个stateChange ()方法和 deliverState,不难猜出它就是用于改变其“是否交给 收货人”标志位的。
-29-
先调用Order的dispatch ()方法,它将根据其包含的 OrderItem中产品信息,来按供应商户分拆成若干个 DeliverOrder。商户登录系统后就可以获取其 DeliverOrder,并在执行完成后再调用close ()方法。 此时,就将调用OrderItem的stateChange()方法来改 变其状态。同时再调用Order的close()方法,判断该 Order的所有的OrderItem是否都已经送到了,如果是 就将其真正close()掉。
-37-
-38-
2.8.4 类图的构建步骤
类图的构建步骤 一个关于图书馆图书借阅管理的类图 一个实现旅游宾馆预订的类图
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
用例图实例讲解PPT课件
1.借阅者 2.管理员处 3.管理系统
第16页/共20页
1. 借阅者请求服务的用例图
第17页/共20页
2. 图书馆管理员处理借书、还书 的用例图
第18页/共20页
3. 系统管理员进行系统维护的用 例图
第19页/共20页
谢谢您的观看!
第20页/共20页
概述
• 用例图显示谁将是相关的用户、用户希望系统提供什么服务以及 用户需要为系统提供的服务。
• 用例图最常用来描述系统以及子系统。
第1页/共20页
概述
•
用例图包含6个元素:
① 参与者(Actor)
② 用例(Use Case)
③ 关联关系(Association)
④ 包含关系(Include)
⑤ 扩展关系(Extend)
第8页/共20页
关联关系
• 表示参与者用例之间进行通信。 • 不同的参与者可以访问相同的用例。
第9页/共20页
包含关系
• 客户用例可以简单地包含提供者用例具有的行为,并把它所包含 的用例行为作为自身行为的一部分。
第10页/共20页
扩展关系
• 扩展用例被定义为基础用例的增量扩展。 • 基础用例提供扩展点以添加新的行为。 • 扩展用例提供插入片段以插入到基础用例的扩展点上。
第5页/共20页
用例
• 用例的名称: ① 简单名 ② 路径名
第6页/共20页
识别用例
• 识别用例最好的方法就是从分析系统的参与者开始,考虑每/共20页
5.1.4 用例间的关系
• 1 关联关系 • 2 包含关系 • 3 扩展关系 • 4 泛化关系
第14页/共20页
对需求建模
① 识别系统的外部参与者来建立系统的语境。 ② 考虑每一个参与者期望的行为或需要系统提供的行为。 ③ 把这些公共的行为命名为用例。 ④ 确定提供者用例和扩展用例。 ⑤ 对这些用例、参与者和它们之间的关系建模。 ⑥ 用注释修饰用例。
第16页/共20页
1. 借阅者请求服务的用例图
第17页/共20页
2. 图书馆管理员处理借书、还书 的用例图
第18页/共20页
3. 系统管理员进行系统维护的用 例图
第19页/共20页
谢谢您的观看!
第20页/共20页
概述
• 用例图显示谁将是相关的用户、用户希望系统提供什么服务以及 用户需要为系统提供的服务。
• 用例图最常用来描述系统以及子系统。
第1页/共20页
概述
•
用例图包含6个元素:
① 参与者(Actor)
② 用例(Use Case)
③ 关联关系(Association)
④ 包含关系(Include)
⑤ 扩展关系(Extend)
第8页/共20页
关联关系
• 表示参与者用例之间进行通信。 • 不同的参与者可以访问相同的用例。
第9页/共20页
包含关系
• 客户用例可以简单地包含提供者用例具有的行为,并把它所包含 的用例行为作为自身行为的一部分。
第10页/共20页
扩展关系
• 扩展用例被定义为基础用例的增量扩展。 • 基础用例提供扩展点以添加新的行为。 • 扩展用例提供插入片段以插入到基础用例的扩展点上。
第5页/共20页
用例
• 用例的名称: ① 简单名 ② 路径名
第6页/共20页
识别用例
• 识别用例最好的方法就是从分析系统的参与者开始,考虑每/共20页
5.1.4 用例间的关系
• 1 关联关系 • 2 包含关系 • 3 扩展关系 • 4 泛化关系
第14页/共20页
对需求建模
① 识别系统的外部参与者来建立系统的语境。 ② 考虑每一个参与者期望的行为或需要系统提供的行为。 ③ 把这些公共的行为命名为用例。 ④ 确定提供者用例和扩展用例。 ⑤ 对这些用例、参与者和它们之间的关系建模。 ⑥ 用注释修饰用例。
第三章 用例和用例图PPT课件
精选课件
9
3.2.2 识别参与者(actor)
对于一个大系统,难以列出所有用例的清单。此时,应先 列出所有的参与者,然后在对每个参与者列出他所需的所 有用例。即提供了一种获取用例的系统化过程。
“参与者”(活动者、执行…者)是指在系统之外,透过系 统边界与系统进行有意义交互的任何事物。
精选课件
10
3.2 识别参与者
精选课件
14
思考:识别参与者?
• 寻呼台系统:用户如果预定了天气预报,系统每天定
时给他发天气消息;如果当天气温高于35度,还要提 醒用户注意防暑;
在这个叙述里,谁是寻呼台系统的Actor? 用户?气温?时间?
时间作为参与者,一种习惯用法,用于激活那些系统定 期的、自动执行的用例
精选课件
15
3.2.2 识别参与者:参与者与系统边界
精选课件
40
3.2.4 用例之间的关系
Generalization 泛化关系中,子用例继承父用例的行为和含义,子用例也 可以增加新的行为和含义或覆盖父用例中的行为和含义
<<include>> Include
一个用例(称作基本用例)的行为包含了另一个用例(称 作包含用例)的行为
<<extend>> Extend 扩展关系比泛化关系用更多的规则限制,基础用例提供扩 展点,扩展用例只能在这些扩展点上增加新的行为。
精选课件
19
识别参与者:棋牌馆管理系统
目标:构建一个棋牌馆管理系统 问题描述: 客户通过Internet预订座位,检查座位详情,如果没有空闲 的座位或满意的座位,可以选择进入等候队列。 总台服务员在客户到棋牌馆时,根据客户的预订信息,安排 客户座位。 当客户要离开棋牌馆时,客户到总台服务员办理结账,可以 采用两种方式,一种是现金结账,另一种是银行卡结账,而 银行卡结账将通过与银联POS系统交互来完成。
UML用例图.ppt
3
系统
系统是用例图的一个组成部分,它是对真正软件 系统活动范围的一个抽象。系统的边界用来说明 构建用例的应用范围。系统边界框定义系统的边 界或限制,所以,系统的所有功能或过程会被限 制在系统内,即此边界将系统的所有过程/功能与 外界环境分隔。
4
系统
5
案例分析 汽车租赁---任务陈述
商店将汽车的跟踪自动化---使用条码、柜台终端和激光阅读器,这有许多 优点:租赁助手的效率提高了20%,汽车很少失踪,客户群变大。
Use Case图是后续的分析工作的依据,也是系统测试的 依据。Rational统一过程主张采用Use Case驱动的软 件开发方式。
1
二、Use Case图—示例
ATM
存钱
取钱
用例图是由
转帐
参与者、系 统、用例三
客户
者构成的。
查询
2
主要内容
1. 系统 2. 参与者 3. Use Case 4. Use Case 的联系 5. Use Case 图建立
Rational统一过程主张采用Use Case驱动的 软件开发方式。
13
开发典型用例
14
“剧本(场景)”描述
参与者与系统的对话过程可用一系列步骤(也称 “剧本”)来描述, “剧本”的集合就是Use Case,系统全部的Use Case构成了对于系统 外部可见行为的描述。
15
2.2 Use Case示例
可以是带一个构造型《Actor》的对象类图标表 示,也可以用简易的人形图标表示。
《Actor》 参与者名
业务 参与者名
系统 参与者名
8
1.3 参与者的确定
凡是与系统进行信息交互(包括数据信息与控制信息交换)的外部事 物可以确认为参与者。
系统
系统是用例图的一个组成部分,它是对真正软件 系统活动范围的一个抽象。系统的边界用来说明 构建用例的应用范围。系统边界框定义系统的边 界或限制,所以,系统的所有功能或过程会被限 制在系统内,即此边界将系统的所有过程/功能与 外界环境分隔。
4
系统
5
案例分析 汽车租赁---任务陈述
商店将汽车的跟踪自动化---使用条码、柜台终端和激光阅读器,这有许多 优点:租赁助手的效率提高了20%,汽车很少失踪,客户群变大。
Use Case图是后续的分析工作的依据,也是系统测试的 依据。Rational统一过程主张采用Use Case驱动的软 件开发方式。
1
二、Use Case图—示例
ATM
存钱
取钱
用例图是由
转帐
参与者、系 统、用例三
客户
者构成的。
查询
2
主要内容
1. 系统 2. 参与者 3. Use Case 4. Use Case 的联系 5. Use Case 图建立
Rational统一过程主张采用Use Case驱动的 软件开发方式。
13
开发典型用例
14
“剧本(场景)”描述
参与者与系统的对话过程可用一系列步骤(也称 “剧本”)来描述, “剧本”的集合就是Use Case,系统全部的Use Case构成了对于系统 外部可见行为的描述。
15
2.2 Use Case示例
可以是带一个构造型《Actor》的对象类图标表 示,也可以用简易的人形图标表示。
《Actor》 参与者名
业务 参与者名
系统 参与者名
8
1.3 参与者的确定
凡是与系统进行信息交互(包括数据信息与控制信息交换)的外部事 物可以确认为参与者。
需求分析——UML用例图PPT课件
-32-
第32页/共84页
要点:用例止于系统边界
描述交互,而不是内在的系统活动
-33-
第33页/共84页
要点:有意义的目标
设定查询条件
会员
选择零件
会员
检索零件
-34-
第34页/共84页
要点:结果值由系统生成
出纳员
吃饭
系统需要处理的,由系统生成
-35-
第35页/共84页
要点:业务语言而非技术语言
• “非程序员杂志”第26到30期UML工具一览,列出了约129个UML开发工具
-7-
第7页/共84页
内容安排
• UML概述 • 理解需求 • 需求,难在何处? • 以用例为中心组织需求 • 基于用例的需求分析过程
-8-
第8页/共84页
认识问题
分析问题
解决问题
以开发者的身份站在开发团队的 角度分析问题
Booch93 OMT-2
统一 化
Booch91 OMT-1 其他方法 OOSE
分散
的
Grady Booch Jim Rumbaugh
第4页/共84页
Ivar Jacobson各 部
分
-4-
UML发展现状
• 目前通用的是UML 1.x版 • 主要UML 1.3、UML 1.4 • 2003年3月正式发布UML 1.5
-24-
第24页/共84页
相关术语
场景:是用来描述用户和系统之间交互的顺序的步骤 用例:是为了达到某一用户目标而组合在一起的一组场景
用例图:用来显示在系统(或其它实体)内的用例与系统参与者之间的关系
用例模型:是系统既定功能及系统环境的模型,并作为客户和开发人员之间的契 约。用例模型用作分析、设计和测试活动的基本输入。
第32页/共84页
要点:用例止于系统边界
描述交互,而不是内在的系统活动
-33-
第33页/共84页
要点:有意义的目标
设定查询条件
会员
选择零件
会员
检索零件
-34-
第34页/共84页
要点:结果值由系统生成
出纳员
吃饭
系统需要处理的,由系统生成
-35-
第35页/共84页
要点:业务语言而非技术语言
• “非程序员杂志”第26到30期UML工具一览,列出了约129个UML开发工具
-7-
第7页/共84页
内容安排
• UML概述 • 理解需求 • 需求,难在何处? • 以用例为中心组织需求 • 基于用例的需求分析过程
-8-
第8页/共84页
认识问题
分析问题
解决问题
以开发者的身份站在开发团队的 角度分析问题
Booch93 OMT-2
统一 化
Booch91 OMT-1 其他方法 OOSE
分散
的
Grady Booch Jim Rumbaugh
第4页/共84页
Ivar Jacobson各 部
分
-4-
UML发展现状
• 目前通用的是UML 1.x版 • 主要UML 1.3、UML 1.4 • 2003年3月正式发布UML 1.5
-24-
第24页/共84页
相关术语
场景:是用来描述用户和系统之间交互的顺序的步骤 用例:是为了达到某一用户目标而组合在一起的一组场景
用例图:用来显示在系统(或其它实体)内的用例与系统参与者之间的关系
用例模型:是系统既定功能及系统环境的模型,并作为客户和开发人员之间的契 约。用例模型用作分析、设计和测试活动的基本输入。
UML用例图
父用例 用例间的泛化关系 子用例
2013-10-09
34
用例间的关系:泛化关系
• 在用例泛化中,子用例表示父用例的特殊形式。 • 子用例从父用例处继承行为和属性,还可以添加、覆盖或改 变继承的行为。 • 如果系统中一个或多个用例是某个一般用例的特殊化时,就 需要使用用例的泛化关系。
参与者
2013-10-09 4
参与者
• 每个参与者可以参与一个或多个用例。它通过交换信息与用 例发生交互,而参与者的内部实现与用例是不相关的,可以 用一组定义其状态的属性充分描述参与者。
书籍查询 书籍预订 查询借阅信息
借书
借阅者
2013-10-09
还书
5
参与者
• 参与者包括人参与者和外部系统参与者。 系统的用户是人参与者,用户通过与系统的交互操纵系统, 完成所需要的工作。 外部系统也可以作为一个参与者,与本系统相互作用,交换 信息。外部系统可以是一个软件系统,也可以是一个硬件设 备。
<<use>>
书籍查询
书籍预订
ห้องสมุดไป่ตู้
登录系统
<<use>>
查询借阅信息
借书
<<extend>>
2013-10-09
借阅者
还书
交纳罚金
15
用例
• 用例不是需求或功能的规格说明,但它也展示和体现了其所 描述的过程中的需求情况。 规格说明只描述执行用例的主线次序、标准行为和一般行为。 用例需要描述执行用例的主线次序、标准行为(输入帐号) 的不同变形、一般行为下的所有异常情况及其预期反应, • 在UML中,用例用一个椭圆来表示,用例的名字可以写在椭 圆的下方。
2013-10-09
34
用例间的关系:泛化关系
• 在用例泛化中,子用例表示父用例的特殊形式。 • 子用例从父用例处继承行为和属性,还可以添加、覆盖或改 变继承的行为。 • 如果系统中一个或多个用例是某个一般用例的特殊化时,就 需要使用用例的泛化关系。
参与者
2013-10-09 4
参与者
• 每个参与者可以参与一个或多个用例。它通过交换信息与用 例发生交互,而参与者的内部实现与用例是不相关的,可以 用一组定义其状态的属性充分描述参与者。
书籍查询 书籍预订 查询借阅信息
借书
借阅者
2013-10-09
还书
5
参与者
• 参与者包括人参与者和外部系统参与者。 系统的用户是人参与者,用户通过与系统的交互操纵系统, 完成所需要的工作。 外部系统也可以作为一个参与者,与本系统相互作用,交换 信息。外部系统可以是一个软件系统,也可以是一个硬件设 备。
<<use>>
书籍查询
书籍预订
ห้องสมุดไป่ตู้
登录系统
<<use>>
查询借阅信息
借书
<<extend>>
2013-10-09
借阅者
还书
交纳罚金
15
用例
• 用例不是需求或功能的规格说明,但它也展示和体现了其所 描述的过程中的需求情况。 规格说明只描述执行用例的主线次序、标准行为和一般行为。 用例需要描述执行用例的主线次序、标准行为(输入帐号) 的不同变形、一般行为下的所有异常情况及其预期反应, • 在UML中,用例用一个椭圆来表示,用例的名字可以写在椭 圆的下方。
第3章 信息系统分析与设计 用例及用例图
第48页,共87页。
3.8 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。
● ② 确定各参与者所期望的系统行为。
第49页,共87页。
3.8 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。
② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
①.泛化关系 ②.包含关系 ③.扩展关系
第31页,共87页。
1. 泛化关系
参与者与参与者之间,用例与用例之间存在一般与 特殊的泛化关系。
第32页,共87页。
2. 包含关系
两个用例之间,一个用例(基用例)的行为要用到 另外一个用例(包含用例)的行为。 包含关系用依赖关系的<<include>>构造型来 表示。
②.在基用例执行的过程中,被包含的用例一定要被执行;
扩展关系如果条件不为真,扩展用例可以不执行。
③.包含关系中的基用例必须依赖被包含的用例,它不能
独立存在;扩展关系中的基用例可以独立存在。
第37页,共87页。
3.6 用例图
1. 用例图的作用
用例图用来描述软件需求模型中的系统功能,通 过一组用例可以描述软件系统能够给用户提供的功 能。
3. 参与者的表示 参与者可以表示为下面三种形式。
第23页,共87页。
4. 参与者之间的关系 参与者之间可以有泛化关系。
第24页,共87页。
5. 参与者的特性 参与者具有以下特性: ①.参与者位于系统外部; ②.参与者与系统发生交互关系 ③.参与者与系统之间存在交互接口
第25页,共87页。
3.4 参与者与用例之间的关系
3.5 用例之间的关系 3.6 用例图
3.8 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。
● ② 确定各参与者所期望的系统行为。
第49页,共87页。
3.8 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。
② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
①.泛化关系 ②.包含关系 ③.扩展关系
第31页,共87页。
1. 泛化关系
参与者与参与者之间,用例与用例之间存在一般与 特殊的泛化关系。
第32页,共87页。
2. 包含关系
两个用例之间,一个用例(基用例)的行为要用到 另外一个用例(包含用例)的行为。 包含关系用依赖关系的<<include>>构造型来 表示。
②.在基用例执行的过程中,被包含的用例一定要被执行;
扩展关系如果条件不为真,扩展用例可以不执行。
③.包含关系中的基用例必须依赖被包含的用例,它不能
独立存在;扩展关系中的基用例可以独立存在。
第37页,共87页。
3.6 用例图
1. 用例图的作用
用例图用来描述软件需求模型中的系统功能,通 过一组用例可以描述软件系统能够给用户提供的功 能。
3. 参与者的表示 参与者可以表示为下面三种形式。
第23页,共87页。
4. 参与者之间的关系 参与者之间可以有泛化关系。
第24页,共87页。
5. 参与者的特性 参与者具有以下特性: ①.参与者位于系统外部; ②.参与者与系统发生交互关系 ③.参与者与系统之间存在交互接口
第25页,共87页。
3.4 参与者与用例之间的关系
3.5 用例之间的关系 3.6 用例图
用例图和类图课件
用例图中可以包含类图作为其组成部 分,用于描述用例中涉及的类及其关 系。
用例图和类图的区别
侧重点不同
用例图强调系统功能需求的描述 ,而类图更注重系统结构的描述
。
表达内容不同
用例图展示系统与外部实体的交互 ,而类图展示类的属性和方法。
适用阶段不同
用例图通常在需求分析阶段使用, 而类图在设计和实现阶段更为常用 。
StarUML
StarUML 是一个开源的、功能强大的 UML 工具,支持 多种类型的图表,包括用例图和类图。它提供了丰富的模 型元素库和灵活的定制功能。
建模技术介绍
用例驱动开发(UDD)
用例图是 UDD 的核心组成部分,用于描述系统的功能需求和行为。通过用例图,开发团队可以更好 地理解系统的需求,并确保开发出的系统满足用户的需求。
案例二:银行系统用例图和类图设计
总结词
详细描述了银行系统的用例图和类图设计, 包括用户登录、账户管理、转账和查询等用 例,以及对应的类图设计,如用户类、账户 类、交易类和查询类等。
详细描述
银行系统是一个复杂的软件系统,其用例图 设计需要考虑用户登录、账户管理、转账和 查询等核心功能。在类图设计中,需要定义 用户类、账户类、交易类和查询类等,并明 确它们之间的关系。通过用例图和类图的设 计,可以更好地理解银行的业务需求和业务
CHAPTER
类图基础
类图的定义
类图是用于描述系统中类以及类与类 之间关系的图形表示法。
类图是一种静态结构图,用于描述系 统中的类以及它们之间的关系。在类 图中,类被表示为矩形,而类之间的 关系则通过不同的线条来表示。
类图的用途
类图主要用于帮助开发人员理解和管理复杂系统中的对象和 它们之间的关系。
用例图和类图的区别
侧重点不同
用例图强调系统功能需求的描述 ,而类图更注重系统结构的描述
。
表达内容不同
用例图展示系统与外部实体的交互 ,而类图展示类的属性和方法。
适用阶段不同
用例图通常在需求分析阶段使用, 而类图在设计和实现阶段更为常用 。
StarUML
StarUML 是一个开源的、功能强大的 UML 工具,支持 多种类型的图表,包括用例图和类图。它提供了丰富的模 型元素库和灵活的定制功能。
建模技术介绍
用例驱动开发(UDD)
用例图是 UDD 的核心组成部分,用于描述系统的功能需求和行为。通过用例图,开发团队可以更好 地理解系统的需求,并确保开发出的系统满足用户的需求。
案例二:银行系统用例图和类图设计
总结词
详细描述了银行系统的用例图和类图设计, 包括用户登录、账户管理、转账和查询等用 例,以及对应的类图设计,如用户类、账户 类、交易类和查询类等。
详细描述
银行系统是一个复杂的软件系统,其用例图 设计需要考虑用户登录、账户管理、转账和 查询等核心功能。在类图设计中,需要定义 用户类、账户类、交易类和查询类等,并明 确它们之间的关系。通过用例图和类图的设 计,可以更好地理解银行的业务需求和业务
CHAPTER
类图基础
类图的定义
类图是用于描述系统中类以及类与类 之间关系的图形表示法。
类图是一种静态结构图,用于描述系 统中的类以及它们之间的关系。在类 图中,类被表示为矩形,而类之间的 关系则通过不同的线条来表示。
类图的用途
类图主要用于帮助开发人员理解和管理复杂系统中的对象和 它们之间的关系。
UML类图详细教程PPT课件
第2页/共109页
二、UML类图中的符号
(一)类
类(Class)在UML中通常以实线矩形框表示,矩形框中含有若干分隔框,分别 包含类的名字、属性、操作、约束以及其他成分等,如下图所示。
类的图形表示和示例
第3页/共109页
在类图中,根据建模的不同景象,类图标中不一定列出全部的内容。如在建立分析 模型或设计模型时,甚至可以只列出类名,在图中着重表达的是类与类之间的联系; 在建立实现 模型时,则应当在类图标中详细给出类的属性和方法等细节。
displays
1
Administrator
OnlineUser
WebSite
use
+ UserName : String = ""
# Password : String = ""
+ Logon() + View()
第44页/共109页
练习: 建模一个类图 在这个练习中,将会从用例图建模一个类图。读者应该遵循前面介绍的步骤来建模
存在,而只是表示类图不需要该细节。
第43页/共109页
最后,为属性和操作提供参数、数据类型和初始值。如下图所示:
Teacher
1 maintains
1..*
ReportCard
+ Generate()
contains
1..*
1
Grades
1..*
generates
+ RecordGrades(in student : String, in assignment : String, in grade : Integer) + UpdateGrades(in student : String, in assignment : String, in grade : Integer) + Distribute() - SaveGrades() - LoadGrade(argname)
二、UML类图中的符号
(一)类
类(Class)在UML中通常以实线矩形框表示,矩形框中含有若干分隔框,分别 包含类的名字、属性、操作、约束以及其他成分等,如下图所示。
类的图形表示和示例
第3页/共109页
在类图中,根据建模的不同景象,类图标中不一定列出全部的内容。如在建立分析 模型或设计模型时,甚至可以只列出类名,在图中着重表达的是类与类之间的联系; 在建立实现 模型时,则应当在类图标中详细给出类的属性和方法等细节。
displays
1
Administrator
OnlineUser
WebSite
use
+ UserName : String = ""
# Password : String = ""
+ Logon() + View()
第44页/共109页
练习: 建模一个类图 在这个练习中,将会从用例图建模一个类图。读者应该遵循前面介绍的步骤来建模
存在,而只是表示类图不需要该细节。
第43页/共109页
最后,为属性和操作提供参数、数据类型和初始值。如下图所示:
Teacher
1 maintains
1..*
ReportCard
+ Generate()
contains
1..*
1
Grades
1..*
generates
+ RecordGrades(in student : String, in assignment : String, in grade : Integer) + UpdateGrades(in student : String, in assignment : String, in grade : Integer) + Distribute() - SaveGrades() - LoadGrade(argname)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 饮料销售机的主要功能是允许一个顾客购买一罐饮料, 很可能用户立刻就能告诉你一些有关的场景(换句话说就 是用例),你可以给这组场景加上一个标签“买饮料”。 下面我们来考察这个用例中每一种可能的场景。
(1)用例“买饮料”
• 这个用例的参与者是买饮料的顾客。顾客将钱插入销售 机触发了这个用例的场景被执行,然后用户进行选择。如 果一切顺利,销售机内至少还存储有一罐被选择的饮料, 则销售机会自动弹出这种饮料给顾客。
• 参与者是用例的启动者,参与者处于用例的外部并且 能够初始化一个用例,但它并不是所描述系统的一部分, 它可能是人或其他外界系统。
• 参与者是指存在于系统外部并直接与系统进行交互的人、 系统、子系统或类的外部实体的抽象。 每个参与者都可以参与一个或多个用例,每个用例也可 以有一个或多个参与者。
用一个小人表示:
第三章 用例图
本章导读
• 知道参与者、用例和关系的概念 • 了解用例的粒度和规约 • 掌握参与者和用例的确定关系
思考学习下内容
• 什么是用例? • 创建、包含和扩展用例等的思想 • 如何开始一个用例分析? • 如何表示一个用例模型? • 如何可视化用例之间的关系?
• 【用途】:帮助开发团队以一种可视化的方式理解系统的 功能需求。
• 理想情况下,顾客看到这条消息后会立即选择其它品牌 的饮料。销售机也必须提供给顾客取回原来的钱的选项。 这表示,销售机应给顾客两种选择:让顾客选择另一种饮 料并且给顾客提供这种饮料(如果这种饮料还有存货的话) 或者让顾客选择退钱。
该场景的前置条件是顾客感到口渴,后置条件是顾客 得到一罐饮料或者顾客投入的钱被退回。
“缺货”的场景
• 另一种“缺货”的场景。“指定品牌的饮料售完”消息 显示在机器上,直到对这台机器补充为止。在这种情况下, 用户不再输入钱了。销售机的客户可能更喜欢第一种场景: 如果顾客已经投了钱,应该让顾客做另外一种选择而不是 要机器退钱。
“付款数不正确”的 场景
• 紧接着让我们来看看“付款数不正确”的这个场景。顾客 按照通常的方式发起了这个用例,并进行了一个选择。假 设这是机器中备有选择的饮料。如果机器中刚好存有适合 的零钱,那么机器就会退还零钱并交付饮料。如果机器中 没有保存零钱,它将退还钱,并显示一条消息提示用户投 入适当的零钱。
• 要用在用例图上显示某个用例:
➢使用人形符号绘制一个参与者;
➢绘制一个椭圆表示用例,将用例的名称放在椭 圆的中心或椭圆下面的中间位置;
➢使用带箭头或不带箭头的线段来描述参与者和 用例之间的关系。
举例:饮料销售机
• 假设你现在正着手设计一台饮料销售机。为了获得用户 的观点,你会见了许多可能的用户以了解这些用户将如何 与这台机器交互。
• 特别注意:参与者并不仅仅是指一个人,它代表的是 一个集合。也就是说,参与者(角色)是一个群体概念, 代表的是一类能使用某个功能的人或事,不能将角色的名 字表示成角色的某个实例(如,张三)。
• 用户对系统的使用方式决定了系统如何设计和构造。用例 是能够帮助分析员和用户确定系统使用情况的UML组件。 一组用例就是从用户的角度出发对如何使用系统的描述。
• 可以认为用例是系统的一组使用场景。 • 用例图的主要要素是参与者、用例和关联。
• 用例图主要用于描述系统的行为及各种功能之间的关系, 是描述参与者(Actor)与用例以及用例与用例之间关系 的图。
前置条件和前面场景一样,后置条件是顾客得到一罐 饮料和找回零钱或者按原款归还钱。
• 另一种可能是机器的储备零钱一旦用光,就会在机器 上显示一条小子告诉用户需要投入适当的零钱。直到对这 台机器补充零钱为止,这条消息才会消失。
(2)其他用例
• 已经从用户的观点考察了饮料销售机。除了这些用户外, 当然还有其他人加入。供货人负责为销售机提供饮料,收 款人(可能与供货人是同一个人)负责定期收集销售机中 的钱。这说明至少需要建立两个用例:“供货”和“取 钱”,这些用例细节可以通过与供货人和收款人交谈来获 得。
3.1 用例图的构成
• 用例图可以用于描述系统的功能性需求和系统功能 的使用环境。
• 用例图可视化地描述了系统外部的使用者(抽象为 参与者)和使用者使用系统时系统为这些使用者提 供的一系列服务(抽象为用例),并清晰地描述了:
参与者和参与者之间的泛化关系; 用例和用例之间的包含关系、泛化关系、扩展关系; 用例和参与者之间的关联关系
“供货”用例
• 考虑“供货”用例。供货人发起这个用例是由于某个时间 间隔到期所引起的。供货代表打开销售机拉出销售机前面 的架子,在架子上补满各种品牌的饮料。销售员还要在机 器中加零钱。然后他放好销售机的前端架子,并锁好机器。 这个用例的前置条件是一个时间间隔的流逝,后置条 件是供货人在机器中放置了新的待售饮料。
• 上面的“买饮料”场景是唯一可描述的场景么?。显然, 我们立即会想到还有其他的场景。顾客所要购买的饮料销 售机中可能没有。顾客投入的钱数不是刚好等于购买饮料 所需要的钱。应该如何设计饮料销售机来处理这些场景呢?
没有所需饮料的场景
• 先看看没有所需的饮料这个场景,它是用例“买饮料” 的另一场景。可以把这个场景看成是用例执行时的一条可 选路径。用例是由顾客在销售机中插入钱币所发起的。然 后客户进行一个选择,销售机中至少要有一罐选择的饮料, 如果没有,销售机就给顾客提示一个信息,告诉顾客没有 这种品牌的饮料。
“取钱”用例
• 还有一个“取钱”用例,同样也是因为一段时间的流逝, 收款人发起了这个用例。它的前期工作步骤与”供货“一 样,也是打开销售机前端架子。收款人从机器中取出钱, 然后按照”供货“步骤,放回架子锁好机器。 这个用例的前置条件也是时间间隔的流逝,后置条件 是收款人收到了钱。
3.1.1 参与者
• 用例图从用户和外部系统的角度,分析和考察系统的行 为,并通过参与者与系统之间的交互关系描述系统对外提 供的功能特性,用例图用于描述系统与外部系统及用户之 间的交互。
• UML的用例图由参与者、用例及它们之间的关系组成, 它的表达方式为:
用例图 = 参与者 + 用例 + 关系
Use Case Diagram = Actor + Use Case + Relationship
(1)用例“买饮料”
• 这个用例的参与者是买饮料的顾客。顾客将钱插入销售 机触发了这个用例的场景被执行,然后用户进行选择。如 果一切顺利,销售机内至少还存储有一罐被选择的饮料, 则销售机会自动弹出这种饮料给顾客。
• 参与者是用例的启动者,参与者处于用例的外部并且 能够初始化一个用例,但它并不是所描述系统的一部分, 它可能是人或其他外界系统。
• 参与者是指存在于系统外部并直接与系统进行交互的人、 系统、子系统或类的外部实体的抽象。 每个参与者都可以参与一个或多个用例,每个用例也可 以有一个或多个参与者。
用一个小人表示:
第三章 用例图
本章导读
• 知道参与者、用例和关系的概念 • 了解用例的粒度和规约 • 掌握参与者和用例的确定关系
思考学习下内容
• 什么是用例? • 创建、包含和扩展用例等的思想 • 如何开始一个用例分析? • 如何表示一个用例模型? • 如何可视化用例之间的关系?
• 【用途】:帮助开发团队以一种可视化的方式理解系统的 功能需求。
• 理想情况下,顾客看到这条消息后会立即选择其它品牌 的饮料。销售机也必须提供给顾客取回原来的钱的选项。 这表示,销售机应给顾客两种选择:让顾客选择另一种饮 料并且给顾客提供这种饮料(如果这种饮料还有存货的话) 或者让顾客选择退钱。
该场景的前置条件是顾客感到口渴,后置条件是顾客 得到一罐饮料或者顾客投入的钱被退回。
“缺货”的场景
• 另一种“缺货”的场景。“指定品牌的饮料售完”消息 显示在机器上,直到对这台机器补充为止。在这种情况下, 用户不再输入钱了。销售机的客户可能更喜欢第一种场景: 如果顾客已经投了钱,应该让顾客做另外一种选择而不是 要机器退钱。
“付款数不正确”的 场景
• 紧接着让我们来看看“付款数不正确”的这个场景。顾客 按照通常的方式发起了这个用例,并进行了一个选择。假 设这是机器中备有选择的饮料。如果机器中刚好存有适合 的零钱,那么机器就会退还零钱并交付饮料。如果机器中 没有保存零钱,它将退还钱,并显示一条消息提示用户投 入适当的零钱。
• 要用在用例图上显示某个用例:
➢使用人形符号绘制一个参与者;
➢绘制一个椭圆表示用例,将用例的名称放在椭 圆的中心或椭圆下面的中间位置;
➢使用带箭头或不带箭头的线段来描述参与者和 用例之间的关系。
举例:饮料销售机
• 假设你现在正着手设计一台饮料销售机。为了获得用户 的观点,你会见了许多可能的用户以了解这些用户将如何 与这台机器交互。
• 特别注意:参与者并不仅仅是指一个人,它代表的是 一个集合。也就是说,参与者(角色)是一个群体概念, 代表的是一类能使用某个功能的人或事,不能将角色的名 字表示成角色的某个实例(如,张三)。
• 用户对系统的使用方式决定了系统如何设计和构造。用例 是能够帮助分析员和用户确定系统使用情况的UML组件。 一组用例就是从用户的角度出发对如何使用系统的描述。
• 可以认为用例是系统的一组使用场景。 • 用例图的主要要素是参与者、用例和关联。
• 用例图主要用于描述系统的行为及各种功能之间的关系, 是描述参与者(Actor)与用例以及用例与用例之间关系 的图。
前置条件和前面场景一样,后置条件是顾客得到一罐 饮料和找回零钱或者按原款归还钱。
• 另一种可能是机器的储备零钱一旦用光,就会在机器 上显示一条小子告诉用户需要投入适当的零钱。直到对这 台机器补充零钱为止,这条消息才会消失。
(2)其他用例
• 已经从用户的观点考察了饮料销售机。除了这些用户外, 当然还有其他人加入。供货人负责为销售机提供饮料,收 款人(可能与供货人是同一个人)负责定期收集销售机中 的钱。这说明至少需要建立两个用例:“供货”和“取 钱”,这些用例细节可以通过与供货人和收款人交谈来获 得。
3.1 用例图的构成
• 用例图可以用于描述系统的功能性需求和系统功能 的使用环境。
• 用例图可视化地描述了系统外部的使用者(抽象为 参与者)和使用者使用系统时系统为这些使用者提 供的一系列服务(抽象为用例),并清晰地描述了:
参与者和参与者之间的泛化关系; 用例和用例之间的包含关系、泛化关系、扩展关系; 用例和参与者之间的关联关系
“供货”用例
• 考虑“供货”用例。供货人发起这个用例是由于某个时间 间隔到期所引起的。供货代表打开销售机拉出销售机前面 的架子,在架子上补满各种品牌的饮料。销售员还要在机 器中加零钱。然后他放好销售机的前端架子,并锁好机器。 这个用例的前置条件是一个时间间隔的流逝,后置条 件是供货人在机器中放置了新的待售饮料。
• 上面的“买饮料”场景是唯一可描述的场景么?。显然, 我们立即会想到还有其他的场景。顾客所要购买的饮料销 售机中可能没有。顾客投入的钱数不是刚好等于购买饮料 所需要的钱。应该如何设计饮料销售机来处理这些场景呢?
没有所需饮料的场景
• 先看看没有所需的饮料这个场景,它是用例“买饮料” 的另一场景。可以把这个场景看成是用例执行时的一条可 选路径。用例是由顾客在销售机中插入钱币所发起的。然 后客户进行一个选择,销售机中至少要有一罐选择的饮料, 如果没有,销售机就给顾客提示一个信息,告诉顾客没有 这种品牌的饮料。
“取钱”用例
• 还有一个“取钱”用例,同样也是因为一段时间的流逝, 收款人发起了这个用例。它的前期工作步骤与”供货“一 样,也是打开销售机前端架子。收款人从机器中取出钱, 然后按照”供货“步骤,放回架子锁好机器。 这个用例的前置条件也是时间间隔的流逝,后置条件 是收款人收到了钱。
3.1.1 参与者
• 用例图从用户和外部系统的角度,分析和考察系统的行 为,并通过参与者与系统之间的交互关系描述系统对外提 供的功能特性,用例图用于描述系统与外部系统及用户之 间的交互。
• UML的用例图由参与者、用例及它们之间的关系组成, 它的表达方式为:
用例图 = 参与者 + 用例 + 关系
Use Case Diagram = Actor + Use Case + Relationship