1、简答题
-
用例的概念
用例,是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术. 每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其他系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标.
-
用例和场景的关系?什么是主场景或 happy path?
- 每一个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其他系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标.
- 主场景是指主执行者完成了目标,所有项目相关人员的利益都被满足
-
用例有哪些形式?
Brief: one paragraph summary, usually of the the main success scenario
Casual: informal paragraph format. multiple paragraph that cover various scenarios
Fully: dressed all steps and variations are written in detail, and there are supporting sections, such as preconditions and success guarantees
-
对于复杂业务,为什么编制完整用例非常难?
- 用例在捕获系统功能需求上表现很优秀,但是不适合捕获非功能性需求.
- 复杂业务的子用例间依赖关系复杂,难以刻画真实世界的业务情况
- 复杂业务的需求太多,无法捕捉真实世界的全部业务情况和流程情况
-
什么是用例图?
是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系。通过用例图,人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用。
-
用例图的基本符号与元素?
用例用椭圆表示,矩形框表示整个系统,矩形框外的小人表示系统的参与者,参与者与用例连线表示参与者与用例有交互.
虚线表示include 和 extend -
用例图的画法与步骤
- 确定系统边界,用方框表示
- 确定参与者,用小人表示
- 确定主要参与者的目标,选择满足参与者目标的用例名称,画成椭圆形,椭圆形在方框之内,表示系统的内部功能
- 参与者与用例的联系用实线连接
- 对于系统内部多个用例可能共享一个子用例,或可选功能用例,应该将这些用例拆分,用带箭头的虚线连接,表示include 或 extend.
-
用例图给利益相关人与开发者的价值有哪些?
- 描述了系统的功能性需求
- 在客户和软件开发者之间达成协议
- 给出了系统该做什么的一个清晰的一致的描述
- 提供了测试和验证系统的基线准则
- 将功能性需求代如实际的系统的类里面和操作里面
- 描述了利益相关人员的最主要需求,为软件开发者明确了目标.
2、建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
请使用用户的视角,描述用户目标或系统提供的服务
粒度达到子用例级别,并用 include 和 exclude 关联它们
请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
尽可能识别外部系统和服务
- 淘票票
- 携程订酒店
然后,回答下列问题:
-
为什么相似系统的用例图是相似的?
- 相似系统客户的业务需求是一致的稳定的,基本的业务流程肯定是差不多的,不同之处在于在一些基本业务的创新.用例图是为了满足主要用户的需求,只要用户的需求不变,用例图就差不多
-
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
- 现在人们越来越重视服务体验,所以携程推出了酒店评价系统,这样可以帮助人们选择体验更好的酒店,所以要利用不同时代人们对服务的需求的标准来推出服务,在以前人们可能只要酒店能够入住,能在网上方便的订酒店就行.
- 携程提供了更多的检索条目,比如酒店的星级,房间类型检索等.一切从更好的满足客户的需求出发,符合当前时代服务的个性化,特殊化的趋势.
-
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
- 业务创新,在用例图中增添新的用例,比如在携程订酒店的用例图中就增加了酒店评价用例,满足客户的查询酒店详情的需求.
- 技术创新,引入新的外部服务系统扩充已有的服务.比如支付方式,以前只能用银行卡支付,现在可以用支付宝,微信支付等网上在线支付方式.
- 商业模式,可以更改用例间的关系,将某个用例作为主用例以此来吸引客户.
-
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID Title Est Iter Imp How to demo notes 1 寻找酒店 20 3 1 作为旅客我希望输入城市入住日期,退房日期,房间价格即可搜索到想要的酒店 GPS帮助定位 2 预定酒店 30 4 2 作为旅客我希望选择好酒店,选择好房间型号,选择好入住退出时间即可下订单 酒店评论帮助顾客更好选择 3 支付订单 10 2 4 作为旅客我希望用银行卡或者支付宝微信支付,或者可以到达酒店现金支付方式 学习各个支付平台的api,快速接入用户支付借口 4 用户评价酒店 30 3 3 作为旅客我希望对自己住过的酒店进行评价,打分,我可以看到别人对酒店的评价,帮助我更好的选择酒店 对评论分类 -
根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 事务 | 计算 | 原因 | UC权重 | 估算 |
---|---|---|---|---|---|
寻找酒店 | 4 | 3 | 平均 | 12 | |
预定酒店 | 8 | 6 | 困难 | 48 | |
支付 | 3 | 1 | 简单 | 3 | |
评价 | 5 | 4 | 平均 | 20 |