识别用例和用例图
02-用例和用例图
3.4.4 几种关系的比较
关系类型
说明
表示符号
关联
actor与use case之间
泛化
actor之间或use case之间
包含
use case之间
扩展
use case之间
用例图
用例图(use case diagram)是显示一组用例、角色以及它 们之间的关系的图.
在UML中, 一个用例模型若干个用例图描述.
角色
由于Actor实际上是一个特殊类, 因此它们之间可以 存在一定的关系,如:
脚本/场景
脚本(scenario)在UML中指贯穿用例的一条单一路径, 用 来显示用例中的某种特殊情况.
其它译名: 情景、情节、剧本.
每个用例有一系列脚本, 包括一个主要脚本, 以及几个 次要脚本. 相对于主要脚本, 次要脚本描述了执行路径 中的异常或可选择的情况.
实例分析:语音邮箱系统----用例脚本
用例3: 登录系统 1. 邮箱用户完成邮箱号输入操作. 2. 邮箱用户键入密码并后跟#键.(默认号码与邮箱号相同) 3. 语音邮件系统播放邮箱菜单: 按1键接收信息. 按2键更改密码. 按3键更改问候语.
实例分析:语音邮箱系统----用例脚本
用例4: 接收信息 1. 邮箱用户完成登录操作. 2. 邮箱用户选择 “接收信息”菜单选项. 3. 语音邮件系统播放信息菜单: 按1收听当前信息; 按2存储当前信息; 按3删除当前信息; 按4返回邮箱菜单. 4. 邮箱用户选择“收听当前信息”菜单选项. 5. 语音邮件系统播放当前新信息,若无新信息,播放当前已有信 息.(注意: 只播放,不删除) 6. 语音邮件系统播放信息菜单. 7. 用户选择”删除当前信息”,则信息被永久删除. 8. 继续执行第3步.
第6章 用例图
3、构建用例模型
采 购 员 用 例 图
采购员能够通过该系统进行订货管理活动。采购员首先根据经营情 况统计所缺的生产资料,根据需要制定出订单。
UML统一建模语言
五、使用Rose创建用例图的步骤说明
3、构建用例模型
会 计 用 例 图
会计负责产品的统计分析 管理,它能够通过该系统 进行如下活动: (1)查询基本信息。会计 能够查询产品的基本信息, 根据产品的基本信息,制 定出相应的方案。 (2)查询销售信息。会计 根据销售情况汇总后交销 售部制定合理的销售方案。 (3)查询供应商信息。会 计能够查询供应商信息。 (4)查询缺货信息。会计 能够查询缺货信息。 (5)查询报损信息。会计 能够查询报损信息。
1、需求分析
“企业进、存、销管理系统” 功能性需求包括以下内容: (1)采购员根据生产原料的使用情况判断采购用品,对需要订购产品信息 统计订货的,并制作产品订单。最后根据订单进行采购活动。 (2)仓库管理员负责产品的库存管理。包括产品入库管理、处理盘点信息、 处理报损产品信息和一些信息的设置。这些设置信息,包括:供应商信息、产 品信息。仓库管理员每天对产品进行一次盘点,当发现库存产品有损坏时,及 时处理报损信息。当产品生产后,将产品进行入库。当产品销售后时,产品进 行出库处理。 (3)统计人员负责统计分析管理,包括:查询产品信息、查询销售信息、 查询供应商信息、查询缺货信息、查询报表信息,并制作报表。统计分析员使 用系统的统计分析功能,了解产品信息、销售信息、供应商信息、库存信息。 (4)在销售员为客户提供售货服务时,接受客户购买产品,根据系统的定 价计算出产品的总价,客户付款,系统自动保存客户购买记录。 (5)系统管理员负责本系统的系统维护。系统管理员负责员工信息管理、 供货商信息管理以及系统维护等。每种管理者都通过自己的用户名称和密码登 录到各自的管理系统中。
用例及用例图案例
用例及用例图-案例
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章用例和用例图
成绩管理
UML用例图组成( UML用例图组成(续) 用例图组成
饮料销售机
UML用例图组成( UML用例图组成(续) 用例图组成
用例与用例的扩展关联用来表示通过对已有用例增加步 用例与用例的扩展关联用来表示通过对已有用例增加步 扩展关联用来表示 骤创建一个新的用例,即对原有的用例进行了扩展。 骤创建一个新的用例 即对原有的用例进行了扩展。扩展只能 即对原有的用例进行了扩展 发生在基用例的序列中的某个具体指定点上。这个点叫做扩 发生在基用例的序列中的某个具体指定点上。 展点.在UML图中,使用带虚线箭头表示,并在线上标有构造 展点 在UML图中,使用带虚线箭头表示, 图中 带虚线箭头表示 如下图所示: 型<<extend>> 。如下图所示:
UML用例图组成( UML用例图组成(续) 用例图组成
包含关联与扩展关联的区别: 包含关联与扩展关联的区别:
存在包含关联的两个用例,在执行基本用例时 一定会执 存在包含关联的两个用例 在执行基本用例时,一定会执 在执行基本用例时 行包含用例;存在扩展关联的两个用例,在执行基本用例时 在执行基本用例时, 行包含用例;存在扩展关联的两个用例 在执行基本用例时 可以执行,也可以不执行扩展部分 可以执行 也可以不执行扩展部分. 也可以不执行扩展部分
UML用例图的作用( UML用例图的作用(续) 用例图的作用
• 用例图的主要作用: 用例图的主要作用:
– 用来描述待开发系统的功能需求和系统使用场景 – 作为开发过程的基础,驱动各阶段的开发工作 作为开发过程的基础, – 用于验证与确认系统需求
画好用例图是由软件需求到最终实现的第一步. 画好用例图是由软件需求到最终实现的第一步.
UML用例图的建模( UML用例图的建模(续) 用例图的建模
用例识别
用例图用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。
用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。
用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。
当用例视图在外部用户出现以前出现时,它捕获到系统、子系统或类的行为。
它将系统功能划分成对参与者(即系统的理想用户)有用的需求。
而交互部分被称作用例。
用例使用系统与一个或者多个参与者之间的一系列消息来描述系统中的交互。
用例图包含六个元素,分别是:参与者(Actor)、用例(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。
用例图可一个包含注释和约束,还可一个包含包,用于将模型中的元素组合成更大的模块。
有时,可以将用例的实例引入到图中。
用例图模型如下所示,参与者用人形图标来标识,用例用椭圆来表示,连线表示它们之间的关系。
一.参与者(Actor)1.参与者的概念参与者是系统外部的一个实体,它以某种方式参与用例的执行过程。
参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。
参与着由参与用例时所担当的角色来表示。
在UML中,参与者用名字写在下面的人形图标表示。
每个参与者可以参与一个或多个用例。
它通过交换信息与用例发生交互(因此也与用例所在的系统或类发生了交互),而参与者的内部实现与用例是不相关的,可以用一组定义其状态的属性充分的描述参与者。
参与者有三大类:系统用户、与所建造的系统交互的其它系统和一些可以运行的进程。
第一类参与者是真实的人,即用户,是最常见的参与者,几乎存在于每个系统中。
命名这类参与者时,应当按照业务而不是位置命名,因为一个人可能有很多业务。
用例图
用例图的Rose建模 建模 用例图的
RecordGrade
QueryGrade Teacher Student ModifyGrade
一、创建用例图 右击“ 右击“use case view” -new->use case diagram
二、重命名用例图并双击打开用例图窗口
用例 参与者 关联 扩展或包含 泛化
实例: 实例:学生管理系统
(4)意义 它有助于在将来实现系统时,确定哪些功能可以重用, 它有助于在将来实现系统时,确定哪些功能可以重用, 在编写代码时就可实现代码的重用,缩短开发周期。 在编写代码时就可实现代码的重用,缩短开发周期。
提示:执行基用例时,每次都必须调用被包含用例。 提示:执行基用例时,每次都必须调用被包含用例。
用例名称 标识符 基本操作流程
归还图书 UC0002 1.图书管理员输入图书信息 图书管理员输入图书信息 2.检索借阅该图书的借阅者的信息 检索借阅该图书的借阅者的信息 3.删除与该图书相关的借阅记录 删除与该图书相关的借阅记录 1a.图书管理员发现图书被损坏,进行损坏处罚 图书管理员发现图书被损坏, 图书管理员发现图书被损坏 1b.输入的图书不存在时,进行确认 输入的图书不存在时, 输入的图书不存在时 2a.借阅者有超期的借阅信息时,进行超期处理 借阅者有超期的借阅信息时, 借阅者有超期的借阅信息时
myCoat.pay(); } }
(3)使用场合 ) 对扩展用例的限制规则: 对扩展用例的限制规则:将一些常规的动作放在一个基本 用例中; 用例中;将可选的或只在特定条件下才执行的动作放在它 的扩展用例中。 的扩展用例中。
练习: 练习:图书管理系统
——摘自《程序员》
答案一: 答案一:
用例和用例图
访客用例图
会员用例图
书店管理员用例图
3、用例描述 (1)细化用例描述----搭框架
用例名称:搜索图书 概述:用户根据关键字搜索图书 前置条件:无 事件流: 基本事件流 扩展事件流 后置条件: 无
3、用例描述 (2)细化用例描述----填"血肉"
事件流: •基本事件流 1 用户点击“搜索图书”,用例开始。 2 系统显示搜索图书商品界面,提示用户输入商品关键字。 3 用户输入图书关键字,选择提交。 4 系统访问数据库,根据关键字查询相关的图书商品信息, 并把查询出的图书信息显示搜索图书页面。 5 用例结束。 •扩展事件流 4a) 系统未查出所要商品相关信息,显示提示信息,用例 结束。 4b) 系统查出用户输入的关键字为空,显示提示信息并返 回基本事件流2。
编写用例描述应遵循以下几点:
使用简单的语法,主语明确,语义易于理解;在事件流描 述中让读者直观地了解是参与者在控制还是系统在控制; 从第三者观察的角度指出参与者的动作,以及系统的响应; 显示参与者的意图而非动作 显示过程向前推移,每一步都有前进感;
构建结构良好的用例
为系统和部分系统中单个的、可标识的、合理的原子行为 命名。 将多个用例的公共的行为抽取出来放到一个被包含用例中。 对于变化部分,将其抽取出来,放到扩展用例中。 清晰的描述事件流。
扩展关系(Extend)
扩展关系表示基本用例在由扩展用例间接说明的一个位置 上隐式的合并了另一个用例(扩展用例)的行为。 基本用例不知道扩展用例的任何细节,没有扩展用例,基 本用例是完整的。只有在特定条件下,它的行为可以被扩 展用例的行为扩展,因此扩展关系处理事件流的异常或者 可选事件。
识别用例和用例图讲解
第13页
2020年1月12日星期日
4.2 用例图组件
用例的文档化
一旦决定了每个用例将做什么和谁将调用它,就应 该写一个简短的文本来描述这一点。这段描述在开 发过程的初始阶段完成,它应该以一些句子说明用 例的目的,还应该说明用例提供的功能的高层次定 义。
第14页
2020年1月12日星期日
4.2 用例图组件
2020年1月12日星期日
4.2 用例图组件
用例的名称
用例通常具有名称,该名称通常简要地描述了用例 的功能。 用例名称通常以一个动词开始,常用动宾结构表示。 用例名称显示在用例图标下面或者图标里面。
第12页
登登登登
2020年1月12日星期日
4.2 用例图组件
用例的大小
对于用例的具体大小没有明确的规定。但一个用例 应该包含一项主要功能,这项功能应该是完整的, 是有始有终的。如:“转帐”就是一个用例,而 “验证密码”一般不看成是一个用例。
第6页
2020年1月12日星期日
4.2 用例图组件
一、参与者:
参与者用于表示使用系统的对象,参与者可以是 一个人或者一个系统。参与者由一个固定的图形表 示,并在图形下面列出参与者的名字。
第7页
管理员
2020年1月12日星期日
4.2 用例图组件
每个参与者的名称要反映参与者的角色,而不 是它的功能或它的实例,所以给参与者提供一个最 能描述其功能的合适名称是非常重要的。并且我们 要避免为代表人的参与者起一个实际人名。如:参 与者张三是个“教师”,是他所扮演的角色。如果 命名为 “张三”就不对了。
第9页
2020年1月12日星期日
4.2 用例图组件
二、用例(Use Case)
软件工程课件之第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】在需求分析中常见的权限控制问题,一般的 用户只可以使用一些常规的操作,如查询等,而管理员 除了常规操作之外还需要进行一些系统管理工作,如一 些关键数据的增加、删除、修改等,操作员既可以进行 常规操作又可以进行一些配置操作。
第三章 用例和用例图
系统边界
… 参与者透过系统边界直接与系统交互,参与者的确定代表
系统边界的确定
有意义交互
任何事物
人、外部系统、外部因素等
武汉大学国际软件学院
12
3.2.2 识别参与者:参与者要点
•
参与者指在系统中所扮演的角色。即在确定参与者时, 应主要考虑他的角色,而不是这个角色的实例。
•
• • •
某些组织中可能有很多营销人员,但他们均起着同 一种作用,扮演着相同的角色。 … 一个用户也可以扮演多种角色:一个高级营销人员
经理
用例C
•
如系统中经理可以参加雇员 的所有用例
武汉大学国际软件学院
21
3.2.2 识别参与者:泛化关系的误用
浏览信息
注册成员
普通浏览者 搜索产品
用户
留言
登录验证身分
系统管理员
回复留言
发送邮件
武汉大学国际软件学院
22
3.2.3 识别用例(use case) 分析典型用例是开发者准确迅速地了解用户要求的最常用 也是最有效的方法,是用户和开发者一起深入剖析系统功 能需求的起点。 “用例”是Ivar Jacobson于20世纪60~70年代在爱立信公 司开发AKE、AXE系列时发明的。
武汉大学国际软件学院
29
用例要点:用户观点而非系统观点
订票 旅客 查看今日航班
处理订票
旅客 显示今日航班
用户观点
系统观点
武汉大学国际软件学院
30
用例 VS. 功能
•呼叫某人
•传输/接收 •电源/基站 •输入输出(显示、键盘) •电话簿管理 •……
•接听电话
•发送短信 •记住电话号码
•…… 用户观点
第五章 用例图
7
用例图的构成要素
3. 系统边界
在项目开发过程中,边界是一个非常重要的概念。这里说的系统边界是指系统与 系统之间的界限。通常我们所说的系统可以认为是由一系列的相互作用的元素形 成的具有特定功能的有机整体。
和系统管理三大管理功能。 1. 项目管理包括项目的增加、删除、更新。 2. 资源管理包括对资源和技能的添加、删除
和更新。 3.系统管理包括系统的启动和关闭,数据的
存储和备份等功能。
说明:技能表示人力资源。
19
1. 分析确定系统的执行者(角色) 到确定
项目管理员、资源管理员、系统管理 员、备份数据系统。
1. 病症监视器可以将采集到的病症信号(组合),格式化后实时的传送到 中央监护系统。
2. 中央监护系统将病人的病症信号开解后与标准的病症信号库里的病症信 号的正常值进行比较,当病症出现异常时系统自动报警。
3. 当病症信号异常时,系统自动更新病历并打印病情报告。
4. 值班护士可以查看病情报告并进行打印。
23
例2 医院病房监护系统
监视病情
产生 病情报告
经 1.过请监初对视步系病的统员需需的求求病进分症行析(分,血析得!压到、系体统温功、能脉要搏求等:) 2. 定时更新病历 3. 病员出现异常情况时报警。 4. 随机地产生某一病员的病情报告。
更新病历
24
二、简单的需求分析说明
需求分析
对“医院病房监护系统”进行分析,确定系统的主要功能如下:
第五章 用例图
1
学习内容
用例和用例图
如何绘制用例图 1、用例分析技术步骤(不固定,可根据需要调整):
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ 找出系统外部的参与者和外部系统,确定系统的边界和范围。 确定每一个参与者所期望的系统行为 把这些系统行为命名为用例 使用泛化、包含、扩展等关系处理系统行为的公共或变更部分 编制每一个用例的脚本 绘制用例图 区分基本事件流和异常情况的事件流,如有需要可以把表示异常 情况的事件流作为单独的用例来处理 ⑻ 细化用例图,解决用例间的重复与冲突。
用例之间的关系 4、参与者与用例之间的关系:关联关系Association
关联关系描述参与者与用例之间的关系,在UML中它是 两个或多个类元之间的关系,它描述了类元的实例间的 联系。(类元,一种建模元素,常见类元包括类、参与者 、构件、数据类型、接口、结点、子系统以及用例等, 其中类是最常见的类元) 关联关系表示参与者和用例之间的通信。在UML中,关 联关系用直线或箭头表示。如果参与者启动了用例,箭 头指向用例;如果参与者利用了用例提供的服务,箭头指 向参与者。如果二者是互动的,则是直线。 例:汽车租赁系统用例图(部分)。显示的是“客户”参与者以 及与他交互的3个用例,“预定”、“取车”、“还车” 。
FEAT01.新增书籍信息 FEAT03.书籍信息按计算机类、非计算机类分别建档 FEAT04.录入新书时能够自动按规则生成书号 FEAT05.计算机类与非计算机类书籍采用不同的书号规则 FEAT06.录入新书时如果重名将自动提示 FEAT02.修改已有的书籍信息 FEAT07.按书名、作者、类别、出版社等关键字组合查询书籍 FEAT08.列出所有书籍信息 FEAT14.所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行 FEAT09.记录外借情况 FEAT10.外借状态能够自动反应在书籍信息中 FEAT11.按人、按书查询外借情况 FEAT12.列出所有的外借情况 FEAT14.所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行 FEAT13.按特定时间段统计购买金额、册数 FEAT14.所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3页
2015年5月14日星期四
4.1 识别用例图
建立一个系统的用例图通常是开发过程中一个 困难的部分。
建立一个用例图包括以下步骤:
定义系统。 确定参与者和用例。 描述用例。 定义用例和参与者之间的关系。 定义用例之间的关系。
第4页 2015年5月14日星期四
4.1 识别用例图
客户和开发者通过用例图达成共识,用例图包 括以下几个内容:
第9页 2015年5月14日星期四
4.2 用例图组件
二、用例(Use Case)
The specification of a sequence of actions, including variants, that a system (or other entity) can perform, interacting with actors of the system. A use case is a coherent unit of functionality provided by a system, a subsystem, or a class as manifested by sequences of messages exchanged among the system and one or more outside interactors (called actors) together with actions performed by the system.
第19页
2015年5月14日星期四
4.3 用例关系
3. 泛化关系
用例的泛化关系指的是一个父用例可以被特 化为多个子用例,而父用例和子用例之间的 关系就是泛化关系。 A generalization from use case A to use case B indicates that A is a specialization of B.
第13页
2015年5月14日星期四
4.2 用例图组件
用例的文档化
一旦决定了每个用例将做什么和谁将调用它,就应 该写一个简短的文本来描述这一点。这段描述在开 发过程的初始阶段完成,它应该以一些句子说明用 例的目的,还应该说明用例提供的功能的高层次定 义。
第14页
2015年5月14日星期四
4.2 用例图组件
第17页
2015年5月14日星期四
4.3 用例关系
2. 扩展关系
在一定条件下,把新的行为加入到已有的用例中,获得的新 用例称为扩展用例,原有的用例称为基础用例,从扩展用例 到基础用例的关系就是扩展关系。
An extend relationship from use case A to use case B indicates that an instance of use case B may be extended by the behavior specified by A.
识别用例的方法
使用已经定义的参与者来识别用例。对于每个参与 者,都需要回答一系列问题:
参与者需要哪些功能? 参与者需要什么支持?
参与者如何与系统信息交互?
用例必须一直与至少一个参与者相关联。
第15页
2015年5月14日星期四
4.3 用例关系
用例之间的关系
用例与用例之间有三种关系:
包含关系(include):当一个用例一直使用 另一个用例时就确定为包含关系。
谁将与系统交互。(参与者)
系统将做什么。(用例) 需要什么接口。(关系)
第5页
2015年5月14日星期四
4.2 用例图组件
一、参与者(Actor) :
参与者代表的是与系统交互的任何人或任何事物。 参与者是外部的,不是系统的组成部分,但如果要 使用或支持参与者,则需要一个接口。 An Actor defines a coherent set of roles that users of use cases play when interacting with use cases. An actor has one role for each use case with which it communicates.
2015年5月14日星期四
4.4 书写用例文档
前置后置条件 ATM自动取款机的取款用例的前置条件?
ATM用户的帐户里有足够的金额
第26页
2015年5月14日星期四
4.4 书写用例文档
基本路径描述 1.使用主动语言
2.句子必须以参与者或者系统做主语
3.每一句都要朝目标迈进 4.只书写“可观测的” 5.不要涉及界面细节
第8页
2015年5月14日星期四
4.2 用例图组件
参与者如何确定?可以通过以下一些问题来帮 助你确定参与者:
谁使用系统的主要功能? 谁从系统获取信息? 谁支持和维护系统? 谁需要系统的支持以履行他们的日常职责? 在组织里这个系统被用到哪里? 与系统交互的是哪些硬件设备? 与这个系统交互的其他系统是哪些?
第27页
2015年5月14日星期四
4.4 书写用例文档
使用主动语言 1.欧文从贝克汉姆处得到传球,守门员...
2.贝克汉姆传球给欧文,欧文射门,守门员扑救...
3.用户名和密码被验证
4.系统验证用户名和密码
第28页
2015年5月14日星期四
4.4 书写用例文档
每一句都要朝目标ቤተ መጻሕፍቲ ባይዱ进 参与者填写姓名
订票
在UML中,用例的泛化关系是通过一个从 子用例指向父用例的三角箭头表示的,如右 图所示。
网上订票
电话订票
第20页
2015年5月14日星期四
例1 建立项目与资源管理系统的Use case图
系统的主要功能是:项目管理,资源管理和系 统管理。项目管理包括项目的增加、删除、更 新。资源管理包括对资源和技能的添加、删除 和更新。系统管理包括系统的启动和关闭,数 据的存储和备份等功能。
系统能够从帐户中扣除取款金额
系统允许选择“打印数据” 或者 “不打印数据”
系统能够显示交易结束信息
第2页 2015年5月14日星期四
4.1 识别用例图
用例图最重要的作用是使最终用户和开发者之 间进行交流。
在开发的初始阶段,通过确定系统的参与者和 主要用例来建立用例图。在细化阶段,把更多 的详细信息加入到已确定的用例中,用例模型 将越来越成熟。
第4章 用例和用例图
一个系统的初始阶段是从获得需求开始的。一 旦需求确定了,就可以在问题说明中确定用例。
本章说明了如何从问题说明中提取用例以及如 何建立用例图模型。
第1页
2015年5月14日星期四
用例:基于用户目标的需求组织形式
立足开发者视角(银行取款) 系统要求用户输入合法的密码
系统能够接受用户录入的取款金额
第6页
2015年5月14日星期四
4.2 用例图组件
一、参与者:
参与者用于表示使用系统的对象,参与者可以是 一个人或者一个系统。参与者由一个固定的图形表 示,并在图形下面列出参与者的名字。
管理员
第7页
2015年5月14日星期四
4.2 用例图组件
每个参与者的名称要反映参与者的角色,而不 是它的功能或它的实例,所以给参与者提供一个最 能描述其功能的合适名称是非常重要的。并且我们 要避免为代表人的参与者起一个实际人名。如:参 与者张三是个“教师”,是他所扮演的角色。如果 命名为 “张三”就不对了。
第23页
2015年5月14日星期四
4.4 书写用例文档
前置后置条件(起点与终点) 前置条件:开始用例前所必需的系统及其环境 条件。 注:前置条件必须是系统在用例开始前能检测 到的。 后置条件:用例成功后系统应该具备的状态。
第24页
2015年5月14日星期四
4.4 书写用例文档
前置后置条件
第25页
第10页
2015年5月14日星期四
4.2 用例图组件
用例简介
用例对参与者和系统之间的交互建立模型。它是通 过参与者调用功能来启动的,这将会产生一个可视 化的结果。一个用例产生的结果必须是一个给系统 用户的特定值。
用例的功能和结果必须是一个完整且有意义的事件 流。它阐明了系统提供给参与者的功能。
第11页
第22页
2015年5月14日星期四
4.4 书写用例文档
(10) ATM从客户帐户中减去所取金额。 (11) ATM向客户提供要取的钱。 (12) ATM打印清单。 ATM退出客户的卡,用例结束。 子事件流a: a1. 提示用户输入无效密码,请求再次输入; a2. 如果三次输入无效密码,系统自动关闭,退出客户银行卡。 子事件流b: b1. 提示用户余额不够。 b2. 返回(5),等待客户重新选择。 后置条件:结束取款事件。
第21页
2015年5月14日星期四
4.4 书写用例文档
用例描述: 用例名称:取款 前置条件: 基本路径: (1) 客户将卡插入ATM机,开始用例。 (2) ATM显示欢迎消息并提示客户输入密码。 (3) 客户输入密码。 (4)ATM确认密码有效。如果无效则执行子事件流a。 (5) ATM提供以下选项:存钱,取钱,查询。 (6) 用户选择取钱选项。 (7) ATM提示输入所取金额。 (8) 用户输入所取金额。 (9) ATM确定该帐户是否有足够的金额。如果余额不够,则执行子事件流b。
第31页
2015年5月14日星期四
4.4 书写用例文档
不要涉及界面细节 会员从下拉框中选择类别
会员在相应文本框中输入查询条件
会员点击”确定”按钮
第32页
2015年5月14日星期四
4.4 书写用例文档
用例名称:结账 用例描述:会员完成一次与商店的交易 参与者:会员 前置条件:会员已经完成选购 基本路径: 1. 会员请求结账 2. 系统检查账户是否处于打开状态 3. 系统检查库存是否满足 4. 系统检查会员提交的信息是否充分 5. 系统合计订单总价 6. 系统显示收费明细 7. 会员确认 8. 系统保存订单信息,通知供应商发货,减少相应库存数量。