软件质量的度量Word文档下载推荐.docx

上传人:b****1 文档编号:4694148 上传时间:2023-05-03 格式:DOCX 页数:18 大小:126.31KB
下载 相关 举报
软件质量的度量Word文档下载推荐.docx_第1页
第1页 / 共18页
软件质量的度量Word文档下载推荐.docx_第2页
第2页 / 共18页
软件质量的度量Word文档下载推荐.docx_第3页
第3页 / 共18页
软件质量的度量Word文档下载推荐.docx_第4页
第4页 / 共18页
软件质量的度量Word文档下载推荐.docx_第5页
第5页 / 共18页
软件质量的度量Word文档下载推荐.docx_第6页
第6页 / 共18页
软件质量的度量Word文档下载推荐.docx_第7页
第7页 / 共18页
软件质量的度量Word文档下载推荐.docx_第8页
第8页 / 共18页
软件质量的度量Word文档下载推荐.docx_第9页
第9页 / 共18页
软件质量的度量Word文档下载推荐.docx_第10页
第10页 / 共18页
软件质量的度量Word文档下载推荐.docx_第11页
第11页 / 共18页
软件质量的度量Word文档下载推荐.docx_第12页
第12页 / 共18页
软件质量的度量Word文档下载推荐.docx_第13页
第13页 / 共18页
软件质量的度量Word文档下载推荐.docx_第14页
第14页 / 共18页
软件质量的度量Word文档下载推荐.docx_第15页
第15页 / 共18页
软件质量的度量Word文档下载推荐.docx_第16页
第16页 / 共18页
软件质量的度量Word文档下载推荐.docx_第17页
第17页 / 共18页
软件质量的度量Word文档下载推荐.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件质量的度量Word文档下载推荐.docx

《软件质量的度量Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件质量的度量Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。

软件质量的度量Word文档下载推荐.docx

1.2软件质量引出的问题

M.J.Fisher定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。

也就是说,为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的重要考虑因素。

如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。

  软件质量反映了以下三方面的问题:

(1)软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。

(2)规范化的标准定义了一组开发准则,用来指导软件人员用工程化的方法来开发软件。

如果不遵守这些开发准则,软件质量就得不到保证。

(3)往往会有一些隐含的需求没有显式地提出来。

如软件应具备良好的可维护性。

如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。

软件质量是各种特性的复杂组合。

它随着应用的不同而不同,随着用户提出的质量要求不同而不同。

因此,有必要讨论各种质量特性,以及评价质量的准则,还要介绍为保证质量所进行的各种活动。

1.3软件质量度量模型

软件的质量由一系列质量要素组成,每一个质量要素又由一些衡量标准组成,每个衡量标准又由一些量度标准加以定量刻划。

质量度量贯穿于软件工程的全过程以及软件交付之后,在软件交付之前的度量主要包括程序复杂性、模块的有效性和总的程序规模,在软件交付之后的度量则主要包括残存的缺陷数和系统的可维护性方面。

勃姆(BarryW.Boehm)在《软件风险管理》(SoftwareRiskManagement)中第一次提出了软件质量度量的层次模型。

而麦考尔(McCall)等人将软件质量分解至能够度量的层次,提出FCM3层模型(参见下表):

软件质量要素(factor)、衡量标准(criteria)和量度标准(metrics),包括11个标准,分为产品操作(productoperation)、产品修正(productrevision)和产品转移(producttransition)。

层级

名称

内容

第一层

质量要素:

描述性和评价软件质量的一组属性。

功能性、易用性、可靠性、可维护性、可移植性等质量特性以及将质量特性细化产生的副特性

第二层

衡量标准:

衡量标准的组合,反应某一软件质量要素。

精确性、稳健性、安全性、通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、文件完备性等

第三层

量度标准:

可由各使用单位自定义

根据软件的需求分析、概要设计、详细设计、编码、测试、确认、维护与使用等阶段,针对每一个阶段制定问卷表,以此实现软件开发过程的质量度量。

表1软件质量度量FCM模型

其中,可以简单地描述使用缺陷密度(缺陷数量/软件规模)、缺陷检出率(某阶段当时发现的缺陷/该阶段的全部缺陷100%)、发布前缺陷去除率(发布前发现的缺陷/(发布前发现的缺陷软件运行的前3个月发现的缺陷)100%)、潜在缺陷数((100%发布前缺陷去除率)缺陷密度)、平均失效时间(软件持续运行时间/缺陷数量)、平均修复时间(∑缺陷修复时间/缺陷数量)等作为产品质量的指标。

