简答题
1. 用例的概念
答: 是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。
2. 用例和场景的关系?什么是主场景或 happy path?
答:用例和场景的关系: 每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。
主场景(happy path): 参与者在用例中所遵循的主逻辑路径,描述了当各项工作都正常进行时用例的工作方式。
3. 用例有哪些形式?
答: 形式如下:
- brief: 简洁的一段摘要,主要是成功场景
- casual: 非正式、随意的格式,非正式段落,覆盖各种场景
- fully dressed: 最细化,包括所有步骤和变化,可有前置条件、后置条件(成功保证)
4. 对于复杂业务,为什么编制完整用例非常难?
答: 对于复杂业务,业务较为繁琐,业务流程较多,用户交互的细节和相对应的支撑较多,很难将所有的目标、故事、使用场景遵循一定的顺序列举出来,较难实现用户与服务之间的完整与协调,用例的完整性难以保障。
5. 什么是用例图?
答: 用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
6. 用例图的基本符号与元素?
答: 参与者(Actor)、用例(Use Case)、系统边界、关系(标记为include
或extend
的箭头)
7. 用例图的画法与步骤
答: 步骤如下:
-
确定系统边界
-
确定参与者
-
识别用例
-
确定用例间的关系,如包含关系、扩展关系、泛化关系等
-
确定关联的外部支持系统
8. 用例图给利益相关人与开发者的价值有哪些?
答: 对于利益相关人来说,可以直观看到系统的结果和用户的功能体验,保证系统按照用户的需求进行设计;用例能够根据需要对复杂程度和形式化程序进行增减调节,即能够响应用户(利益相关人)提出的需求,而用例图则使得这种调节更加便利,可以通过修改图形间的关系实现。对于开发者来说,用例图是设计者设计过程的结论与参考,设计者与开发者之间的交流工具,开发者开发过程的蓝图;用例图使得开发者能够更明确地获得需求,更好地理解需求;用例图可以指导开发和测试,同时可以在整个过程中对其他工作流起到指导作用。
建模练习题(用例模型)
- 选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
1.定旅馆
2.定电影票
-
然后,回答下列问题:
-
为什么相似系统的用例图是相似的?
答: 相似系统面对相似的参与者和相似的需求与架构设计,其产生的场景和用例大部分都有相近之处。有些系统所依赖的子系统也是业界通用的。
-
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
答: 简化用户操作流程,给用户关于预定的酒店的最直观的信息,满足用户更多的需求
-
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
答: 对于关于不同方面的创新的用例,使用不同颜色背景进行高亮标记
-
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
-
ID | Name | Imp | Est | How to demo |
---|---|---|---|---|
1 | 搜索酒店 | 10 | 3 | 根据名字、位置、类型搜索酒店 |
2 | 预定酒店 | 7 | 4 | 选择酒店、房间类型、入住时间并确认 |
3 | 支付订单 | 7 | 3 | |
4 | 修改订单 | 5 | 2 | 修改订单并重新申请以及通过 |
5 | 评价 | 4 | 2 | 订单完成之后对旅馆进行评价 |
- 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 业务 | 计算 | 原因 | UC比重 |
---|---|---|---|---|
搜索酒店 | 3 | 2 | 简单 | |
预定酒店 | 7 | 6 | 一般 | |
支付订单 | 2 | 1 | 简单 | |
修改订单 | 3 | 2 | 简单 | |
评价 | 3 | 2 | 简单 |