第3章 需求用例建模方法_第1页
第3章 需求用例建模方法_第2页
第3章 需求用例建模方法_第3页
第3章 需求用例建模方法_第4页
第3章 需求用例建模方法_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第第3 3章章 软件需求的软件需求的 用例建模方法用例建模方法 邮购系统的业务过程陈述(工作流):邮购系统的业务过程陈述(工作流): n公司的目标是为公司的所有注册会员提供高质量的邮购服务。公司的目标是为公司的所有注册会员提供高质量的邮购服务。 n任何个人或公司只要完成注册表单并将其发送到客户服务部任何个人或公司只要完成注册表单并将其发送到客户服务部 门,成为会员。门,成为会员。 n会员可以通过填写订购表单并将其发送给客服部门进行订购。会员可以通过填写订购表单并将其发送给客服部门进行订购。 n客服部门验证会员资格,将订单转给销售部门。客服部门验证会员资格,将订单转给销售部门。 n库存有货,

2、销售部门处理订单,并将发货单存给库存部门。库存有货,销售部门处理订单,并将发货单存给库存部门。 n库存无货,销售部门向供应商发送购货单。库存无货,销售部门向供应商发送购货单。 n购买的货物到后,入库,库存部门将货物交给该会员,财务购买的货物到后,入库,库存部门将货物交给该会员,财务 部门将发票给会员。部门将发票给会员。 n财务部门收到供应商的物品及发票,验证合格后,将货款打财务部门收到供应商的物品及发票,验证合格后,将货款打 给供应商。给供应商。 回顾回顾: :邮购的业务过程分析邮购的业务过程分析 客户客户 客户服务部客户服务部 销售部门销售部门 库存部门库存部门 财务部门财务部门 填写订填写

3、订 货表单货表单 有库存有库存 处理订单处理订单下订单下订单 填写注填写注 册表单册表单 注册会员注册会员 订货订货 发送货物发送货物 接受货物接受货物 发送发发送发 货单货单 接受发接受发 货单货单 发出发出 货款货款 无库存无库存 邮购公司业务活动图邮购公司业务活动图 回顾回顾: :邮购的业务过程分析邮购的业务过程分析 下面要进行什么分析下面要进行什么分析? ?软件需求软件需求? ? 4 u 回顾需求的活动回顾需求的活动 u 用例图和用例的描述用例图和用例的描述 重点重点 内容内容 什么是用例什么是用例? ? 用例图包括哪些内容用例图包括哪些内容? ? 用例的文字描述的步骤用例的文字描述的

4、步骤? ? 5 3.1 3.1 需求需求(requirement)(requirement)与需求的活动与需求的活动 需求需求就是要获得系统提供的所有服务就是要获得系统提供的所有服务, ,是是“做什么做什么” 软件需求包括五个层次:软件需求包括五个层次: u 业务需求业务需求 u 用户需求用户需求 u 功能和非功能需求功能和非功能需求 u 环境、约束的需求环境、约束的需求 u 接口的需求接口的需求 需求分析阶段的活动需求分析阶段的活动 产出物产出物 会议纪要会议纪要 讨论纪要讨论纪要 分析模型分析模型 需求规格需求规格 说明书说明书 审核通过的审核通过的 规格说明书规格说明书 图图 3-1 3

5、-1 需求分析阶段的活动需求分析阶段的活动 需求管理需求管理 需需求求 获取获取 需求分析需求分析 与建模与建模 规格规格 说明说明 需求需求 验证验证 用例的概念在用例的概念在19861986年年 由由Ivar JacobsonIvar Jacobson正式正式 提出之后被广泛接受,提出之后被广泛接受, 迅速发展,已成为迅速发展,已成为OOOO、 UMLUML、RUPRUP的标准规的标准规 范和方法。范和方法。 3.2 3.2 软件需求软件需求- -用例建模技术用例建模技术 在结构化的软件需求在结构化的软件需求 “系统做什么系统做什么?”?”的问题中的问题中, ,增增 加三个词加三个词“fo

6、r each user”,for each user”, 使问题变为使问题变为“系统应该系统应该为每为每 个用户个用户做什么做什么? ”,? ”,系统对系统对用用 户有什么价值户有什么价值。 n用例方法的思想:用例方法的思想: 从从用户的角度用户的角度看,他们所关心的是系统所能看,他们所关心的是系统所能 提供的提供的服务服务,用户,用户使用使用系统完成不同的任务。系统完成不同的任务。 通讯关联通讯关联 图图 3-2 3-2 系统透视系统透视 参与者参与者 系统外部,并与系统外部,并与 该系统发生交互该系统发生交互 的人或其他系统。的人或其他系统。 系统基本系统基本 事件流。事件流。 用例用例

7、3.2.1 3.2.1 什么是用例什么是用例 问问: :一个自动饮料售货机的功能是什么一个自动饮料售货机的功能是什么? ? 答答: :通过自动饮料售货机购买一听饮料通过自动饮料售货机购买一听饮料( (买饮料买饮料) )。 9 参参 与与 者者 用用 例例 顾客顾客 买饮料买饮料 收款员收款员 收款收款 供应商供应商 提供饮料提供饮料 图图 3-3 3-3 自动饮料售货机的用例图自动饮料售货机的用例图 通信通信 用例:站在用户角度定义软件系统的用例:站在用户角度定义软件系统的外部外部特征特征(1)(1) 用例:是系统执行的用例:是系统执行的动作集合动作集合规格说明规格说明 (2)(2) 用例的特

