您好,欢迎来到刀刀网。
搜索
您的当前位置:首页软件项目缺陷度量系统的构建

软件项目缺陷度量系统的构建

来源:刀刀网
Technology Study

技术研究

DCW

软件项目缺陷度量系统的构建

郭 超

(TCL移动通信科技(宁波)有限公司,宁波 315040)

摘要:由于缺乏基本的软件度量数据,现有组织项目管理无法有效监控软件过程。文章基于软件度量的方,实现了软件缺陷状态和人力投入及相关的度量,进而协助项目管理人员监控软件质量、研发过程的效率以及工程人员的效能。我从实际需求出发,详细分析,选取并定义度量维度,持续不断收集数据;主要解决方案分为四个功能单元,包含自动化收集数据、数据分析、定时通知、决策分析。

关键词:软件度量;度量实施过程;数据分析;软件项目管理;决策分析doi:10.3969/J.ISSN.1672-7274.2020.03.006中图分类号:TP3 文献标示码:A 文章编码:1672-7274(2020)03-0013-03

1 软件度量

1.1 课题背景

在我们组织里,软件使用的缺陷管理系统BUGZILLA,不支持数据统计报表功能,项目管理缺乏数据支撑。而软件度量提供了必要的方,通过对软件、研发过程和工程人员投入的各维度度量协助项目获取软件研发实时决策数据,用于监控软件研发进程中质量的高低、研发过程效率、研发工程人员效能[1]。

本文主要涉及软件度量中缺陷度量部分,缺陷度量利用软件度量实施过程和方,基于常规缺陷管理工作,定量分析产品研发进程中的缺陷实时数据。1.2 度量的实施

度量的构建包含下面四个步骤,如图1所示[6]。本文涉及前三部分。

据,是实现中最大工作量所在。其中缺陷数据来源于缺陷跟踪系统,项目人力花费数据来源于项目人力跟踪系统。

表1 收集数据类型

2.3 决策分析

度量数据的关键目的是对这些收集到的数据做分析,用于指导实际项目执行的决策:

(1)项目缺陷分布如何?哪些资源组压力大?(2)项目资源的效率如何?需要调度调整资源?(3)项目目前进度如何?是否有延迟?(4)……

常用的度量分析技术,有表现技术,如:表格、散点图、直方图、折线图、柱状图、条形图等,有统计过程控制方法和矩阵数据分析方法等[5]。此系统会选择柱状图、折线图、表格等表现方式。2.4 系统架构

图1 软件度量的实施过程

(1)定义度量:构建度量之前首要的步骤是选取要使用的指

标。

(2)数据收集:基于指标的定义,组织需要确定数据收集方式和收集时机。收集活动具有多样性,非一成不变的形式和标准[6]。

(3)决策分析:包括整理和分析数据,基于共识模型支持项

[6]

目经理做决策。

(4)过程优化:对于度量过程中发现的项目执行流程实施改进,反馈到组织的流程资产中。

[3]

图2 方案设计图

此系统将主要将分为四个过程:自动化收集数据,数据分析,定时通知,决策分析,如图2所示。

2 系统需求及架构

2.1 定义度量

度量数据目标必须要明确,我们通过目标界定、问题构建、问题回答几个阶段来确定指标。

目标:通过缺陷数据了解产品健康状态问题:产品缺陷分布状态如何?度量:缺陷依据状态分布,缺陷依据组分布

依据上述方法,此系统设计的度量数据指标如表1所示。其中主要关注资源、问题类型分布、效率。2.2 数据收集

根据选择的度量指标,收集软件过程中产生的缺陷及人力数

3 系统实现

3.1 自动化核心

CruiseControl是自动化核心,业界成熟的持续集成工具。在项目配置过程中,利用项目模板设计,让配置块在不同的项目间复用,提升修改和维护效率。配置的内容包含触发器、任务、通知模块。3.2 数据获取及分析3.2.1 EXCEL模板介绍

数据分析中,我们使用了EXCEL的透视表、公式、图表的功能,数据表主要组成如表2所示。

表2 数据分析模板

作者简介:郭 超,从事软件开发设计行业15年时间,职业跨度从技术开发,到项目管理,再到产品管理。对于软件领域项目管理拥有独到的见解和观察,比较 关注项目管理中流程效率的提升,坚定支持并且实践过程决定结果论。

2020.03数字通信世界13

D技术

IGITCW研究

Technology Study

