软件质量软件构件与中间件_第1页
软件质量软件构件与中间件_第2页
软件质量软件构件与中间件_第3页
软件质量软件构件与中间件_第4页
软件质量软件构件与中间件_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七讲软件质量1 内 容一、软件面临的问题二、问题分析三、从质量到可信四、可信软件基本方案五、质量度量2一、软件面临的问题从与软件相关的一些重大事故谈起3黑客入侵深圳福彩

篡改数据欲骗3305万巨奖事件:2009年6月9日,双色球2009066期开奖,全国共中出一等奖9注,其中深圳有5注。深圳市福彩中心在开奖(程序)结束后发现系统出现异常。经多次数据检验,工作人员判断,福彩中心销售系统疑被非法入侵,中奖彩票数据记录被人为篡改,5注一等奖中奖数据系伪造。6月10日凌晨2时,福彩中心工作人员报案结果:经调查,这是一起企图利用计算机网络信息系统技术诈骗彩票奖金的案件,所涉金额高达3305万元原因:深圳市某信息技术公司软件开发工程师程某,利用在深圳福彩中心实施其它技术合作项目的机会,通过木马攻击程序,恶意篡改彩票数据,以达到伪造双色球一等奖中奖事实42007年10月30日,奥运门票第二阶段阶段预售首日……科技奥运?52007年8月14日14时,美国洛杉矶国际机场电脑发生故障,60个航班的2万旅客无法入关。直至次日凌晨3时50分,所有滞留旅客才全部入关。原因分析:包含旅客姓名和犯罪记录的部分数据系统(海关和边境保护系统:决定旅客是否可以进入美国领土)瘫痪2004年9月发生过类似问题62006年3月2日14点10分,沪深大盘忽然发生罕见大跳水,7分钟之内上证指数跌去近20点。原因分析:当日下午刚上市的招商银行认股权证成交量巨大,导致其行情显示时总成交量字段溢出,使其价格在股票分析软件上成为一条不再波动的直线,让市场产生了恐慌。72005年4月20日上午10时56分,中国银联系统通信网络和主机出现故障,造成辖内跨行交易全部中断。这是2002年中国银联成立以来,首次全国性因系统故障造成的跨行交易全面瘫痪。原因:银联新近准备上线的某外围设备的隐性缺陷诱发了跨行交易系统主机的缺陷,使主机发生故障软件能否提供支持?82003年8月14日下午4时10分,美国及加拿大部分地区发生历史上最大的停电事故。15日晚逐步恢复后果:经济损失250亿到300亿之间原因分析俄亥俄州的第一能源(FirstEnergy)公司x下属的电力监测与控制管理系统软件XA/21出现错误,系统中重要的预警部分出现严重故障,负责预警服务的主服务器与备份服务器连接失控,错误没有得到及时通报和处理,最终多个重要设备出现故障,导致大规模停电2003年国际十大91996年6月4日,欧洲空间局的阿丽亚娜火箭,发射后37秒爆炸。损失6亿美元原因分析:ADA语言编写的一段程序,将一个64位浮点整数转换为16位有符号整数时,产生溢出,导致系统惯性参考系统完全崩溃101994年12月3日,,美国弗吉尼尼亚州Lynchburg大学学的T.R.Nicely博士使用用装有Pentium芯片的计计算机时发现现错误:(4195835/3145727)*3145727-4195835==0?后果:Intel花花费4亿多美美元更换缺陷陷芯片原因:Pentium刻录了了一个软件缺缺陷(浮点除除法)112002年6月28日美国商务部的的国家标准技技术研究所((NIST))发布报告::“据推测,((美国)由于于软件缺陷而而引起的损失失额每年高达达595亿亿美元。这一数字相当当于美国国内内生产总值的的0.6%”。12二、问题分析析从质量谈起1、什么是质质量?2、什么是软软件质量?3、为什么软软件质量保障障困难?131、什么是““质量”“好坏程度””ISO9000(2000版)质量是(产品)的一一组固有特性满足要求的程度14特性:可区分的特征征物理特征:机机械运动、温温度、电流等等化学特征:成成分组合、合合成、分解等等固有特性:某事物中本来来就有的、持持久的特征直径、硬度、、高度、频率率赋予特性性:对事物增增加的特性价格、位置二者有一定的的相对性15要求:显式要求:有明确规定的的要求(行业业标准或用户户指定)计算机屏幕尺尺寸隐式要求:约约定成俗的的要求大楼楼要要有有楼楼梯梯产品品质质量量特特性性:内部部特特性性、、外外部部特特性性满足足的的程程度度!!满足足的的成成本本!162、、什什么么是是软软件件质质量量??软件件质质量量是是::软件件产产品品满足足规规定定的的和和隐隐含含的的与与需需求求能能力力有有关关的的全全部部特特征征和和特特性性17来源源于于BarryBoehm的的软软件件质质量量模模型型形成成了了ISO-9126的的软软件件质质量量模模型型框框架架影响响了了软件件生生存存周周期期中中的的不不同同阶阶段段………区分分不不同同的的软软件件!18BarryBoehm的的软软件件质质量量模模型型阐述述性性互用用性性数据据公公开开性性正确确性性可靠靠性性效率率完整整性性可用用性性可维维护护性性可测测试试性性灵活活性性可移移植植性性重复复性性连贯贯性性容错错性性执行行效效率率/储储存存效效率率存取取控控制制/存存取取检检查查可训训练练沟通通良良好好简单单性性易操操作作的的工具具自我我操操作作性性扩展展性性一般般性性模块块性性软件件系系统统独独立立性性机器器独独立立性性通讯讯公公开开性性正确确性性可操操作作性性19ISO-9126的的软软件件质质量量模模型型框框架架外部测量内部质量属性外部质量属性使用质量属性过程质量过程过程测量内部测量使用质量的测量软件产品软件产品的效用使用条件影响影响影响依赖依赖依赖过程程质质量量有有助助于于提提高高产产品品质质量量产品品质质量量有有助助于于提提高高使使用用质质量量20用户质量要求使用质量内部质量需求内部质量外部质量需求外部质量使用和反馈确认验证有助于确定指示指示有助于确定软件件生生存存周周期期中中的的质质量量21外部和内部质量功能性可靠性易用性效率维护性可移植性适合性准确性互操作性保密安全性功能性的依从性成熟性容错性易恢复性可靠性的依从性易理解性易学性易操作性吸引性易用性的依从性时间特性资源利用性效率的依从性易分析性易改变性稳定性易测试性维护性的依从性适应性易安装性共存性易替换性可移植性的依从性***的的依依从从性性::软件件产产品品遵遵循循与与***相相关关的的标标准准、、约约定定或或法法规规以以及及类类似似规规定定的的能能力力22使用质量有效性生产率安全性满意度233、、为为什什么么软软件件质质量量保保障障困困难难??(1))软软件件产产品品与与需需求求符符合合的的程程度度(2))软件件的本本质(3))软件件度量量困难难24(1))软件件产品品与需需求符符合的的程度需求与与成本之之间的的矛盾盾需求是是永无无止境境的成本是是永远远有限限的微软::质量量只要要好到到能使使大量量的产产品卖卖给客客户NASA::可靠靠性要要达到到99.999%Motorola::6Σ软件产产品属属性完完全满满足用用户需需求是是不现现实的的25(2))软件件的本本质规模、、复杂杂性、、演化化性网络环环境软件研研发过过程缺缺乏基基础理理论支支撑软件产产品的的验证证缺乏乏基础础理论论支持持26(3))软件件度量量困难难“Youcan'tcontrolwhatyoudon'tmeasure”TomDeMarco,1982对比物物理属属性::尺子子、秤秤、时时钟、、温度度计、、测速速仪它们的的发展展过程程!代码、、过程程、组组织度量无无处不不在!!27三、从从质量量到可可信1、什什么是是可信信?2、什什么样样的软软件是是可信信的??Compaq、HP、IBM、Intel和Microsoft等发起起(1999):TrustedComputingPlatformAlliance后来增增加软软件::TrustedComputingGroup((2003)微软倡倡导(2002):TrustworthyComputing281、什什么是是可信信?TrustedTrustworthyDependabilityConfidenceAssurance一个实实体在在实现现给定定目标标时,,其行行为与与结果果总是是可以以预期期的29可信软软件软件是是可信信的,如如果:其服务务总是是与用用户的的预期期相符符(质量量?)即使在在运行行过程程中出出现一一些特特殊情情况301、硬硬件环环境((计算算机、、网络络)发发生故故障2、低低层软软件((操作作系统统、数数据库库)出出现错错误3、其其它软软件((病毒毒软件件、流流氓软软件))对其其产生生影响响4、出出现有有意((攻击击)、、无意意(误误操作作)的的错误误操作作什么特特殊情情况?312、什什么样样的软软件是是可信信的??可用功能::正确确、不不少、、不多多可靠性性(容容错)):高高安全性性(机机密性性、完完整性性)::高响应时间((从输入到到输出)::小维护费用((监测、演演化):小小……32质量与可信信(1)可信更多关关主体与客客体的关系系是系统“承承诺”与实实际表现的的符合程度度。存在这这样一种情情形,质量量不是很高高,但有具具体的说明明,仍然有有高的可信信性。同一个系统统的质量是是确定的,,但对不同同主体的可可信度可能能不一样::一个受侵侵害的系统统,对于实实际用户是是不可信的的,对于黑黑客是可信信的对于同一个个系统,当当用户对其其信息掌握握得有限时时,可信度度低,掌握握了较多的的正面信息息时,可信信度提升33质量与可信信(2)质量主要是是针对客体体自身而言言的质量与可信信之间的关关系类似似于软件件与服务之之间的关系系服务、可信信更多地关注注主体::最终用户户软件、质量量更多地关注注客体::软件自身身34四、可信软软件基本方方案1、保障软软件可信性性的几个关关键点2、保障软软件可信性性的几个基基础性问题题3、“可信信”对软件件生命周期期的影响351、保障障软件可可信性的的几个关关键点如何“正正向”得得到缺陷陷少的软软件“制制品”如何在不不同阶段段“反向向”发现现制品中中的“缺缺陷”如何在不不同阶段段“度量量”可信信属性36贯穿软件件技术的的各个方方面:软件语言语言编译软件工程:生生命周期的各各个环节!需求设计编码码系统统软软件件((操操作作系系统统、、数数据据库库、、中中间间件件))372、、保保障障软软件件可可信信性性的的几几个个基基础础性性问问题题软件件可可信信性性度度量量与与建建模模可信信软软件件的的构构造造与与验验证证可信信软软件件的的演演化化与与控控制制38(1))软软件件可可信信性性建建模模与与度度量量如何何认认识识软软件件的的可可信信性性??如何何表表述述软软件件的的可可信信性性??如何何度度量量软软件件的的可可信信性性??39(2))可可信信软软件件的的构构造造与与验验证证如何何进进行行可可信信性性设设计计??如何何消消解解可可信信性性冲冲突突??如何何进进行行可可信信性性保保证证??40(3))可可信信软软件件的的演演化化与与控控制制如何何认认识识环环境境的的演演化化和和软软件件自自身身的的演演化化??如何动态态获取可可信性和和控制可可信性变变化?如何构建建可信的的运行支支撑环境境?413、“可可信”对对软件生生命周期期的影响响Product(Artifact)AnalyzingDesigningCodingCompilingDeployingDevelopingProcessMaintaining42(1)可可信软件件的需求求分析面向可信信性的软软件需求求工程方方法基于社会会的可信信模型的的方法风险分析析和可信信性分析析技术多维异质质非功能能需求的的冲突消消解与完完整性表表达可信性分分析的方方法学框框架43(2))可信信软件件的设设计构造可可信软软件系系统的的系统统化科科学体体系可信软软件的的建模模、构构造方方法与与代码码生成成技术术面向服服务的的可信信软件件的建建模、、构造造方法法与代代码生生成可信需需求规规约在在设计计中的的精化化方法法基于不不可信信构件件构建建可信信软件件系统统的方方法和和技术术可信软软件在在程序序意义义上的的可信信性研究支支持演演化的的可信信软件件体系系结构构和设设计模模式44(3))可信信代码码编写写与编编译可信程程序设设计语语言可信程程序设设计语语言的的形式式语义义可信软软件的的编译译技术术可信编编译器器体系系结构构程序验验证在在可信信编译译中的的集成成可信性性动态态保证证代码码的生生成和和插装装与优优化45(4))代码码可信信性的的验证证模型检检验技技术定理证证明技技术约束求求解技技术静态代代码分分析技技术数据流流、控控制流流分析析缺陷模模式收收集、、分析析46(5))软件件的可可信性性测试试基于模模型和和规约约的测测试技技术可信性性测试试技术术测试设设计测试充充分性性测试用用例生生成和和优化化技术术测试执执行技技术和和调试试排错错技术术47(6))软件件可信信性的的监测测面向可可信性性的监监测模模型监测代代码的的自动动生成成动态运运行时时监测测代码码注入入技术术基于运运行监监控的的可信信软件件模型型48(7))面向向可信信性的的软件件调整整环境变变化和和软件件变化化对可可信性性影响响为保障障可信信性进进行的的在线线演化化技术术可信性性监控控与演演化的的运行行机制制可信软件的的运行访问问控制技术术49(8))软软件件可可信信性性的的度度量量软件件可可信信性性的的分分解解不同同可可信信属属性性的的量量化化缺陷陷分分布布缺陷陷预预测测………50(9))面面向向软软件件可可信信性性的的软软件件过过程程可信信软软件件过过程程的的属属性性可信信软软件件过过程程的的量量化化评评估估方方法法………51五、、质质量量度度量量可信信性性是是软软件件性性质质的的子子集集软件件性性质质的的静静态态判判定定问问题题本本质质上上是是不不完完备备的的(图图灵灵机机的的判判定定))我们们能能做做的的是是在一一定定约约束束条条件件下下对一一些些重重要要的的性性质质给给出出较较准准确确的的度度量量521、、测测量量、、度度量量与与指指标标2、、度度量量什什么么??3、、刻刻度度是是什什么么??4、、软软件件缺缺陷陷5、、如如何何度度量量内容容531、、测测量量、、度度量量与与指指示示测量量((Measure))是是一一个个过过程程,,用用于于对对产产品品或或者者过过程程的的某某个个属属性性的的范范围围、、数数量量、、维维度度、、容容量量或或大大小小提提供供““一一个个””““定定量量的的指指示示””;;获取取了了一一个个数数据据!!度量量((Metric))是是对对软软件件产产品品进进行行范范围围广广泛泛的的测测度度,,它它给给出出一一个个系系统统、、构构件件或或过过程程的的某某个个给给定定属属性性的的““度度””的的定定量量测测量量;;指示示(Indicator)是是一一个个度度量量或或一一组组度度量量的的组组合合,,采采用用易易于于理理解解的的形形式式,,对对软软件件过过程程、、项项目目或或产产品品质质量量提提供供更更全全面面、、深深入入的的评评价价和和了了解解,,以以利利于于过过程程和和质质量量的的分分析析。。54“Youcan'tcontrolwhatyoudon'tmeasure”TomDeMarco,ControllingSoftwareProjects,1982Whattomeasure?LengthRulerMeter/Centimeter/…TimeClockDay/Hour/Minute/…WeightBalanceGram/Kilogram/…Temperature Thermometer Centigrade/……Humidity,brightness,……area,volume,velocity,density,software:LOC,DensityofDefect,MTTF,………552、度量什么么?软件“可信性性”的属性仍然从“质量量”的性质开开始!外部测量内部质量属性外部质量属性使用质量属性过程质量过程过程测量内部测量使用质量的测量软件产品软件产品的效用使用条件影响影响影响依赖依赖依赖目前主要关注注产品质量!!服务时的内部部质量?56外部和内部质量功能性可靠性易用性效率维护性可移植性适合性准确性互操作性保密安全性功能性的依从性成熟性容错性易恢复性可靠性的依从性易理解性易学性易操作性吸引性易用性的依从性时间特性资源利用性效率的依从性易分析性易改变性稳定性易测试性维护性的依从性适应性易安装性共存性易替换性可移植性的依从性***的依从从性:软件产品遵循循与***相相关的标准、、约定或法规规以及类似规规定的能力57软件可信性功能性可靠性安全性高效性维护性可用性正确性准确性(精度、不少、不多)成熟性容错性易恢复性机密性完整性抗抵赖性时间特性资源利用性易分析性易改变性稳定性易测试性583、刻度(依依据、标准))是什么?度量对象不同同,度量刻度度也不同!Product(Artifact)AnalyzingDesigningCodingCompilingDeployingDevelopingProcessMaintaining59产品(Product))与制品(Artifact):产品:最终交交付给用户的的软件(主主要是代码)制品:软件生生命周期中,,所有各个阶阶段的人工产产物包括:产品品以及开发过过程中产生的的设计模型分析模型等等等In-houseartifactIn-processproduct刻度分别是什什么?60为什么要度量量早期制品??问题要尽早发发现、尽早解解决!以降低总的可可信性保障开开销但越往前也越越困难用户需求不够够清晰制品形态不够够清晰自动成分较少少,人工方式式更多61产品度量之后后呢?对服务进行度度量!服务提供者服务使用者第三方刻度也很多!!62软件可信性度度量问题转转化为:在软件生命周周期的不同阶阶段模型、代码、、服务是否否与刻度有有偏差?存在缺陷?634、软件缺陷陷1)什么是软软件缺陷缺陷、错误、、故障、失败败错误(error)人人缺陷(defect)制品品(模型、数数据、程序))故障(fault)运运行结果(内部,局部部)失败(failure)总总体后果(外外部)64Asystemfailureoccurswhenthedeliveredserviceisadjudgedtohavedeviatedfromfulfillingthesystemfunction.Anerroristhatpartofthesystemstatewhichisliabletoleadtosubsequentfailure:anerroraffectingtheserviceisanindicationthatafailureoccursorhasoccurred.Theadjudgedorhypothesisedcauseofanerrorisafault.(Note:errorsdonotnecessarilyleadtofailures––thismaybeavoidedbychanceordesign;componentfailuresdonotnecessarilyconstitutefaultstothesurroundingsystem––thisdependsonhowthesurroundingsystemisrelyingonthecomponent).Thesethreeconcepts(anevent,astate,andacause)mustbedistinguished,whatevernamesyouchoosetouseforthem.Prof.BrianRandell:65IBMODC(OrthogonalDefectClassification)DefectRemovalActivitiesActivitythatwasbeingperformedatthetimethedefectwasdiscoveredTriggersTheenvironmentorconditionthathadtoexistforthedefecttosurfaceImpactTargetRepresentsthehighlevelidentityoftheentitythatwasfixedDefectTypeRepresentstheactualcorrectionthatwasmadeQualifierCapturestheelementofanonexistent,wrongorirrelevantimplementationMissing,Incorrect,ExtraneousAge/StateBase,New,Rewritten,ReFixed2)软软件缺缺陷分分类66ActivitiesDesignReviewCodeInspectionUnittestFunctionTestSystemTest67TriggersDesignConformanceLogic/FlowBackwardCompatibilityLateralCompatibilityConcurrencyInternalDocumentLanguageDependencySideEffectRareSituationsSimplePathComplexPathCoverageVariationSequencingInteractionWorkload/StressRecovery/ExceptionStartup/RestartHardwareConfigurationSoftwareConfigurationBlockedTest68ImpactInstallabilityServiceabilityStandardsIntegrity/SecurityMigrationReliabilityPerformanceDocumentationRequirementsMaintenanceUsabilityAccessibilityCapability69TheIEEEqualitymetricsmethodology:EstablishqualityrequirementsIdentifyqualitymetricsImplementqualitymetricsAnalyzeresultsofthemetricsValidatethemetrics3、如何何度量??质量度量量:ISO9126-2::外部度度量ISO9126-3::内部度度量ISO9126-4::使用质质量的度度量70经典的软软件缺陷陷度量缺陷密度度——软软件缺陷陷在规模模上的分分布如:每KLOC或每个个功能点点(或类类似功能能点的度度量———对象点点、数据据点、特特征点等等)的缺缺陷数缺陷率———缺陷陷在时间间上的分分布如:对应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论