一、简答题
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)开发计划表
IDTitleEstIterImp
1登陆2132搜索hotel10353下订单2154支付5255与客服沟通1436管理basket525
6. 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例业务计算UC 权重
1 登陆23简单2 搜索hotel85复杂3 下订单2一般4 支付24简单5 与客服沟通11简单6 管理basket33一般