净室软件工程27249.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《净室软件工程27249.pptx》由会员分享,可在线阅读,更多相关《净室软件工程27249.pptx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、哈尔滨工业大学计算机学院唐好选Email:净室软件工程净室软件工程(CSE)u“净室”(Cleanroom)一词源自半导体工业中硬件生产车间,通过严格、洁净的生产过程预防了缺陷的产生,而不是在事后再去排除故障。借用这个词,充分显示了净室技术“防患于未然”的主导思想净室基本概念净室基本概念u净室软件工程(CSE)是一种应用数学和统计学理论生产软件的工程技术。力图通过严格的工程化的软件过程达到开发中的零缺陷或接近零缺陷u通过在第一次正确的书写代码增量,并在测试前验证其正确性来避免成本过高的缺陷消除过程。它的过程模型是在代码增量集成到系统的同时,进行代码增量的统计质量验证。净室方法的观点净室方法的观
2、点u强调规格说明和设计上严格性,使用基于数学的正确性证明对结果设计模型的每个元素进行形式化验证,在规格说明和设计中消除错误,以“干净”的方式进行制造。u20世纪70年代末80年代初,资深数学家和IBM客座科学家Harlan Mills阐述了将数学、统计学及工程学上的基本概念应用到软件的设想 净室软件工程的发展净室软件工程的发展uMills的观点:程序中出现错误的唯一方式是作者将错误引入进去的。没有其他的方式正确实践的目标是:设法避免引入错误,通过测试或其它任何运行程序的方式来消除错误。净室软件工程的发展净室软件工程的发展u两大基本观点促进了Mills的工作:首先,程序是数学函数规则,其次,潜在
3、的程序执行是无穷的,质量认证必须进行统计采样u第一个观点使所有函数理论向软件开发敞开大门,导致以下技术的产生:盒式结构规范及设计、函数理论正确性检验及增量开发u第二个观点使所有统计理论在软件测试方面得到应用,导致了统计使用测试和质量认证u致力于通过防止软件缺陷来提高软件质量u立足于严格的科学理论基础u强调净室小组:制定系统规范、开发和认证;u基本目标是:开发过程的可管理性和使用时的无失效性净室软件工程的基本特点净室软件工程的基本特点u函数理论和抽样理论u函数理论u一个函数定义了从定义域到值域的映射。一个特定的程序好似定义了一个从定义域(所有可能的输入序列的集合)到值域(所有对应于输入的输出集合
4、)的映射。这样,一个程序的规范就是一个函数的规范u抽样理论u不可能对软件的所有可能应用都进行测试。把软件的所有可能的使用情况看作总体,通过统计学手段对其进行抽样,并对样本进行测试,根据测试结果分析软件的性能和可靠性净室软件工程的理论基础净室软件工程的理论基础u统计过程控制下的增量式开发(Incremental Development):增量是最终软件产品的功能子集,系统功能随时间增加u基于函数的规范、设计:盒子结构方法按照函数理论定义了三种抽象层次:行为视图、有限状态机视图和过程视图。u规范从一个外部行为视图(称为黑盒)开始u然后被转化为一个状态机视图(称为状态盒)u最后由一个过程视图(明盒)
5、来实现u盒子结构是基于对象的净室软件工程的技术手段净室软件工程的技术手段u正确性验证:是CSE的核心,正是由于采用了这一技术,净室项目的软件质量才有了极大的提高 u统计测试(Statistically Based Testing)和软件认证:净室测试方法采用统计学的基本原理,即当总体太大时必须采取抽样的方法。首先确定一个使用模型(usage model)来代表系统所有可能使用的(一般是无限的)总体。然后由使用模型产生测试用例。因为测试用例是总体的一个随机样本,所以可得到系统预期操作性能的有效统计推导净室软件工程的技术手段净室软件工程的技术手段净室软件净室软件工程的基工程的基本模型本模型净室的组
6、成净室的组成项目规划、项目管理、性能改善、工程变化项目规划、项目管理、性能改善、工程变化结构规范结构规范(概念、模块、执行概念、模块、执行)功能规范功能规范需求分析需求分析 使用规范使用规范 增量设计、正确性验证增量设计、正确性验证统计测试、认证统计测试、认证 使用模型、测试规划使用模型、测试规划增量增量 规划规划 用用户户用户评价的用户评价的累计规范累计规范用户评价的用户评价的累计认证增量累计认证增量系系统统工工程程需求需求收集收集盒结构盒结构规格规格 形式化形式化 设计设计正确性正确性验证验证代码代码检查检查测试计划测试计划 统计性统计性使用使用测试测试认证认证 需求需求 收集收集盒结构盒
7、结构规格规格形式化形式化 设计设计正确性正确性验证验证代码代码检查检查测试计划测试计划 统计性统计性使用使用测试测试认证认证 净室技术净室技术-增量开发技术增量开发技术增量开发的理论基础增量开发的理论基础u引用透明性原理引用透明性原理:u一个表达式可用与其等值的任意子表达式代替一个表达式可用与其等值的任意子表达式代替,一个给一个给定函数定函数(规范规范)f)f能改进为如下任何一种形式能改进为如下任何一种形式do f1,f2 enddodo f1,f2 enddoif p then f1 else f2 endifif p then f1 else f2 endifwhile p do f1 e
8、nddowhile p do f1 enddou函数的合并对原函数函数的合并对原函数f f在数值影响上必须等价在数值影响上必须等价u软件增量开发的基础在于为程序制定数学函数规则软件增量开发的基础在于为程序制定数学函数规则 因此程序开发作为一种自顶向下的控制结构或子函数因此程序开发作为一种自顶向下的控制结构或子函数(子规范子规范)的函数改进的函数改进(规范规范)过程过程,将导致将导致对象或函数的分解对象或函数的分解或结合或结合功能规范功能规范.增量规划增量规划增量设计增量设计/验证验证 增量增量1设计设计/验证验证使用规范使用规范 增量测试与认证增量测试与认证 增量增量2设计设计/验证验证增量增
9、量n设计设计/验证验证产品评估与过程改进产品评估与过程改进增量增量1统计统计增量增量1-2统计统计增量增量1-n统计统计增量开发的进度分配增量开发的进度分配增量增量1:定义顶层结构及桩组件定义顶层结构及桩组件增量增量2:根据用户反馈根据用户反馈,用新的可重用用新的可重用桩组件代替桩组件桩组件代替桩组件 增量增量3:用新的可重用桩组件部件代替用新的可重用桩组件部件代替桩组件桩组件净室技术净室技术-基于函数规范的设计和验证基于函数规范的设计和验证规范:从一个外部视图(黑盒)开始转化为一个状态视图(状态盒),由一个过程视图(明盒)来实现三个盒形式不同,但行为等价,称为盒结构将数学函数逐步扩展为逻辑连
10、接词(如if-then-else)和子函数构成的结构,这种扩展一直进行下去,直到所有标识出来的子函数可以用程序设计语言直接表达设计求精和验证设计求精和验证u每个明盒规格说明代表了一个完成状态盒转换所需的过程(子函数)的设计,使用结构化程序设计结构和逐步求精u在每个求精层次上,净室团队执行一次形式化正确性验证。为此,将一类正确性条件集合附加到结构化程序设计结构上u如果函数f被扩展为序列g和h,则f所有输入的正确性条件是:执行g之后再执行h能完成f的功能吗?u如果一个函数p被精化为ifthen q else r的条件形式,则对p的所有输入的正确性条件是(1)只要条件c为真,q能完成p的功能吗?(2
11、)只要条件c为假,r能完成p的功能吗?u如果状状 态态 变换变换 状态盒状态盒输入输入S输出输出R精精化化过过程程验验证证过过程程状态状态 BB1 BB2明盒明盒SR盒结构盒结构精化和精化和验证验证F=s*RRSH黑盒黑盒(所需行为所需行为)历史激励历史激励响应响应黑盒规范的原则黑盒规范的原则u对系统拥有者和用户:黑盒定义了他们分析和协商所需的行为u对系统开发者:黑盒定义待设计和实现所需的行为u对系统测试者:黑盒定义了在测试过程中待确认所需的行为黑盒的组成黑盒的组成(例例)基于基于1212个月平均销售额的预测部分情况个月平均销售额的预测部分情况规则号规则号 1 激励历史条件激励历史条件历史记录
12、历史记录包含小于包含小于11个个月的月的历史记历史记录至少有录至少有11个个月的月的 响应响应 接收接收 的的 不求平均不求平均当前激励当前激励2 的最近的最近加上加上当前的当前的后求平均后求平均状态盒状态盒对系统或其组件进行初步细化;定义状态空间状态信息来自黑盒中需要保存的激励元素变换当前的激励S(Stimulus)映射响应R(Response)旧状态OS(old State)映射到新状态NS(new State)即(OS,S)(NS,R)状态盒组成(例)状态盒组成(例)销售额情况表销售额情况表规则号规则号 旧状态旧状态 激励激励 新状态新状态 响应响应 黑盒规则号黑盒规则号不含不含记录记录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 净室 软件工程 27249
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内