系统设计与分析 作业4
一、简答题
1. 用例的概念
是一组相关的成功和失败场景,描述了参与者如何使用系统来达到目标。用例建模主要是编写文本,而不是绘制图表。是功能或行为需求,用以指示系统将做什么。用例是典型OOA/D的关键需求输入。
2. 用例和场景的关系?什么是主场景或 happy path?
- 用例表示一组场景:主方案,加上零或多个备选方案。是一组相关的成功和失败场景,描述了使用系统支持目标的参与者。
- 场景是参与者和系统之间的特定动作和交互序列,也称为用例实例。是使用系统的一个特定情节,或者是通过用例的一条路径。
- 主场景对应于主要的系统交互,通常是“成功”场景。是最常用,直接地实现用户目标的情节。
3. 用例有哪些形式?
- 摘要:简洁的一段总结,通常是主要的成功情景。
- 非正式:非正式段落格式。涵盖各种场景的多个段落。
- 完备:把所有的步骤和变体都写得很详细,还有一些支持的部分,比如先决条件和成功保证。
4. 对于复杂业务,为什么编制完整用例非常难?
- 复杂的业务本身业务流程就很复杂繁琐
- 涉及到的场景非常多,场景与场景之间也有各种各样的关联,需要建模相关知识和熟悉各个业务流程
- 还要注意用户交互的细节和相对于的支撑。
5. 什么是用例图?
用例图是所有书面用例的集合;它是黑箱系统功能和环境的模型。可以描述了用例和参与者各自的名字及它们之间的关系。可以作为沟通的工具,用以概括系统及其参与者的行为。
6. 用例图的基本符号与元素?
- 参与者。表示应用程序、用户或者与之交互的外部服务、组织等等角色。
- 用例。即程序向外提供的功能。
- 子系统。即程序中相关联的一组功能。
- 关联关系。表示功能、外部服务、用户、用例间的关系。
- 关联(Association):参与者与用例之间的关系,指向消息接收方
- 泛化(Inheritance):参与者与用例之间的关系,指向父用例。
- 包含(Include): 用例之间的关系,指向被包含者。
- 扩展(Extend) :用例之间的关系,指向被继承者。
7. 用例图的画法与步骤
- 选择系统边界。选择它仅仅是一个集合了软件应用程序,硬件和应用程序,加上使用它的人的单元,还是加上整个组织?
- 确定主要的参与者。确定哪些需要使用到该系统的主要功能的用户作为参与者。
- 确定每个主要参与者的目标。如参与者希望系统提供什么功能、系统是否存储和检索信息等等。
- 定义满足用户目标的用例并根据他们的目标命名他们。
- 确定用例间的关系,应用这些关系的目的是为了从系统中抽取出公共行为和其变体。
- 确定关联的外部支持系统,放在系统框右边。
8. 用例图给利益相关人与开发者的价值有哪些?
用例图能够确定并描述系统的功能要求,利用可视化可以清晰一致地描述系统应该做什么,并方便在客户和软件开发人员之间达成协议,可以将功能需求跟踪到系统中的实际类和操作中。而且图片形式方便向系统用户即需求者阐述系统功能。
二、建模练习题(用例模型)
1. 选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
携程订旅馆用例图
然后,回答下列问题:
2. 为什么相似系统的用例图是相似的?
因为相似系统的功能、参与者、系统关联的外部服务、用例都是类似的,两者的用例间关系和其他关系也是类似的。都会有相似的基本部分以及自己的特色部分。所以除掉因为特色部分导致的用例不同,其余部分是相似的。
3. 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
主要是应用的外部服务不同。或者是因为技术导致的流程不同而使得用例不同。比如推荐hotel哪里,可以使用人工智能、深度学习的技术配合数据挖掘推断出用户的订旅馆喜好,针对不同用户推荐不同价位、地点等适合的旅馆。又或者是统计用户的评价优先推荐更好的旅馆。
4. 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
用不同颜色背景的用例图表示不同方面的创新的用例,直观分析。当用例图中的颜色较深,且与业务关系密切,开发人员应该重点关注该项创新,对其进行开发。
5. 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | Title | Est | Iter | Imp |
---|---|---|---|---|
1 | 登陆 | 2 | 1 | 3 |
2 | 搜索hotel | 10 | 3 | 5 |
3 | 下订单 | 2 | 1 | 5 |
4 | 支付 | 5 | 2 | 5 |
5 | 与客服沟通 | 1 | 4 | 3 |
6 | 管理basket | 5 | 2 | 5 |
6. 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 业务 | 计算 | UC 权重 |
---|---|---|---|
1 登陆 | 2 | 3 | 简单 |
2 搜索hotel | 8 | 5 | 复杂 |
3 下订单 | 2 | 一般 | |
4 支付 | 2 | 4 | 简单 |
5 与客服沟通 | 1 | 1 | 简单 |
6 管理basket | 3 | 3 | 一般 |