第8讲用例及用例图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


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

⑥ 编制用例说明。
● 用例:退房结帐 ●参与者:柜台工作人员
小结小结教学进程教学进程8181811811812812用例图的应用用例图的应用813813用例图的组成用例图的组成814814发现用例发现用例8282821821类的定义类的定义822822类之间的关系类之间的关系8238238383对象图对象图831831对象图的概念对象图的概念832832对象图的作用对象图的作用8484几个特殊问题几个特殊问题841841对象类和抽象类对象类和抽象类842842派生属性和派生关联派生属性和派生关联8585851851包的概念包的概念852852包的关系包的关系853853包的设计原则包的设计原则854854重要知识点重要知识点
属性的数据类型: 字符串:String 日期:Date 布尔:Boolean 整型:int
类的属性
1. 属性的含义
属性(attribute): 描述类所表示事物的静态性质。
2.属性的格式
[可性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
表示属性值的取值的多寡,以及有序性: 例如: name:String[0..1] 表示属性”name”可能无值,也可能 仅有一个值. points:Point[2..* ordered] 表示有两个或多个值,有序
2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
第1个英文单词首字母小写,其它单 词首字母大写 contactName credintLimit isPrepaid
类的属性
1. 属性的含义
属性(attribute): 描述类所表示事物的静态性质。
2.属性的格式

② 确定各参与者所期望的系统行为。
管理员: 增加课程 修改课程
删除课程
学生: 查询课程 选择课程 网上付费
识别用例的方法
• 每个参与者的任务是什么 • 由参与者将要创建、存储、改变、删除或读取系统中的 信息吗 • 什么用例会创建、存储、改变、删除、或读取这个信息 • 参与者需要通知系统外部的变化吗 • 需要通知参与者系统中正在发生的事情吗 • 什么用例将支持和维护系统 • 所有的功能需求都能被用例执行吗
一个简单的Use Case图
use case
保险业务管理系统
actor
8.1.2 用例图的应用
• 用例图是从用户的角度来描述对软件产品 的需求,分析产品的功能和行为,因此, 对整个软件开发过程而言,用例图是至关 重要的。 • 用例图定义和描述了系统的外部可见行为, 是分析、设计直至组装测试的重要依据。 • 让用户参与前期的系统分析与设计。
某学校网上选课系统的用例分析
管理员通过系统管理界面进入系统,建立本学 期要开设的各种课程,将课程信息保存到系统中,
并可以对课程进行改动和删除。
学生通过客户机浏览器进入系统,选择课程:
可以查询课程,选择课程,支付课程费用。

① 找出系统外部参与者,确定系统边界和范围。
识别参与者的方法
• • • • • • • • • 谁使用系统的主要功能 谁改变系统的数据 谁从系统获取信息 谁需要系统的支持以完成日常工作任务 谁负责日常维护、管理并保证系统正常运行 系统需要应付(处理)那些硬设备 系统需要和那些外部系统交互 谁(或什么)对系统运行产生的结果(值)感兴趣 时间、气温等内部外部条件
帐户,密码,金额数 确认信息,帐户余额
取款
3. 用例的特点
④ 用例是对系统功能的描述,属于需求建模。
取款
用例的动态事件流
a 通过读卡机,储户插入ATM卡
b ATM系统从卡上读取银行ID、帐号、并验证帐号。 c 储户键入密码,系统检验密码。
d 储户按确认键,输入取款金额。
e ATM把帐号和取款金额传递给银行系统,取回帐户余额。 f ATM输出现金,并显示帐户余额。
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。 ⑤ 绘制用例图。 ⑥ 编制用例说明。 ⑦ 对异常流程确定单独用例。
⑧ 优化用例图,解决用例之间的冲突和重复。
案例1:
教学进程

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

管理员: 借书证管理: 办证,补证,注销,证件查询 图书管理:
查询,添加,修改,删除
借阅管理: 书目查询,借书,还书,过期催还,丢失处理 学生: 借书证管理: 办证,补证,注销 借阅管理:
书目查询,借书,还书,丢失处理
参与者
1. 参与者的概念
参与者(actor)是外部需要与系统交互的事 物。也被称为活动者。 2.参与者的三种类型 ①. 人:客户,读者,库管员 ②. 设备:计算机,磁盘,读卡机等 ③. 外部系统:上层系统等
3. 参与者的表示
参与者可以表示为下面三种形式。
• 注意:参与者在用例图中用类似人的图形来表示,但参与 者未必是人,可以是一个外部系统。该外部系统可能需 要从当前系统中获取信息,与当前系统进行交互。

⑥ 编制用例说明。
● 用例:还书
●参与者:管理员,借阅者
●操作流:
① 管理员进入图书借阅界面,用例开始。 ②系统要求输入所还图书的条码。 ③系统显示所借图书的信息。 ④确认还书。 ⑤系统回到上一界面,等待处理下一业务。
练习2:
对宾馆客房管理进行用例分析。
① 确定宾馆客房管理的参与者;
② 参与者所看到的客房管理功能;
3. 用例的特点 ① 用例用于描述系统的功能,这个功能是外 部使用者看到的系统功能,不反映功能的实现 方式。 储蓄系统
√ √ √ √ 开户
存款
取款 转帐
3. 用例的特点 ② 用例描述用户提出的一些可见需求,对应 一个具体的用户目标。
储蓄系统

√ √ √
开户 存款
取款
转帐
×
数据上传
3. 用例的特点 ③ 用例反映系统与用户的一次交互过程,应 该具有交互的信息的传递。
●说明:
① 工作人员启动退房结帐功能。 ② 输入旅客标志信息。
③ 系统显示旅客入住信息。
④ 显示入住天数,费用。 ⑤ 接收费用。
⑥ 打印发票。
⑦ 入住登记结束。
练习1:
1、对图书馆的图书借阅进行用例分析。
① 确定图书管理的参与者;
② 参与者所看到的图书管理功能;
③ 把这些功能分解为用例; ④ 确定用例之间的关系; ⑤ 画用例图; ⑥ 优化用例图; ⑦ 描述事件流。
① 工作人员启动预订功能。 ② 根据预订需求查看客房空闲信息。 ③ 输入预订人信息。 ④ 安排客房。 ⑤ 预订成功。

⑥ 编制用例说明。
● 用例:预订变更 ●参与者:柜台工作人员 ●说明:
① 工作人员启动预订功能。 ② 输入预订人标志信息。 ③ 系统显示该预订人的客房预订信息。 ④ 预订变更。 ⑤ 预订变更成功。
4. 参与者之间的关系
参与者之间可以有泛化关系。
用例之间的关系
用例之间可以具有以下几种关系:
①. 关联关系
②. 泛化关系
③. 包含关系
④. 扩展关系
1. 关联关系
参与者与用例之间是关联关系,表示参与者与 用例之间具有使用,交互信息的关联。
2. 泛化关系
参与者与参与者之间,用例与用例之间存在 一般与特殊的关系。
柜台人员 客房预订 预订变更
入住登记
退房结帐 选择课程 信息查询
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。

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

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

⑤ 绘制用例图。

⑥ 编制用例说明。
● 用例:客房预订 ●参与者:柜台工作人员 ●说明:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。

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

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

⑤ 绘制用例图。

⑥ 编制用例说明。
● 用例:增加课程
●参与者:管理员 ●操作流:
① 管理员选择进入管理界面,用例开始。 ② 系统提示输入管理员密码。 ③ 管理员输入密码。 ④ 系统检验密码。 A1:密码出错。 ⑤ 进入管理界面,系统显示当前所建立的全部课程信息。 ⑥ 管理员选择增加课程,管理员输入新课程信息。 ⑦系统验证是否与已有课程冲突。 A2:有冲突。 ⑧系统添加新课程,并提示添加成功。
③ 把这些功能分解为用例; ④ 确定用例之间的关系; ⑤ 画用例图; ⑥ 描述事件流。
教学进程
第 讲 8.2 类图
8.2.1 类的定义
8
8.2.2 类的关系
8.2.3 类图
类的概念
1. 类的定义 类(class): 具有相似结构、行为和关系的一组对象。 2.类的表示
类名
属性
操作
3.类的其他几种表示形式
3. 包含关系
两个用例之间,一个用例(基本用例)的行为 包含了另外一个用例(包含用例)的行为。 包含关系用依赖关系的<<include>>构造型来 表示。
4. 扩展关系
扩展关系表示基本用例在扩展点要增加新的 行为或功能,以扩展到新用例。
扩展关系用依赖关系的<<extend>>构造型来 表示。
8.1.4 发现用例
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
该属性对外部实体的显现程度. 可见public : + 受限protected: # 私有private : -
类的属性
1. 属性的含义
属性(attribute): 描述类所表示事物的静态性质。
2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
d ATM记录事务到日志文件。
总结
用例的特点
① 用例用于描述系统的功能,这个功能是外 部使用者看到的系统功能,不反映功能的实现 方式。 ② 用例描述用户提出的一些可见需求,对应 一个具体的用户目标。 ③ 用例反映系统与用户的一次交互过程,应 该具有交互的信息的传递。 ④ 用例是对系统功能的描述,属于需求建模。
⑨系统回到管理主界面,显示所有课程,用例结束。

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

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

② 确定各参与者所期望的系统行为。
本讲教学
•教学目标:
(1)用例图; (2)类图; (3)对象图; (4)包图
•教学重点:
用例图;
教学难点:
用例图的构成
第 讲 用例图
8.1.1 用例图 8.1.2 用例图的应用 8.1.3 用例图的组成 8.1.4 发现用例
8
8.1.1 用例图(use case diagram)
在UML中,一个用例模型由若干个用例 图描述。 用例图是显示一组用例、参与者以及它 们之间关系的图。

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

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

⑤ 绘制用例图。

⑤ 绘制用例图。

⑤ 绘制用例图。

⑤ 绘制用例图。

⑥ 编制用例说明。
● 用例:借书
●参与者:管理员,借阅者 ●操作流:
① 管理员进入图书借阅界面,用例开始。 ② 系统要求输入借阅者的借书证编码。 ③系统检验借书证编码,如果正确,则显示借阅者的信息。 A1:借书证编码有错。 A2: 如果该借阅者所借图书已经超期,则提示,本次拒借. ④ 系统要求输入所借图书的条码。 ⑤ 系统显示所借图书的信息。 ⑥ 确认借书。 ⑦系统回到上一界面,等待处理下一借书。
① 简化表示
② 缩略表示
实体类
界面类
控制类
4.类名
① 名词或名词短语(动词或动词短语表示控制类) 例如:人,桌子,图形,汇总 ② 尽可能用明确、简短,业务领域中事物的名称, 避免使用抽象、无意义的名词 例如:帐户,订单,事物 ③ 用英文,第1个字母大写 例如:Shape, Person, CheckingAccdount ④ 可分为简单类名,带路径类名 例如: CheckingAccdount
Banking::CheckingAccdount
类的属性
1. 属性的含义
属性(attribute): 描述类所表示事物的静态性质。
2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
类的属性
1. 属性的含义
属性(attribute): 描述类所表示事物的静态性质。
Use Case 对开发的意义
需求 分析和设计
实现 测试
Use Cases 把所有这些过程绑到一起
8.1.3 用例图的组成
• 用例(Use Case) • 参与者(Actor) • 关系(Relationship)
用例
1. 用例的概念 用例(use case): 表示参与者与系统的一次交互过程。 2.用例的表示 用例用椭圆表示
相关文档
最新文档