第4章软件过程和项目度量_第1页
第4章软件过程和项目度量_第2页
第4章软件过程和项目度量_第3页
第4章软件过程和项目度量_第4页
第4章软件过程和项目度量_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

软件工程

SoftwareEngineering

第4章软件过程和项目度量

2024/10/51国防科技大学计算机学院第4章软件过程和项目度量

4.1过程和项目领域中的度量4.2软件测量4.3调和不同的度量方法4.4软件质量度量4.5在软件过程中集成度量2024/10/52国防科技大学计算机学院第4章软件过程和项目度量测量在软件工程领域中,“measure”(测量)对一个产品过程的某个属性的范围、数量、维度、容量或大小提供了一个定量的指示。当获取到单个的数据点(如在一个模块的复审中发现的错误数)时,就建立了一个测量。测量的发生是收集一个或多个数据点的结果(如调研若干个模块的复审,以收集每一次复审所发现的错误数的测量)。2024/10/53国防科技大学计算机学院第4章软件过程和项目度量测量对软件开发过程、产品和资源进行实时和事后的定量描述,涉及测量的要素、方法、过程、工具和数值结果。直接测量和间接测量直接测量用于不依赖于其它属性的简单属性;例如:花费的成本、工作量、产生的LOC间接测量用于依赖于若干其它属性的要素、准则和属性。例如:软件的质量、软件的可靠性2024/10/54国防科技大学计算机学院第4章软件过程和项目度量度量IEEE的软件工程术语标准辞典中定义:“metric”(度量)为“对一个系统、构件或过程具有的某个给定属性的度的一个定量测量”。度量具有数字特征,软件工程范围的度量是软件开发过程、软件资源或软件产品简单属性的定量描述。如,程序规模、操作符个数、程序中错误的个数等。软件度量在某种程度上与单个的测量相关(如每一次复审所发现的错误的平均数,或复审中每人/小时所发现的错误的平均数)。2024/10/55国防科技大学计算机学院第4章软件过程和项目度量指标软件工程师收集测量结果并产生度量,这样就可以获得指标“indicator”。指标是一个度量或度量的组合,它对软件过程、软件项目或产品本身提供了更深入的了解。估算对软件产品、过程、资源进行预测估算可以采用经验公式、或参考历史资料估算用于事前签订合同、立项、制定工作计划等2024/10/56国防科技大学计算机学院4.1过程和项目领域中的度量过程度量和软件过程改进过程度量的收集涉及所有的项目,目的是提供能够引导长期的软件过程改进的一组过程指标。产品过程人员技术开发环境客户特性商业条件2024/10/57国防科技大学计算机学院4.1过程和项目领域中的度量项目度量评估正在进行中的项目的状态;跟踪潜在的风险;在问题造成不良影响之前发现它们;调整工作流程或任务;评估项目团队控制软件工作产品质量的能力;2024/10/58国防科技大学计算机学院4.2软件测量软件测量的两种分类方法:软件过程和产品的直接测量产品的间接测量采用规范化的度量方法,就有可能产生在更大的组织范围内进行比较的软件度量。2024/10/59国防科技大学计算机学院4.2软件测量-面向规模的度量面向规模的软件度量是基于已经开发的软件的规模。用代码行(LOC)数表示软件项目的规模,利用它不仅可以测量软件规模,还可以度量软件开发的生产率,计算每行代码的平均成本,计算文档与代码的比例管理,每千行代码存在的软件错误个数。2024/10/510国防科技大学计算机学院4.2软件测量-面向规模的度量代码行技术的主要优点:代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数。代码行技术的缺点是:

源程序仅是软件配置的一个成分,用它的规模代表整个软件的规模似乎不太合理;依赖于程序设计语言的表达能力;这种方法不适用于非过程语言;会对设计精巧的软件项目产生不利的影响;在项目开发前或初期很难作到。2024/10/511国防科技大学计算机学院4.2软件测量-面向规模的度量代码行技术的标准值法(ExpertJudgment)

请多位专家估算程序的最小规模a,最可能的规模