8、征:用例的特征: n特定的角色特定的角色(particular actor)(particular actor)触发某些行为触发某些行为 n行为序列行为序列(sequences of actions)(sequences of actions) n系统执行系统执行(system performs)(system performs)提供的服务提供的服务 n可观测到的、有价值的结果可观测到的、有价值的结果(observable result of value)(observable result of value)。 10 用例分析技术用例分析技术 用例图用例图显示了系统的一组用例、用例的参与显示

9、了系统的一组用例、用例的参与 者及二者之间关系的图。者及二者之间关系的图。 3.2.2 3.2.2 基本用例图基本用例图(use case diagram)(use case diagram)的组成的组成 学生学生 成绩管理员成绩管理员 注册员注册员 图图 3-4 3-4 简单大学用例图简单大学用例图 输入分数输入分数 注册讨论班注册讨论班 分发成绩单分发成绩单 用例图的组成用例图的组成 n参与者参与者(actor)(actor) n用例用例 n系统边界(隐藏)系统边界(隐藏) n参与者与用例的参与者与用例的 通信关联通信关联 (communication association) 1) 1)

10、 参与者参与者 (actor)(actor) 人与系统进行交互时能够担任的人与系统进行交互时能够担任的不同角色为不同角色为 参与者参与者(actor)(actor)。 11 n参与者可以是人也可以是其他系统。参与者可以是人也可以是其他系统。 n参与者是系统的真正用户参与者是系统的真正用户, ,但二者并不存在一对但二者并不存在一对 一的对应。一的对应。 n参与者访问系统是有级别的参与者访问系统是有级别的, ,可由系统功能而定。可由系统功能而定。 确定参与者确定参与者(actor)(actor) n系统的主要客户是谁系统的主要客户是谁? ? n系统从什么地方得到信息系统从什么地方得到信息? ? n

11、该系统与其他系统交互信息是什么该系统与其他系统交互信息是什么? ? n在某一个预定时间,自动发生什么事情在某一个预定时间,自动发生什么事情? ? 特殊的参与者:系统时钟特殊的参与者:系统时钟 n利用该参与者利用该参与者触发系统的一类定时操作。触发系统的一类定时操作。如定时检测如定时检测 系统、资源使用情况、定期生成统计报表等,这些操系统、资源使用情况、定期生成统计报表等,这些操 作并不是由外部的人或系统触发的。作并不是由外部的人或系统触发的。 n从逻辑上,这一参与者应该被理解成是系统外部的,从逻辑上,这一参与者应该被理解成是系统外部的, 由它来触发系统所提供的用例对话。由它来触发系统所提供的用

12、例对话。 系统时钟系统时钟 周期性任务周期性任务 触发触发 图图 3-5 3-5 特殊的参与者特殊的参与者 13 在使用参与者为角色建模中是一种抽象,在使用参与者为角色建模中是一种抽象, 不为具体的人、机构、系统建模。不为具体的人、机构、系统建模。注意注意 图图 3-6 3-6 对职位建模对职位建模( (不合理不合理) ) 张助教张助教 输入分数输入分数 分发成绩单分发成绩单 刘老师刘老师 核对分数核对分数 2) 2) 确定用例确定用例 用例描述一个事件发生用例描述一个事件发生, ,产生动作步骤的集合。产生动作步骤的集合。 14 (1) (1) 基于参与者的方法基于参与者的方法 对每个参与者对

13、每个参与者, ,识别出他们发起或参加识别出他们发起或参加 的执行过程。的执行过程。 (2) (2) 基于事件的方法基于事件的方法 # # 识别出系统必须响应的外部事件;识别出系统必须响应的外部事件; # # 把事件与参与者和用例联系起来。把事件与参与者和用例联系起来。 以编制好的以编制好的需求规格说明文档为基础需求规格说明文档为基础 例:例:ATMATM系统的用例系统的用例 n参与者:银行客户参与者:银行客户 n用用 例:银行客户使用自动提款机来进行银行例:银行客户使用自动提款机来进行银行 帐户的查询、提款和转帐交易帐户的查询、提款和转帐交易 银行客户银行客户 取款取款 转帐转帐 存款存款 图

14、图 3-73-7 ATM系统的用例图系统的用例图 查询查询 维护人员维护人员 维护系统维护系统 周期性操作周期性操作 后台服务器后台服务器 还有哪些用例还有哪些用例? 还有哪些改进还有哪些改进? ATMATM系统的系统的改进改进用例图用例图 查询查询 存、取款存、取款 转帐转帐 周期性任务周期性任务 维护人员维护人员 维护系统维护系统 图图 3-8 3-8 改进的改进的ATMATM系统用例图系统用例图 系统时钟系统时钟 后台服务器后台服务器银行客户银行客户 系统的启动用例系统的启动用例 n几乎所有的几乎所有的 系统都包含系统都包含 一个系统启一个系统启 动用例。动用例。 17 出纳员出纳员 购

15、买商品购买商品 登录登录 启动启动 退还商品退还商品 管理用户管理用户 其他其他 顾客顾客 系统管理员系统管理员 管理员管理员 图图 3-93-9 POST系统部分用例图系统部分用例图 这个用例有什么问题这个用例有什么问题? ? 18 顾客顾客 购买购买 商品商品 退还退还 商品商品 商店商店 图图 3- 113- 11 以商店工作为系统边界以商店工作为系统边界 顾客顾客 购买购买 商品商品 登录登录 退还退还 商品商品 POST 出纳员出纳员 图图 3- 103- 10 以以POST工作为系统边界工作为系统边界 3) 3) 边界的选择边界的选择 定义系统的边界是为了识别出什么在系统之内定义系

