【说明】产品经理在描述需求阶段,经常会利用UML语言中的用例图(Use Case)来描述需求,但在敏捷开发Scrum中,往往会把需求拆分为User Story。对Use Case和User Story的区别,很多时候会分不清楚。本文转载自http://www.uml.org.cn/RequirementProject/20112224.asp,对此进行了详细的比较和说明。

转载开始:

User Story,译为“用户情景”,在敏捷软件过程Scrum中,用来表达需求模块。而对于熟悉UML的人员而言,使用Use Case,译为“用例”,多年来专业软件开发团队都用以表达需求模块。

User Story与Use Case有什么差异?这些差异背后又体现出了哪些开发思想的不同?本文对这两者有价值的差异点进行探讨。

一、User Story与Use Case形式上的差异

字段 示例
用例名称 故事定义
用例ID 目标
参与者(列表) 特性
用例概述(价值) 说明
前置条件 功能
基本事件流 描述
备选事件流 先决条件
后置条件 流程
扩展点 验收测试
其它(非功能需求、技术约束、补充需求、技术风险、遇到的问题) 功能测试
设计

表1:形式上的差异

Use Case有2种维度来描述,即图形维度(用例图)和文字维度(用例规约)。User Story一般使用文字维度来表述,所谓文字维度,并不是说不可以图文并茂,而是无需特意使用建模工具建模。

  二、用例规约要点

图1:用例规约示例

用例规约要点如下:

事件流以Actor参与者或“系统”作为主语,使用主动语句; 谨记用例是“黑盒”。描述语句只能描述Actor可以看见的交互,而不能描述软件内部的情况(打开数据库连接对象、执行SQL语句等等); 在“其它”字段,尽可能把此功能块的“非功能需求”也都应详细描述

三、用户情景要点

图3:用户情景示例(摘自微软文章)

每个用户情景都会有一个测试工程师负责其质量,测试工程师会为情景设计两个测试计划:一个是“验收测试计划”,另一个是“功能测试计划”。验收测试是黑盒测试,其目的在于验证用户故事是否按照设计预想的那样被实现。这里需要注意的是,在着手实现一个用户故事之前,准备好这样的验收测试步骤(当然,这样的验收测试不一定全部是自动化的)并且将其集成到用户故事文档中去是一个必要的步骤。验收测试的编写并且通过,需要被纳入用户故事“完成”的标准中去。如果没有经过这样的一个步骤,用户情景就不能被签字认可。相对而言,功能测试计划是一个更为详细的计划,测试工程师需要针对不同的代码路径以及不同用户输入情况进行测试,从而保证软件在各种情况下都能正常工作。

  四、深层次的思考
Use Case有2种维度来描述,即图形维度(用例图)和文字维度(用例规约)。用例图很难表达非功能需求,而在用例规约中描述。但不少团队在项目进度紧急时,往往会忽略功能以外的需求,这会导致团队重功能而轻性能。

用户情景在字段上,描述的信息和用例规约基本是一致的。最重要的区别,在于两个测试计划,强调了对开发出的模块的质量要求。更加符合迭代增量式的开发思想。

结语:
用例技术可以很好的与MSF / RUP等迭代增量式的开发过程整合。而User Story则更加强调在频繁交付时的质量门槛,值得推广。

转载结束。

