试题详情

试题内容

阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-1所示。

表5-1

飞机种类
起飞特征
飞行特征
直升机(Helicopter)
垂直起飞(VerticalTakeOff)
亚音速飞行
(SubSonicFly)
客机(AirPlane)
长距离起飞
(LongDistanceTakeOff)
亚音速飞行
(SubSonicFly)
歼击机(Fighter)
长距离起飞
(LongDistanceTakeOff)
超音速飞行
(SuperSonicFly)
鹞式战斗机(Harrier)
垂直起飞(VerticalTakeOff)
超音速飞行
(SuperSonicFly)

为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图5-1所示。

图5-1中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly()和takeOff()分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行为与起飞行为;类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为;类VerticalTakeOff与LongDistanceTakeOff分别描述垂直起飞与长距离起飞的行为。
【C++ 代码】
#include
using namespace std;
class FlyBehavior {
public : virtual void fly() = 0;
};
class SubSonicFly:public FlyBehavior{
public: void fly(){ cout << "亚音速飞行!" << endl; }
};
class SuperSonicFly:public FlyBehavior{
public: void fly(){ cout << "超音速飞行!" << endl; }
};
class TakeOffBehavior {
public: virtual void takeOff() = 0;
};
class VerticalTakeOff:public TakeOffBehavior{
public: void takeOff(){ cout << "垂直起飞!" << endl; }
};
class LongDistanceTakeOff:public TakeOffBehavior {
public: void takeOff (){ cout << "长距离起飞!" << endl; }
};
class AirCraft{
protected:
(1)   ;
(2)   ;
public:
void fly(){(3); }
void takeOff() {(4); };
};
class Helicopter: public AirCraft {
public:
Helicopter (){
flyBehavior = new(5);
takeOffBehavior = new(6);
}
(7){
if(!flyBehavior) delete flyBehavior;
if(!takeOffBehavior) delete takeOffBehavior;
}
};
//其它代码省略
查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

3题:试题三(共15分)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
图3-1所示为某软件系统中一个温度控制模块的界面。 界面上提供了两种温度计量单位,即华氏度(Farechet)和摄氏度(Celsius)。软件支持两种计量单位之间的自动换算,即若输入一个华氏度的温度,其对应的摄氏度温度值会自动出现在摄氏度的显示框内,反之亦然。
用户可以通过该界面上的按钮Raise (升高温度)和Lower (降低温度)来改变温度的值。界面右侧是个温度计, 将数字形式的温度转换成温度计上的制度比例进行显示。当温度值改变时,温度计的显示也随之同步变化。

现在采用面向对象方法现实该温度控制模板,得到如图3-2所示的用例图和3-3所示的类图。
2题:

试题:2
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。
【需求分析结果】
(1)超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的每一个元组。每个超市只有一名经理。
(2)超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。部门信息包括:超市名称、部门名称、部门经理和联系电话。超市名称、部门名称唯一确定部门关系的每一个元组。
(3)员工信息包括:员工号、姓名、超市名称、部门名称、职位、联系方式和工资。其中,职位信息包括:经理、部门经理、业务员等。员工号唯一确定员工关系的每一个元组。
(4)商品信息包括:商品号、商品名称、型号、单价和数量。商品号唯一确定商品关系的每一个元组。一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。
【概念模型设计】
根据需求分析阶
5题:【说明】
某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。


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

试题一
阅读以下说明和数据流图,回答问题1至问题4。
[说明]
现准备为某银行开发一个信用卡管理系统CCMS,该系统的基本功能为:
1.信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额:否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。
2.信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。
3.信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。
4.交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。
下图(a)和(b)分别给出了该系统的顶层数据流图和0层数
4题:

试题四
阅读以下说明,回答问题1、问题2和问题3。
[说明]
某单位正在使用一套C/S模式的应用软件系统,现在需要升级为B/S应用模式,但需要保持业务的连续性。开发人员提出用Web Service作为中间层的接口进行开发。
[问题1]
请用120字以内文字,从业务的继承性、升级成本(时间、工作量)和扩展性三个方面简要说明开发人员所提方案的优点。
[问题2]
Web Service的三个基本技术是WSDL、SOAP、UDDI,它们都是以XML为基础定义的。请用120字以内文字,简要说明WSDL、SOAP和UDDI的作用。
[问题3]
服务注册中心、服务提供者和服务请求者之间的交互和操作构成了Web Service的体系结构,如下图所示。请用180字以内文字,说明这三者的主要功能及其交互过程。

2题:

阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。
[说明]
算法2-1是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示:
文件    提示信息
(1+2)
abc)                            缺少对应左括号:第2行,第4列
((def)8x))                            缺少对应左括号:第3行,第10列
(((h)
ij)(k
(1ml)                 &nb