16、统的边界是为了识别出什么在系统之内, , 什么在系统之外什么在系统之外, ,进而识别出什么是系统的职责。进而识别出什么是系统的职责。 典型的系统边界包括典型的系统边界包括: :硬件设备或硬件硬件设备或硬件/ /软件边界软件边界 一个组织中的部门或整个组织。一个组织中的部门或整个组织。 3.2.3 3.2.3 用例图上的其他关系用例图上的其他关系 n在在基本基本的用例图中,只需表述参与者和用例之间的的用例图中,只需表述参与者和用例之间的 通讯关系。通讯关系。 n此外,还可以描述:此外,还可以描述: n参与者与参与者之间的参与者与参与者之间的泛化泛化关系关系(generalization)(gen

17、eralization)。 n用例和用例之间的用例和用例之间的泛化泛化(generalization)(generalization)关系,关系, 包含包含(include)(include)关系,关系, 扩展扩展(extend)(extend)关系。关系。 n利用这些关系来调整、优化用例模型,抽取公共的利用这些关系来调整、优化用例模型,抽取公共的 信息,便于复用和维护。信息,便于复用和维护。 1) 1) 参与者之间的关系参与者之间的关系 n参与者之间的参与者之间的泛化泛化(Generalization)(Generalization)关系关系 actor 2 actor 1 普通用户普通用户

18、 常规操作常规操作 管理操作管理操作 配置操作配置操作系统维护员系统维护员 管理员管理员 客户客户 电话登电话登 记客户记客户 上网登上网登 记客户记客户 用户用户 常规操作常规操作 管理操作管理操作 配置操作配置操作 系统维护员系统维护员 管理员管理员 2) 2) 用例之间的关系用例之间的关系 (1) (1) 泛化泛化(generalization )(generalization )关系关系 n将它们的共性抽象成为父用例,其他的用例作为泛化将它们的共性抽象成为父用例,其他的用例作为泛化 关系中的子用例。关系中的子用例。 n子用例继承了父用例所有的结构、行为和关系。子用例继承了父用例所有的结

19、构、行为和关系。 采购员采购员 采购物料采购物料 采购采购 钢材钢材 采购办采购办 公用品公用品 图图 3-13 3-13 用例的泛化关系用例的泛化关系 买票买票 购买购买 团体票团体票 子用例子用例 付费方式付费方式 支付支付 现金现金 支付支付 信用卡信用卡 购买购买 个人票个人票 父用例父用例 用例之间的关系用例之间的关系: (2) (2) 包含包含(include)(include) n包含关系是:包含关系是:基用例指向被包含用例。基用例指向被包含用例。 n语义:语义:基基用例会用到被包含用例,被包含用例的用例会用到被包含用例,被包含用例的 事件流被插入到事件流被插入到基基用例的事件流

20、中。用例的事件流中。 银行客户银行客户 查询查询 取款取款 转帐转帐 卡片验证卡片验证 图图 3-14 3-14 用例的包含关系用例的包含关系 基用例基用例 被被 包含包含 用例用例 n基用例不能独立存在基用例不能独立存在, ,必须依赖于被包含用例。必须依赖于被包含用例。 n被包含用例一定要执行。被包含用例一定要执行。 许多用例的公共许多用例的公共 部分移到一个单部分移到一个单 独的被包含用例中。独的被包含用例中。 例例, ,包含关系的几种可能包含关系的几种可能 性性 图图 3-15 3-15 包含关系的几种可能性包含关系的几种可能性 1 1 2 2 3 3 4 4 用例之间的关系:用例之间的

21、关系: (3) (3) 扩展扩展(extend)(extend) n扩展关系是:扩展关系是:扩展用例指向基用例扩展用例指向基用例( (被扩展用例被扩展用例) )。 一个用例中有许多替代一个用例中有许多替代 物或选择时物或选择时,使用扩展关使用扩展关 系系,管理变更。管理变更。 呼叫转移呼叫转移 银行客户银行客户 打电话打电话 呼叫等待呼叫等待 图图 3-16 3-16 用例的用例的扩展扩展关系关系 n语义语义: :基用例在基用例在某些特定某些特定情况下会用到扩展用例,扩情况下会用到扩展用例,扩 展用例的事件流将被插入到基用例的事件流中。展用例的事件流将被插入到基用例的事件流中。 扩展用例扩展用

22、例 ( (可变部分可变部分) ) 基用例基用例 ( (不变部分不变部分) ) n基用例能独立存在基用例能独立存在, ,不依赖于它的扩展用例。不依赖于它的扩展用例。 n扩展用例可以不执行。扩展用例可以不执行。 例例: :用例之间的关系:扩展用例之间的关系:扩展(extend)(extend) 常规流:常规流: 1 1 拨号拨号 2 2 建立通话链路建立通话链路 3 3 通话通话 4 4 挂机挂机 常规流:常规流: 1 1 如果应答方如果应答方正忙正忙, 用铃声提示应答方用铃声提示应答方 并保持拨号呼叫并保持拨号呼叫 常规流:常规流: 1 1 如果应答方如果应答方 无应答无应答,进行,进行 呼叫转

23、移呼叫转移 打电话打电话 呼叫等待呼叫等待 呼叫转移呼叫转移 实际上相当于第一个用例的实际上相当于第一个用例的“备选流备选流” 扩展关系的几种可能性扩展关系的几种可能性 图图 3-17 3-17 扩展关系的几种可能性扩展关系的几种可能性 1 1 2 2 3 3 4 4 27 登记登记 借书借书 查询读者查询读者 查询读书查询读书 参加考试参加考试 补考补考 创建新账户创建新账户 启动系统启动系统 删除账户删除账户 修改账户修改账户 登记借书登记借书 登记还书登记还书 验证读者验证读者 例例, ,标出下面用例图上的标出下面用例图上的 关系关系? ? 图图 3-18 3-18 有包含关系和有包含关

