欢迎来到天天文库
浏览记录
ID:22010036
大小:54.00 KB
页数:5页
时间:2018-10-26
《基于coo模型的软件测试成本估算》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于COO模型的软件测试成本估算 【摘要】本文介绍了软件界影响最为广泛、也最著名的软件开发成本估算模型COO,并且根据软件测试工作成本难以估算的特点,将COO估算模型应用于软件测试成本估算工作中,以提高软件测试成本估算效率和成功率。 【关键词】成本估算;COO模型;软件测试;DO-178B 1引言 在当今软件过程活动中,软件研发机构将研制力量的40%以上投入到软件测试之中已经越来越普遍。特殊情况下,对于性命攸关的软件,如战斗机飞行控制软件、核反应堆监测软件、神舟飞船上各型软件等,其测试成本(包括人力、经费、材料等)甚至高达所有其他软件工程阶段成本总和的3~5倍。因此,如何合理
2、分配开发与测试的经费、人员等成为一个软件项目成功很关键的因素。而项目成本往往在项目前期,也就是项目成本预算中就已经确立,所以,有效的软件测试成本评估也显得极为关键。 2软件测试成本估算现状 软件测试是软件生命周期内的一个重要阶段,也是保证软件质量的重要手段之一。随着市场对软件质量要求的不断提高,软件测试不断受到重视。如何较好地制定软件测试计划,合理分配软件测试过程中的人力、物力资源,对软件测试的成本如何进行较为精确估计等都值得关注。 目前,对软件开发成本估算的研究与应用已经比较广泛,形成了以功能点分析法、专家判定-delphi方法等为代表的估算方法和模型。相比较而言,软件测试规
3、模的估算研究和应用相对较少。尤其在软件测试的成本估计方面往往还凭测试专家的经验来定,这样极易导致软件测试由于预算的不足导致的测试活动的不充分、测试质量低下。 3COO模型简述 著名软件工程专家、经济学家BarryBoehm在其著作《软件工程经济学》中提出了软件估算模型层次结构,称为构造式成本模型COO(ConstructiveCostModel),至今该模型已经成为软件界最通用的估算模型。 3.1三种类型的软件 COO是针对Boebm划分的三种类型软件进行估算的。 1)固有型(OrganicMode)项目:规模较小、较为简单的项目,开发人员对项目有较好的理解和较为丰富的工作
4、经验,如飞机的极限告警灯信号软件。 2)嵌入型(EmbeddedMode)项目:这类项目的开发工作紧密地与系统中的硬件、软件和运行限制联系在一起,如飞机的飞行控制软件。 3)半独立型(Semi-detachedMode)项目:项目的性质介于上述两种类型之间,其规模与复杂性均属于中等,如考勤信息管理系统、OA事务处理系统等。 3.2COO的三级模型 1)基本COO模型。该模型为静态、单变量,以估算出的源代码行数计算开发工作量和开发期。 开发工作量为:E=a(KLOC)b 式中:E为工作量,单位为人月;KLOC为交付的千代码行数;a,b为模型系数,如表1所示。 2)中级CO
5、O模型。该模型除考虑源代码行数外,还考虑调节因子(EffortAdjustmentFactor,EAF),用其体现产品、软件、人员和项目等因素。 开发工作量: E=c(KLOC)dEAF 式中,c、d是模型系数,如表2所示;EAF是调节因子,它包含了4类15中属性,其值从0.7~1.66,如表3所示。 3)高级COO模型。高级COO模型除了保留中级模型的因素外,还涉及软件工程过程不同开发阶段的影响,以及系统层、子系统层和模块层的差别。由于篇幅关系,不详细介绍。 4软件测试成本估算设计与实现 4.1软件安全性等级划分 根据RTCA发布的DO-178B标准,软件的安全评估及
6、风险分析需要描述当其失效时对机身、机组人员、乘客产生的后果,以此确定软件DAL(DesignAssuranceLevel)水平。 灾难性的:失效将会导致航空器损毁,阻止继续安全飞行和着陆。 危险的/严重的:失效严重影响航空器的安全性和性能,降低机组人员克服不利操纵状态的能力,造成乘客的严重伤害。 较重的:失效是明显的,但是比危险的/严重的失效等级影响小,给机组带来明显的工作量增加。 较轻的:不会严重降低航空器安全性及有关机组的活动在他们的能力内能很好完成的失效状态。 无影响:不影响航空器的工作性能或不增加机组工作量的失效状态。 按照软件失效条件把机载软件分为A-E五级,安
7、全关键程度从A至E逐级降低。 DO-178B尽管是航空标准,但已经在整个军工领域已经得到推广和应用。本文在软件测试成本估计工作时候,首先也参照DO-178B标准,划分软件安全性等级。 4.2软件测试各阶段划分 随着GJB5000A模型的逐步成熟,国内相当一部分软件研制单位开始有意识地接受并采用GJB5000A作为其软件生产过程的制度体系和标准。软件测试作为软件生命周期中一个重要活动组成部分,必然要按照GJB5000A标准,严格控制软件测试过程活动。
此文档下载收益归作者所有