在软件质量度量活动中,同样需要建立一条性能基线,作为软件产品的质量、软件测试性能评估的起点,并作为对系统评估是否通过的标准。

缺陷评测的基线是对某一类或某一组织的结果的一种度量,这种结果可能是常见的或典型的,如10000行源程序(LOC)是程序规模的一个基准,每一千行代码有3个错误是测试中错误发现率的基准。

基准对期望值的管理有很大帮助,目标就是相对基准而存在,也就是定义可接受行为的基准,如表3所示。

条目

目标

低水平

缺陷清除率

>

95%

<

70%

缺陷密度

每个功能点<

4

每个功能点>

7

超出风险之外的成本

0%

=70%

全部需求功能点

<

1%每月平均值

=50%

全部程序文档

每个功能点页数<

3

每个功能点页数>

6

表3某个软件项目质量的基准和目标

ISO9126将软件质量总结为6大特性每个特性包括一系列副特性其软件质量模型包括3层,即高层:

软件质量需求评价准则(QSRC);

中层:

软件质量设计评价准则(SQDC);

低层:

软件质量度量评价准则(SMQC)。

凯悦(LawrenceE.Hyatt)和罗森贝克(LindaH.Rosenberg)在《识别项目风险以及评价软件质量的软件质量模型与度量》(ASoftwareQualityModelandMetricsforIdentifyingProjectRisksandAssessingSoftwareQuality)中比较了这3种最常用的软件质量模型,其基本情况如下表所示。

度量标准/目标

麦考尔

勃姆

ISO9126,1993

正确性(Correctness)

X

可维护性

可靠性(Reliability)

完整性(Integrity)

 

可用性(Usability)

效率性(Efficiency)

可维护性(Maintainability)

可测试性(Testability)

互操作性(Interoperability)

适应性(Flexibility)

可重用性(Reusable)

可移植性(Portability)

明确性(Clarity)

可变更性(Modifiability)

文档化(Documentation)

恢复力(Resilience)

易懂行(Understandability)

有效性(Validity)

可维护

功能性(Functionality)

普遍性(Generality)

经济性(Economy)

表2三种软件质量模型之比较

3.软件质量的度量

2.1软件质量度量过程

软件的度量过程主要可以分为五个步骤进行:

(1)确定软件的质量度量需求。

这一步是软件质量度量最为前提和基础的一步,主要活动包括设计可能的质量因素集合,优化并确定这一因素集合和建立软件质量模型。

(2)确定软件质量度量元。

这是软件度量过程较为关键的一步,度量元选取的好坏直接影响着质量评估的结果。

首先在基于软件质量度量框架的基础之上,将质量特性分解成度量元;

继而执行度量元的成本效益分析,根据其结果调整优化已选度量元集合。

(3)执行软件质量度量。

包括定义度量数据收集过程并且收集数据、根据已有数据计算度量值等环节。

需要注意的是,采集的数据应该基于正确定义的度量和模型,从而保证数据的正确性、准确性和精度;

因此,在收集数据之前,应当设定数据采集的目标,并且定义有意义的问题。

(4)分析软件质量度量结果。

通过分析比较收集的度量数据与目标值,发现两者之间的区别。

确定那些不可接受的度量值,详细分析那些数值偏离关键值的度量元并依据分析结果重新设计软件质量度量。

(5)软件质量度量的验证。

验证的目的就是为了证明通过软件产品和过程度量可以预测具体的软件质量因素值。

验证的过程中,在运用相关的验证方法和标准的前提下,必须确定软件质量因素样本和度量样本,然后执行对度量的统计分析,检验度量的作用是否实现。

整个具体过程如图1所示。

图1软件质量度量过程示意图

2.2软件度量的验证与预测

在软件开发和维护的过程中,定量地评价软件的质量,必须对软件质量特性进行度量,以测定软件具有要求质量特性的程度。

软件质量特性度量有两类:

预测型和验收型。

预测度量是利用定量的或定性的方法,对软件质量的评价值进行估计,以得到软件质量的比较精确的估算值。

它是用在软件开发过程中的。

