净室技术

2008-04-09 04:06:18来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  净室软件工程可用如下三个关键技术来刻画:置于统计过程控制之下的增量开发,基于函数的规范、设计和验证以及统计测试和软件认证。这些技术可分开使用,也可一起使用。采用这些技术可改进技术生产过程。

在统计过程控制下的增量开发

  增量开发基于产品开发中受控迭代的工程原理------控制迭代。增量开发不是把整个开发过程作为一个整体,而是将其划分为一系列较小的、累积的增量。每个增量都是累积的,也就是所有以前的增量加上新的工作而不断累积。增量开发是开发小组保持对项目智能控制的基础。因为小组成员在任何时刻只需把注意力集中于工作的一部分,而不是一次考虑所有的事情。

  增量开发把一个净室项目分成一个有序的开发周期序列。在每个周期完成一些用户功能。在每个增量开发完成时,产品的功能便可向客户演示。这样客户对产品有真实的感观认识,他们可不受约束重新确认需求或使需求更加清晰。这将使产品在完成时双方的不满程序降到最低。

  增量开发计划由系统结构驱动。在成熟的生产线,一个参考结构可以规定高层的结构和接口,增量将致力于重用、修改或者在体系结构的已知位置开发组件。在新的开发中,顶层结构要么先于第一个增量,要么成为第一个增量所关注的对象。而后续增量将具体完成结构中的桩模块。在一个业已存在的旧系统中,增量计划可以和一个再工程计划吻合,使得变化不是动摇而是改进了系统。在维护环境中,修补和增强视为增量开发的一种延续,采用新增量开发中用到的同样的进程准则。

  给定一个系统结构,在增量规划中,有许多因素要考虑。在嵌入式系统中,硬件开发的进度协调是一个要考虑的要素。在图形用户界面(GUI)系统中,第一个增量通常是制定用户接口原型,需求的最易改变部分是可讨论的。因为增量开发避免了整体框架,在给增量分配开发任务时总要考虑功能依赖的问题。比如,一个文件中的记号有其他用处时,必须对该文件做语法分析。影响增量开发的其他因素还有危险性、复杂性、新颖性、重用性以及使用频率等。如果可能,在较早的增量中要包含最具不确定性的部分,这样可尽早理解影响进度的因素。

  智能控制、客户反馈、风险管理以及增量开发的优点是使项目组有效地进行统计过程控制。在每一增量开发结束时,要度量产品的质量并和小组的质量目标进行比较。比较的结果可以确定是否在控制之下,出现较小的偏差时要对项目进行追踪,而出现不可接受的偏差时要进行仔细的性能主审。如果确定了问题,小组要进行过程调整以便在下一个增量中改进性能。

基于函数的规范、设计和验证

  净室采用的方法不仅有坚实的理论基础,而且可操作性很好。规范从一个外部视图(称之为状态盒),最后由一个过程(明盒)来实现。这些形式上不同、行为上等价的视图统称为盒子结构。盒子结构是基于对象的,并支持软件工程的关键原则:信息隐藏和实现分离。

  黑盒规范定义了一个系统或其组件从输入到输出的映射的外部行为。只需定义外部行为,而不必描述内部状态或实现细节。黑盒只定义一个系统或其组件的用户视图。这里的用户可能是一个人,硬件单元或其他程序。下图从概念上描述了一个黑盒,其中SH代表激励历史(stimulus history),R代表相应的响应(response)。

  一个激励序列是对系统的一系列单一输入。一个激励可能由用户产生(如一次按键或鼠标单击),也可能是硬件(如一个时钟脉冲或来自传感器的信号),或者是另一个软件组件(如操作系统或数据库)。一系列这样的激励组成一个独一无二的激励序列,它必须对应一个响应。黑盒由所有可能的激励列表、响应列表以及激励到响应的映射规则组成。黑盒是一种与状态无关,与过程无关的函数描述,其映射必须是完备的、一致的和可跟踪性正确的。

  状态盒规范由黑盒导出,是通向实现的第一步。状态盒把为获得黑盒指定的外部行为而需保存的激励元素定义为状态数据。状态盒把系统或其组件所需行为定义为一个从当前激励和旧状态到对应响应和新状态的映射(变换)。定义状态数据后,就不必考虑激励历史了。下图描述了状态盒的概念视图。

  状态盒只描述了系统或其组件的响应和状态更新,仍不包括过程实现细节。和黑盒一样,状态盒必须满足完备性、一致性和可跟踪正确性。

  明盒规范用过程实现了对应的状态盒。这些过程实现了状态盒的映射规则,也有可能引进代表宏操作的新黑盒。过程必须足以完成必要的状态更新和所需的响应。下图描述了明盒的概念视图,为一顺序控制结构。分支、循环和并发控制结构也可在明盒中出现。引入的黑盒将在随后的求精过程中细化为状态盒和明盒。

  与黑盒和状态盒一样,明盒也必须满足完备性、一致性和可跟踪正确性。明盒可由系统的设计语言或目标语言来加以定义。

正确性验证

  在盒子结构规范设计中,定义黑盒来记录所需的行为。状态盒是黑盒的细化,定义了所需的状态数据,明盒是状态盒的细化,定义了所需的过程。每一种盒结构在小组评审时都要经正确性验证。小组采用基于函数理论的推理根据前一步来验证每一细化步骤的正确性。换言之,开发小组确认在每一步中定义的激励-响应映射规则都在后续步骤中被保持。

  例如,在明盒过程验证中,函数理论的正确性定理为正确程序定义了必须满足和条件(Linger、Mills和Witt 1979)。开发小组在验证评审中将用想象和文字来验证这些条件的正确性。明盒过程可能包含无限多的路径,这些路径不可能通过基于路径的审查或软件测试来得到全部的检查。但正确性定义是基于验证单个控制结构而不是跟踪路径的。因为过程包括有限的控制结构,所以正确性定理将验证规定为有限情形的检查,并从逻辑上人武部验证了所有可能的使用情况。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:净室软件工程及发展

下一篇:增量式开发的优点