• 回答数

    2

  • 浏览数

    162

佐鉺三鉺洞
首页 > 学术期刊 > 软件估算方法研究的论文

2个回答 默认排序
  • 默认排序
  • 按时间排序

小小沉醉

已采纳

摘要: CMMI为软件产品及软件过程提供了一套定量的表示和分析,即软件度量的模型。有效的软件度量过程能促进组织的软件过程能力的改进。文章结合国内应用特点,介绍了基于CMMI的多层架构软件产品的度量模型,并着重讨论了基于CMMI的软件过程度量,总结了软件过程度量的工作方法和思路,提出了解决国内软件度量的一般性方法,为软件过程改进提供了可行的方法和实践。

关键词: CMMI;软件度量;软件过程能力;度量项;门限值

引言

软件度量的目的是为项目管理提供项目的执行情况的充分可见性,并使项目管理者了解项目实际进展与项目计划之间的偏差,以便采取纠正行动,保证项目的顺利进行。有效的软件度量过程促进组织的软件过程能力的改进。软件度量是软件特性的定量表示和分析方法;软件度量可分为软件产品度量和软件过程度量两类。软件产品度量(定量表示和分析软件产品特性)是独立于产品生产过程的度量;软件过程度量(定量表示和分析软件过程特性)是为管理者提供产品生产过程的状态信息和指导依据。

软件产品度量的要素为质量要素、评价准则、度量元。这里软件过程度量主要通过需求度量、规模度量、进度度量、工作量度量、风险管理度量、质量保证度量来分析。

1 三层架构软件产品度量

1.1质量要素

软件质量可分解成六个要素,这六个要素是软件的基本特征。功能性:软件所实现的功能满足用户需求的程度;可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度;易用性:对于一个软件,用户学习、操作、准备输入和理解输出时所做努力的程度;效率:在指定的条件下,软件实现某种功能使用计算机资源(包括时间)的有效程度;可维修性:为了满足用户需求、环境改变或发生软件错误时,对软件进行相应修改所需的努力程度;可移植性:软件从一个计算机系统或环境转移到另一个计算机系统或环境的难易程度。

1.2评价准则

评价准则包括:精确性、健壮性、安全性、通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、产品文件完备性。

1.3度量元

根据软件的需求分析、概要设计、详细设计、实现、组装测试、确认测试和维护与使用七个阶段,制定针对每一个阶段的度量元。

2 基于CMMI软件过程度量

从软件企业的观点出发,软件度量(software Measurement)是通过各种不同的量度对软件生命周期中的各个元素进行度量(Measure),为项目管理者提供有关项目的各种重要信息,也是进行软件评估活动的基础。

Carnegie Mellon大学的SEI提出了以下的一个软件度量过程体系结构图:

图1 软件度量过程体系结构

下面我们就上面的体系结构进行分析。

制定度量过程的计划包括两个方面的活动,一是确认范围,二是定义程序步骤。确认范围:明确度量需求的大小,以限定一个适合于企业本身需求的度量过程。因为在整个度量过程中是需要花费人力物力等有限资源的,不切实际的大而全或不足以反映实际结果的需求都会影响度量过程的可靠性以及企业的发展能力。定义程序步骤:在确认了范围后,定义操作及度量过程的步骤,同时成文立案。主要工作包括定义完整、一致、可操作的度量;定义数据采集方法以及如何进行数据记录与保存;定义可以对度量数据进行分析的相关技术,以使用户能根据度量数据得到实质性的结果。

过程的实施包括两方面的活动,一个是数据的采集,一个是数据的分析。数据的采集:根据已定义的度量操作进行数据的采集、记录及存储;此外,数据还应经过适当的校验以确认有效性。在进行该项活动时应具有一定的针对性,应注意到不同的项目或活动所需要的实际数据量是有差别的,对活动状态的跟踪是非常重要的。数据的分析:包括分析数据及准备报告、提交报告,并进行评审以确保报告足够准确。这些程序步骤可能需要反复,因为报告可能没有为使用者提供有益的帮助或使用者对报告中的内容不理解,在这两种情况下,都应回馈并重启度量过程以再进行数据分析。

