`

用例实现、用例场景和领域模型[1]【转】

 
阅读更多

    上一篇说到我们经过初步的业务分析,得到了用户、业务用例以及业务场景模型。这三项工作成果形成了基本的需求框架,并圈定了业务范围。这时应当做一份基线。


    当然,第一份基线所包括的内容是非常粗的,要达到完整的需求说明还有更多工作要做。这一篇就来说说详细的需求过程和产出物,以及这些成果对需求的贡献。在开始之前,还是提醒读者下载实例,本文下面只会从实例中挑选很少一部分来说明,对照实例读者将能更好的理解。


    上一篇确定了业务用例,以及业务场景。该场景只描述了业务框架,接下来要对业务用例进行场景分析。用例场景分析要用到三种视图,业务用例实现视图、业务用例场景、业务实体模型(领域模型),每个业务用例还应当写一份用例文档,也称为用例规约(UseCase Specification)。若有非功能性需求,例如性能要求,吞吐量要求等,还应当写一份补充用例规约。用例规约将在下一篇描述。


    首先是业务用例实现视图。并非所有的业务用例都一定要最终在系统中实现,因此,这个视图的含义是表达由需求范围到系统范围的映射关系。这个视图没什么技巧,也可以省略,不过笔者建议不要省略。需求应当保持过程的连续和可追溯性,这是软件过程可控的重要保证。
针对每个业务用例实现,应当对用例的实现过程进行场景模拟。上一篇是业务场景,而用例实现既然已经谈到“实现”,则应当将计算机包括进来,从人-机交互的视角来模拟业务场景。这是概念模型的一种,表达用户的实际业务在计算机环境下是如何实现的,给用户一个初步印象,告诉他们将来他们将怎样来做业务。请注意,虽然计算机已经参与需求描述,但是要尽量避免使用计算机术语,因为这时的文档仍然属于需求文档,是要与用户交流的,太多的计算机术语会大大降低用户对需求的理解能力。霍金在写时间简史时曾经说过,在书中加入哪怕一个数学公式,都会让书的销量减半。业务用例场景是概念模型的一种,但不是概念模型的全部。概念模型本篇不打算讨论,简单说一下,概念模型主要包括业务架构和系统原型。

 
    用例场景有另一个重要意义,是帮助系统分析员发现和定义业务实体。业务实体一般来说就是调研时用户所提供的各类表单或报表,但在很多情况下,并非每一份表单就是一个业务实体,所有业务表单也不一定涵盖全了所有业务实体。很多系统分析员声称业务实体的发现过程是全凭经验的,到底有哪些业务实体,靠经验进行提取。笔者要说,经验固然重要,但经验有一个最大的缺陷---不能重复和验证。即,这些实体是怎么从业务中提取出来的?它们是怎样参与业务的?这些实体已经足够支持业务了吗?凭经验分析者无法通过文档将这个提取过程记录下来,而脑子里的东西是无法共享和传承的,越大的团队,越复杂的项目,尤其是横向结构的项目组结构下,这个缺陷越严重。很多人觉得用UML和RUP描述的需求总是一块块分离的,不知道是怎么出来的,觉得很乱,原因就在于此。实际上,RUP做需求,每一步都是可验证和回溯的。用例实现视图是一个例子,这里也是一个例子。 

分享到:
评论

相关推荐

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

    例如,对于上述ATM取款用例,可以设计多个场景,如正常取款(基本流)、超限取款(备选流3)、输入错误(备选流1和2)等。每个场景对应一组特定的条件和预期结果,例如测试用例TC x、TC y和TC z分别针对超过账户余额...

    通用测试用例模型

    通用测试用例模型是软件测试领域中的一种重要方法,它旨在提供一种标准化的方式来设计和组织测试用例,以便在不同的项目或系统中复用。在Java编程语言中,我们可以利用面向对象的特性来构建这样的模型。下面将详细...

    uml面向对象建模与设计的用例模型

    标题和描述中提及的“uml面向对象建模与设计的用例模型”是IT行业中软件工程领域的核心概念之一,尤其对于初学者而言,掌握这一知识点至关重要。用例模型是统一建模语言(UML)的一部分,用于描述系统的行为,特别是...

    编写有效用例.pdf

    通过用户目标、概要层次和子功能层次的区分,可以将复杂的功能分解成更易于管理和实现的小块。例如,用户目标是最高层次,是直接提供给最终用户的可见功能。概要层次在中间,描述了子功能的组织结构,而子功能层次则...

    用例分析方法总结和归纳

    3. 定义用例关系:分析用例之间的关联,如扩展、包含和继承,以便更好地组织和简化用例模型。 4. 编写用例规格说明:为每个用例编写详细的规格说明,包括用例名称、简述、预条件、后条件、主流程、异常流程等。 5....

    2、软件工程网上图书销售系统用例模型及用例图借鉴.pdf

    本文档主要介绍了一个网上图书销售系统的用例模型和用例图,旨在帮助读者更好地理解软件工程中的用例模型和用例图的应用。 在软件工程中,用例模型是指对软件系统的行为和功能的描述,它们可以帮助开发者和客户之间...

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

    - **用例一** 描述了一个单脚本场景,指定了脚本编号、场景类型、计划类型和运行步骤,同时列出了预期和实际的性能指标,如响应时间和资源利用率。 - **用例二** 可能包含了更复杂或不同类型的场景,用于进一步验证...

    《编写有效用例》,《用例》

    此外,用例还需要区分成功场景和失败场景,以及子目标的实现,确保覆盖所有可能的交互情况。 为了提高用例的效率和质量,书中建议合理安排精力,对用例进行优先级排序,确保关键功能得到优先实现。同时,通过系统...

    UML用例建模

    3. 描述用例场景:为每个用例详细描述具体的步骤或流程。 4. 建立关系:包括泛化(Generalization)和包含(Include)等关系,它们定义了用例之间的依赖性和包含性。 5. 验证和评审:确保用例模型准确地反映了系统的...

    MonkeyRunner环境用例脚本化的Android软件测试模型.pdf

    【Android软件测试的重要性】 在当前数字化时代,Android操作系统已经成为全球最广泛使用的...在面对大量Android应用的测试需求时,这种自动化测试策略具有显著的优势,值得在软件开发和测试领域中广泛推广和应用。

    基于模型驱动的自动化测试用例生成.pptx

    基于模型驱动的自动化测试用例生成是软件测试中的一种先进技术,通过使用模型驱动的方法来生成自动化测试用例,提高测试效率和测试覆盖率。本文将详细介绍基于模型驱动的自动化测试用例生成的技术细节和应用案例。 ...

    5实验五 状态转换法设计测试用例1

    在本实验“5实验五 状态转换法设计测试用例1”中,我们将深入理解这一方法并应用它来设计针对特定场景的测试用例。 一、状态转换法的理解与应用 状态转换法基于系统的状态模型,通过分析系统在不同状态下可能的行为...

    基于用例建模的需求获取

    这些关系有助于组织和管理复杂的用例场景,使得用例模型更加清晰和易于理解。“扩展”关系用于描述一个用例如何通过增加额外的行为来扩展另一个用例的基本行为。“包含”关系则是指一个用例包含了另一个用例的所有...

    用例分析技术2E

    UML是一种广泛使用的系统建模语言,它为软件开发提供了图形化的表示方式,帮助开发者清晰地表达系统的需求、设计和实现。在软件工程中,用例分析是需求获取和分析的重要组成部分,它主要关注系统的外部行为,即系统...

    编写有效用例----------

    在软件工程领域中,编写有效的用例是开发高质量软件产品的一个重要环节。用例是一种表达软件系统功能和用户需求的技术,它通过模拟用户与系统的交互来描述系统的使用场景。用例不仅能够帮助开发人员理解用户的业务...

    如何设计编写测试用例

    6. **全面性体现**:测试用例分为正面测试用例和负面测试用例,分别用来验证功能的正确实现和非预期行为。 #### 测试用例的特性 - **完整性**:测试用例应当覆盖所有需求和潜在的问题领域。 - **覆盖率**:不仅...

Global site tag (gtag.js) - Google Analytics