某嵌入系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道

免费题库2022-08-02  29

问题 某嵌入系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计;为了监控采集通道是否发生故障,对各路双余度通道采集值进行了比较。只有当该通道两个余度设备采集值不均小于45时,才表示该路通道正常。设计人员设计函数mun_of_passer用于统计无故障通道数目,在改函数的设计中考虑了如下以因素:(1)采用如下数据库结构存储通道号及采集值:Struct  Value                 {   unsigned int               No;                         //通道号,1到16                      unsigned short           Value1;                      //余度1采集值unsigned short           Value2;                      //余度2采集值}(2)当输入参数异常时,函数返回-1;(3)若正确统计了无故障通道数目,则返回该数目;(4)该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目;(5)调用函数sort()对存储通道号及余度采集值得的数组进行排序处理。开发人员根据上述要求使用ANSI C对代码实现如下,(代码中每行第一个数字代表行号):1    unsigned int num_of_passer(struct Value array[ ], unsigned int num)2    {3            unsigned int n =0;                                   //循环变量4            unsigned int counter;                              //无故障通道数目5            if((array = = NULL) ||(num = = 0) ||(num > 16))6                    return-1;                                          //当输入参数异常时,函数返回-17            sort(array);                                              //对存储值的数组进行排序处理8            for(n = 0;n < = num;n++)9            {10                   if((array[n]. Valuel > 45)&& (array[n]. Value2 > 45))11                        counter = counter + 1;12            }13            return counter14    }【问题1】(6分)嵌入或软件中通常使用函数扇出数的注释来衡量程序的可维护性,请计算num_of_passer的扇出数和注释率,并判断此函数扇出数和注释率是否符合嵌入式软件的一般要求。【问题2】(8分)请使用代码审查的方法找出该程序中所包含的至少四处错误,批出错误的行号和问题描述。【问题3】(6分)覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件的白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请分别指出对函数num_of_passer达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目。

选项

答案

解析 【问题1】注释率:为4/14=28.6% 由于VC工程注释率要求为25%~50%,代码注释率要求为>=20%; 本题应为关键代码,注释率符合要求。扇出数是指该模块调用了多少模块,本题中扇出数为:1 扇出一般3~4,不超过7,本题扇入 符合要求  【问题2】【问题3】
转载请注明原文地址:https://tihaiku.com/congyezige/2417951.html

最新回复(0)