过程的'改善仅包含一个方面的活动,即优化过程。优化过程:用于动态地改善过程并确保提供一个结构化的方式综合且处理多个涉及过程改进的问题。除此以外,该活动要对度量过程本身进行评估,报告的使用者会对数据的有效性进行反馈。这些反馈可能来自其他的活动,但一般都会溶入到新一轮度量过程的生命周期中,对度量过程进行新的确认及定义。

在实现项目中,项目启动之后,项目度量工作就正式展开。项目经理在项目计划阶段要针对项目的特点制订相应的度量计划,制定度量数据收集和量化分析与控制的策略。在项目实施的过程中,项目相关成员按照预先设定的周期收集各项度量数据,填写相关软件度量记录表。度量负责人根据项目度量表采用适当的方法比较和分析项目级的度量数据,得出度量分析报告。在必要时采取纠正措施,如修正项目计划、进行相关培训等。项目结束时,度量负责人及相关人员对度量规程及有关文件、度量采集的数据、分析结果及报告进行验证后,将其放入相应度量数据库。

确定度量项要根据实际软件项目情况。如果我们比较关注项目进度、工作量和质量,可以将项目进度偏差不超过25%,项目工作量偏差不超过20%,项目的缺陷修复率不低于90%这三项指标作为度量目标。

2.1需求度量

需求的稳定度在极大程度上影响项目的规模、工作量和进度。不稳定的需求将带来负面影响,例如软件产品质量下降、项目成本增高、项目进度延迟等。跟踪分析需求的稳定性能够体现项目成员管理和控制软件需求的能力。目前国内软件项目对需求的分析和控制比较薄弱,开发人员付出了加倍的努力,用户满意度仍不理想。因此有必要对项目需求进行有效的度量和管理。

需求度量项主要包括:原始需求总数、本阶段新增需求的数目、本阶段删除需求的数目、本阶段修改需求

的数目、本阶段需求变更数目、本阶段需求总数目、项目结束时变更的需求总数、项目结束时需求总数、需求变更比例、需求实现率等。

需求变更可能直接导致规模的增长、进度的延迟、成本的增加以及返工。项目成员应周期性地度量需求变更(包括新增、修改和删除需求)和需求总数的变化,控制需求变更并采取相应行动。图2表现了需求的稳定度,两条折线分别表示监控过程需求总数的变化以及需求变更数目的变化。假设需求基线化评审发生在第3次项目监控时,该图显示,需求评审之后,第4次的需求总数以及第4、5、6次需求变更数都有明显增长,在第7次以后需求趋于稳定。说明在需求基线化评审结束之后相当一段时间需求仍然不稳定。产生的原因可能有以下几种:(1)需

本文原文求调研不充分、误解、歧义、不完整、不正确等;(2)客户需求变化频繁。解决措施:在进行需求调研时充分挖掘客户的需求,进行需求确认。对于频繁变更的需求,项目成员可能要采取诸如重新分配资源及重新估算规模、工作量和进度等措施。

图2需求变化趋势图

2.2规模度量

规模是项目的基本度量项,是决定软件项目成本的最基本因素,是估算工作量和进度、计算生产率、缺陷密度及其它项目评估指标的基础。对规模的有效估算、跟踪和控制,一方面使得项目得以按照预定计划顺利开展,另—方面也也保证机构盈利目标的实现。

监控实际规模与估算规模的偏差。如果需要,重新估算工作量和进度。

在里程碑处(如需求阶段、设计阶段)以及大的需求变更发生时,或进行项目情况汇总时,项目经理需要分析规模变化率并监控产品有效规模的偏差。

如果规模变化率在上下控制限范围内,则度量结果是可以接受的。

如果规模变化率超出上下控制限范围,则分析原因并采取相应措施。

度量项主要包括:项目估计规模、项目实际规模、规模变化率、项目估计成本、项目实际成本、可复用的代码行等。可以根据实际情况取舍。

2.3进度度量

保证软件项目的进度是控制项目成本,赢得用户满意的关键。软件项目容易在进度上发生问题,对项目的进度进行定量的高透明度的管理,可以尽早发现进度的延误,迅速做出相应的调整。具体度量项包括:项目估计进度、项目实际进度、进度偏差、里程碑计划总天数、里程碑实际总天数、里程碑差异天数、项目计划总天数、项目实际总天数、项目总的差异天数。如果进度偏差超出控制界限,则分析原因,采取措施,跟踪进度,直至进度得到控制。

