1、简答题
1.用例的概念
用例是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。编写用例时要避免使用技术术语,而应该用最终用户或者领域专家的语言。用例一般是由软件开发者和最终用户共同创作的。
2.用例和场景的关系?什么是主场景或 happy path?
- 关系:每个用例提供了一个或多个场景。其中场景是指使用场景,用来说明系统可以做什么,系统是如何和用户或其他系统交互的,从而获得一个明确的业务目标。
- 主场景:也被称为 happy path,每一个用例中都包含一个主场景,主场景对应于系统主要的交互,通常是成功的场景,是最常用的直接地实现用户目标的场景。
3.用例有哪些形式?
用例有三种常用形式:
- 摘要Brief:简洁的一段式概要,通常用于主成功场景;在早期的需求分析中,能够快速了解主题和范围;可能只需要几分钟来创建;
- 简便Casual:非正式的段落格式,用几个段落覆盖不同场景;主要应用于早期的需求分析;
- 详述Fully:详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保证;在以一种简短的格式确定并编写了许多用例之后,在第一个需求研讨会期间,会详细地编写一些具有体系结构重要性和高价值的用例。
4.对于复杂业务,为什么编制完整用例非常难?
对于复杂业务,业务较为繁琐,业务流程较多,用户交互的细节和相对应的支撑较多,很难将所有的目标、故事、使用场景遵循一定的顺序列举出来,较难实现用户与服务之间的完整与协调,用例的完整性难以保障。
5.什么是用例图?
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
6.用例图的基本符号与元素?
- Actor 参与者
- System 系统边界
- Use case 用例
- 箭头 箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方
- include 虚线 包含关系:箭头指向子节点。
- extends 虚线 扩展关系:箭头指向被扩展的对象 。
- 实线箭头:关联关系:参与者用例之间通信,指向用例。
- 实线三角:泛化关系:指向父节点。
7.用例图的画法与步骤
- 确定系统边界
- 确定参与者:如谁将使用该系统的主要功能、谁将需要该系统的支持以完成其工作、谁将需要维护、管理该系统,以及保持该系统处于工作状态等。
- 识别用例:如特定参与者希望系统提供什么功能、系统是否存储和检索信息,如果是,由哪个参与者触发、当系统改变状态时,是否通知参与者、是否存在影响系统的外部事件等。
- 确定用例间的关系:如包含关系、扩展关系和泛化关系。应用这些关系的目的是为了从系统中抽取出公共行为和其变体。
- 确定关联的外部支持系统,放在系统框右边。
8.用例图给利益相关人与开发者的价值有哪些?
- 利益相关人:可以直观看到系统的结果和用户的功能体验,保证系统按照用户的需求进行设计;用例能够根据需要对复杂程度和形式化程序进行增减调节。
- 开发者:用例图使得开发者能够更明确地获得需求,更好地理解需求;用例图可以指导开发和测试,同时可以在整个过程中对其他工作流起到指导作用。
2、建模练习题(用例模型)
-
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
美团外卖点餐系统:
猫眼电影系统
- 为什么相似系统的用例图是相似的?
- 因为相似系统的参与者相似,系统的业务逻辑相似,所以用例图相似。
- 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术。
- 可以使订旅馆业务更综合与人性化,例如可以综合考虑名胜古迹、周边环境、旅馆类别、距离、价格、交通等因素推荐更适宜于用户的旅馆。
- 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
- 用色彩标注出你认为创新用例或子用例。
- 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | Name | Imp | Est | How to Demo |
---|---|---|---|---|
1 | 注册登录 | 10 | 5 | 通过手机短信+验证码的形式注册并登录 |
2 | 查找旅馆 | 7 | 3 | 根据位置、名字、类型检索旅馆 |
3 | 预定旅馆 | 10 | 4 | 选择旅馆,选择房间,再确定 |
4 | 支付订单 | 8 | 3 | 支付系统提供 |
5 | 评价 | 5 | 3 | 订单完成之后对旅馆评价 |
- 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算。
用例 | 业务 | 计算 | 原因 | UC比重 |
---|---|---|---|---|
注册登录 | 2 | 1 | 简单 | |
查找旅馆 | 4 | 2 | 一般 | |
预订旅馆 | 7 | 6 | 复杂 | |
支付订单 | 2 | 1 | 简单 | |
评价 | 3 | 2 | 简单 |