24、系和扩展关系扩展关系 的用例图的用例图1 1 28 提供客户数据提供客户数据 订货订货 订货项目订货项目 例例: : 查询查询存款存款打印收据打印收据 既是既是扩展用例也是被包含用扩展用例也是被包含用 例例 查询查询存款存款打印收据打印收据 打印收据打印收据 分开表示分开表示 订货订货 请求目录请求目录 图图 3-18 3-18 有包含关系和有包含关系和扩展关系扩展关系 的用例图的用例图2 2 29 例例: : 确定下面用例模型中的几种关系确定下面用例模型中的几种关系 extend 泛化泛化 include通信关联通信关联 图图 3-19 3-19 用例模型中的几种关系用例模型中的几种关系 注

25、册注册 进大学进大学 注册注册 讨论讨论班班 在大学生中在大学生中 注册家庭成员注册家庭成员在大学中注在大学中注 册国际学生册国际学生 注册员注册员 学生学生 国际学生国际学生 练习:举例说明用例的含包关系和扩展关系的区别。练习:举例说明用例的含包关系和扩展关系的区别。 基用例基用例 3.2.4 3.2.4 用例的文字描述用例的文字描述 Name of the Use Case (用例的名字用例的名字) Description (描述描述) Actor(s) (参与者参与者) Flow of events (事件流事件流) Basic flow (常规流常规流) Event 1 (事件事件)

26、Event 2 Alternate flow (备选流备选流) Pre-conditions (前置条件前置条件) Post-conditions (后置条件后置条件) 用例用例 = = 椭圆椭圆 + + 名字?名字? NO! 用例规约用例规约 . 用例模型用例模型 参与者参与者 用例用例 术语表术语表 在业务需求陈述的基础上在业务需求陈述的基础上: : (1)(1)建立初始的用例图。建立初始的用例图。 n确定参与者确定参与者 n确定用例确定用例 n建立参与者与用例的关联建立参与者与用例的关联 (2)(2)进行用例的文字描述进行用例的文字描述 (3)(3)细化用例细化用例 n进一步标明用例间的

27、包含、扩展、泛化关系进一步标明用例间的包含、扩展、泛化关系 (4)(4)对用例进行分组,用包图表示。对用例进行分组,用包图表示。 3.2.5 3.2.5 如何建立用例模型如何建立用例模型 例例1 1 邮购系统邮购系统 n客户客户通过填写会员注册表单并将发送给公司经审批成为通过填写会员注册表单并将发送给公司经审批成为会员会员。 n会员在一年内无活动会员在一年内无活动, ,将会被删除。将会被删除。 n会员的个人信息改变后会员的个人信息改变后, ,应通知应通知公司公司。 n会员填写销售表单并发送给公司会员填写销售表单并发送给公司, ,会员可以订购了。会员可以订购了。 n客户服务助理客户服务助理也可以

28、通过电话方式处理订单。也可以通过电话方式处理订单。 n客户服务助理检查会员资格的有效性后可将订购信息输入客户服务助理检查会员资格的有效性后可将订购信息输入 到系统。到系统。 n库存握制员库存握制员负责对库存量的监管及订货。负责对库存量的监管及订货。 n若订单有问题若订单有问题, ,会员电话联系服务助理会员电话联系服务助理, ,并由助理追查销售并由助理追查销售 订单。订单。 n会员可在会员可在3030天内退还次品天内退还次品, ,并取回货款。并取回货款。 n系统执行的每项任务都会记录相关员工的名字和系统执行的每项任务都会记录相关员工的名字和IDID。 邮购系统邮购系统用例级别的业务活动问题描述用

29、例级别的业务活动问题描述 (1)(1)寻找参与者和用例寻找参与者和用例-建立初始的用例图建立初始的用例图 检查订单状态检查订单状态 下订单下订单 处理订单处理订单 处理退货处理退货 安排发货安排发货 更新会员记录更新会员记录 归档会员资料归档会员资料 注册新会员注册新会员 订货订货 接收货物接收货物 发送货物发送货物 库存控制员库存控制员 客户服务助理客户服务助理 订单处理员订单处理员 为什么没有客户、公司?为什么没有客户、公司? (2) (2) 描述用例描述用例-处理订单的用例描述处理订单的用例描述 用例名称用例名称处理订单处理订单 参与者参与者订单处理员订单处理员 描述描述订单处理员从系统

30、中选择一个销售单,检查每一订单处理员从系统中选择一个销售单,检查每一 订单项有货的话,系统记录处理该销售单的订单订单项有货的话,系统记录处理该销售单的订单 处理员的姓名处理员的姓名 前提条件前提条件销售单保存在系统中销售单保存在系统中 后置条件后置条件销售单状态变为销售单状态变为“已填已填”,该销售单持有相应的库,该销售单持有相应的库 存项存项 事件流事件流(1)(1)订单处理员选择销售单,订单处理员选择销售单,系统显示订单项及数量系统显示订单项及数量 (2)(2)订单处理员检查每项是否有库存订单处理员检查每项是否有库存 (3)(3)订单处理员为销售单提取库存项,系统将销售订单处理员为销售单提

