阅读下列说明和 Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic) 、银卡(Silver)和金卡 (Gold)三个等级。非会员 (NonMember)可以申请成为普卡会员。会员的等级根据其 一年内累积的里程数进行调整。描述会员等级调整的状态图如图 6-1 所示 。现采用状态 (State) 模式实现上述场景,得到如图 6

题目
阅读下列说明和 Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic) 、银卡(Silver)和金卡 (Gold)三个等级。非会员 (NonMember)可以申请成为普卡会员。会员的等级根据其 一年内累积的里程数进行调整。描述会员等级调整的状态图如图 6-1 所示 。现采用状态 (State) 模式实现上述场景,得到如图 6-2 所示的类图。





如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都

有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌

灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。command模式

的类图如图6-1所示。

【Java代码】

}


正确答案:
本题考查命令(Command)模式的基本概念和应用。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。在软件系统中,行为请求者与行为实现者之间通常呈现一种紧耦合的关系。但在某些场合,比如要对行为进行记录撤销重做事务等处理,这种无法抵御变化的紧耦合是不合适的。这种情况下,使用command模式将行为请求者与行为实现者进行解耦。题目中给出了Lommamt模式的类图,其中:Command类为所有命令声明了一个接口。调用命令对象的execute()方法,就可以让接收者进行相关的动作。ConcreteCommand类定义了动作和接收者之间的绑定关系。调用者只要调用execute()就可以发出请求,然后由ConcreteCommand调用接收者的一个或多个动作。Invoker持有一个命令对象,并在某个时间点调用命令对象的execute()方法,将请求付诸实行。Receiver知道如何进行必要的工作,实现这个请求。任何类都可以当接收者。了解了Command模式的内涵之后,下面来看程序。由于Command类的主要作用是为所有的ConcreteCommand定义统一的接口,在Java中通常采用接口(interface)来实现,所以(1)处对应的代码为interfaceCommand。类LightOnCommand、LightOffCommand对应的就是模式中的ConcreteCommand。ConcreteCommand中execute()方法的代码在类图中已经给出,现在需要确定receiver是谁。类Light充当的是Receiver.其中定义了两种action:on和off.所以(2)、(3)对应代码分别为light.on()和light.off()。类RemoteControl对应的是模式中的Invoker,在该类中设置需要控制的命令对象。(4)处对应的代码为onCammands[slot],设置“开灯”命令对象:(5)处对应的代码为offCommands[slot],设置‘关灯”命令对象。类RemoteControl中的方法onButtonWasPushed和ofiButtonWasPushed,分别完成对开灯、关灯命令对象的execute方法的调用。所以(6)、(7)处分别对应代码onCommands[slot].execute()、offCommands[slot].execute()。试题六参考答案(1)interfaceCommand(2)light.on()(3)light.off()(4)onCommands[slot](5)offi:ommands[slot](6)onCommands[slot].execute()(7)ofiCommands[slot].execute()

第2题:

用例之间是具有相关性的。在商场管理系统中,有个会员卡注册模块。用例“金卡会员注册”和“银卡卡会员注册”、“会员卡注册”之间是( )关系。

A. 包含(include)
B.扩展(extend)
C.泛化(generalization)
D.依赖(depends on)

答案:C
解析:
用例(use case)用来描述系统对事件做出响应时所采取的行动。用例之间是具有相关性的。用例间的关系有:包含、扩展和泛化。(1)包含关系:抽取两个或多个用例共有的一组相同动作,作为一个独立的子用例,该子用例可为多个基用例共享或复用。包含关系用带箭头的虚线表示,并附上标记<>。虚线箭头指向子用例。(2)扩展:当出现多个不同情况而导致的多种分支时,则可将用例分为一个基本用例和一个或多个扩展用例。扩展关系是对基用例的扩展,扩展用例不是必须执行,具备了一定触发条件才执行。扩展关系用带箭头的虚线表示,并附上标记<>。虚线箭头由子用例指向基用例。(3)泛化:泛化代表一般与特殊的关系,子用例继承了父用例所有的结构、行为和关系。泛化关系用空心三角形箭头的实线表示,箭头指向父用例。

第3题:

积分超过15000分且已申请我的E家套餐客户是()。

A.贵宾卡会员

B.钻石卡会员

C.铂金卡会员

D.以上均不是


参考答案:C

第4题:

阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上 留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy) 设 计模式来实现该需求,所设计的类图如图 5-1 所示。




答案:
解析:
1.void stop()2.BrakeBehavior3.wheel.stop()4.wheel=behavior5.brake()

第5题:

阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。【说明】某航空公司的会员卡分为普卡、银卡、金卡和白金卡4个级别,会员每次搭乘该航空公司航班均可能获得积分,积分规则如下表所示。



此外银卡及以上级别会员有额外积分奖励,奖励规则如下表所示。



公司开发了一个程序来计算会员每次搭乘航班累积的积分,程序的输入包括会员的级别B、舱位代码C和飞行公里数K,程序的输出为本次积分S。其中B和C字母其大小写不敏感,K为正整数,S为整数(小数部分四舍五入)。



