四、阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 某软件的积分计算模块每天定时根据用户发布的
四、阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。
【说明】
某软件的积分计算模块每天定时根据用户发布的文章数、文章阅读数来统计用户所获取的积分,用户分为普通用户和专家用户,两类用户具有不同的积分系数。
图4-1是该模块的类图,图中属性和操作前的“+”、“#”和“-”分别表示公有成员、保护成员和私有成员。
其中:
(1)类Expert重新实现了类User的方法calPoints();
(2)方法calPoints()根据每个用户每天的文章数(articleNum)、文章阅读数(readNum)来计算当天的积分;
(3)类System中的方法statPoints()中首先调用了该类的方法load(),获取本系统用户列表,然后调用了类User中的方法calPoints()。
现拟采用面向对象的方法进行测试。
问题:4.1 (4分)
(1)图4-1所示的类图中,类System和User之间是什么关系?
(2)类Expert重新实现了类User的方法calPoints(),这是面向对象的什么机制?
(1) 关联关系
(2) 多态
本题考査面向对象测试。
此类题目要求考生认真阅读题目对问题的描述,分析问题并结合面向对象的基本概念來回答。题目给出二个类,基类User、子类Expert以及与User有关联关系的System。
本问题考查基本概念,User以类属性的形式出现在System中,是一种关联关系。子类Expert重新实现父类User的方法,是面向对象的多态。
问题:4.2 (6分)
类Expert中的方法calPoints()和getPoints()是否需要重新测试?
calPoints()需要
getPoints()不需要
本问题考査基本概念,若子类的某方法继承了其基类,方法进行了修改,则需要进行测试;另一种情况是,继承的方法没有修改,用基类的方法,但是该方法调用了子类修改过的其他方法时,也需要对该方法进行测试。
问题:4.3 (10分)
(1)请结合题干说明中的描述,给出测试类User方法calPoints()时的测试序列。
(2)请给出图4-1中各个类的测试顺序。
(3)从面向对象多态特性考虑,测试类System中方法statPoints()时应注意什么?
(1) new User()—setArticleNum()—setReadNum()—calPoints()—getPoints()
(2) User—Expert一System
(3) 测试方法statPoints()时,要同时考虑类User和类Expert的calPoints()。
在测试方法calPoints()之前,需要先构造对象,设置文章数和文章阅读数,即要先调用构造函数new User(),然后setArticleNum()、setReadNum(),之后要打印结果看是否计算正确,需要调用getPoints()查看结果。
User和Expert是父类和子类的关系,User和System是关联关系,所以顺序是User-Expert-System。
本题干“类Expert重新实现了类User的方法calPoints()”是一个的多态机制。在这种情况下,需要同时考虑类User和类Expert的calPoints()。
相关文章
·
例题2:内存按字节编址从B3000H到DABFFH的区域其存储容量为·
例题1:若计算机中地址总线的宽度为24位,则最多允许直·
五、阅读下列说明,回答问题1至问题3,将解答填入答题纸·
三、阅读下列说明,回答问题1至问题3,将解答填入答题纸·
二、阅读下列说明,回答问题1和问题2,将解答填入答题纸·
一、阅读下列C程序,回答问题1至问题3,将解答填入答题纸·
GB/T 16260-2006《软件工程产品质量》规定的软件产品使用质·
以下软件质量保证的目标中,(49)是错误的。 (49)A.通过·
软件可移植性应从如下(46)方面进行测试。 (46)A.适应性·
以下关于软件质量特性测试的叙述,正确的是(44). ①成