31、取库存项,系统将销售 单状态修改为单状态修改为“已填已填” (2) (2) 描述用例描述用例-处理订单的用例描述处理订单的用例描述 用例名称用例名称处理订单处理订单 可选流和可选流和 例外流例外流 如果库存无某项,则订单项状态为如果库存无某项,则订单项状态为“持有持有”。 如果再订购量超过该会员的再订购限制,员工打如果再订购量超过该会员的再订购限制,员工打 印出印出“请求订金请求订金”给会员,该销售单被标为给会员,该销售单被标为“订订 金待金待 交交”。 当接收到订金或再订购总量没有超过会员的再订当接收到订金或再订购总量没有超过会员的再订 购限制,系统会将再订购请求交给库存控制员。购限制,系统

32、会将再订购请求交给库存控制员。 当接收到库存项销售单时状态变为当接收到库存项销售单时状态变为“已填已填”,系,系 统统 通知订单处理员。通知订单处理员。 (3) (3) 进一步细化用例图进一步细化用例图 检查订单状态检查订单状态 下订单下订单 处理订单处理订单 处理退货处理退货 安排发货安排发货 更新会员记录更新会员记录 归档会员资料归档会员资料 注册新会员注册新会员 订货订货 接收货物接收货物 发送货物发送货物 库存控制员库存控制员 客户服客户服 务助理务助理 订单处理员订单处理员 搜索会员记录搜索会员记录 includeinclude includeinclude 处理再订购处理再订购 (

33、4) (4) 用包封装用例用包封装用例 检查订单状态检查订单状态 下订单下订单 处理订单处理订单 处理退货处理退货安排发货安排发货 更新会员记录更新会员记录 归档会员资料归档会员资料 注册新会员注册新会员 订货订货 接收货物接收货物 发送货物发送货物 库存控制员库存控制员 客户服客户服 务助理务助理 订单处理员订单处理员 搜索会员记录搜索会员记录 includeinclude includeinclude 会员会员 订单处理订单处理 库存控制库存控制 处理再订购处理再订购 例例2 2 餐馆预约系统餐馆预约系统 (1)(1) 记录预约信息记录预约信息 (2) (2) 取消预约取消预约 (3) (

34、3) 记录顾客到来记录顾客到来 (4) (4) 调换餐桌调换餐桌 参与者参与者: : 招待员、领班招待员、领班 Record booking Cancel booking Record arrival Table transfer Receptionist Head Waiter 记录预约的用例记录预约的用例: : 一位顾客打电话进行定餐预约要求的日期和时间一位顾客打电话进行定餐预约要求的日期和时间 及人数确定有合适的餐桌位置后及人数确定有合适的餐桌位置后, ,招待员招待员输入顾客性名输入顾客性名 和电话并和电话并记录预约记录预约。 餐馆餐馆系统系统用例用例 记录预约事件流记录预约事件流: :

35、 (1) (1)招招待员输入要预定的日期待员输入要预定的日期; ; (2) (2)系统显示该日的预约系统显示该日的预约; ; (3) (3)有合适的餐桌可用有合适的餐桌可用, ,招招待员输入顾客性名和电话、待员输入顾客性名和电话、 时间时间; ; (4) (4)系统记录并显示该预约。系统记录并显示该预约。 记录预约记录预约, ,没有可用的餐桌没有可用的餐桌: :可选可选的事件流的事件流: : (1) (1)招招待员输入要求的预约的日期待员输入要求的预约的日期; ; (2) (2)系统显示该日的预约系统显示该日的预约; ; (3) (3)没有合适的餐桌可用没有合适的餐桌可用, ,用例结束。用例结

36、束。 记录预约记录预约, , 餐桌过小餐桌过小: :例外例外的事件流的事件流: : (1)(1)招招待员输入要预定的日期待员输入要预定的日期; ; (2)(2)系统显示该日的预约系统显示该日的预约; ; (3)(3)招招待员输入顾客性名和电话待员输入顾客性名和电话, ,预约时间预约时间, ,用餐人数和用餐人数和 餐桌号餐桌号; ; (4)(4)用餐人数多于餐桌能容纳的人数用餐人数多于餐桌能容纳的人数, ,系统系统显示警告显示警告并询并询 问用户是否继续预约问用户是否继续预约; ; (5)(5)回答回答“否否”, ,用例终止用例终止; ; (6)(6)回答回答“是是”, ,预约被输入预约被输入,

37、 ,并附有告警标志。并附有告警标志。 注意几点注意几点: : (1)(1)事件流事件流记录用户输入到系统的信息记录用户输入到系统的信息, ,是用例的基本是用例的基本 部分部分, ,不是信息如何获得的。不包含上下文的交互不是信息如何获得的。不包含上下文的交互, , 如如招招待员问顾客多少人。包含上下文信息待员问顾客多少人。包含上下文信息, ,会使系会使系 统的描述复杂统的描述复杂, ,用例的复用性差。用例的复用性差。 (2)(2)可选的事件流可选的事件流表示是允许中断基本事件流表示是允许中断基本事件流, ,可能会可能会 有另外的功能有另外的功能, ,如可能将顾客的请求输入到一个等如可能将顾客的请

38、求输入到一个等 待名单中。待名单中。 (4)(4)记住记住, ,招招待员的职责就是是否能够进行预约。待员的职责就是是否能够进行预约。 (3)(3) 例外的事件流例外的事件流, ,产生误解或发生了错误。产生误解或发生了错误。 记录到达记录到达(Record arrival)(Record arrival)用例事件流用例事件流: : (1)(1)侍者领班输入当前日期侍者领班输入当前日期; ; (2)(2)系统显示当天的预约系统显示当天的预约; ; (3)(3)侍者领班确定一个选定的预约己经到达侍者领班确定一个选定的预约己经到达; ; (4)(4)系统记录并更新显示顾客己到达。系统记录并更新显示顾客