User Story用户情景与用例规约相关推荐

  1. Usery用户情景与用例规约

    User Story用户情景与用例规约 by 牛 国柱 • 2013/06/30 • UML学习, 产品经理 • 4 Comments [说明]产品经理在描述需求阶段,经常会利用UML语言中的用例图( ...

  2. 体育馆管理系统开发日记 (5)——用例规约

    2.1.1添加场地管理员用户[超级用户] 用例名称: 添加场地管理员用户 用例ID: GM- YHGL -1 角色: SuperUser 用例说明: SuperUser添加场地管理员用户. 前置条件: ...

  3. UML测试题(用例规约)

    用例规约  相关文章: UML测试题(UML基础)_星星以外的博客-CSDN博客 UML测试题(用例图基础a)_星星以外的博客-CSDN博客 UML测试题(用例图基础b)_星星以外的博客-CSDN博客 ...

  4. 【转】Azure DevOps —— Azure Board 之 长篇故事、特性、用户情景(故事)的用法应用场景

    前提 我以前在之前的文章里大概介绍了 Azure Board 的基本使用,可以回看<Azure Board 的基本使用>.如果你想使用 Azure Board 来安排工作的话,请提前了解& ...

  5. 一个用户故事的样例(极限编程)

    用户故事是从用户的角度对系统功能的描述,通过与用户一起探讨而得出,事实上XP的实践应由用户亲手撰写用户故事,但对很多用户来说并不容易,所以很多的实践过程中是开发人员和用户一起撰写. 开发人员依照用户故 ...

  6. 「需求分析」用户故事和用例是一回事吗?

    "用户故事和用例是一样的吗?"人们经常会问这个问题,关于敏捷团队应该实践使用故事还是用例的争论已经持续多年了.用户故事和用例是一回事吗?如果不是,哪一个更好?你应该使用哪一个?或者 ...

  7. Azure DevOps —— Azure Board 之 长篇故事、特性、用户情景(故事)的用法

    前提 我以前在之前的文章里大概介绍了 Azure Board 的基本使用,可以回看<Azure Board 的基本使用>.如果你想使用 Azure Board 来安排工作的话,请提前了解& ...

  8. 用例规约的写法、常见用例规约、核心业务用例规约

    基本要求 核心业务用例规约举例  常见基本用例规约举例 2.3.1 UC01登录系统用例 项目 内容描述 ID UC01 名称 登录 参与者 管理员 触发条件 管理员输入账号密码点击登录 前置条件 程 ...

  9. UML建模(六)需求之系统用例规约

    image.png 1.用例规约的内容 用例规约就是以用例为核心来组织需求内容的需求规约 用例通过前置条件(precondition).后置条件(postcondition)以契约的形式表达需求 前置 ...

最新文章

  1. 【linux工具】ldconfig:linux配置动态链接库
  2. java ee开发技术 上海大学_学院介绍
  3. 为什么我不在微信公众号上写文章
  4. 2019年python课本_2019年Python学习指南
  5. SQL Server中如何取得刚插入的标识值
  6. 基于Xml 的IOC 容器-载入配置路径
  7. 【概念集锦】之 浅拷贝与深拷贝
  8. 安装System Center 2012 R2 数据库
  9. Superior Scheduler:带你了解FusionInsight MRS的超级调度器
  10. 全球人工智能人才培养与发展趋势
  11. php各版本下载地址
  12. c语言从入门到精通pdf 百度云,c语言从入门到精通PDF
  13. 合并两个有序链表js
  14. 脉冲压缩原理以及实验代码详解
  15. 如何在Microsoft Excel电子表格之间交叉引用单元格
  16. 可微分神经计算机DNC
  17. python实现Excel邮件合并
  18. 北斗在线app服务器,北斗卫星导航app,北斗卫星导航app官网手机版预约 v1.0 - 浏览器家园...
  19. Python教程:输入一系列整数输出最大值
  20. logx求x怎么用计算机,logx(logx等于什么)

热门文章

  1. kafka部署时出现的天坑
  2. 1)java基本语法
  3. 软件测试是干什么的 发展前景怎样?
  4. jQuery(二十二)
  5. com.ctc.wstx.exc.WstxUnexpectedCharException:Unexpected错误解决
  6. IEEE754转换规则
  7. 【IO】Java 中的 BIO、NIO、AIO
  8. gvim之Vimdiff 使用
  9. 【javascript】class的继承之super的使用
  10. 计算机应用论文经验总结,计算机应用基础总结论文