`
softstone
  • 浏览: 461058 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

基于序列的规范过程

阅读更多

基于序列的规范过程

未经允许,严禁转载本栏目内容

本文经许可转载自软件工程专家网www.21cmm.com

未经CSDN许可,请勿随便转载,谢谢合作

  规范制定有很多方法。基于顺序的规范是指逐步构造出完备、一致和正确的黑盒和状态盒规范的过程。本节讨论的就是这种方法。

  在基于序列的规范过程中,按严格顺序系统地举出所有可能的激励(历史激励)序列,如按长度0、1、2……排列。因为每个序列映射至其正确的响应,所以可通过应用归约规则辨识等价序列,当完备和一致地定义了系统以后枚举过程结束。

  基于Mills(1975)、Pamas(1992)、Mao(1993)Drowell(1996)和 Poore(Prowell和Poore,1998)的工作,基于序列的规范产生了明显的问题,软件使用的各种情况的组合产生的用例个数是天文数字。通过序列枚举,开发人员考虑系统激励的所有排列和组合。每种序列代表一种使用场景。在逐步枚举过程中,要区别可能的场景和不可能的场景,计划中的使用和错误的使用,可规约的序列和不可规约的序列。这些不可规约的序列(称为典型序列)是软件行为的精确规范的基础,这种精确是指数学意义上的完备性、一致性和可追踪正确性。

  序列书面枚举提供了完备性的直接验证。能按序列的从小到大的长度(1,2,3……)逐一验证激励的所有组合和排列是否已映射到一个响应。

  序列顺序枚举保证了任何所给使用场景只出现一次。和完备性一样,一致性也是枚举的直接的推论。

  基于序列的规范的每一元素都可追溯到最初的需求。如果一个序列的正确响应在需求中找不到,那么必须澄清所期望的行为并修改需求。

  基于序列的规范工作流程以连续方式对掌握需求分析、黑盒规范、状态盒规范方面提供了自动支持的可能性。其步骤在下面的小节中作简要说明。

黑盒定义

  加上标签的需求。将需求加上标签序号用于验证后续工作产品的每一要素的正确性。有条理的顺序枚举过程可暴露出需求的含糊不清或遗漏的地方。在基于序列的规范中得到清晰的需求是很自然的事。
定义系统边界。系统边界决定了组件是在系统的内部还是外部。处于系统外部的实体是激励来源和响应的目的地。激

  励和响应的标识始于最基本层次。进一步考虑(可能包括初期枚举)后常用抽象这种方法来简化枚举进程。
抽象用于隐藏易于明白的细节。以反映问题的自然划分或将一个较大的元素集归约为较小的元素集。必须有一个好的定义将大集合中的元素映射到小集合中的元素。激励集(或响应集)可能由不同的粒度混合而成(有基本的,有抽象的)。不管是什么粒度层次,激励集(或响应集)必须是互斥的。

  顺序枚举。将所有序列的排列组合按长度顺序列举。对每个序列进行检查时,完成如下评价工作:

  1. 不可能的序列(如在系统启动之前的激励)标上"非法"。任何非法序列的扩展仍是非法的,所以标有"非法"的序列在列举时不再扩展。

  2. 对应于需求,对每个序列的正确响应要记录归档。如果没有需求与之对应,要记下一个导出需求。导出需求代表假设或解释,所以必须和原来的需求一起进行确认。

  3. 如果两个序列对未来激励的响应是一样的,则称它们是等价的。既然两个等价序列的扩展对应同样的行为,就没有必要都扩展,只需将较短的进行扩展。

  当一个给定长度的所有序列或者非法或者和先前的序列等价时,就停止枚举。

  完全的枚举表示数学上完备的、一致的和可验证正确的黑盒规范。因为每一个序列映射到一个响应,所以规范是完备的;因为每个序列只对应一个响应,所以规范是一致的。由领域专家去验证其正确性,每序列对应的行为追溯到需求正好是所需的行为,则验证了正确性。

  典型序列分析。枚举中的合法的不与任何先前序列等价的序列,称为典型序列。典型序列代表了系统使用的独一无二的情况,对于给定抽象层次的黑盒子,对典型序列的分析将产生系统的状态空间。

  在典型序列分析中,用变量来封装每一激励序列的条件。这些变量可视为系统的状态数据。对相关变量的典型序列进行检查可得到每个变量的范围。对每一典型序列,变量值的组合是惟一的。这使得在分析完成时典型序列都是不相交的。

状态盒定义

  黑盒规范中每一序列可看作是个元组(当前的激励、以前的激励)。黑盒中位于每个序列上的以前的激励事实上是典型序列。基于这一点,制定系统的状态盒子规范只是一个装配的事。可将每个合法的黑盒映射(序列→响应)替换成状态盒映射(当前激励、状态→响应、状态更新)。状态盒可以自动从黑盒生成,如果借助认证工具生成,则无需再验证。

  状态盒的最后形式是一系列映射表的集合,每个激励对应一个映射表。映射表的格式如下图所示。

  状态盒规范是规范的最后产品。在从状态盒细化到明盒子的过程中将继续用到净室盒子结构规范和设计方法。在明盒中将进行完整的过程设计。

分享到:
评论

相关推荐

    基于异方差模型的长期依赖时间序列的动态VaR和CVaR风险测度方法

    动态风险度量VaR和CVaR的预测值的获取过程被规范化为一个多步骤算法。 该算法包括以下步骤:自回归预测,创新突出显示,获得模型残差的静态风险度量的评估,使用建议的公式形成最终预测,结果质量分析。 将该方法...

    midi-msg:MIDI 1.0详细规范及其许多扩展和附录的(最终)完整表示形式,以允许将MIDI字节流与键入的表示形式进行序列化和反序列化。

    同样,在争取完整性的过程中,任何有效的MIDI字节序列都可以反序列化为MidiMsg 。 结果是,不符合规范的“类MIDI”消息几乎无法表示。 此外,midi-msg努力用不只是“字节包”的类型来捕获MIDI的语义。 任何非数字...

    基于Java实现(GUI)中文分词系统【100011831】

    分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,...

    基于工作过程的高职软件技术专业课程体系开发 (2014年)

    以岗位工作过程重构软件技术专业核心课程,以岗位工作目标设定学习目标,以岗位工作任务的逻辑顺序序列化课程内容,以岗位工作规范设定课程考核标准,构建基于工作过程的课程体系,完善人才培养模式,培养出适合软件职业...

    论文研究-一种基于可信策略的云存储持久性检测方法.pdf

    为了保证被检测数据的真实性及检测过程的客观性,提出一种综合随机检测数、随机检测序列、MD5及秘钥的可信检测算法,并设计实现了对应的检测工具。实验结果显示,该算法的查全率和准确率都达到了100%,验证了算法的...

    jcs:基于RFC 8785的golang JSON规范化方案库

    递归过程中JSON Object属性的字典排序 JSON Array数据也可以进行规范化,但是元素顺序保持不变 原作 该代码最初是由Anders Rundgren aka网络电话创建的,可以在以下位置找到: : 。 此分叉工作是在

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    对于Service类,基于SOA的理念,是以接口方式暴露服务。 D .尽量不在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,而且是整个应用的基础常量。 单选 10.集合在遍历过程中,有时需要对符合一定条件...

    数据库设计规范(3).doc

    3 3.1 数据库命名规则 3 3.2 数据库对象命名的一般原则 3 3.3 表空间(Tablespace)命名规则 4 3.4 表(Table)命名规则 4 3.5 字段命名规则 4 3.6 视图(View)命名规则 4 3.7 序列(Sequence)命名规则 5 3.8 存储过程...

    基于关联与回溯的产品变异设计过程重用方法 (2010年)

    对设计系统的模块进行精细化和抽象化,建立具有规范化数据接口的产品结构变异设计的信息模型,用状态空问的带权有序检索树存储变异设计过程;将变异设计语义添加至可移植结构,当发生分割、合并和变换的变异设计行为...

    编程原本.[美]Alexander Stepanov(带详细书签).pdf

    1.6 规范过程 8 1.7 概念 10 1.8 总结 14 第2章 变换及其轨道 15 2.1 变换 15 2.2 轨道 18 2.3 碰撞点 21 2.4 轨道规模的度量 27 2.5 动作 28 2.6 总结 29 第3章 可结合运算 31 3.1 可结合性 31 3.2 计算...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...

    Java课程设计项目实例《基于微服务的在线签到》子系统.pdf

    "在线签到"子系统选用目前比较流行和热门的"微服务"( Microservice)作为系统 的技术实现方案,作者在本文中将重点介绍子系统所应用的核心技术——微服务、反射、 对象序列化、多线程以及基于 TIP/IP 的 Socket ...

    QCD中的简并关系和设定重整化尺度的两种系统的所有阶方法的等价性

    两种方法都会导致所有订单的恢复序列(“保形”)序列相同。 由于考虑了pQCD扩展中的其他重归一化组{βi}-项,减小了两种方法之间的小规模差异。 我们还表明,特殊的简并关系(实际上是两种PMC方法的等价关系以及...

    论文研究-灰色关联投影下的模糊多属性群决策方法.pdf

    针对属性评价信息为区间直觉梯形模糊数的多属性群决策问题,给出一种基于灰色关联投影的群决策方法。在规范化处理各决策矩阵的基础上,定义负极端决策矩阵及平均决策矩阵,根据各决策矩阵与这两类矩阵的距离大小确定...

    基于XML的数字地下空间索引QR树研究 (2009年)

    该索引将检索过程涉及到的空间限制在整个索引空间的某一部分XML利用其结构化的特点,改进了传统QR树索引文档与数据结构之间需要序列化的缺点,改善了因数据激增而下降的查找性能;同时利用XML的可扩展性,实现对索引信息...

    协力超越实习报告(1).doc

    了解了 当前我国3G的发展背景及主要状况,主要对于WCDMA技术进行学习,在学习过程中明白了 WCDMA的网络拓扑结构及采用的技术原理,WCDMA为宽频分码多重存取,这是基于GSM网发 展出来的3G技术规范主要运营商为中国...

    协力超越实习报告.doc

    了解了 当前我国3G的发展背景及主要状况,主要对于WCDMA技术进行学习,在学习过程中明白了 WCDMA的网络拓扑结构及采用的技术原理,WCDMA为宽频分码多重存取,这是基于GSM网发 展出来的3G技术规范主要运营商为中国...

    Python3基于print打印带颜色字符串

    一、实现过程  终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关  转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)  书写格式:  ...

    SQL Server 2008数据库设计与实现

    第4章 规范化过程  4.1 为什么要规范化  4.1.1 消灭重复数据  4.1.2 避免编写不必要的代码  4.1.3 给表瘦身  4.1.4 最大化聚集索引的使用  4.1.5 降低每张表中索引的数量  4.2 规范化应该走多远  ...

Global site tag (gtag.js) - Google Analytics