39、己到达。 记录到达记录到达, ,无提前预定无提前预定: :可选事件流可选事件流 (1)(1)侍者领班输入当前日期侍者领班输入当前日期; ; (2)(2)系统显示当天的预约系统显示当天的预约; ; (3)(3)系统未记录该顾客的预约系统未记录该顾客的预约, ,侍者领班输入预约时间、侍者领班输入预约时间、 用餐人数和餐桌号用餐人数和餐桌号, ,创建一个未预约登记创建一个未预约登记; ; (4)(4)系统记录并显示新预约。系统记录并显示新预约。 该可选事件流和记录预约用例事件流存在共享功能该可选事件流和记录预约用例事件流存在共享功能, , 应当有个显示预约应当有个显示预约, ,可用下面用例包含关系描

40、述可用下面用例包含关系描述: : 显示预约基本事件流显示预约基本事件流: : Record booking Receptionist 用例包含用例包含 Display booking (1)(1) 用户输入一个日期用户输入一个日期; ; (2) (2) 系统显示当日的预约系统显示当日的预约; ; 记录预约事件流记录预约事件流( (修改修改):): (1)(1)招招待员执行待员执行“显示预约显示预约”用例用例; ; (2)(2)招招待员输入顾客性名和电话待员输入顾客性名和电话, ,预约时间预约时间, ,用餐人数和餐桌用餐人数和餐桌; ; (3)(3)系统记录并显示新预约。系统记录并显示新预约。

41、Record booking Display booking Record arrival Receptionist staff Head Waiter 餐馆餐馆系统系统用例用例 n在记录到达可选事件流中在记录到达可选事件流中, , 若系统未记录一个顾客的若系统未记录一个顾客的 预约预约, ,侍者领班将创建一侍者领班将创建一 个未预约登记。个未预约登记。 这样记录到达用例和这样记录到达用例和 记录未预约记录未预约顾客之间是有关系的。什么关系顾客之间是有关系的。什么关系? ? Record walk-in Record arrival Head Walk-in extendextend 用例扩展

42、用例扩展 记录未预约顾客记录未预约顾客: :事件流事件流 (1)(1)侍者领班执行侍者领班执行“显示预约显示预约“用例用例; ; (2)(2)侍者领班输入时间侍者领班输入时间, ,人数人数, ,餐桌号餐桌号; ; (3)(3)系统记录并显示新预约系统记录并显示新预约; ; 取消预约事件流取消预约事件流: : (1) (1)招招待员选择要求的预约待员选择要求的预约; ; (2) (2)招招待员取消该预约待员取消该预约; ; (3) (3)系统询问接待员确认取消系统询问接待员确认取消; ; (4) (4)招招待员回答待员回答“是是”, ,系统记录取消并更新显示。系统记录取消并更新显示。 调换餐桌事

43、件流调换餐桌事件流: : (1) (1)侍者领班选择需要的预约侍者领班选择需要的预约; ; (2) (2)侍者领班改变该预约的餐桌分配侍者领班改变该预约的餐桌分配; ; (3) (3)系统记录改变并更新显示。系统记录改变并更新显示。 Record booking Display booking Record arrival Receptionist staff Head Waiter n整理后的用例图整理后的用例图: : Record walk-in Cancel booking Table transfer 确定参与者确定参与者, ,确定用例确定用例, ,对用例进行基本事件流描述对用例进行基

44、本事件流描述, , 扩充用例事件流扩充用例事件流, ,画出完整用例图。画出完整用例图。 在图书管理系统中,要为每个在图书管理系统中,要为每个借阅者借阅者建立一个账号,建立一个账号, 并给借阅者发放借阅卡(借阅卡可以提供借阅卡号、借并给借阅者发放借阅卡(借阅卡可以提供借阅卡号、借 阅者名),账户中存储借阅者的个人信息,借阅信息以阅者名),账户中存储借阅者的个人信息,借阅信息以 及预定信息。及预定信息。 例例图书管理系统的用例分析图书管理系统的用例分析 描述如下:描述如下: 持有借阅卡的借阅者可以持有借阅卡的借阅者可以 借阅书刊、借阅书刊、 返还书刊、返还书刊、 查阅书刊信息、查阅书刊信息、 预定

45、书刊并取消预定,预定书刊并取消预定, 但这些操作都是通过但这些操作都是通过图书管理员图书管理员进行的,即借阅者进行的,即借阅者 不直接与系统交互,而是图书管理员充当借阅者的代理不直接与系统交互,而是图书管理员充当借阅者的代理 与系统交互。与系统交互。 &在借阅书刊时,需要输入在借阅书刊时,需要输入: : 所借阅的书刊名、书刊的所借阅的书刊名、书刊的ISBN/ISSNISBN/ISSN号、借阅者的图书号、借阅者的图书 卡号和借阅者名,完成后提交所填表格,系统验证借阅者卡号和借阅者名,完成后提交所填表格,系统验证借阅者 是否有效(在系统中存在账号)。是否有效(在系统中存在账号)。 若有效,借阅请求

46、被接受,系统若有效,借阅请求被接受,系统查询查询数据库系统,数据库系统, 看借阅者所借阅的书刊是否存在,若存在,则借阅者可看借阅者所借阅的书刊是否存在,若存在,则借阅者可 以以借出借出书刊,建立并在系统中书刊,建立并在系统中存储存储借阅纪录。借阅纪录。 &借阅者还书后,删除借阅者还书后,删除关于还书刊的借阅纪录。关于还书刊的借阅纪录。 & 如果如果借阅者借阅者所借的书刊已被借出,借阅者还可所借的书刊已被借出,借阅者还可预订该书预订该书 刊刊,一旦借阅者预定的书刊可以获得,就将书刊直接寄,一旦借阅者预定的书刊可以获得,就将书刊直接寄 给借阅人给借阅人。 为了简化系统为了简化系统,预定书刊获得时就