2.4工作量度量

追踪工作量的目的是评估项目人力是否充分以及分配给每个阶段的工作量是否合适。对工作量的正确估计和控制,有利于为项目配置合适的人力资源,也便于控制项目成本。统计汇总各个阶段、各项活动工作量在总工作量中所占比例,并与计划比例相对照,可以发现项目执行上的偏差;总结经验教训,有利于逐步形成适合软件企业开发团队特点的最佳工作量组合。

工作量度量的具体方法是:确定工作量度量的基本度量项,由相关人员选择基本度量项填写工作日志,在一定时间统计各基本度量项及计算相关派生度量项。相关的度量项有:各类活动的总工作量、各阶段的总工作量、各类活动的工作量分布、各阶段的工作量分布、项目估计(总)工作量、项目实际(总)工作量、工作量偏差等。

图3 返工工作量分析图

分析:从数据和图表来看,返工工作量在16%左右,属正常范围。没有超过门限值。

2.5风险管理度量

对风险进行识别与度量,统计识别的风险和转化为问题的风险的数目,供以后的项目参考。风险度量项主要包括:本阶段识别的风险数目、本阶段转化为问题的风险数目、项目识别的风险总数、项目转化为问题的风险总数等。

风险管理是对项目潜在问题进行识别,以便在项目生命周期内对处理这些问题制订管理计划,减少潜在问题发生的影响和概率。风险度量将为以后的项目的风险管理提供参考数据。

图4 项目风险和问题趋势图

2.6质量保证度量

通过对软件质量保证过程中不合格项的有关统计,可以发现项目成员对软件开发过程规范的遵从程度,预防缺陷,改进过程。通过对质量保证活动的工作量进行统计,可以积累项目支持类活动的工作量数据。

图5 不符合项解决率趋势图

度量项主要包括:QA活动的工作量、不符合项总数目、各类问题不符合项数目、新增不符合项数目、已解决不符合项数目、当前未解决不符合项数目、不符合项解决率、解决不符合问题的时间延迟、解决不符合问题的工作量、剪裁组织标准过程集合的工作量等。

3 实践结果

如何提高软件质量始终是软件工程领域研究的重要方向。基于度量的量化管理是目前最有效的质量保证手段之一,国内很多软件企业也在做这方面的研究和实践。本度量分析模型已经使用于多个具体的项目应用中,并经过了SEI专家测评,通过了CMMI3正式评估。本文在软件过程改进和软件度量分析上作了一定的探索和实践,结合具体软件项目进行了具体实践的描述,对以后国内软件度量分析应用,改进软件过程有一定现实意义。

4 结束语

在接下来的工作中,我们要加强软件度量库(如电子政务应用安全软件度量库)的建设和应用,将软件度量分析工作作为一个长效机制坚持下去,保证软件过程有序、健康地发展。

317 评论

liuwenwenlesley

软件测试被定义为是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。下面我给大家分享软件技术论文2000字,大家快来跟我一起欣赏吧。

软件测试技术研究

摘 要:软件测试是软件工程范畴的一项重要工作,与软件质量密切相关。本文就软件测试的概念、分类和方法等几个方面进行了论述。

关键词:软件测试;黑盒测试;白盒测试

中图分类号:TP311.52

软件测试是软件生产过程中的一个重要环节,是伴随着软件的产生而发展的,它并不是不能正常运行的软件的专利,而是为了发现所有软件缺陷而执行程序的过程。软件测试贯穿于软件开发的到投入使用的各个过程中,不同阶段的测试手段各不相同,测试成为软件产品质量控制和管理的重要手段之一。大量资料表明,软件测试的工作量占软件开发总工作量的40%以上,测试成本也占总成本的30%―50%。

1 软件测试的目标和重要性

1.1 软件测试的定义

看待软件测试的角度不同,软件测试的定义也各不相同。总的说来,软件测试就是利用测试工具按照预先设定好的方案和流程对产品进行功能和性能测试,甚至根据需要重新编写测试代码,对测试过程中可能出现的问题进行分析和评估。它是帮助识别开发完成的计算机软件的正确度、完全度和质量的软件过程,是保证软件质量的重要内容。

