简答题
- 用例的概念
用例是在软件和系统工程中的一系列操作或事件步骤,通过定义角色和系统之间的交互,来实现目标。
- 用例和场景的关系?什么是主场景或 happy path?
关系:一个用例包含场景的集合,包括主场景和可选场景。
主场景或 happy path:场景中最主要的一个,是典型的、无条件的、理想方式、无错误的系统最基本的成功场景。
- 用例有哪些形式?
有三种形式
Brief(high level)简洁型:通常是简短的一段话,描述主要的成功场景,便于快速了解主题和范围,可以快速创建。
Casual(简便格式)随意型:非正式的段落格式,包含多种场景。
Fully 完整型:所有的步骤和变化都详细写明,有支持的部分,比如前提和成功场景的保证
- 对于复杂业务,为什么编制完整用例非常难?
复杂的业务涉及很多场景,且场景与场景之间存在复杂的关联。如果场景不够全面,那么用例的完整性就难以保障
编制完整用例需要熟悉各种业务场景、流程和建模相关的专业知识,对编写者的水平要求较高
- 什么是用例图?
用例图是指由参与者(Actor)、用例(Use Case)、边界以及它们之间的关系构成的用于描述系统功能的视图,可以展示系统边界、位于边界之外的事物以及系统如何被使用。
- 用例图的基本符号与元素?
执行者:用例图显示了系统和系统外实体之间的交互。这些实体被引用为执行者。执行者代表角色,可以包括:用户,外部硬件和其他系统。执行者往往被画成简笔画小人。也可以用带«actor»关键字的类矩形表示。
用例:用例是有意义的单独工作单元。它向系统外部的人或事提供一个易于观察的高层次行为视图。 用例的标注符号是一个椭圆。
系统边界:方框,它用来显示用例在系统内部,执行者在系统的外部。
扩展点:扩展用例的加入点被定义为扩展点
关系
关联关系:虚线箭头,指向消息接收方
包含关系:用尖括号标识的虚线箭头,指向被包含者,用例可能包含其他用例的功能来作为它正常处理的一部分。通常它假设,任何被包含的用例在基本程序运行时每一次都会被调用。
扩展关系:用尖括号标识的虚线箭头,指向被继承者,一个用例可以被用来扩展另一个用例的行为,通常使用在特别情况下。
泛化关系:实线箭头,指向父用例
- 用例图的画法与步骤
主要就是确定用例图的三大元素:参与者、用例、关系
参与者:与系统相关的人,包括:用户、编程者、维护者、测试者、对系统感兴趣的其他人等
用例:系统中的动作,做的事情
关系:用例之间的业务关系(依次是包含,泛华,关联,扩展)
- 用例图给利益相关人与开发者的价值有哪些?
方便评估工作量
确定业务范围
易于理解需求
起到指导作用
建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
请使用用户的视角,描述用户目标或系统提供的服务
粒度达到子用例级别,并用 include 和 exclude 关联它们
请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
尽可能识别外部系统和服务
然后,回答下列问题:
- 为什么相似系统的用例图是相似的?
因为它们其实都是订购类的应用,有着类似的功能,因此用例的用例和用例关系相近,用例图总体也相近
- 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
对于不同时代:可能会有不同的登陆验证技术(比如两步验证、多因素认证等)、不同的推荐算法、不同的支付方式(从银行卡支付到微信、支付宝支付等)
对于不同地区:考虑不同地区的特色、以及不同地区的宗教风俗习惯等
- 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
通过在用例图定位的创新思路(标记的创新用例),可以方便项目经理(业务创新)、需求方(商业模式创新)、开发者(技术创新)明确创新点。
- 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | 名称 | Est | Iter | Imp |
---|---|---|---|---|
1 | 找旅馆 | 4 | 1 | 8 |
2 | 预定旅馆 | 4 | 2 | 8 |
3 | 支付定金 | 2 | 2 | 4 |
4 | 预定调整 | 4 | 3 | 8 |
5 | 评价酒店 | 3 | 4 | 6 |
- 根据任务4,参考使用用例点估算软件成本,给出项目用例点的估算
用例 | 事务 | 计算 | UC权重 |
---|---|---|---|
搜索酒店 | 7 | 5 | 平均 |
筛选酒店 | 6 | 5 | 复杂 |
酒店推荐 | 1 | 1 | 简单 |
预约 | 5 | 4 | 简单 |
支付 | 3 | 3 | 平均 |
查看详情 | 5 | 5 | 简单 |