47、不通知借阅者了。预定书刊获得时就不通知借阅者了。 不考虑书刊的最长借阅期限,假设借阅者可以无限不考虑书刊的最长借阅期限,假设借阅者可以无限 期地保存所借阅的书刊。期地保存所借阅的书刊。 对图书馆图书管理系统的描述进行对图书馆图书管理系统的描述进行分析分析获得如下获得如下 功能性需求:功能性需求: (1) (1) 图书管理员可以图书管理员可以创建创建新的借阅者账号;新的借阅者账号; (2) (2) 借阅者持有借阅者持有借阅卡借阅卡(借阅者名和借阅卡号);(借阅者名和借阅卡号); (3) (3) 图书管理员作为借阅者的代理图书管理员作为借阅者的代理借书借书; (4) (4) 图书管理员作为借阅者的

48、代理图书管理员作为借阅者的代理预订预订书刊;书刊; (5) (5) 图书管理员作为借阅者的代理图书管理员作为借阅者的代理取消取消预订;预订; (6) (6) 图书管理员作为借阅者的代理图书管理员作为借阅者的代理还书还书; (7) (7) 图书管理员可以图书管理员可以修改修改借阅者的账户信息;借阅者的账户信息; (8) (8) 图书管理员可以图书管理员可以删除删除已经存在的借阅者账户;已经存在的借阅者账户; (9) (9) 图书管理员可以图书管理员可以添加添加新的书刊种类;新的书刊种类; (10)(10)图书管理员可以图书管理员可以修改修改书刊种类信息;书刊种类信息; (11)(11)图书管理员

49、可以图书管理员可以删除删除系统中的书刊种类;系统中的书刊种类; (12)(12)图书管理员可以在系统中图书管理员可以在系统中添加添加书刊的信息书刊的信息 (注意区分(注意区分“书刊种类书刊种类”和和“书刊书刊”);); (13)(13)图书管理员可以图书管理员可以编辑编辑书刊信息;书刊信息; (14)(14)图书管理员可以图书管理员可以删除删除书刊信息。书刊信息。 n图书管理员图书管理员 n登录登录 n管理读者信息管理读者信息 n管理图书信息管理图书信息 n登记借书登记借书 n登记还书登记还书 n登记登记预订预订 n登记登记取消预订取消预订 n借阅者:借阅者: n登录登录 n预订图书预订图书

50、n取消预订取消预订 n借阅图书借阅图书 n还书还书 n查询浏览图书信息查询浏览图书信息 例:一个图书馆管理系统,有哪些参与者和用例?例:一个图书馆管理系统,有哪些参与者和用例? 借阅者借阅者图书管理员图书管理员 用例用例 识别并描述参与者识别并描述参与者 图书馆管理系统用例图图书馆管理系统用例图 普通读者普通读者 登录登录 查询浏览查询浏览 预订图书预订图书 图书管理员图书管理员 管理读者管理读者 取消预订取消预订 管理图书信息管理图书信息 登记借书登记借书 登记还书登记还书 登记预订登记预订 登记取消预订登记取消预订 借书借书 还书还书 用例用例描述描述:登记借书登记借书 1. 1. 描述:

51、描述: 本用例允许图书管理员登记普通读者的借书记录本用例允许图书管理员登记普通读者的借书记录 2 2 事件流:事件流: 2.1 2.1 常规流程常规流程 当读者希望借书、图书管理员准备登记有关的当读者希望借书、图书管理员准备登记有关的 借书记录时,本借书记录时,本用例开始用例开始执行。执行。 (1) (1) 系统要求管理员输入读者的注册号和所借图书号;系统要求管理员输入读者的注册号和所借图书号; (2) (2) 图书管理员输入信息后,系统产生一个唯一的借图书管理员输入信息后,系统产生一个唯一的借 书记录号;书记录号; (3) (3) 系统显示新生成的借书记录;系统显示新生成的借书记录; (4)

52、 (4) 图书管理员确认后,系统增加一个新的借书记录。图书管理员确认后,系统增加一个新的借书记录。 用例用例描述描述:登记借书登记借书 2.2 2.2 备选流程备选流程 (1) (1) 读者没有注册读者没有注册 在主流程中,如果系统没有读者的注册信息,在主流程中,如果系统没有读者的注册信息, 系统将显示错误信息,用例结束。系统将显示错误信息,用例结束。 (2) (2) 所借图书不存在所借图书不存在 在主流程中,如果所借图书已被借出或者系在主流程中,如果所借图书已被借出或者系 统中无该图书,系统将显示错误信息,用例结束。统中无该图书,系统将显示错误信息,用例结束。 3 3 前提条件:前提条件:用

53、例开始前,图书管理员必须在系统登录成功。用例开始前,图书管理员必须在系统登录成功。 4 4 后置条件:后置条件:如果用例执行成功,该读者的借书记录被更新,如果用例执行成功,该读者的借书记录被更新, 否则,系统状态不变。否则,系统状态不变。 例例4 4 大学选课系统大学选课系统-注册讨论班注册讨论班 大学选课系统与学生有着紧密的联系,具有注册交费、大学选课系统与学生有着紧密的联系,具有注册交费、 选课、成绩查询等功能。为了简化本次系统分析选课、成绩查询等功能。为了简化本次系统分析, ,只考虑只考虑 学生学生注册讨论班注册讨论班的功能,该问题描述如下:的功能,该问题描述如下: 问题描述问题描述 学