问题1:(7分)采用等价类划分法对该程序进程测试,等价类表如下所示,请补充空(1)-(7)
问题2:(13分)根据以上等价类表设计的测试用例,如下表所示,请补充(1)-(13)。



答案:
解析:
问题1:答案:1.P;2.Z/C;3.A/D/I/Y;4.正整数;5.非F、S、G、P的字母;6.非规定舱位的字母;7.非正数;问题2:答案:1.1000;2.500;3.3、7、11;4.R/B/H/K/L/M/W;5.F;6.0;7.1;(非字母)8.ABC;(非单个字母)(9) 1;(非字母)(10)XYZ;(非规定舱位的字母)(11)1.23;(非整数)(12)N/A;(13)-1;(非正数)
【解析】

问题1:本小题考查黑盒测试用例设计中的等价类划分法。等价类划分法:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。本题中(1)是选择剩下的白金卡代码P,(2)和(3)选择的是相同积分规则的等价类,(4)-(7)分别是符合相应规则的等价类。划分等价类的6条原则:(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类;(2)在输入条件规定了输入值的集合或者规定了必须如何的条件的情况下,可以确立一个有效等价类和一个无效等价类;(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类;(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类;(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类;问题2:本小题考查等价类的具体用例取值,按照前面的表对应规则计算即可。

第6题:

阅读下列说明和C++-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。

【C++代码】 #include using namespace std; class invoice{ public: (1){ cout<<"This is the content of the invoice!"<

答案:
解析:
(1) virtual void printInvoice() (2) ticket->printInvoice() (3) Decorator::printInvoice() (4) Decorator::printInvoice() (5) &a
【解析】

试题分析
1.Invoice类下,义虛函数,按类图,函数名是printInvoice
2.前面定义对象名是ticket,那么在ticket不为空的时候调用函数printInvoice
3.这部分填写发票的抬头,看类图应该实现函数printInvoice ,Decorator装饰模式使用该方法
4.这部分是发票的脚注,看类图应该实现函数printlnvoice,Decorator装饰模式使用该方法
5.FootDecorator a(NULL) ;脚步的装饰参数是a,调用a参数,

第7题:

阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】
某航空公司的会员卡分为普卡、银卡、金卡和白金卡4个级别,会员每次搭乘该航空公司航班均可能获得积分,积分规则如表2-1所示。此外,银卡及以上级别会员有额外积分奖励,奖励规则如表2-2所示。



公司开发了一个程序来计算会员每次搭乘航班历累积的积分,程序的输入包括会员级别B、舱位代码C和飞行公里数K,程序的输出为本次积分S 。其中,B和C为字母且大小写不敏感,K为正整数,S为整数(小数部分四舍五入)。
问题:1.1采用等价类型划分法对该程序进行测试,等价类表如2-3所示,请补充空(1)-(7)



问题:1.2根据以上等价类表设计的测试用例如表2-4所示,请补充空(1)~(13)。



答案:
解析:
1.1(7分)1、P
2、Z/C
3、A/D/I/Y
4、正整数
5、非FSGP的字母
6、非规定仓位的字母
7、非正数1.2 (13分)
1、1000
2、500
3、3,7,11
4、R/B/H/K/L/M/W5、F
6、0
7、9
8、GG9、3
10、XYZ;(非规定舱位的字母)
11、300.3
12、N/A13、-200/0

【解析】
等价类划分原则:在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。在输入条件规定了输入值得集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在规定了输入数据的一组值(假定 n 个),并且程序要对每一个输入值分别处理的情况下,可确定 n 个有效等价类和一个无效等价类。在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。本题中会员等级的有效等价类应为:表格中指定的类: FSGP ,由于每个等级是单独处理,所以有 4 个等价类,无效等价类:应有非 FSGP 之内的字母,非字母,非单个字母等。结合起来所以 1 为 P;5 为非 FSGP 的字母;对于飞行公理 K ,应是一个正整数,所以有效等价类为正整数,无效等价类为非整数,和非正整数;因此:4 为正整数; 7 为非正整数。对于仓位代码 C ,结合表格来看, R 和 B/H/K/L/M/W放在一个有效等价类中,说明,出题的意思是仓位代码按照不同积分的程度分类(0,50%,100%,125%,150%,200%) ,即六个有效等价类,无效等价类应为:非字母和不在列表之内的字母。因此: 2为Z/C,3为A/D/I/Y,6为非规定仓位的字母。

第8题:

阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。 【说明】 某航空公司的会员卡分为普卡、银卡、金卡和白金卡4个级别,会员每次搭乘该航空公司航班均可能获得积分,积分规则如表2-1所示。此外,银卡及以上级别会员有额外积分奖励,奖励规则如表2-2所示。公司开发了一个程序来计算会员每次搭乘航班历累积的积分,程序的输入包括会员级别B、舱位代码C和飞行公里数K,程序的输出为本次积分S 。其中,B和C三字母且大小写不敏感,K为正整数,S为整数(小数部分四舍五入)。

【问题l】(7分) 采用等价类型划分法对该程序进行测试,等价类表如2-3所示,请补充空(1)-(7) 表2-3 等价类表 输入条件 有效等价类 编号 无效等价类 编号 会员等级B F 1 非字母 12 S 2 非单个字母 13 G 3 (5) 14 (1) 4 舱位代码C F 5 非字母 15 (2) 6 (6) 16 (3) 7 R/B/H/K/L/M/W 8 Q/X/U/E 9 P/S/G/O/J/V/N/T 10 飞行公里数K (4) 11 非整数 17 (7) 18 【问题2】(13分) 根据以上等价类表设计的测试用例如表24所示,请补充空(1)~(1 3)。 表2-4 编号 输入 覆盖等价类(编号) 预期输出S B C K 1 F F 500 1,5,11 (1) 2 S Z (2) 2,6,11 825 3 G A 500 (3) 781 4 P (4) 500 4,8,11 750 5 (5) Q 500 1,9,11 250 6 F P 500 1,10,11 (6) 7 (7) P 500 12,10,11 N/A 8 (8) F 500 13,5,11 N/A 9 A Z 500 14,6,11 N/A 10 S (9) 500 2,15,11 N/A 11 S (10) 500 2,16,11 N/A 12 S Q (11) 2,9,17 (12) 13 S P (13) 2,10,18 N/A


正确答案:【问题1】
1:P         2:Z/C     3:A/D/I /Y     4:正整数
5:非FSGP的字母          6:  非规定仓位的字母         7:非正数
【问题2】
1:1000            2:500              3:3,7,11            4:R/B/H/K/L/M/W
5:F          6:0                   7:9                            8:GG
9:3                   10:X                11:300.3                12:N/A                 13:-200/0


第9题:

阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。
【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。




【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。


答案:
解析:
注意:原版的题目应该是Cbasic、CSilve。(1) virtual double travel(int miles,FrequentFlyer* context)=0(2)context->setState(context->Cbasic)(3)context->setState(context->CSilve)(4)context->setState(context->Cbasic)(5)context->setState(context->CSilve)

第10题:

阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。【说明】某连锁酒店集团实行积分奖励计划,会员每次入住集团旗下酒店均可以获得一定积分,积分由欢迎积分加消费积分构成。其中欢迎积分跟酒店等级有关,具体标准如表2-1所示;消费积分跟每次入住消费金额有关,具体标准为每消费1元获得2积分(不足1元的部分不给分)。此外,集团会员分为优先会员、金会员、白金会员三个级别,金会员和白金会员在入住酒店时可获得消费积分的额外奖励,奖励规则如表2-2所示。表2-1 集团不同等级酒店的欢迎积分标准



表2-2 额外积分奖励规则



该酒店集团开发了一个程序来计算会员每次入住后所累积的积分,程序的输入包括会员级别L、酒店等级C和消费金额A(单位:元),程序的输出为本次积分S。其中,L为单个字母且大小写不敏感,C为取值1到6的整数,A为正浮点数且最多保留两位小数,S为整数。【问题1】(7分)采用等价类划分法对该程序进行测试,等价类表如表2-3所示,请补充表2-3中空(1)-(7)。表2-3 等价类



【问题2】(13分)根据以上等价类表设计的测试用例如下表所示,请补充表2-4中空(1)-(13)。表2-4 测试用例



答案:
解析:
【问题1】(1)P (2) 1 (3) 4、5 (4)最多带2位校数的正浮点数(5)MGP意外得单个字母 (6)小于1的整数 (7)最多两位小数的负浮点数【问题2】(1)300 (2)100 (3)3、6、8 (4)6(5)1(非字母) (6)FF(非单个字母)(7)N/A (8)2.3(非整数)(9)1,13,8 (10)7(大于6的整数)(11)a (非浮点数) (12)-100.12(最多带两位小数的负浮点数)(13)100.123(超过两位小数的正浮点数)
【解析】
【问题1】等价类划分原则:在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可以确定一个有效等价类和一个无效等价类。在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。本题中:会员等级L为单个字母且大小写不敏感:结合表2-2,则有效等价类为M、G、P;无效等价类为非字母、非单个字母、MGP以外的单个字母;所以(1)处填写P ;(5)处填写MGP以外的单个字母酒店等级C为1~6的整数,结合表2-1,则有效等价类为1、(2、3)、(4、5)、6;无效等价类非整数、小于1的整数、大于6的整数;所以(2)处填写1, (3)处填写4、5, (6)处填写小于1的整数消费金额为正浮点数且最多保留两位小数,则有效等价类为最多带2位小数的正浮点数;无效等价类为非浮点数,多于两位小数的浮点数、最多两位小鼠的负浮点数;所以(7)处填写最多两位小数的负浮点数。【问题2】按照相关规则进行计算:(1)300 (2)100 (3)3、6、8 (4)6(5)1(非字母) (6)FF(非单个字母)(7)N/A (8)2.3(非整数)(9)1,13,8 (10)7(大于6的整数)(11)a (非浮点数) (12)-100.12(最多带两位小数的负浮点数)(13)100.123(超过两位小数的正浮点数)

更多相关问题