而验收度量则是在软件开发各阶段的检查点,对软件的要求质量进行确认性检查的具体评价值,它可以看成是对预测度量的一种确认,是对开发过程中的预测进行评价。

预测度量有两种。

第一种叫做尺度度量,这是一种定量度量。

它适用于一些能够直接度量的特性,例如,出错率定义为:

错误数/KLOC/单位时间。

一般它作为相对量进行度量。

第二种叫做二元度量,这是一种定性度量。

它适用于一些只能间接度量的特性,例如,可使用性、灵活性等等。

通常,对质量特性制定检查表,通过对照检查项目,确定一种质量特性的有无。

例如,在设计和编码阶段的复杂性度量,利用尺度度量方法来做。

而对模块复杂性的度量采用Mc—Cabe环路度量。

基本思想是基于程序的分支、循环、顺序等摔制结构来估算模块中的结构上的复杂性,其检查表;

给出了评价设计文档是否完备的检查表,这是二元度量的例子。

我们对检查表中每一项都应给以记分,指定信息存在时记“1”,否则记“0”。

表中所有各项的分数相加,即得度量结果。

2.3软件质量度量的方法

(1)面向结构度量方法

较早出现的度量是建立在结构化程序设计和模块化思想基础上的,分析的对象包括程序的控制流图,实现中的操作复杂性,方法间的传递耦合和流程耦合等。

其中影响比较大的有McCabe提出的循环计数复杂度度量,直到今天历经改进,仍然被实践者所采纳。

McCabe1976年提出了环形复杂度(cyclomaticcomplexity)理论,该理论以图论为基础,通过分析程序的控制流图来获得程序的复杂度,为度量程序逻辑复杂性提供了一种很好的方法。

(2)面向软件复用的度量

20世纪90年代后期,软件复用的研究兴起。

复用的度量主要包括可复用性度量和复用度量。

可复用性度量主要用来判定一个构件的可复用性和质量,复用度量主要用于判定复用对生产率、质量和开发时间的作用,它可以在不同级别上进行度量,包括构件级、产品族级、项目级和机构级。

目前面向复用的度量大致可分为以下4大类:

经济模型类、成熟度模型、复用比率模型以及复用潜力度量模型。

(3)面向对象度量方法

软件度量进一步作的开展主要在80、90年代,尤其是在90年代,软件度量的研究获得了空前的发展。

1989年,Morris研究讨论了面向对象应用程序的度量,Bieman讨论了在面向对象条件下软件重用的度量问题。

1993年中国台湾学者J-YChen和J-FLiu提出chenliu方法,从操作性、复杂性、重用性、类的属性等八个方面去度量面向对象软件。

1994年Chidamber和Kemerer发表论文对面向对象度量提出了基于继承树的一套面向对象度量方法被称为CK度量方法,主要用来量度与对外部质量属性的影响有关的面向对象设计的复杂性。

1995年,brito等人针对面向对象属性提出的一套称之为MOOD的度量算法集,它从封装性、继承性、耦合性和多态性等四个方面给出了面向对象软件六个度量指标。

1998年,Nesi和Querci提出了一种新的软件复杂度和大小度量方法。

到了2000年,ArleneF提出一种预测点度量方法,这种方法基于对象和他们的特征,建立一种适合预测工作量和跟踪生产力的方法,核心是每类加权方法数(WeightedMethodsperClassWMC)。

2001年,Victor和Daily提出了一种基于构件点的度量方法叫SPECTRE的方法,用于预测开发任务时间和模块规模。

2003年,Washizaki等提出了一种可重用组件的度量方法,用于度量面向对象组件的易理解性和可重用性。

同年,Hastings和Sajeev介绍了一种新的VectorSizeMeasure(VSM)方法,用于在软件生命周期的早期度量软件规模,软件分类,软件开发结果等。

2005年Gyimothy等提出一种基于经验的面向对象度量方法,该方法能有效地实现对源码的bug预测度量。

同年,DelBianco等采用经验断言的方法,扩展了功能点度量方法,并将其应用到面向对象度量中。

3.实例分析

案例:

CSK株式会社的功能点分析案例

【CSK株式会社的CSFPA概述】

在实施CSFPA之前,CSK以Step数方法来估算开发规模。

但是在利用VB、C++、Java、SQL等语言的项目开发中,用Step数方法进行规模估算比较困难。