m,和最大规模b。以三组平均值估算程序规模:2024/10/512国防科技大学计算机学院4.2软件测量-面向规模的度量代码行技术的相关度量-生产率pl=L/EL:代码行数,用千行代码kLOC度量E:软件项目的工作量,用人月(PM)度量。pl:软件项目的生产率,用每人每月完成的代码行数(LOC/PM)度量。2024/10/513国防科技大学计算机学院4.2软件测量-面向规模的度量代码行技术的相关度量-每行代码的成本Cl=S/LS:软件项目的总开销,用人民币或美元表示;Cl:软件项目每行代码的平均成本,用人民币(美元)/代码行度量2024/10/514国防科技大学计算机学院4.2软件测量-面向规模的度量代码行技术的相关度量-文档与代码比Dl=Pd/LPd

:软件项目的文档页数Dl:每千行代码的平均文档页数2024/10/515国防科技大学计算机学院4.2软件测量-面向规模的度量代码行技术的相关度量-代码出错率EQRl=Ne/LNe:软件项目的代码错误数EQRl

:每千行代码的平均错误数。2024/10/516国防科技大学计算机学院4.2软件测量-面向规模的度量

例软件项目记录项目工作量

PM成本(万美元)代码行kLOC文档页数

Pd错误数

Ne人数

MAlpah2416.812.1365293Beta6244.027.21224865gamma4331.420.210506462024/10/517国防科技大学计算机学院4.2软件测量-面向功能的度量

Albrecht1979年提出,目前在欧共体很普遍,只涉及多种因素的间接度量方式。它根据事物信息处理程序的基本功能定义,因此在软件系统涉及初期就能够估算出软件项目的规模。功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位度量软件规模。

2024/10/518国防科技大学计算机学院4.2软件测量-面向功能的度量表中的五个信息量按下列方式取值用户输入数--用户为软件提供的输入参数个数用户输出数--软件系统为用户提供的输出参数个数用户查询数--一个联机输入确定一次查询,软件以联机输出的形式,实时地产生一个响应主文件数--统计逻辑的主文件个数外部界面数--统计所有机器可读的界面,利用这些界面可以将信息从一个系统传送到另一个系统

2024/10/519国防科技大学计算机学院估算功能点的步骤计算未调整的功能点数UFP首先,把产品信息域的每个特性(即Inp、Out、Inq、Maf和Inf)都分类为简单级、平均级或复杂级,并根据其等级为每个特性分配一个功能点数.然后,用下式计算未调整的功能点数UFP:UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf其中,ai(1≤i≤5)是信息域特性系数,其值由相应特性的复杂级别决定,见书342所示。4.2软件测量-面向功能的度量2024/10/520国防科技大学计算机学院估算功能点的步骤计算技术复杂性因子TCF度量14种技术因素对软件规模的影响程度。用Fi(1≤i≤14)代表这些因素。根据软件的特点,为每个因素分配一个从0到5的值。计算技术因素对软件规模的综合影响程度。DI=技术复杂性因子TCF由下式计算:TCF=0.65+0.01×DIDI的值在0~70之间,所以TCF的值在0.65~1.35之间。4.2软件测量-面向功能的度量2024/10/521国防科技大学计算机学院估算功能点的步骤计算功能点数FP用下式计算功能点数FP:

FP=UFP×TCF4.2软件测量-面向功能的度量2024/10/522国防科技大学计算机学院4.2软件测量-面向功能的度量功能点技术的相关度量-生产率

Pf=FP/E

其中Pf表示每人月完成的功能点数2024/10/523国防科技大学计算机学院4.2软件测量-面向功能的度量功能点技术的相关度量-平均成本Cf=S/FP

其中Cf:每功能点的平均成本(REM,USD)2024/10/524国防科技大学计算机学院4.2软件测量-面向功能的度量功能点技术的相关度量-文档与功能点比Df=Pd/FP

其中Df:每功能点平均具有的文档页数2024/10/525国防科技大学计算机学院4.2软件测量-面向功能的度量功能点技术的相关度量-代码出错率EQRf=Ne/FP