1.2 软件测试的目标

软件测试的正确定义是“为了发现程序中的错误而执行程序的过程”。而测试的目的决定了如何去组织测试。测试的目标是什么?G.Myers曾给出了关于测试的一些规则,这些规则可以看作是软件测试的目标:

(1)软件测试并不是为了验证软件的正确性,而是为了发现错误而执行程序的过程。(2)好的测试方案是尽可能发现目前尚未发现的错误的测试方案。(3)成功有效的测试是发现了至今尚未发现的错误的测试。从以上规则可以看出,测试是以查找错误为中心,和人们通常想象的“测试是为了验证程序的正确功能”,“成功的测试是没有发现错误的测试”等是完全相反的。所以,近年来,正确软件测试目标如下:(1)软件测试并不仅仅是为了查找出软件的错误,而是要通过进一步分析错误产生的原因和错误的发展趋势,发现一些可以通过测试避免的开发风险;(2)通过测试能够帮助测试人员设计出适合该软件更加有效的测试方法,进一步提高测试效率,缩短测试实践,降低测试费用;(3)结果完全正确的测试也是有价值的,是软件质量的一种评价,但并不是测试正确就说明该软件没有错误,随着使用的深入,功能的扩充等会逐步暴露出更多的问题,实践证明,完全没有错误的软件世间难求。

1.3 软件测试主要包括

(1)正确性和精确性测试:如果软件的运行结果不正确和不精确,那么会给用户带来很大的麻烦,甚至造成不可估量的损失,因此是保证软件质量的最重要因素。(2)容错性测试:容错性测试是在认可错误的情况下进行的测试,是检查软件在异常条件运行,是否具有防护性和能否自我恢复。容错性测试能确保系统不发生无法意料的事故,从而提高软件的安全性和可靠性。(3)性能与效率测试:用户都希望软件的运行速度更高一些,并且占用的资源更少些,性能与效率测试主要是优化软件的算法,数据结构和代码组织来提高软件的性能和效率。(4)易用性测试:易用性测试是测试软件的易用程度,就像一个常用扳手工具,拿到就能明白怎么去使用,因此易用性测试没有一个量化的指标,主观性较强。在平时使用中,当用户不能正确使用软件中的某个功能时,大多数人首先会通过各种方式学习、请教,或者向产品支持部门打电话,还有一部分用户会查阅用户手册。通常认为,用户不通过翻阅用户手册就能使用的软件易用性较好。(5)文档测试:文档测试主要检查文档的正确性、完备性和可理解性。

1.4 软件测试的基本原则

(1)尽早并不断地进行软件测试;(2)程序员或程序设计机构避免测试自己的软件;(3)测试前应当设置合理的测试用例,测试用例的设计不仅要有合法的测试数据,也要有非法的测试数据;(4)对程序修改之后要进行回归测试;(5)妥善保留测试计划、严格按照计划测试,排除测试的随意性,全部测试用例、出错统计和最终分析报告,并对每一个测试结果做全面检查。

1.5 软件测试的地位

软件的开发过程包括需求分析、设计、实现和测试四个阶段。软件测试在软件生命周期中占重要地位,是软件交付用户使用前保证软件质量的重要手段。在系统发布之前,从客户的需求出发,尽早发现问题,修改的成本越低,破坏性也越小。一旦系统投产后发现问题,其危害性被成倍放大,甚至会给双方造成不可估量的损失。

2 软件测试方法

按照不同的分类方法,软件测试可以分为多种类型。

2.1 从是否需要执行被测试软件的角度分类

静态测试:是指不需要实际运行软件,主要对软件的编程格式、程序逻辑结构等方面进行测试。静态测试是通过对源程序进行语法检查,静态结构分析、代码质量等方面找出缺陷和可疑之处,例如变量定义和生命周期检查、模块接口的正确性、是否允许递归、程序逻辑和结构审查等。