为了以定量化手段降低甚至消除估算错误,CSK在IFPUG(InternationalFunctionPointUsersGroup)的FP法的基础上加以改良开发出自身的CSFPA(CSKSimplifiedFunctionPointAnalysis)法,并在企业内加以实施。

CSK于1995年加入IFPUG组织,并于1998年开始正式开展活动。

CSFPA改良的两点是:

增加了度量要件定义等上游工程的简易测量功能;

避免使用人为因素太强的调整系数。

CSFPA法适用体制在项目估算时的FP度量、项目完成时的FP度量、实际数据的收集、统计分析、工数模型化、质量指标化等方面具有CSK特有的方式,CSK在该方法的教育与培训、模型构筑、估算·

质量计划的适用、结果评价·

差异分析等方面取得了良好的绩效。

【CSFPA法的估算步骤】

CSFPA法与IFPUG法的估算步骤有所不同,二者的相似点以及不同点请参照图2。

图2CSFPA功能点估算步骤

【CSFPA法的推广运用】

为了普及和适用CSFPA,CSK在企业内设立由多名专任人员组成的事务局,推进方法的定义以及维护、管理、员工教育、度量支援、数据收集、统计分析、数据利用等。

下面对CSFPA的适用体制加以介绍。

项目估算时的FP度量。

在估算时度量软件规模,通过适用相应的工数模型测算预计工数,以此作为制定日程的根据。

CSFPA的工数模型以开发的全过程为对象,按照项目的开发范围进行估算,将式样、品质、技术的对应要件作为变动要素对此加以调整。

项目完成时的FP度量。

在项目完成阶段对FP数、使用环境、技术、工数以及质量信息等几十个项目加以记录,比较估算时的FP数并进行差异分析,以提升度量精度和模型有效性。

实际数据的收集。

将度量的实际数据剃除异常点后纳入数据库,并加以分析,然后向全企业公开。

这种标本数据已经超过400件。

由于FP度量过程中由于度量者的不同可能导致较大的误差,事务局还面向经验甚浅的度量者提供现场支持,验证度量结果的妥当性,提高度量的精度。

另外,还与其他企业所提供的数据进行比较验证,持续收集数据。

统计分析。

对于收集起来的数据,还需要考虑到项目特性的差异并加以分析。

作为分析的界限,CSK建立了包括约50种类型(可视化工具类开发、Web类开发、维护的主框架开发等)的数据库,并对各自包括工数在内的10种以上的项目和FP值实施相关分析。

工数模型化。

CSK将FP数和工数的关系称之为“工数模型”,现在已经拥有可适用的6种工数模型。

这些模型与实际数据的收集相配合,实施差异分析,持续提升估算精度。

质量指标化。

与工数模型一样,CSK将FP数和质量数据(缺陷、问题等)之间的相关关系作为质量模型加以提供。

通过定义经由质量模型获得的指标,并与现存的指标相结合,构筑综合性的质量指标。

【CSK推进FP法的经验总结】

度量方法的教育与渗透——启蒙。

要使用FP法进行度量,当然需要了解度量规则。

CSK在其“项目管理研修”这一体制中,对企业员工实施教育,讲解FP法的定位、概要、使用方法,进行度量演习,让企业员工掌握FP法。

模型构筑——提升估算精度的路径。

要使用各种模型提升估算的精度,需要度量项目特性以及仔细检查数据。

CSK通过现场调研和支援活动,积累起专业知识和技能,并对技术、式样、质量方面的特性信息加以整理,构筑适合CSK的估算模型,提高估算精度。

估算:

质量计划的适用——制定适当而正确的计划。

构筑起来的模型在实际提案的时候作为估算的根据或者在产品的质量计划制定过程中适用。

在模型不断适用的情况下,这些模型的适用实例也就逐渐丰富起来。

结果评价:

差异分析——取得反馈信息至更高水平的运用。

项目开发过程中,变更点管理以及计划与实绩的差异分析非常重要。

在这个过程中,需要获得适当的反馈信息,在把握复杂的项目状况的同时需要灵活应对这些变更和反馈。

CSK在这方面也在积极运作并在整个企业内展开。

4.展望

毫无疑问,软件度量是提高软件品质的一个重要方法。

只有通过软件度量,才能确定软件产品所具有的属性组合与所希望的符合程度。

DieterRombach,曾在巴黎说到过(现在他在美国软件工程实验室(SEL)工作):