54、生想要注册某门讨论班,于是向注册员提交其姓学生想要注册某门讨论班,于是向注册员提交其姓 名和学生编号;名和学生编号; 注册员验证该学生是否有资格注册这门讨论班;注册员验证该学生是否有资格注册这门讨论班; 注册员验证后,提供讨论班列表,并验证是否适合学注册员验证后,提供讨论班列表,并验证是否适合学 生的课程安排;生的课程安排; 注册员统计费用并通知学生;注册员统计费用并通知学生; 在学生确认后,注册员将该学生注册到讨论班,并将在学生确认后,注册员将该学生注册到讨论班,并将 费用加入学生帐单;费用加入学生帐单; 注册员向学生提供注册成功的确认信息。注册员向学生提供注册成功的确认信息。 根据以上问题

55、描述,该简化系统具有如下功能:根据以上问题描述,该简化系统具有如下功能: 学生搜索、注册讨论班;学生搜索、注册讨论班; 验证注册资格;验证注册资格; 显示讨论班及相关信息;显示讨论班及相关信息; 提供成绩单;提供成绩单; 结算并显示帐单;结算并显示帐单; 注册成功;注册成功; 关闭注册;关闭注册; (1) (1) 注册讨论班;注册讨论班; (2) (2) 退出讨论班;退出讨论班; (3) (3) 参加讨论班;参加讨论班; (4) (4) 完成讨论班;完成讨论班; (5) (5) 通知学生计通知学生计 划改变;划改变; 识别用例识别用例, ,有如下用例:有如下用例: (6) (6) 分发成绩单;

56、分发成绩单; (7) (7) 输出收费计划表;输出收费计划表; (8) (8) 输入成绩;输入成绩; (9) (9) 指导讨论班;指导讨论班; (10)(10)生成教学进度。生成教学进度。 识别参与者(角色)识别参与者(角色) 学生:学生: 在系统中申请注册讨论班的人;在系统中申请注册讨论班的人; 注册员注册员: :完成验证注册信息的人或外部系统;完成验证注册信息的人或外部系统; 教授:教授: 指导或协助讨论班和管理学生成绩。指导或协助讨论班和管理学生成绩。 学生注册系统用例图学生注册系统用例图 学生学生 注册讨论班注册讨论班 登录登录 生成教学计划生成教学计划 教授教授 注册员注册员 财务系

57、统财务系统 维护学生信息维护学生信息 关闭注册关闭注册 课程目课程目 录系统录系统 指导讨论班指导讨论班 提交成绩提交成绩 退出讨论班退出讨论班 完成讨论班完成讨论班 维护教授信息维护教授信息 收费计划表收费计划表 通知学生通知学生 计划改变计划改变 用例图:用例图: 58 注册讨论班注册讨论班用例的文字描述用例的文字描述 n名称:名称:注册讨论班。注册讨论班。 n描述:描述:把现有的有资格的某一学生注册到某个讨论班。把现有的有资格的某一学生注册到某个讨论班。 n前提条件:前提条件:学生已在大学注册。学生已在大学注册。 n后置条件:后置条件:若学生具有注册资格,并且该讨论班仍有若学生具有注册资

58、格,并且该讨论班仍有 空位,则学生注册到该讨论班空位,则学生注册到该讨论班 。 (1) (1) 学生学生想要注册某个讨论班想要注册某个讨论班 (2) (2) 学生向学生向注册员注册员提交其姓名和学生编号提交其姓名和学生编号 活活 动动 的的 基基 本本 过过 程程 (3) (3) 注册员根据业务规则注册员根据业务规则“BR129BR129确定是否有资格注确定是否有资格注 册册”确定该学生是否有资格在这所学校注册了这确定该学生是否有资格在这所学校注册了这 门讨论班门讨论班 (5) (5) 注册员根据业务规则注册员根据业务规则“BR130BR130验证学生是否有资验证学生是否有资 格注册讨论班格注

59、册讨论班”,验证学生是否有资格注册该课。,验证学生是否有资格注册该课。 (4) (4) 学生从可供选择的讨论班列表中,选出希望注学生从可供选择的讨论班列表中,选出希望注 册的讨论班册的讨论班 59 (6) (6) 注册员根据业务规则注册员根据业务规则“BR143BR143验证学生讨论班课验证学生讨论班课 程安排程安排”,验证这个讨论班是否适合该学生现,验证这个讨论班是否适合该学生现 有的课程安排有的课程安排活活 动动 的的 基基 本本 过过 程程 (7) (7) 注册员根据讨论班目录中公布的费用,使用的注册员根据讨论班目录中公布的费用,使用的 学生费用和使用的税,计算出这门课的收费,学生费用和

60、使用的税,计算出这门课的收费, 应用业务规则应用业务规则“BR180BR180计算学生费用计算学生费用”和和“BR45BR45 计算课程税计算课程税” (12) (12) 注册员根据业务规则注册员根据业务规则“BR100BR100学生讨论班记帐学生讨论班记帐”, 把相应费用加到学生帐单中把相应费用加到学生帐单中 (8) (8) 注册员通知学生相关费用注册员通知学生相关费用 (9) (9) 注册员确认学生表示愿意注册该讨论班注册员确认学生表示愿意注册该讨论班 (10) (10) 学生表示愿意注册该讨论班学生表示愿意注册该讨论班 (11) (11) 注册员把学生注册到该讨论班注册员把学生注册到该讨

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论