简答题
-
用例的概念:
- 用例是描述一个参与者使用一个系统来实现一个目标的成功或失败场景的集合,用例指明了系统将要实现的功能或行为需求
-
用例和场景的关系?什么是主场景或 happy path?
- 场景是参与者和系统之间特定的一系列动作和会话,是用例的实例;而一个用例是一些场景的集合
- 主场景对应系统的主要的交互,通常是“成功”的场景,主场景是最常用的,能直接地实现用户目标的流程
-
用例有哪些形式?
- 摘要:简洁的一段式概要,通常用于主成功场景;通常在早期需求分析过程中使用,为了快速了解主题和范围,可能只需要几分钟编写
- 简便格式:非正式的段落格式,用几个段落覆盖不同的场景;通常也是在早期需求分析时使用
- 详述:详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保证;通常在确定并以摘要形式编写了大量用例后使用
-
对于复杂业务,为什么编制完整用例非常难?
- 因为复杂业务的子用例非常多,流程复杂,且需要处理的场景很多,很难考虑完全所有子用例和场景,绘制的用例图繁杂,容易出错
-
什么是用例图?
- 用例图是用户和系统交互的一种表示方法,它显示了用户与用户所涉及的不同用例之间的关系
- 用例图是表示系统上下文的一张图片,它显示了系统的边界,展示了与系统交互的外部对象,描述了系统的使用方法
- 用例图通常被认为是总结系统的行为和参与者的一个交流工具
-
用例图的基本符号与元素?
-
参与者(Actor): 表示一个系统用户,包括与应用程序进行交互的用户、组织或外部系统
-
用例(Use Case): 表示一个用例,通常用作对系统提供的功能、服务的一种描述
-
包含关系(Include):表示用例可以简单地包含其他用例所具有的行为,并把它所包含的用例行为作为自身行为的一部分
-
扩展/延伸关系(Extend):表示在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例,原有的用例叫做基础用例,相当于为基础用例提供一个附加功能
-
泛化关系(Generalization):表示一个父用例可以被特定化形成多个子用例
-
关联关系(Association):表示的是参与者与用例之间的关系
-
-
用例图的画法与步骤:
-
确定参与者:
- 谁将使用该系统的主要功能
- 谁将需要该系统的支持以完成其工作
- 谁将需要维护、管理该系统,以及保持该系统处于工作状态
- 系统需要处理哪些硬件设备
- 与该系统交互的有什么系统
- 谁或什么系统对本系统产生的结果感兴趣
-
识别用例:
- 特定参与者希望系统提供什么功能
- 系统是否存储和检索信息,如果是,由哪个参与者触发
- 当系统改变状态时,是否通知参与者
- 是否存在影响系统的外部事件
- 哪个参与者通知系统这些事情
- 哪个参与者通知系统这些事件
-
确定用例间的关系:
-
包含关系:
-
扩展/延伸关系:
-
泛化关系:
-
关联关系:
-
-
-
用例图给利益相关人与开发者的价值有哪些?
- 对于利益相关者:
- 可以直观看到系统的功能和操作过程,保证系统按用户的需求进行设计
- 用例能够根据需要对复杂程度和形式化程序进行增减调节,即能够响应用户(利益相关者)提出的需求,而用例图则使得这种调节更加便利,可以通过修改修改用例图来实现
- 对于开发者:
- 明确系统的业务范围、服务对象(角色)、外部系统与设备
- 帮助识别技术风险,提前实施关键技术原型攻关与学习
- 易于评估项目工作量,合理规划迭代周期,规划人力需要
- 对于利益相关者:
建模练习题(用例模型)
-
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图,并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
选择了携程和去哪儿两个系统,关注其预定酒店的业务,绘制了用例图,用黄色标注了两个系统不同的用例,用例图如下:
-
携程
-
去哪儿
-
然后,回答下列问题:
-
为什么相似系统的用例图是相似的?
- 因为相似系统提供的服务是相似或相同的,面对的用户和用例是相似的,而用例之间的关系是由服务确定的,也是相似的,即使有特色的扩展服务,也是在基本业务上的扩展,都是为了满足相同的需求而提出的,所以最终相似系统的用例图是相似的
-
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
- 在现在,可以使用大数据的方法分析每个用户对旅馆类型、价格、位置等的偏好,给每个用户推荐最适合他们的旅馆
- 对于不同地区的旅馆,可以结合当地特色,在用户选择时为用户介绍,帮助用户做出最佳的选择
-
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
- 在用例图中对创新用例使用某种颜色进行高亮标记,可以很方便地让需求方、开发人员快速了解该系统的创新功能以及该模块相关依赖和输入输出结果
-
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID Name Imp Est How to demo Note 1 注册 20 2 点击注册按钮,输入手机号、注册密码,获取验证码,正确填写后显示注册成功 需要短信服务 2 登录 20 2 点击登录按钮,输入正确的手机号和密码(或验证码),进入app首页 3 查询酒店 60 10 选择我的位置,入住和离店日期,输入关键词,选择价格和星级,点击搜索酒店按钮,能看到符合条件的酒店列表。选择任一家酒店后,显示酒店详情界面,可以查看房型报价 定位需要GPS服务 4 预定房间 30 5 点击预订按钮显示订单详情,填写入住信息,然后进行支付 需要支持各大支付平台 5 管理订单 30 2 我的订单里可以看到所有订单,可以打印订单信息或取消订单 -
根据任务4,参考使用用例点估算软件成本,给出项目用例点的估算
用例 #事务 #计算 原因 UC权重 注册 4 2 判断手机号是否已注册过,验证验证码正确性 平均 登录 3 2 两种登录方式,验证码、密码 简单 查询酒店 2 6 关键字、位置、星级等多个条件筛选 复杂 预定房间 2 3 支付功能,关联多个外部系统 平均 管理订单 2 4 有不同状态的订单,取消订单 平均
-