User Story用户情景与用例规约

by 牛 国柱 • 2013/06/30 • UML学习, 产品经理 • 4 Comments

【说明】产品经理在描述需求阶段,经常会利用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则更加强调在频繁交付时的质量门槛,值得推广。

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

  1. User Story用户情景与用例规约

    [说明]产品经理在描述需求阶段,经常会利用UML语言中的用例图(Use Case)来描述需求,但在敏捷开发Scrum中,往往会把需求拆分为User Story.对Use Case和User Story ...

  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. CSS 居中完全指南
  2. python 栈_Python数据结构与算法05:基本结构:栈的应用之括号匹配
  3. 线程池配置合理线程数?
  4. Delphi 两个应用程序(进程)之间的通信
  5. Spring 和 SpringBoot 比较,解惑区别!
  6. typescript断言
  7. vue 怎么全局到入常量_Vue 中如何定义全局的变量和常量(转)
  8. php遍历文件夹下文件内容_PHP递归遍历指定文件夹内的文件实现方法
  9. C#解leetcode 53.Maximum Subarray
  10. .net 实现微信公众平台的用户信息获取
  11. 题解 LGOJ P4168 【[Violet]蒲公英】
  12. educoder Redis安全与性能
  13. 13.熟悉JDK的配置,环境变量
  14. 基于几何学习图像的三维重建发展_基于深度学习的三维重建——MVSNet系列论文解读...
  15. Delete `␍`eslintprettier/prettier
  16. 基于struts2的个人信息管理系统(一)
  17. FB15K-237知识图谱数据集的介绍与分析,Freebase
  18. vue2 配置本地IP地址访问项目
  19. python 接收外部参数_python 接收处理外带的参数方法
  20. 阿里云上的使用QQ邮箱发送邮件

热门文章

  1. 骨传导耳机是怎么传声的,选择骨传导耳机的时候需要注意什么?
  2. LTE学习之路(1)——移动通信技术发展历程
  3. 使用github搭建个人网站(HTTP服务器)
  4. 华为php工程师面试问题,2020年10月php面试笔记
  5. html+css+js实现自动敲文字效果
  6. 解决Maven resources compiler: Maven project configuration required for module ‘XXX‘ isn‘t available.
  7. vscode写python爬虫_用 VS Code 写 Python,这8个扩展装上后无敌了!
  8. ES6---new Promise()讲解(尤其注意里面的参数resolve、reject)
  9. Keepalived-一主多备原理及实践
  10. 大专的计算机专业要学高数吗,普通本、专科“数学”不好,3个专业不建议报,“没出路”!...