简答题
- 用例的概念
- 是一组用户使用一个系统实现一个目标的失败/成功的场景。是通过用户使用场景来获取需求的技术。
- 用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,即谁可以用系统做什么,从而获得一个明确的业务目标。
- 用例使用用最终用户或者领域专家的语言,避免使用技术术语,一般是由软件开发者和最终用户共同创作。
- 用例和场景的关系?什么是主场景( happy path)?
- 关系:场景是一个用例的实例,用例是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标
- 主场景定义:系统主要的交互,通常是成功的场景,在测试用例时没有出现预期之外结果的场景。主执行者完成了目标,所有有关人员的需求都得到了满足。每个用例都包含一个主场景。
- 用例有哪些形式?
- 简要格式 Brief:简洁的总结,一段式摘要,通常是主要的成功场景,能够很快的做出。在早期的需求分析中,快速了解主题和范围。
- 简便格式 Casual:包含很多场景的多个段落的简要的提醒性质的用例,非正式段落格式。
- 完整正式的格式 Fully:完整的,包括所有步骤的,并且经可能使用例详尽的格式,包括支持部分(前提条件,成功保保障)。
- 双列表格式
- 单列表格式
- RUP格式
- 对于复杂业务,为什么编制完整用例非常难?
- 复杂业务的需求多,扩展部分也多,出了主成功场景以外,其他的场景分支过多,导致用例无法完全覆盖所有场景。且actors和services繁多,复杂,很难完整编写。
- 什么是用例图?
- 用例图定义:系统的蓝图。
- 由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。
- 是外部用户所能观察到的系统功能的模型图。
- 用例图的基本符号与元素?
- 参与者:系统的左侧外的人形图案,表示与系统或程序进行交互的用户、组织或外部系统。
- 系统:图中的大方框,可以是小型软件组件,也可以是完整的应用程序,里面包含外部可见的功能。
- 用例:系统内的椭圆,外部可用的系统功能,对系统提供的服务进行描述。
- 关系:用例图中涉及到的关系包括关联、泛化、包含、扩展。箭头指向消息的接收方。
- 关联:参与者与用例之间的通信,任何一方都可以发送或接受信息,箭头指向的是消息的接收方。
- 泛化:继承关系。泛化使用在分析、设计阶段。在泛化关系中子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和含义。
- 包含:基本用例的行为包含了另一个用例的行为。基本用例描述在多个用例中都有的公共行为。包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤,箭头指向分解出来的功能用例,旁边需要显式写出该关系为 <>。箭头的方向是从基本用例到包含用例。
- 扩展:扩展关系是指当前用例功能的延伸,相当于给当前基础样例提供附加的功能。箭头指向原来的基础样例,旁边需要显式写出该关系为 <>。基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。
- 关联:参与者与用例之间的通信,任何一方都可以发送或接受信息,箭头指向的是消息的接收方。
- 参与者:系统的左侧外的人形图案,表示与系统或程序进行交互的用户、组织或外部系统。
- 用例图的画法与步骤
- 确定系统的范围和边界
- 确定参与者:主要参与者,协作参与者,幕后参与者
- 描述用例
- 确定参与者之间的关系和用例间的关系(包含,扩展)
- 对用例分类,并确定用例之间的关系
- 建立用例图,并定义用例图的层次结构
- 评审用例模型
- 用例图给利益相关人与开发者的价值有哪些?
- 对利益关系人:明确系统的业务范围、服务对象(角色)、外部系统与设备。对复杂程度和形式化程序进行增减调节。
- 对开发者:设计者与开发者之间的交流工具,开发者开发过程的蓝图。使得开发者能够更明确地获得需求,更好地理解需求。可以指导开发和测试,同时可以在整个过程中对其他工作流起到指导作用。
2、建模练习题(用例模型)
- 选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
- 然后,回答下列问题:
- 为什么相似系统的用例图是相似的?
- 用户需求相似,核心功能相似。
- 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
- 简化的用户操作流程,效率更高。
- 利用新技术加入新功能。
- 用户信息保护更好。
- 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
- 用不同颜色背景的用例图表示不同方面的创新的用例,直观分析。
- 根据用例图用户级别判断作用。
- 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表(优先级越高,越重要)
-
ID 名称 优先级 预计工作量(/人天) 示范步骤 1 查找酒店 3 20 用户在搜索栏输入目的地,酒店名,入住日期,退房日期,星级等信息,点击确定。根据输入信息生成一个酒店列表。 2 预定酒店 4 30 用户选择酒店后,可以对入住信息做进一步修改,然后确定入住者信息。 3 支付订单 2 10 用户选择微信/支付宝/银行卡进行支付。 4 用户评价 1 15 用户在结束住房后可以填写评价,并给酒店打分。 - 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
-
用例 事务 计算 原因 UC 权重 查找酒店 3 2 简单 预定酒店 6 4 简单 支付订单 1 1 平均 用户评价 2 1 简单
-
- 为什么相似系统的用例图是相似的?