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

虽然用户故事和用例之间有一些相似之处,但用户故事和用例是不可互换的;用户场景和用例都标识用户,它们都描述了目标,但是它们服务于不同的目的。

用户场景集中于您所描述的结果和好处,而用例可以更细粒度地描述系统将如何运行。用例在敏捷中有一席之地吗?或者它们可以相互结合使用吗?

本文将告诉您用户故事和用例之间的区别。

用户故事vs用例

用户故事往往一开始一样的用例,在每个描述了一种使用该系统,是围绕一个目标,从用户的角度来看,使用业务的自然语言,——自己不告诉整个故事。

用户故事与用例的相似性

如果我们考虑这两种方法的关键组成部分:

  • 用户故事包含用户角色、目标和验收标准。

  • 用例包含等价的元素:参与者、事件流和post条件分别(一个详细的用例模板可能包含更多的其他元素)。

用户故事与用例的区别

  • 用户故事的细节可能不像用例那样被记录到相同的极端。

  • 用户故事故意省略了许多重要的细节。用户故事的目的是通过在scrum会议上提出问题来引出对话。

  • 为了更频繁地获得反馈而进行小的增量,而不是像用例中那样拥有更详细的预先需求规格说明。

什么是用户故事?

用户故事是一个记录,它捕捉用户在其工作中所做的或需要做的事情。每个用户故事都由一段用自然语言从用户的角度编写的简短描述组成。与传统的需求捕获不同,用户描述关注的是用户的需求,而不是系统应该交付的内容。这为进一步讨论解决方案和系统结果留下了空间,该系统能够真正适应客户的业务流程,解决他们的操作问题,最重要的是为组织增加价值。

3C的概念

3C指的是优秀用户故事的三个关键方面。这个概念是由用户故事实践的共同发明人Ron Jeffries提出的。现在,当我们谈到用户故事时,我们通常指的是由这三个方面组成的用户故事。

卡(Card)

用户故事被写成卡片。每个用户故事卡上都有一个简短的句子和足够的文字来提醒每个人故事是关于什么的。

谈话(Conversation)

在整个软件项目中,通过客户和开发团队之间的持续对话来发现和重新确定需求。重要的想法和决定会在涉众会议期间被发现并记录下来。

确认(Confirmation)

确认也称为用户故事的验收标准。在讨论需求的过程中,客户不仅告诉分析师他/她想要什么,还确认在什么条件和标准下接受或拒绝工作软件。定义的案例以确认书的形式书写。注意,确认关注于验证相应用户描述工作的正确性。它不是一个集成测试。

什么是用例?

用例是在20多年前由Ivar Jacobson引入的,用于在描述系统的功能需求时捕获用户(参与者)的观点。它们描述了用户使用软件系统一步步完成目标的过程。

用例是对最终用户想要“使用”系统的所有方式的描述。用例捕获用户和系统交互的所有可能方式,从而使用户实现目标。它们还捕捉了在过程中可能出现的所有问题,这些问题会妨碍用户实现目标。

用例模型由许多模型元素组成。最重要的模型元素是:

  • 用例,

  • 演员

  • 以及它们之间的关系。

详细的用例说明

用例规范是系统提供的功能的文本描述。它捕获了角色与系统的交互。也就是说,它指定用户如何与系统交互,以及系统如何响应用户的操作。它通常以参与者和系统之间对话的形式出现。用例规格说明在用例图中由一个椭圆形表示,并且是大多数人在听到术语用例时想到的。

为什么我们仍然需要用例?

Alistair Cockburn解释说,他发现(在他咨询的公司)用户故事有三个主要问题:

  • 缺乏背景(最大的目标是什么)

  • 完成感,你涵盖了与目标相关的所有基础。

  • 没有预见未来工作的机制。

集成用例、用户故事和故事映射技术

Visual Paradigm提供了一个完整的敏捷环境,它将用例、用户故事、故事映射、关联评估和看板集成到一个完全无缝的、自动化的端到端流程中。这个过程可以通过补充用例和故事映射工具来解决Alistair在上面提到的用户故事技术的缺点。为了更快、更好、更智能地管理您的敏捷项目,还整合了其他有用的敏捷工具。

下面的概念图概述了Visual Paradigm支持的敏捷工具。

  1. 将可视化模型中的需求作为产品待办事项列表项发送(用于构建故事图)

  2. 故事图中的用户活动,它代表了一个大的系统上下文作为一个整体

  3. 活动、任务和故事的垂直结构——待办事项的完整性

  4. 发布管理

  5. 根据用户的开发工作和风险评估用户描述

  6. 使用sprint管理开发活动

  7. 使用sprint任务板跟踪进度

第1点到第3点是用来补充用户故事不足的工具。其他用户敏捷工具列在第4到第7点。

本文 http://jiagoushi.pro/node/1218
讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto】或者加QQ群【792862318】
公众号 【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
微信小号 【cea_csa_cto】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

QQ群 【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

视频号 【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

知识星球 向大咖提问,近距离接触,或者获得私密资料分享。