动态测试:通常的上机运行软件而进行的测试,这种方法是使程序有控制地运行,并从多种角度观察程序的行为,以发现其中的错误。在软件维护阶段,当修改软件后,除了对修改部分的软件进行常规的测试外,还应对软件的其他部分进行回归测试,所谓回归测试是指全部或部分地重复已做过的测试,它主要检查软件的修改是否在软件的未修改部分引入了新的错误。

2.2 从是否针对软件结构与算法的角度分为

白盒测试,主要是对软件的逻辑结构进行的测试。白盒测试要求测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试,不需测试软件产品的功能。测试过程是基于覆盖全部代码、分支、路径和条件。白盒测试是指在知道产品内部工作过程,通过设置测试用例来检测产品内部动作是否按照规格说明书的规定正确进行,检验程序是否都能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑覆盖、基本路径测试等。

黑盒测试:指测试来检测每个功能是否可以正常使用。执行严格的测试,通过对整个软件或某些软件功能,但不检查程序的源代码还是非常清楚的了解该软件的源代码程序具体如何设计。通过输入测试数据,并通过分析的结果输出到测试人员了解软件是如何工作的。在测试中,主要的功能是用来检查是否正确的程序或缺少的功能,用户界面是正确的,错误的数据结构或外部数据库访问错误,性能是正确与否,程序是否有初始化和终止错误的存在。

2.3 从测试的不同阶段分类

单元测试:指的是对每一个工作单元进行测试,了解其运行结果是否符合我们的预期。它对测试人员的要求比较高,要求测试人员对程序代码比较熟悉;一般由程序员自己编完某个单元后,先自我检查通过后,再将测试代码交给测试人员进行审核,如果发现缺陷,原开发者应当及时修正程序,这样可以尽快的发现程序中存在的错误,及时修正以提高程序开发的效率。

集成测试:是在单元测试的基础上,测试再将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。也就是说,在集成测试之前,单元测试已经完成,集成测试中所使用的对象,已经是经过单元测试的软件单元。

系统测试:是将已经确认的计算机软件和硬件设备、网络和外围设备等元素组合在一起,对已经集成好的系统进行测试,找出所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案.它的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性。

验收测试:也称为交付测试,完成了功能和系统测试后、产品发布之前所进行的测试活动,它是技术测试的最后一个阶段。

总之,随着软件开发和测试技术的不断发展,测试方法也越来越多样化,针对性更强;选择合适的软件测试方法可以让我们事半功倍。

参考文献:

[1]张永梅.软件测试技术研究[J].测试技术学报,2002,6.

[2]刘继华.软件测试技术的研究进展[J].微计算机信息,2012,10.

[3]瞿莉丽.浅析软件测试技术[J].硅谷,2010,4.

点击下页还有更多>>>软件技术论文2000字

103 评论

相关问答

  • 软件开发属于什么论文研究方法

    软件开发的毕业论文主要写的是你开发软件的整个过程。可行性分析,需求分析,总体设计,详细设计,编码,文档,测试等都要写的。主要写的还是前五项是很重要的。

    紫雨洋依 2人参与回答 2023-12-07
  • 社交软件的论文研究方法一般是

    你好,论文一般采用的研究方法有规范研究法,实证研究法,案例分析法,比较分析法,思维方法,内容分析法,文献分析法,数学方法。 一、规范研究法会计理论研究的一般方法

    锐客家族 2人参与回答 2023-12-09
  • 分析论文研究方法的软件有

    引文分析包括4步:①选取统计对象;②统计引文数据;③引文分析;④得出结论。 引文分析包括4步:①选取统计对象;②统计引文数据;③引文分析;④得出结论。

    横竖都是213 4人参与回答 2023-12-11
  • 资产评估方法研究论文

    一、绪言 中资资产评估有限公司接受济南柴油机股份有限公司、咸阳石油钢管钢绳厂委托,根据国家有关国有资产评估的规定,本着客观、独立、公正、科学的原则,按照公认的资

    秀之美adahe 2人参与回答 2023-12-06
  • 软件体系结构方法研究论文题目

    软件设计毕业设计论文题目 软件设计毕业设计论文题目如何拟定,大家有参考的范文吗?以下是我为大家整理的关于软件设计毕业设计论文题目,希望大家喜欢! 1) 组合型板

    小公举A酱 4人参与回答 2023-12-11