`

业务场景和业务用例场景的区别【转】

 
阅读更多

     简单点说,在以业务目标为边界的业务模型中,业务场景图描绘的是贡献于这个业务目标的什么人及其做的什么事,这些人和事的交互过程和完成顺序就是完成整个业务目标的流程。而这些人往往是业务主角、而他们所做的事便是业务用例了。所以我认为,绘制业务用例图和业务场景图并没有谁先谁后的问题,这两个图是互相验证的。可以先绘制业务场景图,然后把其中的泳道和活动拿出来,得到的就是活生生的业务用例。但根据业务场景图得到的业务用例不一定是完整的,因为可能存在独立的、未参与交互、但仍贡献于整个业务目标的业务用例存在。所以,需要业务用例图与业务场景图进行互相验证。这样才能得到完整并且正确的业务用例。


    到了绘制业务用例场景图的时候,边界必须要缩小了,缩小到每一个业务用例的大小,透过这个边界观看业务用例的内部,看到的是完成这个业务用例所需的步骤,也就是一个人是如何去做一件事的。把边界重新拉大看,这个人做的这件事是完成某个业务目标的一个步骤。正是这些不同的人做的不同的事才构成了整个宏大的业务目标。举个例子,一个人要周游世界(业务目标),那么他需要周游亚洲(业务用例)、周游欧洲(业务用例)、周游拉丁美洲(业务用例)……


    他需要把这些地方都周游过了才能完成周游世界这个伟大的业务目标,于是他可以列出各洲的周游计划表(业务场景图),比如先亚洲、再欧洲、再拉丁美洲……


    周游计划表搞定了,那么仅仅凭这一张空泛的蓝图还是不行的,还需针对每一个步骤设计更详细的各国周游计划表(业务用例场景图)。比如对周游亚洲来说,他要先游中国、再游日本、越南、印度……


    可以看到,一开始的边界是全世界,以这个边界绘制了各洲周游计划表(业务场景图)后,然后再将边界缩小到周游每一个洲上(业务用例),他开始绘制各国周游计划表(业务用例场景图),如果他还觉得不够详尽,还可以以一个国家为边界,绘制游览各风景区的计划表,得到粒度更小的用例。这样边界和抽象层次可以根据需要不断缩小降低,直至得到满意的结果。


    故,从业务建模到系统建模这一整个过程就是一个边界不断缩小、抽象层次不断降低、用例粒度不断变小的过程。以业务目标为边界时,得到的是业务场景图,其中的每一个活动往往都是业务用例;缩小边界到业务用例,得到业务用例场景图,而粒度更小的系统用例就是从该图的活动里筛选出来的;然后可以再缩小边界到每一个系统用例,可以绘制出系统用例场景图,这个时候对用例的建模工作就已经差不多了。而在这个过程当中,不同大小的边界、不同高低的抽象层次是不可交叉的,因为交叉会导致混乱、会将原来自顶向下井井有条的分析过程彻底打乱。可以想象,对于上面的例子来说,当设计各国的周游计划时,不可能出现这种情况:日本--->泰国--->长城--->印度--->欧洲


    再举个例子,当描述一个人的外表时,应当以人的身体外部为边界,从而得到如此词汇:身材高挑、发型整齐、鼻梁挺拔……如果混淆了边界,在这些词汇后突然冒出来一句血压偏低,只会令人莫名奇妙。同样,体检单上也不会出现如下描述:血压正常、心率正常、发型凌乱……


    所以在建模过程中最重要的就是把握边界。但建模过程中的边界有时并不像现实中那样显而易见,一不小心就会逾越边界,我就经常犯错,在以业务目标为视角的用例图中拉进了一大堆不同抽象层次的用例,不同边界的用例交杂在一起,混乱无比,时常把自己搞得也是头昏脑胀。所以这个时候就要多思考、多与同伴讨论、多向高手请教。


http://se.csai.cn/ANALYZE/201009072221311670.htm

 

分享到:
评论

相关推荐

    使用用例场景设计测试用例

    最完善完整版使用用例场景设计测试用例,从思路出发,梳理设计逻辑

    场景法设计测试用例(以在线购物系统为例

    场景法设计测试用例(以在线购物系统为例) 用户进入一个在线购物的网站惊醒购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行订单交易,交易成功后,生成订购单,完成整个购物过程

    测试用例设计方法场景法VS功能

     2、使用者  用例设计、执行及热爱测试的人员  3、测试用例设计方法  按照不同的规则可以将测试用例分为四个部分:场景用例(用户场景)、系统用例(用户场景的细化)、功能用例(基于业务规则、界面)、设计指标...

    性能测试场景用例模版.doc

    目录 1 概述 4 2 测试目的 4 3 测试设计 4 3.1 对象分析 4 3.2 测试策略 4 3.3 测试模型 4 ...3.4.4 业务模型 6 4 测试结果 7 4.1 CPU使用情况 7 4.2 内存使用情况 8 4.3 页面分解 9 5 测试结论 12

    软件测试用例设计方法场景VS功能

     2、使用者 用例设计、执行及热爱测试的人员 3、测试用例设计方法 按照不同的规则可以将测试用例分为四个部分:场景用例(用户场景)、系统用例(用户场景的细化)、功能用例(基于业务规则、界面)、设计指标(基于...

    场景法在系统中的应用

    场景法:通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。用例场景来测试需求是指模拟...场景主要包括4种主要的类型:正常的用例场景,备选的用例场景,异常的用例场景,假定推测的场景

    uml.rar_UML 需求_业务场景

    发都通常都使用典型场景(scenarios)来理解一个系统的需要是什么和系统是...用例是获取业务过程和系统需求的有效方式。而且技术本身是非常简单易学的。 使需求可被浏览 形式化场景获取是为了使用户和开发者都可以浏览

    软件工程-3.业务建模

    第 3 章 业务建模BUSINESS MODELING 3.1 业务建模概述 3.1.1 目的 3.1.2 业务的构架视图 3.1.3 业务建模工作流程 3.1.4 业务建模场景 3.1.5 业务建模关键任务 3.2 了解系统上下文 ...3.4 建立业务用例模型 。。。

    测试用例设计方法教材.pdf

    2.场景法(重点方法)定义:通过运用场景来对系统的功能点或业务流程的描述,... 3.正交排列驱动法定义:在界面中有多个控件,控件之间有多种组合关系,如果组合的数量巨大(... 4.因果图1.定义:是一种利用图解法分析输入的...

    软件测试中测试用例设计方法场景VS功能

    软件测试中测试用例设计方法场景VS...2、使用者用例设计、执行及热爱测试的人员3、测试用例设计方法按照不同的规则可以将测试用例分为四个部分:场景用例(用户场景)、系统用例(用户场景的细化)、功能用例(基于业务

    基于WPS的电信业务集成场景,第一部分:场景与系统架构

    本文内容包括:引言业务场景用例系统架构开发流程介绍结束语参考资料在本系列文章中我们将介绍WSCTI项目实现的电信业务场景,数据模型和业务流程,如何实现应用系统的集成和业务流程的整合。本文首先介绍WSCTI项目的...

    测试用例.20210407143130666.xlsx

    也包括业务场景的测试,比如弱网状态的测试(可使用fiddle设置弱网),网络的切换的测试(4g_wifi等) 2、安装/卸载测试 测试app在手机上的安装/卸载是否存在问题,覆盖安装的处理是否正确,是否支持第三方的辅助...

    集成测试用例设计的一些感悟

     集成用例设计基于业务场景,其实说白了集成测试是按照详细设计来写的,但其输入的数据来源则是来于uc,设计思想如下; 先进行数据准备,数据准备的思想来源于uc,分析出uc的业务场景,通过各个业务场景来产生各个...

    DPDK软件开发研发概要说明

    第一,了解业务对数据加速需求、存在的业务场景及数据加速指标要求。第二,根据业务基本要求和协议(包括L2、L3)内容特点分析数据加速过程中涉及到的核心代码,分析骨干代码主体设计思路,完成OFP、ODP、DPDK核心...

    测试用例质量不高?我教你如何编写高质量的测试用例!

    所以这部分用例应该相对比较少,如果发现比较多的话可以分析下是否研发的一些逻辑没有覆盖到相关地方 如何编写高质量的测试用例 高质量的标准: 1、 覆盖到所有的业务逻辑(包括正常逻辑和异常逻辑) 2、 ...

    UML建模方法论(中):业务建模

    所以在业务建模这一块,我认为只需要做最核心的业务用例视图建模和业务用例场景建模就可以了。什么是用例图?在UML里有一种视图类型叫用例图,用例图采用参与者和用例作为基本元素,以不同的视角展现系统的功能性...

    编写软件测试用例的一点小体会

    用例一般是由软件开发者和最终 编写软件测试用例的一点小体会 软件测试 每个用例提供了一个或多个场景,该场景揭示了系统是如何同最终用户或其它系统交互的,从而获得一个明确的业务目标。用例要避免技术术语,...

    史上最全测试用例设计理论与方法策略总结

    1. 测试方法选择综合策略 以下主要针对黑盒测试的测试方法进行综合策略选择的说明,可供大家在实际应用过程中参考: ...8、 对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合实验各种测试方法

    15-M-5G V2X 应用场景白皮书.pdf

    每一类的应用场景都提出了一个或多个典型用例进行定义和需求分析,并对协同驾驶的消息流程进行了分类概括。进一步地,在应用场景的基础上,阐述了国内应用层消息集的标准化进程,并指明后续与应用场景相关联的重点...

Global site tag (gtag.js) - Google Analytics