`

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

 
阅读更多

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


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


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


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

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

分享到:
评论

相关推荐

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

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

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

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

    面向高速公路车辆切入场景的自动驾驶测试用例生成方法

    为在自动驾驶汽车基于场景的测试中生成涵盖相应场景中复杂多变的真实交通运行过程的测试用例,从highD 数据集中提取车辆切入场景的多个实际样本,通过分析运动参数和参与车辆之间的位置关系,建立车辆切入场景的描述...

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

    1 概述 4 2 测试目的 4 3 测试设计 4 3.1 对象分析 4 3.2 测试策略 4 3.3 测试模型 4 3.3.1 测试环境描述 4 3.4 详细测试方法 5 3.4.1 测试方法综述 5 3.4.2 并发用户计算及启动 5 3.4.3 监视统计数据 5 ...

    面向高速公路车辆切入场景的自动驾驶测试用例生成方法.pdf

    描述模型基于运动参数和参与车辆之间的位置关系,能够捕捉车辆切入场景的复杂性和多样性。接着,根据切入点的碰撞时间评估该方案的风险程度,并使用蒙特卡罗方法生成测试用例。 蒙特卡罗方法是一种概率统计方法,...

    论文研究-基于同心圆模型的测试用例管理方法.pdf

    介绍了一种测试用例管理方法,尤其是设计了一种同心圆模型,对测试用例的测试场景组合进行量化分布。通过同心圆模型定义的量化指标-分布密度,在测试管理的各阶段,包括测试用例设计、测试用例执行、测试分析,探索...

    论文研究-UML模型驱动的划分测试用例生成方法研究.pdf

    测试用例的自动生成是软件测试研究的...构建了基于该方法的原型工具软件, 提供被测软件原模型和数据约束即可生成测试用例。实验结果表明, 该方法能够在不降低测试覆盖率的情况下, 能生成数量少、针对性强的测试用例集。

    列控中心自动化测试测试用例生成方法.pdf

    通过扩展确定性有限状态机的输入输出动作,可以构建带有输入输出时间的确定性有限状态机模型,该模型可以描述系统的行为和状态转换,并且可以生成测试路径和测试用例。 改进的广度优先搜索算法是生成测试路径的关键...

    地产大亨游戏项目需求分析和系统设计文档.doc

    需求分析部分详细描述了游戏的需求,包括用例模型、用例文本和领域模型。用例模型描述了游戏中的所有用例,包括玩轮回、经过起点方格、购买财产方格等。用例文本则详细描述了每个用例的名称、主要参与者、涉众、前置...

    基于UML顺序图的场景测试用例生成方法

    引言本文提出了一个基于UML模型图来测试场景的方法,它以顺序图为主要测试模型,结合类图和状态图导出所有的场景,并将与场景相关的环境条件与方法序列、输入、输出合理组合作为覆盖该场景的测试用例。我们的工作...

    论文研究-应用UML顺序图的联锁测试用例生成方法.pdf

    计算机联锁软件是安全完善度等级... 然后基于特定的覆盖准则和采用深度优先搜索算法遍历SG, 得到场景的输入、预期输出、约束条件以及场景环境, 生成测试用例; 最后, 以进路建立过程为例验证了该方法的可行性和正确性。

    基于模型的Web应用二阶SQL注入测试用例集生成

    利用基于模型的测试用例生成思想, 提出了一种基于客户端行为模型的测试用例集生成方法(CBMTG), 用于生成检测Web应用二阶SQL注入漏洞的测试用例集. 首先通过初始测试用例集的执行建立迁移与SQL语句的映射关系; 然后...

    一个基于UML 协作图的集成测试用例生成方法.pdf

    在这种方法中,UML协作图被用作测试模型,首先通过遍历每条消息的直接后继识别协作图中的所有可能的场景路径,然后在遍历每条场景路径的过程中获取相应协作执行的路径条件、参数变量和预期方法调用序列。最后,使用...

    随机显示的背景(HTML经典用例)

    JavaScript 中的 `Math` 对象提供了生成随机数的方法,包括 `Math.random()` 方法,该方法返回一个介于 0 和 1 之间的随机数。在这个例子中,我们使用 `Math.random()` 方法来生成一个随机索引,然后使用这个索引来...

    中药方剂数据挖掘信息系统设计与实现 开题答辩PPT.pptx

    1. 确认和完善系统用例、用例实现、用例场景以及相应的活动图、泳道图、类图、用例图、用例规约、鲁棒图和序列图。 2. 完成系统设计,包括模型设计、包设计和接口设计等。 3. 进行系统编码,初步完成系统项目。 4...

    学生成绩管理系统软件开发设计实训报告.doc

    整个系统的设计和开发过程遵循软件开发生命周期的各个阶段,从需求分析、业务分析、概念分析到系统设计和实现。 1. 需求分析模型重构 在需求分析阶段,我们对学生成绩管理系统的业务需求和非功能性需求进行了分析...

    UML建模方法论(下):系统建模

    系统建模这里如果按照书中的方法同样需要做很多的工作,包括:概念用例系统用例视图系统用例规约补充规约业务规则系统用例实现系统用例场景分析对象在这里我们还是和上面一样,只用分析系统用例视图模型和系统用例...

    软件工程课件

    功能模型由用例和场景表示,对象模型由类图(对象)图表示,动态模型由状态图和顺序图表示。 软件工程课件涵盖了软件开发的全生命周期,包括需求获取、设计、实现、测试和维护等阶段。软件开发需要使用各种方法和...

    SOA三层架构在嵌入式文件系统上的实现

    根据"需求—语义—服务"三层架构的设计思想,完成了文件系统整体设计思路和实现方案。需求层利用UML建模方法、Ontology建模工具Protégé及其推理插件pellet构建了文件业务系统的领域本体模型,从领域模型中提取出了...

    场景描述需求分析实例.doc

    场景描述的类型主要有四种:正常的用例场景、备选的用例场景、异常的用例场景、假定推测的场景。通常情况下,我们会从正常的用例场景开始,然后再着手其他的场景分析。 在本文档中,我们以出租车预定系统为例,讨论...

Global site tag (gtag.js) - Google Analytics