我们现在不再是问我们是否应该度量,而是怎么样度量。

尽管过去软件度量领域做了许多的研究,但还有许多问题未解决。

首先,目前还没有成熟的度量方法,大多度量方法适用性不强,且有些还存在着度量过程客观性差,度量结果不准确的问题。

其次,国际上还没有统一的软件度量标准,很多标准针对的范围比较小,并不能满足软件质量度量的整体要求。

将来,理论开发(对现实的假定)变得越来越重要,相关和归约分析需要考虑讨论度量比例,外部变量对软件度量验证确认是未来需要研究的课题。

利用测量理论的公理有助于更好理解软件品质和成本估计后潜在的内容;

同时,针对现有问题进行深入的研究和分析,探求符合需要的理论方法和开发工具将对未来度量领域的发展起到重要的促进作用。

5.学习心得总结

学号

姓名

学习心得

08212155103

王云

在此次的小论文书写中,我学习到了软件质量的度量对于软件工程这门学科是一个关键的部分。

一个软件的质量好与坏由许多因素决定,缺陷是肯定会有的。

我们要做的是怎么使得软件的缺陷的最少化,让软件的运行效率最大化。

这就要求我们对软件开发和维护的每个过程都要熟悉,不断的做评估和修改,然后及时的做出决策。

而软件质量的度量的发展使得我们有模型和度量方法对软件质量的评估有了一个量化。

这样我们可以根据标准进行决策,使得软件开发和维护的效率提高,及时发现软件存在的缺陷。

同时在这一次小论文的书写过程中,也让我对软件工程有了更深的认识。

软件工程在介绍软件开发和维护过程中,也在灌输着我们一种设计的理念和团队合作的意识。

我会在以后的生活和学习中,好好地培养自己的设计理念和团队合作的意识。

08212155101

毕娜娜

之前,道听途说来的关于答辩的种种情节让们有点很是忐忑不安。

担心从没有合作过的我们几人是否能将这次的软件工程论文很好完成,害怕要是我们遇到同个问题发生歧义了怎么办,甚至我想我们肯定答不好辩。

可在我们一次次的讨论,争论,分析后,发现问题,最后在大家的共同努力下,我们相互理解了,包容了,共识了,便是解决问题最有效最实际的方法。

在这里我要感谢组长对这个论文的指导,也感谢老师给我们的这次机会,使我对软件工程有了充分的了解,懂得如何通过选择合适的软件质量指标体系、确定软件质量的量化过程和方法来进行客观性地度量。

虽然课程结束了,但我们依然还会继续学习软件工程,以后我将充分利用所学到我实际的项目中。

在这次完成论文后我们懂得了:

道路虽是曲折,但团结就有力量获得最后胜利并且我们充分感受到了团队合作精神的重要性,大家在一起互相讨论,互相学习,才使我们成功的做出了这个软件工程论文。

08212155137

熊非非

通过这次小组的讨论和学习,让我对软件质量有了进一步的了解,其中软件的质量由一系列质量要素组成,每一个质量要素又由一些衡量标准组成,每个衡量标准又由一些量度标准加以定量刻划,然而软件质量的度量又要经过一系列的模型建立分析对起进行测试,最终才能确定该软件的质量的好坏。

同时,我们这组讨论后还给出了软件质量的验证与预测,通过这些方法的解析,让我对软件质量这方面有了新的认识和了解。

然而这次的讨论和学习也让我知道了软件工程的重要性,知道软件的开发的复杂性。

在小组讨论中也知道我们的论文还存在不足之处,但我们将会在以后的学习和生活中努力克服和解决。

08212155143

潘旭东

家里要买电视机,一定要物比三家,找一个质量好的。

那么什么是质量好呢?

这就必须进行各种检测,以找出各种电视机的画面是否清晰、用电如何、寿命长短等等。

软件也是如此,一个软件在编写完成后,也必须进行质量的各种检测,这就是软件质量度量。

随着计算机应用领域的迅速扩大,计算机软、硬件新技术的不断涌现,人们对软件质量提出了更高的要求。

所以我们小组选择了软件质量度量这篇课题,很具有意义。

我们进行了为期一周的论文设计。

通过这次论文设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。

安排论文设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。

尤其是观察、分析和解决问题的实际工作能力。

对我们信息与计算科学专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。

这也是一次预演和准备毕业设计工作。

通过论文设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2