1.简答题
用例的概念
是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。编写用例时要避免使用技术术语,而应该用最终用户或者领域专家的语言。用例一般是由软件开发者和最终用户共同创作的。
用例和场景的关系?什么是主场景或 happy path?
用例和场景的关系:每一个用例包括了许多个场景,场景中包含了用户是如何与系统进行交互,即谁可以利用系统做什么事情。
主场景:每一个用例中都包含一个主场景,主场景对应于系统主要的交互,通常是指成功的场景。
happy path: 在测试用例时没有出现预期之外结果的场景。在用例建模中,happy path是主执行者完成了目标,所有有关人员的需求都得到了满足。
用例有哪些形式?
自然语言,可以用形式化语言,也可以用各种图示。在UML中,通常用两种图来描述Use Case,它们就是顺序图和协作图。
对于复杂业务,为什么编制完整用例非常难?
复杂业务其业务流程较为复杂,业务较为繁琐,业务流程较多,因此对应于很多复杂的场景,用户交互的细节和相对应的支撑较多,较难实现用户与服务之间的完整与协调。
什么是用例图?
由参与者(Actor)、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。
用例图的基本符号与元素?
用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成,用画图的方法来完成。
用例图的画法与步骤
用例图给利益相关人与开发者的价值有哪些?
主要的作用有三个:(1)获取需求;(2)指导测试;(3)还可在整个过程中的其它工作流起到指导作用。
2.建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
百度糯米电影UML如下:
然后,回答下列问题:
-
为什么相似系统的用例图是相似的?
因为相似系统提供的服务是十分相似的,他们预期的目标也是一致的,于是其架构和用例难免比较相似,故用例图也会比较相似。
-
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
-
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
-
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | Name | Imp | Est | How | Notes |
---|---|---|---|---|---|
1 | 搜索电影 | 90 | 30 | 用户选择影片和院线搜索,根据历史和所在位置推荐 | 需要对历史记录进行分析、GPS定位系统 |
2 | 选座购票 | 100 | 30 | 用户他提交日期、院线、影片等信息进行购票 | 需要合理的购票流程 |
3 | 支付 | 80 | 10 | 用户进行支付操作 | 需要第三方支付平台的对接 |
4 | 热门推荐 | 80 | 10 | 推荐热门的影片和院线 | 需要对影片和院线的情况进行分析 |
-
根据任务4,参考使用用例点估算软件成本,给出项目用例点的估算
用例点法估计
类别 权重 用例数 结果 说明 简单 1 4 4 每个简单的用例事务单步简单的操作 一般 2 8 16 一般用例估算为需要进行网络连接或数据库交互的用例数 复杂 3 3 9 复杂用例主要指需要引用第三方系统或使用第三方API的用例 AW = 29
UUCP = AW + UCW = 174
TCF = 0.6 + (0.01 * 总因子) = 0.91
Size = UUCP * TCF = 0.91 * 174 = 158.34
EF = 1.4 + (-0.03 * 总因子) = 1.364
Effect = Size * EF * H * SE
Effect = 158.34 * 1.364 = 215.97