喜马拉雅 路上或者车上了解最新黑科技资讯,架构心得。 【智能时刻,架构君和你聊黑科技】
知识星球 认识更多朋友,职场和技术闲聊。 知识星球【职场和技术】
微博 【智能时刻】 智能时刻
哔哩哔哩 【超级架构师】

抖音 【cea_csa_cto】超级架构师
快手 【cea_csa_cto】超级架构师

小红书 【cea_csa_cto】超级架构师

谢谢大家关注,转发,点赞和点在看。

「需求分析」用户故事和用例是一回事吗?相关推荐

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

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

  2. 黑盒攻击的分类_「图像分类」图像分类中的对抗攻击是怎么回事?

    欢迎大家来到图像分类专栏,深度学习分类模型虽然性能强大,但是也常常会因为受到小的干扰而性能崩溃,对抗攻击就是专门研究如何提高网络模型鲁棒性的方法,本文简要介绍相关内容. 作者 | 郭冰洋 编辑 | 言 ...

  3. [架构之路-205]- 常见的需求分析技术:用户故事User Story(用户需求)、用例User Case(系统需求、产品需求)、场景Senario(内部执行流程)区别

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

  4. Joplin笔记 android,把笔记还给用户「Joplin」可以选择自己存储位置的笔记应用

    各种「云笔记」现在已经为人所熟知.在充分运用「云技术」的今天,另一股新潮流也在逐渐涌动. 这股潮流认为:「应该把笔记从云端还给用户」.具体来说:用户不要将笔记信息保存在「云笔记」大厂的服务器上,新潮流 ...

  5. 软件工程 用户故事地图 是什么 怎么用 实例

    用户故事地图是一种将用户故事可视化的方法 用户故事地图的方法主要用于解决敏捷需求分析过程中的问题: 用户需求难以排列优先级. 很难了解不同粒度故事(史诗故事.主题故事以及故事)之间的关系. 不能方便地 ...

  6. 初识「零知识」与「证明」

    副标题:探索零知识证明系列(一) 作者:郭宇 本文已更新至Github: https://github.com/sec-bit/learning-zkp/blob/master/zkp-intro/1 ...

  7. 极限编程 (Extreme Programming) 和用户故事 (User Stories) 的关系

    (Source: User Stories) 用户故事与用例具有相同的用途,但不尽相同.它们用于为发布计划会议创建时间估计.它们也用于代替大型需求文档.用户故事由客户编写,作为系统需要为他们执行的操作 ...

  8. 用户故事与敏捷方法阅读笔记03

    今天读完了<用户故事与敏捷方法>的第12章:用户不是什么 用户不是IEEE 830,不是用例,不是场景.读完这一章,我了解到对于任何方法,总会碰到不顺的情况,我们会看看发生问题时的一些不良 ...

  9. 需求条目化:一个让用户故事有效落地的套路

    摘要:你觉得需求条目化怎么样? 曾经,大概在2010年之后的几年里,敏捷在国内变得越来越广为人知,作为重要的敏捷需求实践,用户故事几乎成为了标配.但实践者们对于它,却一直都有着非常多的疑问和困惑,尤其 ...

最新文章

  1. VTK:Qt之ImageDataToQImage
  2. [转]边框回归(Bounding Box Regression)详解
  3. AUTOSAR从入门到精通100讲(三十一)-AutoSar中RTE的生成准备
  4. 从新手到Flutter架构师,一篇就够!吐血整理
  5. 【实体对齐·综述】An Experimental Study of State-of-the-Art Entity Alignment Approaches
  6. TeamCity+Rancher+Docker实现.Net Core项目DevOps(目前成本最小的DevOps实践)
  7. Python美味食谱:1.6 合并字符串
  8. Atitit webserver tomcat 7 8.0 8.5 9.0新特性 Tomcat 7 的七大新特性 - 编程语言 - ITeye资讯.html tomcat 8.0特性 - CSD
  9. J2Cache以RabbitMQ作为消息通知配置
  10. php如何识别flac文件,flac是什么格式
  11. DataMatrix 数据容量
  12. 记一次被QQ邮箱钓鱼邮件事件
  13. Elasticsearch与Spring的集成
  14. 美元指数与人民币汇率
  15. Excel 中的查找替换功能
  16. JZOJ 5585 老夫
  17. LightGBM算法详解(教你一文掌握LightGBM所有知识点)
  18. 程序员的奋斗史(四十五)——大学断代史(九)——独自南下的岁月
  19. 计算机视觉cv(1)
  20. 【Unity3D基础2-13】Unity3D UI系统之UGUI

热门文章

  1. 2022 ICPC Gran Premio de Mexico 1ra Fecha (B、D、E、F)
  2. 多任务让你走得更慢(很好,转自infoq)
  3. Unity | 基础逻辑
  4. STM32模拟I2C程序
  5. 受用一生的高效PyCharm使用技巧(三)
  6. 数据管理平台与数据治理平台的区别和联系
  7. 计算机如何寻址硬盘,再来理解一下硬盘
  8. 二叉树遍历-层序-递归
  9. 汉字 计算机 坟墓,墓的拼音_墓组词_墓意思(解释)-常用汉字大全
  10. 短视频平台开发,将图片、视频保存到本地的相册中