软件开发的测量分析建模及实现

2018-02-25 14:27井涛谭浩
电子技术与软件工程 2018年12期
关键词:质量评价

井涛 谭浩

摘要 研发过程可量化,是软件开发的基础,量化来自测量分析,测量分析选择的测量指标、测量方法是否合理,会对评价组织软件水平和软件的研发效果带来较大的影响,如何正确、科学的进行测量分析,建立正确的测量分析模型是软件开发的重点和难点。

【关键词】测量分析 测量分析建模 质量评价

1 引言

随着CMMI认证获得普遍认可,软件开发日益受到的关注,软件开发在保证软件质量、提高软件研发效率方面取得了瞩目的成效,实施软件开发已经是大多数组织的常规做法。随着软件开发的普遍实施,软件的监控手段呈现多样化,不再单纯依赖对最终产品的检验、测试,这些监控手段中,量化的测量是最直观、见效最快的手段。本文通过选取合适的测量指标、测量方法,建立合适的测量分析模型,将软件研发的效果以直观的数字或者图表的方式呈现出来,以减轻软件研发的监控盲目性,提高软件开发的实施效果和软件评价的客观性。

2 项目生存周期内的测量分析

软件开发管理的目的,是为了软件可控,也就是为了使软件开发能够按照预定的成本、进度、质量完成研发。为此,软件开发周期将研发过程划分为不同的阶段、并设置里程碑点,以监控软件开发的进展,在阶段内除了安排必须完成的任务,还要将阶段再细分为周、双周进行监控等,通过对周、双周、阶段、里程碑等的测量,实现研发过程的全生存周期量化。

因此,在生存周期初期的策划过程中,需要对工作产品和活动的估计,也就是对软件开发进行预测量,依据预测量的结果,分配阶段任务的工作量、进度、成本等,据此制定软件开发计划。软件运行过程中,按监控的频次点、阶段点、里程碑点等及时收集项目的工作量、进度、成本、规模等各项数据,并对数据进行计算、分析,给出以图表等展示的量化结果,通过量化的结果判断过程和工作产品的完成情况,并据此对偏差采取返工等纠正措施,以控制软件开发风险、保证按预期的要求开展研发,确保研发过程受控。项目结束时,通过对软件开发的各方面进行全面测量分析,并与初期测量的结果进行对比,以判断软件的研发过程是否达到预期,同时积累项目数据、修正预测量方法等。

3 软件开发分析建模

在软件开发周期内,一直发生软件研发的各项活动,产出各项工作产品,测量也就会一直伴随着各项活动和工作产品,由此软件开发测量分为针对各项活动的过程测量和工作产品测量。过程测量主要测量进度和成本,工作产品测量主要测量质量、效率。利用过程测量,可以监控软件开发的计划进度、成本支出是否符合要求;利用工作产品测量可以监控软件的质量是否符合设计要求,研發效率是否达到要求。

3.1 确定测量目标

软件开发一般通过质量、进度、效率、成本等进行表征,不同领域、不同组织,对软件开发的表征项会有很大的差异,有的组织特别关注进度,有的组织特别关注成本,可以据此确定测量目标。本文中,按某组织关注的重要程度,确定为:进度、质量、效率、成本。

3.2 确定测量项

测量目标确定后,需确定目标的量化表征,也就是确定可以采集到数据的测量项,实现研发工作的量化。

某组织的进度控制,主要是通过控制阶段点和里程碑实现,阶段点和里程碑不延期,软件开发就能满足进度要求。阶段点和里程碑是否符合要求如何表示呢?由策划可知,软件开发制定了软件开发计划并采集计划中各项任务的完成信息,因此可以通过实际进度和计划进度的偏差直观的表征进度符合情况,同时进度性能指标是另一种表征进度情况的相对科学的方法,因此进度指标,可以由进度偏差、进度性能指标等组合表征。

质量情况可以由bug和问题数表征,但是由于软件开发的规模差异、复杂度差异等,绝对的bug和问题数无法直接表征质量情况,需要用代码缺陷率、产品检查通过率的相对值表征会更准确,由于质量不止是产品质量,还有过程质量,以及相同的代码缺陷率、产品检查通过率下,问题分布的不同质量也会有很大的不同,因此需要综合这些因素,共同表征软件质量。

效率主要是生产率,生产率提高,研发效率就会提高,但是在生产率相同的情况下,频繁的需求变更会带来实际的效率下降,因此效率需要通过生产率、需求变更及规模和工作量偏差共同表征。

成本的数据表征是客观的,主要是采购成本和人工成本,通过控制阶段成本偏差和成本性能指标控制软件开发的支出。

4 测量项定义

软件开发测量模型确定后,对每一测量项定义测量方法、计算公式、设置指标。

表l为控制软件开发进度目标的测量项定义。

5 结束语

上述测量分析模型,已经在某组织内全面应用,得益于测量分析的实施,某组织2017年的软件开发全部按预期完成并通过鉴定,从效果来看,测量活动给组织和软件开发所带来的受益远远大于测量活动所耗费的成本。当然,测量目标和测量项及其定义,应依据每个组织的具体情况进行确定,且需随着软件数据的积累及时改进。

参考文献

[1]李明树,王青,基于过程控制的软件质量管理[J].电子学报,2002, 30 (12A): 2033-2035.

[2]闫振兴,郑骏.软件缺陷度量与软件过程管理方法研究[J].计算机与数字工程,2010 (08).

[3]席晓强.关于军工软件研发度量的研究[J].信息化研究,2010,36 (09):1-3.

猜你喜欢
质量评价
中医健康教育相关的护理研究现状分析与思考
本科生毕业设计(论文)质量评价体系研究
低碳生态小城镇建设指标体系研究
实验室水质分析质量评价方法分析
“中职+应用本科”会计专业人才培养质量评价体系的构建