其中EQRf:表示每个功能点的平均错误个数。2024/10/526国防科技大学计算机学院4.2软件测量-面向功能的度量软件规模的功能点度量没有直接设计软件系统本身的算法复杂性,因此它适合算法比较简单的事物系统的软件规模度量。对比较复杂的软件系统,如实时系统、大型嵌入式系统软件、过程控制软件不适用。2024/10/527国防科技大学计算机学院4.2软件测量-面向功能的度量优点与程序设计语言无关,适用于过程式和非过程式语言。适用于软件项目的开发初期。缺点涉及主观因素较多信息领域某些值不易采集FP的值没有直观的物理意义2024/10/528国防科技大学计算机学院4.2软件测量-面向对象的度量场景脚本的数量场景脚本是一个详细的步骤序列,用来描述用户和应用系统之间的交互。关键类的数量DominClass:问题域的核心。通常在项目的早期就可以确定下来。支持类的数量是实现系统所必需的但又不与问题域直接相关的类。包括:UI类、操作类等。支持类的定义贯穿于项目的始终。在采用GUI的应用中,支持类是关键类的2~3倍;在不采用GUI的应用中,支持类是关键类的1~2倍;子系统的数量是实现某个功能的类的集合。2024/10/529国防科技大学计算机学院4.3调和代码行和功能点的度量方法代码行度量依赖于程序设计语言,而功能点度量不依赖于程序设计语言。Albrecht和Jones等人对若干软件采用事后处理的方式分别统计出不同程序设计语言每个功能点与代码行数的关系,用LOC/FP的平均值表示。2024/10/530国防科技大学计算机学院4.3调和代码行和功能点的度量方法表各种语言的LOC/FP(平均值)程序设计语言LOC/FP(平均值)汇编语言300COBOL100FORTRAN100Pascal90Ada70面向对象的语言30四代语言(4GL)20代码生成器15

2024/10/531国防科技大学计算机学院4.3调和代码行和功能点的度量方法利用上表中所包含的信息,只要知道了程序设计语言的LOC,就可以‘逆向’估算出现有软件的FP。2024/10/532国防科技大学计算机学院4.4软件质量度量软件工程的最高目标就是产生高质量的系统、应用软件或产品。为了达到这个目标,软件工程师必须掌握在成熟的软件过程背景下有效的方法及现代化的工具的应用。除此之外,一个优秀的软件工程师(及优秀的软件工程管理者)必须评估是否能够达到高质量的目标。2024/10/533国防科技大学计算机学院4.4软件质量度量测量质量正确性一个程序必须能够正确操作,否则对于用户就没有价值了。正确性是软件完成所需的功能的程度。关于正确性的最常用的测量是每千行(KLOC)的缺陷数,这里缺陷定义为验证出的与需求不符的地方。

2024/10/534国防科技大学计算机学院4.4软件质量度量测量质量可维护性软件维护所占的工作量比任何其他软件工程活动都大。可维护性是指遇到错误时程序能被修改的容易程度;环境发生变化时程序能够适应的容易程度,用户希望改变需求时程序能被增强的容易程度。一个简单的面向时间的度量是平均修改时间(mean-time-to-change,MTTC),即分析改变的需求设计合适的修改方案实现修改测试,并将修改后的结果发布给用户所花的时间。2024/10/535国防科技大学计算机学院4.4软件质量度量测量质量完整性在黑客及病毒横行的现在,软件完整性已变得日益重要。这个属性测量系统在安全方面的抗攻击(包括偶然的和蓄意的)能力。攻击可能发生在软件的三个主要成分上:程序、数据及文档。一个系统的完整性可以定义为:完整性=Σ[1—威胁×(1—安全性)]2024/10/536国防科技大学计算机学院4.4软件质量度量测量质量可用性可用性试图量化“用户友好性”,并根据四个特性来测量:学会一个系统所需的体力的和/或智力的投入;在系统的使用上达到中等效率所需的时间;当系统由某个具有中等效率的人使用时,测量到的生产率的净增长(与被该系统替代的老系统相比);用户对系统的态度的一个主观评估(有时可以通过调查表获得)。2024/10/537国防科技大学计算机学院4.4软件质量度量缺陷排除效率DRE缺陷排除效率是在项目级和过程级都有意义的质量度量。DRE是对质量保证及控制活动滤除缺陷能力的测量。DRE=E/(E+D)E:软件交付给最终用户之前发现的错误数。D:软件交付之后发现的缺陷数。2024/10/538国防科技大学计算机学院4.5在软件过程中集成度量通过对

温馨提示

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

评论

0/150

提交评论