文章目录
1. 简答题
1. 用例的概念
用例是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。通俗的讲,用例是文本形式的情节描述,用以说明某参与者使用系统以实现某些目标。
2. 用例和场景的关系?什么是主场景或 happy path?
场景是参与者和系统之间的一系列特定的活动与交互,也被称作是用例的实例。主场景或happy path也被称为“理想路径”场景,它描述了满足涉众关注点的典型成功路径,通常不包括任何条件或分支。
3. 用例有哪些形式?
用例的三种常见形式:
- 摘要:简介的一段式概要,通常用于主场景。
- 非正式:非正式的段落格式,用几个段落覆盖不同场景。
- 详述:详细编写所有步骤及各种变化,同时具有补充部分,如前置条件与成功保证。
4. 对于复杂业务,为什么编制完整用例非常难?
复杂业务活动包含很多用例与场景,功能业务逻辑十分复杂,无法保证用例的完整性、逻辑性,需要建立用例的人对场景和过程十分熟悉。因此编制完整用例便非常难。
5. 什么是用例图?
用例图(英语:use case diagram)是用户与系统交互的最简表示形式,用以描述用例名称和参与者及其之间的关系。通过用例图,人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用。
6. 用例图的基本符号与元素?
用例图包含6个基本元素:参与者(Actor)、用例(Use Case)、泛化关系(Generalization)、扩展关系(Extend)、包含关系(Include)和关联关系(Association)
- 参与者(Actor):表示的是一个系统用户,也就是与应用程序进行交互的用户、组织或者外部系统。
2、用例(Use Case):表示的是对系统提供的功能、服务的一种描述。
3、用例之间的关系:
- 包含关系(Include):表示用例可以简单地包含其他用例所具有的行为,并把它所包含的用例行为作为自身行为的一部分。在UML中常用带箭头的虚线表示,箭头指向被包含的用例。
- 泛化关系(Generalization):泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。在UML中用空心三角箭头的实线表示,箭头指向父用例。
- 关联关系(Association):表示的是参与者与用例之间的关系。在UML中常用一条直线,或者是一条带箭头的线条来表示,箭头指向信息接收方
- 扩展/延伸关系(Extend):表示在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例,原有的用例叫做基础用例,相当于为基础用例提供一个附加功能。在UML中用带箭头的虚线表示,箭头指向基础用例。
7. 用例图的画法与步骤
-
确定系统边界
-
确定参与者
- 谁将使用该系统的主要功能。
- 谁将需要该系统的支持以完成其工作。
- 谁将需要维护、管理该系统,以及保持该系统处于工作状态。
- 系统需要处理哪些硬件设备。
- 与该系统那个交互的是什么系统。
- 谁或什么系统对本系统产生的结果感兴趣。
- 识别用例
- 特定参与者希望系统提供什么功能。
- 系统是否存储和检索信息,如果是,由哪个参与者触发。
- 当系统改变状态时,是否通知参与者。
- 是否存在影响系统的外部事件。
- 哪个参与者通知系统这些事件。
- 确定用例间的关系
用例除了与参与者发生关系外,还可以具有系统中的多个关系,这些关系包括包含关系、扩展关系和泛化关系。应用这些关系的目的是为了从系统中抽取出公共行为和其变体。
6. 用例图给利益相关人与开发者的价值有哪些?
- 利益相关人员可以直观地看到程序系统的基本框架,方便以专业外的角度提出意见,帮助识别技术风险,提前实施关键技术原型公关与学习。
- 对于开发者,用例图是设计人员与开发人员的交流工具,使用用例图易于评估项目工作量,合理规划迭代周期,规划人力需要。
2. 建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
然后,回答下列问题:
1. 为什么相似系统的用例图是相似的?
因为相似系统有着相似的用户,用户也有相似的用例,系统的功能基本一致,用例间关系区别也不大,所以用例图也是相似的。
2. 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
可以根据不同时代、不同地区产品的用例图,利用更先进的技术创新业务,或提供更完善的服务。例如使用大数据分析用户的订单,了解用户喜好,针对性的推荐旅馆。
3. 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
如果创新点是包含很多字节点的父节点,说明创新思路的比重较大,如果是子节点说明比重较小。
4. 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | Name | Imp | Est | How to demo |
---|---|---|---|---|
1 | 登陆注册 | 10 | 5 | 实现登陆注册功能 |
2 | 搜索旅馆 | 30 | 15 | 根据价格,地点,评级等属性排序,筛选旅馆 |
3 | 查看旅馆 | 30 | 15 | 获取旅馆图片,评级,房间价格等信息 |
4 | 预订旅馆 | 20 | 10 | 填写并提交订单信息,包括旅馆名称,地点等。 |
5 | 支付订单 | 30 | 15 | 支持包括微信,支付宝等支付方式 |
5. 根据任务4,参考使用用例点使用用例点估算软件成本,给出项目用例点的估算
用例 | 业务 | 计算 | 比重 |
---|---|---|---|
登陆注册 | 1 | 1 | 简单 |
搜索旅馆 | 3 | 3 | 简单 |
查看旅馆 | 3 | 3 | 简单 |
预订旅馆 | 3 | 3 | 简单 |
支付订单 | 2 | 2 | 简单 |