网站大量收购闲置独家精品文档,联系QQ:2885784924

(软件工程理论、方法与实践)第16章净室软件工程.ppt

(软件工程理论、方法与实践)第16章净室软件工程.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
16.1 净室方法基础 16.1.1 函数理论  净室开发方法基于数学中的函数理论。一个函数定义了一个从定义域到值域的映射,定义域中的每个元素都可在值域中找到唯一的元素与之对应。一个特定的程序好似定义了一个从定义域(程序所有可能输入序列的集合)到值域(所有对应于输入的输出集合)的映射。这样一个程序的定义就是一个函数的定义,描述了一个程序的定义域(输入序列)到值域(输出空间)的映射。   一个定义明确(well-defined)的函数有如下特性:完备性、一致性和正确性。因为一个程序定义描述了一个函数,所以它必须是完备的、一致的和正确的。   数学完备性要求对定义域中的每个元素,值域中至少有一个元素与之对应。也就是说,每种可能的输入都必须定义,并有一个输出与之对应。   数学一致性要求在值域中最多有一个元素与定义域中的某一元素对应,也就是说,每个输入只能对应一个输出。   相对于需求定义的正确性由定义域专家判断,对于一个给定的定义,某项设计及其定义的正确性是可以通过基于函数理论的推理来验证的。  1986年Linger、Mills和Hevner提出了用于净室软件开发的盒子结构的方法,该方法取代了Linger、Mills和Witt于1979年提出的将数学函数理论应用于软件开发的方法。并明确地提出有三种功能形式的盒子:黑盒、状态盒和明盒。 16.1.2 统计理论   净室测试方法基于统计学。在过去的几十年中,统计学在工程中获得了广泛的应用。   当从经济上或技术上无法测试全体样本时,便可以使用统计抽样的方法。如果统计结果没有达到质量目标,生产过程需做必要调整。这种以统计学为坚实基础的从产品度量到生产过程之间的反馈循环,得到了广泛的认可和应用。   在软件中,用于采样的总体(population)是所有可能使用情况的集合,其中集合中的每个元素代表系统的一种可能运行情况。统计的目的是度量系统正确运行一个样本的能力。因为总体是无限的,完全的测试是不可能的,所以必须利用统计学方法来对系统性能做一个有效的推理。测试过程无论如何扩展,在所有可能的输入序列中都只能算一个很小的集合,所有的测试活动只能是无限总体中的抽样。 16.1.3 净室开发小组活动   净室开发小组通常由3~8人组成,小组中有一名组长,根据整个组的责任和进度优先级,负责小组内部的工作分配和协调。净室开发小组要完成三项主要工作:制定系统规范、开发和认证。   小规模的项目可以只由一个小组来承担开发任务。小组在开发的不同阶段分别完成系统的规范制定、开发和认证工作。对于中等规模的项目,可能需要多个小组的协作,一个核心小组负责规范和定义系统的结构,开发并认证一两个增量,并为子系统制定规范,然后由这个核心小组的成员担任开发和认证各个子系统的小组组长。   为了适应用户需求的变化或系统层次策略的改变,核心小组在一段时间后可能重组。对于大规模的项目,多组协作是必要的,小组职责的划分可能要更清晰,包括规范组、开发组和认证组。因此,开发伊始,应该组成三个初始组,一个组制定系统规范,一个组开发初始增量,还有一个组认证这些增量。此后,三个初始组的成员在子系统层次上领导特定的小组,所有小组成员都要接受净室技术培训。   评审是净室小组的一项重要工作。每个产品从最初的概念到最后形成都要经历多次评审。评审有两种类型,一种称为开发评审,一种是验证评审。   开发评审的焦点集中于技术策略、好的想法以及小组培训和交流。一般来说,软件开发过程中,最初的开发思路未必是合理、全面的。因此,评审的一个关键目标是在软件的规范、设计和验证方面找到更好的方案。   一个小组成员可以召集相关人员来评审和讨论一个只有一两页程序的设计方案,讨论的焦点是关于控制和最初数据结构的策略、算法的折中方案等等,这有利于产生好的思路和方案。一个产品可能要经历多次开发评审。成功的评审,可通过积累的知识进行交流来提高效率,也会使小组成员对产品更熟悉,并利于产生良好的软件开发活动,最后的产品是小组所有成员智慧的结晶。   验证评审通过形式化方法来验证产品的正确性和完备性,验证评审首先由设计者逐一列举出满足函数的正确性条件,小组按顺序检查每个条件,不允许有存在异议的情况。任何修改必须经过后续评审的重新验证。一个产品经过验证评审后不再有更改的必要时就被认为是正确和完整的。在净室活动中,整个组对产品拥有主权,其中任何后续错误都应该由该组承担责任。由于在开发评审中,每个参与者都已熟悉了被验证产品的结构和内容,因此在验证评审中效率能够得到保证。另外,净室过程常采用可重用的规范和设计模型,因此,验证工作多数也是可重用的。      16.2 净 室 技 术 16.2.1 基于统计过程控制下的增量开发  

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档