系统分析与设计--作业4

简答题

  1. 用例的概念

    在软件和系统工程中,用例是一种对系统如何反应外界请求的描述,通常通过用户的使用场景来获取需求。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。

  2. 用例和场景的关系?什么是主场景或 happy path?

    关系:每个用例提供了一个或多个场景。其中场景是指使用场景,用来说明系统可以做什么,系统是如何和用户或其他系统交互的,从而获得一个明确的业务目标。
    主场景:也被称为 happy path,每一个用例中都包含一个主场景,主场景对应于系统主要的交互,通常是成功的场景,是最常用的直接地实现用户目标的场景。

  3. 用例有哪些形式?

  • Brief(high level):通常是简短的一段总结,描述主场景,在早起需求中可以快速了解主题和范围,方便快速创建。
  • Casual:非正式的段落格式,涵盖各种场景的多个段落。
  • Fully:所有的步骤和变化都写得很详细,并有支持部分,如先决条件和成功的保证。
  1. 对于复杂业务,为什么编制完整用例非常难?

    复杂的业务本身业务流程就很复杂繁琐,而且涉及到的场景非常多,场景与场景之间也有各种各样的关联,编制完整用例需要建模相关知识和熟悉各个业务流程,还要注意用户交互的细节和相对于的支撑。

  2. 什么是用例图?

    用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图,也是外部用户所能观察到的系统功能的模型图。

  3. 用例图的基本符号与元素?

    如下图所示:
    系统分析与设计--作业4
    参与者:符号是一个小人。
    用例:符号是一个圆框。
    系统边界:符号是一个方框。
    关联关系:符号是一个虚线箭头:---->,箭头指向消息接收方。
    包含关系:符号是一个虚线箭头,有< includes >标识。箭头方向指向被包含者。
    扩展关系:符号是一个虚线箭头,有< extends >标识,箭头方向指向被继承者。
    泛化关系:符号是一个实线箭头,箭头是个小三角,指向父用例。

  4. 用例图的画法与步骤

    • 确定系统边界
    • 确定参与者:如谁将使用该系统的主要功能、谁将需要该系统的支持以完成其工作、谁将需要维护、管理该系统,以及保持该系统处于工作状态等。
    • 识别用例:如特定参与者希望系统提供什么功能、系统是否存储和检索信息,如果是,由哪个参与者触发、当系统改变状态时,是否通知参与者、是否存在影响系统的外部事件等。
    • 确定用例间的关系:如包含关系、扩展关系和泛化关系。应用这些关系的目的是为了从系统中抽取出公共行为和其变体。
    • 确定关联的外部支持系统,放在系统框右边。
  5. 用例图给利益相关人与开发者的价值有哪些?

    用例图能够使产品和工程师很清晰地看到系统的各个模块、各部分功能之间的关系、整个系统架构以及对于其他功能的依赖。能够更合理的评估工作量,具体到人日的安排。同时对于系统的输出输入也有明确规定,对于整个功能迭代也有很大帮助。

建模练习题

选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:

  • 请使用用户的视角,描述用户目标或系统提供的服务
  • 粒度达到子用例级别,并用 include 和 exclude 关联它们
  • 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
  • 尽可能识别外部系统和服务

美团外卖系统:
系统分析与设计--作业4
饿了么外卖系统:
系统分析与设计--作业4

  • 然后,回答下列问题:
  1. 为什么相似系统的用例图是相似的?

    因为相似系统的主要业务逻辑类似,用例的类型基本一致,比如查询系统通常只是查询内容的不同,而登录、注册、查询、管理订单这些基本功能都是相同的,与子用例的关系也类似。

  2. 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术

    利用大数据和人工智能,根据用户以往预定的旅馆类型进行智能推荐;

  3. 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用

    在用例图中对创新用例使用某种颜色进行高亮标记。可以很方便地让需求方、开发人员快速了解该系统的创新功能,以及该模块相关依赖和输入输出结果。

  4. 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表

ID Name Imp Est How to Demo note
1 登录注册 15 2 打开软件后用户可以选择登录或者注册;登录时使用已注册的账号和密码进行登录;注册时使用手机+验证码的形式; 成功注册后直接进入主页,不需要再次登录
2 搜索旅馆 10 2 页面提供搜素功能,根据用户输入的字符串匹配合适的旅馆,显示搜索结果
3 查看房间 15 1 点击一个旅馆,进入查看旅馆房间信息页面。页面中有所有房间信息、价格
4 预定房间 15 1 用户点击预定房间时,判断是否有空房,然后进行下单预定 下单会对房间进行锁定,其他用户无法预定该房间
5 支付订单 20 2 用户锁定房间后20分钟内需要进行支付,支持使用支付宝微信进行付款 接入微信和支付宝支付的api
6 查看订单 10 1 用户能够在个人中心看到自己的预定情况,以及查看订单详情
7 取消订单 10 1 入住前一天用户能够取消订单,需要支持退款给用户 预定当天不能取消,必须至少是前一天
  1. 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 #事务 #计算 #权重
登录注册 2 1 简单
搜索旅馆 4 1 简单
查看房间 3 2 平均
预定房间 3 3 复杂
支付订单 6 5 复杂
查看订单 2 1 平均
取消订单 4 3 复杂