1、简答题
1.用例的概念
用例是一组相关的成功和失败、场景的集合,用来描述参与者如何使用系统来实现其目标。它是文本式的情节描述。
2.用例和场景的关系?什么是主场景或 happy path?
场景是参与者和系统之间的一系列特定的活动和交互,也称为用例实例。用例是一系列场景的集合。
主场景是每一个用例中都包含的,对应于系统的主要交互,通常是成功的场景。它是最常用,直接地实现用户目标的故事。
happy path 是一个没有异常或错误条件的默认场景。
3.用例有哪些形式?
(1)摘要
简洁的一段式概要,通常用于主成功场景。
(2)非正式
非正式的段落格式。用几个段落覆盖不同场景。
(3)详述
详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保证
4.对于复杂业务,为什么编制完整用例非常难?
复杂业务的场景也会非常多,导致用例非常复杂,所以难以编制完整。
5.什么是用例图?
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
6.用例图的基本符号与元素?
(1)参与者
(2)用例
(3)系统边界
(4)用例之间的关系
包括关联关系,包含关系,扩展关系,泛化关系
7.用例图的画法与步骤
第一步:确定参与者
(1) 谁将使用该系统的主要功能。
(2) 谁将需要该系统的支持以完成其工作。
(3) 谁将需要维护、管理该系统,以及保持该系统处于工作状态。
(4) 系统需要处理哪些硬件设备。
(5) 与该系统那个交互的是什么系统。
(6) 谁或什么系统对本系统产生的结果感兴趣。
第二步:识别用例。
识别用例最好的方法就是从分析系统的参与者开始,考虑每一个参与者是如何使用系统的。使用这种策略的过程中可能会发现新的参与者,这对完善整个系统的建模有很大的帮助。用例建模的过程是一个迭代和逐步精华的过程,系统分析者首先从用例的名称开始,然后添加用例的细节信息。这些信息由简短的描述组成,它们被精华成完整的规格说明。
(1) 特定参与者希望系统提供什么功能。
(2) 系统是否存储和检索信息,如果是,由哪个参与者触发。
(3) 当系统改变状态时,是否通知参与者。
(4) 是否存在影响系统的外部事件。
(5) 哪个参与者通知系统这些事件。
第三步:确认关系
用例除了与参与者发生关系外,还可以具有系统中的多个关系,这些关系包括包含关系、扩展关系和泛化关系。应用这些关系的目的是为了从系统中抽取出公共行为和其变体。
8.用例图给利益相关人与开发者的价值有哪些?
用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。它便于显示需求,传达需求,指导测试。
2、建模练习题
美团外卖
饿了么外卖
1.为什么相似系统的用例图是相似的?
因为需求是类似的,而且主要场景是类似的。
2.如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
不是噢
3.如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
可以通过改变背景颜色高亮,也可以通过分析用例图各个用例之间的关系来发现创新思路的作用。
4.请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | name | Imp | Est | How to Demo |
1 | 注册登录 | 20 | 5 | 使用手机注册,可以关联社交账号,一次登陆后可以长期免登录 |
2 | 搜索旅馆 | 15 | 7 | 使用地点,时间,关键字搜索。 利用各类评估或者推荐算法排序,显示相关酒店信息 |
3 | 查看旅馆 | 15 | 5 | 显示出酒店地点,房间数,价格等基本信息 |
4 | 预定房间 | 20 | 4 | 输入入住时间,并判断是否有房间空余 |
5 | 支付订单 | 25 | 6 | 使用支付api,网上安全支付 |
6 | 订单管理 | 10 | 5 | 可以检查当前和过往订单信息,查看状态 |
5.根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | #业务 | #计算 | 原因 | UC比重 |
注册登录 | 4 | 2 | 5(简单) | |
搜索旅馆 | 7 | 4 | 15(复杂) | |
查看旅馆 | 4 | 3 | 10(平均) | |
预定房间 | 3 | 2 | 5(简单) | |
支付订单 | 4 | 3 | 10(平均) | |
订单管理 | 4 | 3 | 10(平均) |