=IF($F10<>\"\",IF($E10<时长,\"\",AVERAGE(前几日进或出的数量),\"\")

十日移动平均公式:AVERAGE(前十日进或出的数量)3.2.3.3 决策模型:我们决策模型比较简单

(1)预测未来进的缺陷保持每三周(参数一,15)下降10%

3.2.2 数据获取

(参数二,BCSREASSPER=0.9)的速度。

通过PERL脚本,调用VBA接口(见表3)进行数据抓取分

析。缺陷数据被抓取到工作表中;再通过透视表以多个不同维度

进行分析并保存在数据页面。

表3 数据分析接口实现

GenReport 数据信息写入XML文件,生成柱状图和折线图

见表3。

如下是使用的几个关键的技术点。

(1)VBA与Perl的交互代码。

$excel=Win32::OLE->GetActiveObject

( 'Excel.Application' )

$ret=$excel->run('initialize',$projIDate …,$resExcelFile,$dbPath);

(2)图表导出代码。Worksheets(\"GRAPH\").ChartObjects(\"A\").Chart.Export

FileName:=B

主要的导出图形包含每日关键缺陷趋势和每日关键缺陷趋势的折线图,缺陷依据组及优先级分布和缺陷功能模块及优先级分布的柱状图。

(3)数据行获取动态公式(OFFSET)。=OFFSET(TYPE_ARR,4,0,COUNTA (OFFSET(TYPE_ARR,0,0,ROWS(CONFIG!$A$1:$A$40),1))-3+1,1)

(4)动态应用其他表格数据(INDIRECT)。=IFERROR(VLOOKUP($E4,INDIRECT(\"'[\"&NINFO&\"]\"&NINFOTSHE&\"'!\"&NINFOTRNG),3,FALSE),\"\")(5)Query插入代码。数据获取后保存在PRFR工作表。ActiveSheet.QueryTables.Add(Connection:=\"URL;\" & BUGZILLA_URL)3.2.3 数据分析

数据的分析是由数据分析工作表Speed实现,如表4所示;其数据通过公式从历史度量数据表RDATA中获取,通过使用EXCEL公式做趋势分析,并得出度量数据。整个表格主要包含下面的数据:缺陷按优先级分类;缺陷按优先级分类数量;缺陷日进出变化、日进出移动平均;决策模型模拟数据。

表4 图表导出度量项

上述数据的计算方式如下:

3.2.3.1 不同优先级的缺陷进出缺陷出公式:当天处于关闭的缺陷数-昨天处于关闭的缺陷数

缺陷进公式:当天缺陷数-昨天缺陷数

=IF($F10<>\"\",SUM(当天缺陷数量)-SUM(昨天缺陷数量),\"\")

3.2.3.2 移动平均五日移动平均公式:AVERAGE(前五日进或出的数量)

14DIGITCW2020.03(2)出的速度不变。

=IF($FA94>0,IF(FC93<>\"\",IF(MOD(MAX($FA94-1,

1),15),FC93,FC93*0.9),\"\"),IF($FA94=0,IF(CG94<>\"\",

CG94,\"\"),\"\"))

此数据回答了如下问题,用于对项目的健康状态做判定:(1)当前的问题多久才能被关闭掉。

(2)是否会超过项目定义的结束时间,导致项目推延。

(3)如果会有延迟,在结束的时间还剩余的问题按照当前人均缺陷解决速度还需要多少额外人力。使用的公式是:缺陷数量+进入数量-出去数量,模拟到结束时间:数据为负,表明超越目标;数据为正,表明会有推延风险。3.2.4 度量数据图表设计度量数据图表主要是折线图和柱状图。(1)缺陷依据模块及优先级分布,主要使用了柱状图,体现了不同模块之间重点问题的分布关系,如图3所示。

(2)进出缺陷移动平均数量,使用折线图,可以展示每个参数的具体趋势,如图4所示。图3 缺陷组及优先级分布

图4 进出缺陷移动平均

3.3 通知系统

上面所述GenRepor t接口产生的XML文件会最终合并到日志文件中,再经过XSL格式化、CSS 美化邮件并发送项目干系人。

4 结束语

上述内容阐述了此系统的基本框架及关键技术实现,目前收

集的度量数据已经可以指导日常的项目管理工作,亟待持续夯实。未来在度量指标方面,可以增加重点缺陷解决速度、缺陷的回归率等;数据分析模型方面,需要不断研究并且优化,逐渐修正尽量贴近实际项目;数据存储方面,数据库会更加安全、高效;数据展示方面,网页会更具有交互性,可实时选择决策数据组合方式。以上均是未来可以思考的方向。 参考文献(下转第16页)

D技术

IGITCW研究

Technology Study

中一个为新获得开关量报警数据转换成的布尔数组(本次),另一个为上一次获得的开关量报警数据转换成的布尔数组(上次),如果这两个布尔数组相同,则程序不作任何处理。如果这两个数据不同,则开始逐位比较,例如上次为“1”本次为“0”,则表示状态由报警恢复为正常;如果上次为“0”本次为“1”,则表示状态由正常进入了报警;如果上次、本次均为“1”或“0”,说明仍处于报警状态或正常状态,不作处理。

不论是由报警状态恢复正常状态或由正常状态进入报警状态,如果某个开关量的状态发生了变化,程序判断后,都立刻存储数据。

报警主要以列表方式显示:未确认的新报警,其在列表中所在行的最左列显示“Alarming for confirm”并红色闪烁;未确认已恢复的报警,其在列表中所在行的最左显示“Cleared of confirm”列蓝色闪烁;如已确认了报警,则红色平光显示(不闪烁);已确认的报警信号状态由报警恢复正常后,或蓝色闪烁报警被确认后,所在行的最左列显示“Normal”并不再闪烁。

上位机界面显示有模拟动圈表表头、直接数字、Mimic图和柱装条等方式,如图2所示。

为“1”用于第二行是否输出声音控制,当消音按钮未按下时,#Ack为“0”,因第一行指令输出“1”,第二指令中的上升沿指令使#Bell_B.%X0为“1”,继而图中虚框内的指令行使#Bell_B.%X0为“1”,输出发声指令,外部声音报警装置工作发出声音报警;若按下消音按钮,则#Ack为“1”,使#Bell_B.%X0为“0”,输出消声指令,外部声音报警装置停止发出声音报警,虽然此时报警信号仍存在,但外部声音报警装置不发出声音报警。

图3 报警消音处理

模拟量报警处理,先将模拟量通道读得的数值进行转换后,与设定的工程值进行比较,一旦超出范围则将某一位置“1”,然后根据这一位的“0”、“1”状态进行判断是处于报警的状态还是处于正常的状态,判断方法与开关量报警判断一样。

4 结束语

基于S7-1200 PLC,通过PLC的开关量输入/输出通信、模拟量输入通道、RS485通信接口和以太网通信接口,可以较方便地设计出船舶机舱监测报警的硬件系统,并可较方便地开发出上位监测报警软件和下位PLC程序。能及时地发现异常情况,并发出声光报警信号,在无人值守时通过延伸报警装置将报警延伸到有人的处所,以保证在出现异常情况时,能有人及时响应,从而保证船舶的安全运行。试航结果表明,本机舱监测报警系统满足无人机舱规范要求,人机交互友好,提高了船舶机舱自动化水平。参考文献

[1] 李蒙.船舶机舱监测报警系统的研究与设计[D].大连海事大学,2016.06.[2] 崔守娟,栾荣化,张萍华.基于PAC的船舶机舱监测报警系统设计[J].机电工程技术,2016,45(12):50-52.

[3] 王延涛,祁贝贝.船舶机舱监测的智能报警系统[J].舰船科学技术,2019,41(6A):187-1.

[4] 意大利船级社.Rules for the Classification of Naval Ships[DB/OL].https://www.rina.org/en/rules-for-naval-ships,2017.

[5] 西门子.西门子S7-1200 PLC编程与应用[M].北京:机械工业出版社,2017,1:4.

图2 左主机显示

3.2 下位机报警处理程序设计

下位机报警分为开关量报警和模拟量报警两大类。开关量报警处理,先要读取PLC开关量I/O通道的“0”、“1”的状态,然后再根据外部开关量预先设置好的常开或常闭属性处理,处理后再与确定该报警是否禁用的一常闭点串联(“1”时禁用,“0”时启用)。经这样处理后的位再进行报警、消音处理。报警消音处理的功能如图3所示。

图3中,#in_t2.%X0与输入的报警信号相对应,当其为“1”时,第一行指令#Out_B.%X0为“1”输出报警信息,#Outtempt.%X0(上接第10页)

为了验证跟踪的收敛性,在方位指向偏离2° 后(此时信标信号跌落约4 dB),通过自动跟踪算法可以在3个扫描周期(3 s左右)恢复最大信标,因此,完全可以弥补中高精度MEMS惯导的随机漂移。因此,通过信号的自动跟踪补偿MEMS惯导随机漂移的方案是一种优化方案。

迟,并借助机载惯导的欧拉角长期稳定的特点进行修复,同时依据卫星信标值进行漂移修正。极大地提高了天线的指向精度。保证设备卫星指向,同时保障通信稳定,具有较高的工程价值。 参考文献

[1] 黄昌霞,李奇,姬伟,朱海荣.高精度稳定平台伺服控制系统设计与实现[J].航空兵器,2011.02.

[2] 高钟毓.惯性导航系统技术[M].北京:清华大学出版社出版,2012.9.

4 结束语

基于自身惯导的模型可以有效的弥补机载天线惯导转发延(上接第14页)

[1] 范莉莉,刘天时,赵安科.一种软件质量度量模型的研究与应用[J]. 航空计算技术,2006(2):40-43.

[2] 吴超英,廖彬山.实用软件度量[M].北京:机械工业出版社,2003. [3] 薛丽,钱红兵.基于正交设计的软件过程度量分析方法[J].计算机工程与设计,2007(15):2545-2547.

[4] 张瑞.基于度量的软件缺陷管理研究[D].硕士学位论文,西北大学,2005 [5] 石培.基于六西格玛的软件缺陷度量研究与应用[D].硕士学位论文,合肥工业大学,2007.

[6] 李丹.软件过程度量技术实施策略及其应用研究[D].硕士学位论文,华中科技大学,2005.

16DIGITCW2020.03

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务