简答题
- 用例的概念
- 是一组系统如何反应用户请求的场景,是对系统或子系统的某个连贯的功能单元的定义和描述
- 它确定了
谁可以用系统做什么
- 其重点在于文本描述,而非画图
- 用例和场景的关系?什么是主场景或 happy path?
- 关系:一个用例包含一个或多个场景,我们可以讲一个场景看作是某一用例的实例
- 主场景:又叫做
happy path
,即某一个用例下,用户和系统主要会发生的逻辑交互场景,通常是交互成功场景
- 用例有哪些形式?
- Brief:简洁型,通常是简短的一段总结,描述主要的成功场景,在早期需求中获得对于主体和范围的快速认知
- Casual:随意型,非正式的段落格式,涵盖各种场景的多个段落
- Fully:详细型,所有的步骤和变化等细节都详细的描述
- 对于复杂业务,为什么编制完整用例非常难?
- 因为复杂业务涉及到的场景会很多,而且各个场景之间还会有各种关联,所以我们很难将所有的目标,场景等完整的列举出来。如果场景不够全面,那么就不可能编制完整的用例
- 什么是用例图?
- 用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。 用例图是外部用户所能观察到的系统功能的模型图。
- 用例图的基本符号与元素?
- 参与者——小人
- 用例——椭圆
- 表示整个系统——大方框
- 链接参与者和用例,表示交互——不带箭头的实线
- 表示用例之间的包含关系/扩展关系/泛化关系——带箭头的线
- 外部系统和服务——长条形的方框
- 用例图的画法与步骤
- 确定系统边界
- 确定参与者
- 谁主要是用该系统
- 谁需要该系统支持来完成工作
- 谁负责管理该系统等
- 确定用例
- 系统需要向用户提供哪些功能
- 是否存在对系统有影响的外部事件
- 是否有存储和检索信息等
- 确定用例之间的关系
- 包含关系,扩展关系,泛化关系等
- 确定关联的外部支持系统
- 放在系统边界外的右边
- 用例图给利益相关人与开发者的价值有哪些?
- 对利益相关人
- 可以清晰的看到系统为用户提供的功能,保证系统开发可以按照预想的需求进行开发
- 可以根据需要对软件的功能进行修改和调整,降低软件风险
- 对开发者
- 用例明确了用户的需求,可以使得软件架构的设计思路更加清晰
- 可以根据工作量确定合理的人员安排
- 降低了于用户之间的开发成本
建模练习题(用例模型)
- 选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
然后,回答下列问题:
为什么相似系统的用例图是相似的?
- 因为相似的系统的主要功能是基本相同的,面向的用户也基本相同,因此交互的场景是相似的,多亿用例图也就很相似
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
- 根据时代的发展,我们可以删除一些不太常用的旧功能,并用符合时代的更常见的功能来代替。如现在的订旅馆业务普遍采用线上支付,取消了信用卡支付的功能。除此之外,现代的定旅馆业务会与其他相关的打车,接送,购票等业务进行集成,使用户的使用更加便利。
- 根据不同的地区,不同人群,可以向用户推荐更加适合的旅馆,并根据不同的季节,和评分修改推荐的顺序
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
- 用例图包含的各种场景,表示了用户在使用软件的某一个功能时所必须经过的流程,在这些比较热门的流程中加入一些广告,或其他相关的产品推荐就可以在一定的程度上提高这些产品的销量增加收入
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
- 根据任务4,参考使用用例点估算软件成本,给出项目用例点的估算