欢迎来到天天文库
浏览记录
ID:59095851
大小:61.50 KB
页数:40页
时间:2020-09-25
《软件的技术度量ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第19章软件的技术度量软件工程第19章 软件的技术度量19.1软件质量19.2软件技术度量框架19.3分析模型的度量19.4设计模型的度量19.5源代码度量19.6对测试的度量19.7对维护的度量19.8小结19.1软件质量三个重点:1.软件需求是质量测度的基础。2.特定的标准定义了一套开发标准,用以指导软件开发的方式。3.要有一套经常未被提及的隐式需求(例如,对好的可维护性的期望)。19.1.1McCall的质量因素影响软件质量的因素可以分为两大类:(1)可以直接测度的因素(例如,每个功能点的错误)(2)只能间接测度的因素(例如,可用性
2、和可维护性)软件质量因素在软件产品的三个方面:操作特性承受改变的能力对新环境的适应能力正确性可靠性功效完整性可用性质量的因素:可维护性灵活性可测试性可移植性可复用性互操作性正确性可靠性可用性完整性效率产品运行产品修订产品变迁可移植性可复用性互操作性可维护性灵活性可测试性McCall的软件质量因素Fq=c1×m1+c2×m2+…+cn×mnFq是一个软件质量因素cn是回归系数mn是影响质量因素的度量值定义一组度量,并被用于按照下面的关系为每个因素开发表达式:考虑软件质量的因素,简称为FURPS:功能性(functionality)可用性(u
3、sability)可靠性(reliability)性能(performance)支持度(supportability)19.1.2FURPSFURPS五个主要因素的评估方式:功能性可用性可靠性性能支持度19.1.3ISO9126质量因素6个关键质量属性:功能性可靠性可用性效率可维护性可移植性19.2.2测度原则五个活动为特征:公式化收集分析解释反馈19.2软件技术度量框架19.2.3有效软件度量的属性有效软件度量包含的属性:简单的和可计算的经验和直觉上有说服力一致的和客观的在其单位和量纲的使用上是一致的编程语言独立的高质量反馈的有效机制功
4、能点(FP)度量(第4章)可以用来作为预测从分析模型得到的系统大小的手段。19.3.2bang度量象功能点度量一样,bang度量可以由分析模型得到对将要实现的软件的大小的指示。为了独立计算bang,软件工程师必须首先评价一组原语——在分析层次不能再划分了的分析模型的元素。19.3分析模型的度量功能原语(FuP)数据元素(DE)对象(OB)关系(RE)状态(ST)变迁(TR)原语是通过评价分析模型和开发以下项的计数来决定的:除了上述的六个原语,另外如下的计数也需确定:修改的手工功能原语(FuPM)输入数据元素(DEI)输出数据元素(DEO)
5、存储数据元素(DER)数据记号(TCi)RE/FuP<0.7意味着一个功能很强型应用程序0.8<RE/FuP<1.4意味着混合型应用程序RE/FuP>1.5意味着数据复杂型应用程序因为不同的分析模型将模型分成或大或小的细化程度,一个对每个原语的平均记号计数:TCavg=ΣTCi/FuP它被用来控制在某应用程序领域中跨越很多不同模型划分的一致性。为了计算功能很强型应用软件的“撞击值”,可以用以下算法:setinitialvalueofbang=0;dowhilefunctionalprimitivesremaintobeevaluatedc
6、omputetoken-countaroundtheboundaryofprimitivei;computecorrectedFuPincrement(CFuPI);Allocateprimitivetoclass;Assessclassandnoteassessedweight;MultiplyCFuPIbytheassessedweight;bang=bang+weightedCFuPI;enddo为了计算数据强型应用程序,可以用以下算法:setinitialvalueofbang=0;dowhileobjectsremaintobe
7、evaluatedinthedatamodelcomputecountofrelationshipsforobjecti;computecorrectedOBincrement(COBI);bang=bang+COBI;enddo明确性(无二义性)完全性正确性可理解性可验证性内部和外部一致性19.3.3规约质量的度量可完成性简洁性可追踪性可修改性精确性可复用性评价分析模型和相应的需求规约质量的特征:三个软件设计复杂度测度:结构复杂度数据复杂度系统复杂度19.4设计模型的度量19.4.1体系结构设计度量一个模块i的结构复杂度,S(i):S(
8、i)=f²out(i)其中fout(i)是模块i的扇出数据复杂度,D(i),提供了一个模块i的内部接口的复杂度的指示:D(i)=v(i)/[fout(i)+1]其中V(i)是传入传出模块i的输
此文档下载收益归作者所有