系统分析与设计作业4

简答

用例的概念

在软件和系统工程中,用例是一系列系统的操作或事件步骤,通常通过用户的使用场景来获取需求。每个用例会提供一个或者多个场景,用场景说明系统怎样和用户或其他系统交互,从而获得一个明确的业务目标。用例与面向对象无关,是经典面向对象分析与设计的一个关键需求输入,是表现系统功能的功能性或行为性需求。

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

每个用例提供了一个或多个场景,包括主场景和其他可选场景。其中场景指的是使用场景,用于说明系统可以做什么,系统是如何和用户或其他系统交互的,从而获得一个明确的业务目标。

每个用例都包含一个主场景,这个场景是用户和系统发生主要交互,是最常用实现用户目标的场景,通常是成功场景。

用例有哪些形式?

  1. 简短(高级)。通常是简短的一段总结,描述主要的成功场景,在早期需求中快速了解主题和范围,可以快速创建。
  2. 非正式。非正式的段落格式,涵盖各种场景的多个段落,对应多个场景。
  3. 全面。详细说明所有的步骤和变化,并有支持部分,如先决条件和成功的保证。

对于复杂业务,为什么编制完整用例非常难?

复杂业务涉及的场景多,业务流程复杂,场景之间关联紧密。如果要编制完整的用例,需要熟悉各种业务场景和流程,还需要建模相关知识,注意用户交互的细节,并且增加了提取一个场景中的主要元素的难度。如果用例编写者对各个业务流程的理解存在偏差,用例的准确性和完整性就难以保证。

什么是用例图?

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

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

  • 参与者:符号是一个小人
  • 用例:符号是一个圆框
  • 系统边界:符号是一个方框
  • 关联关系:符号是一个实线
  • 包含关系:符号是一个虚线箭头,有<<includes>>标识。箭头方向指向被包含者
  • 扩展关系:符号是一个虚线箭头,有<<extends>>标识,箭头方向指向被继承者
  • 泛化关系:符号是一个实线箭头,箭头是空心三角,指向父用例

用例图的画法与步骤

  1. 确定系统边界
  2. 确定参与者
    • 确定谁使用该系统主要功能;
    • 需要该系统的支持以完成其工作;
    • 需要维护、管理该系统,保持该系统处于工作状态,谁对本系统结果感兴趣;
    • 与本系统有关的人或系统等。
  3. 识别用例(一般以动词开头)
    • 特定参与者希望系统提供什么功能,由哪个参与者触发;
    • 当系统改变状态时,是否通知参与者;
    • 是否存在影响系统的外部事件等。
  4. 确定用例间的关系
    • 思考用例之间的业务关系,如包含关系、扩展关系和泛化关系;
    • 确定关联的外部支持系统

用例图给利益相关人与开发者的价值有哪些?

  • 用例图描述了一个系统的主要功能以及怎样去使用,可以让人清楚的知道系统的各个模块以及各部分功能的关系。
  • 用例图可以帮助将大型系统划分为多个模块。每个模块本身可以由用例图表示。
  • 用例图可用于评估需求,在开发过程可以起到指导作用,能够帮助更合理的进行人员的安排。
  • 可以便于向用户阐述系统功能。

建模练习题

选择2-3个你熟悉的类似业务的在线服务系统分别绘制它们用例图

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

回答下列问题

为什么相似系统的用例图是相似的?

相似的系统具有相似的需求,因此系统的功能和结构也非常相似,导致了用例图的相似性。

如何利用用例图定位创新思路在系统中的作用

创新用例通过包含、扩展等与其它用例形成关系,从而展现创新思路在系统中的作用

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

D Name Imp Est(man-day) How to demo Notes
1 搜索商家 15 8 根据关键词对商家进行匹配 允许模糊查找和条件筛选
2 查看推荐 5 4 根据历史订单推荐商家和菜品 要显示商家简介等
3 查看订单 10 6 确认各种预订信息,如电话地址菜品等
4 查看菜品 15 8 显示菜品详情,在加入口袋后即使更新价格 提醒用户满减优惠
5 支付订单 10 6 选择多种方式支付订单 关联支付宝、微信、银行卡,考虑各种支付失败的情况

根据任务4,参考使用用例点估算软件成本,给出项目用例点的估算

根据用户点方法,对用例分配权重的标准是:
简单用例:1到3个事务,权重=5
一般用例:4到7个事务,权重=10
复杂用例:多于7个事务,权重=15

用例 事务 计算 原因 UC权重
搜索商家 5 5 筛选条件较多 复杂
查看推荐 3 3 三种推荐模式 平均
查看订单 3 2 三种类型的订单 简单
查看菜品 8 5 多种优惠逻辑复杂,还有第二口袋 复杂
支付订单 2 2 多种支付方式 简单