[计算机类试卷]软件水平考试中级软件设计师下午应用技术(面向对象技术)历年真题试卷汇编1及答案与解析.doc
《[计算机类试卷]软件水平考试中级软件设计师下午应用技术(面向对象技术)历年真题试卷汇编1及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试中级软件设计师下午应用技术(面向对象技术)历年真题试卷汇编1及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试中级软件设计师下午应用技术(面向对象技术)历年真题试卷汇编 1及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 (2013年下半年下午试题三 )阅读下列说明和图,回答问题 1至问题 3,将解答填在答题纸的对应栏内。 【说明】 某航空公司会员积分系统 (CFrequentFlyer)的主要功能描述如下。 乘客只要办理该航空公司的会员卡,即可成为普卡会员 (CBasic)。随着飞行里程数的积累,可以从普卡会员升级到银卡会员 (CSilver)或金卡会员(CGold)。非会员 (CNonMember)小 能累积里程数。 每年年末,系统根据会员在本年度累积的里程数对下一年会员
2、等级进行调整。 普卡会员在一年内累积的里程数若满 25000英里但不足 50000英里,则自动升级为银卡会员;若累积的里程数在50000英里以上,则自动升级为金卡会员。银卡会员在一年内累积的里程数若在50000英里以上,则自动升级为金卡会员。 若一年内没有达到对应级别要求的里程数,则自动降低会员等级。金卡会员一年内累积的里程数若不足 25000英里,则自动降级为普卡会员;若累积的里程数达到 25000英里,但是不足 50000英里,则自动降级为银卡 会员。银卡会员一年内累积的里程数若不足 25000英里,则自动降级为普卡会员。 采用面向对象方法对会员积分系统进行分析与设计,得到如图10 13所
3、示的状态图和图 10 14所示的类图。1 根据说明中的描述,给出图 10 13中 S1 S3处所对应的状态以及 T1 T3处所对应的迁移的名称。 2 根据说明中的描述,给出图 10 14中 C1 C4所对应的类名 (类名使用说明中给出的英文词汇 )。 3 图 10 14所示的类图中使用了哪种设计模式 ?在这种设计模式下,类CFrequentFlyer必须具有的属性是什么 ?C1 C4中的 trave1方法应具有什么功能 ? 4 (2013年下半年下午试题五 )阅读下列说明和 C+代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的
4、图形。以绘制直线和圆形为例,对应的绘图程序如表 10 4所示。根据绘图软件的扩展性要求,该绘图软件将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接 (Bridge)模式来实现上述要求,得到如图10 15所示的类图。【 C+代码】Class DP1public: static void draw a line(double x1, double y1, double x2, double y2) *代码省略 * static void draw a circle(double x, double y, double r) *代码省略 * ; class DP2public:
5、 static void drawline(double x1, double x2, double y1, double y2) *代码省略 * static void drawcircle(double x, double y, double r) *代码省略 * , class Drawingpublic: _(1); _(2);class V1Drawing: public Drawing public: void drawLine(double x1, double y1, double x2, double y2) *代码省略 * void drawCircle(double x,
6、 double y, double r) _(3);class V2Drawing: public Drawingpublic: void drawLine(double x1, double y1, double x2, double y2) *代码省略 * void drawCircle(double x,double y, double r) _(4); ; class Shape public: _(5)l Shape(Drawing*dp)dp=dp; void drawLine(double x1, double y1, double x2,double y2) dp- drawL
7、ine(x1, y1, x2, y2); void drawCircle(double x, double y,double r)dp- drawCircle(x, y, r);private: Drawing *_dp; ;class Rectangle:public Shapepublic: void draw() *代码省略 * 其余代码省略 ;class Circle: public Shapeprivate: double_x, _y, _r; public: Circle(Drawing*dp,double x, double y, double r): _(6) _x=x; _y
8、=y;_r=r; void draw()drawCircle(_x, _y, r); ; 5 (2013年下半年下午试题六 )阅读下列说明和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表 10 5所示。根据绘图软件的扩展性要求,该绘图软件将不断扩充新的图形和新的绘图程序。为了避 免出现类爆炸的情况,现采用桥接 (Bridge)模式来实现上述要求,得到如图10 16所示的类图。【 Java代码】 _(1), Drawing _(2); _(3);class DP1 stat
9、ic public void draw_a_line(double x1, double y1, double x2, double y2) *代码省略 * static public void draw_a_circle(double x, double y, double r) *代码省略 ) ;class DP2( static public void drawline(double x1, double x2, double y1, double y2) *代码省略 * static public void drawcircle(double x, double y, double r
10、) *代码省略 * ;class V1Drawing implements Drawing public void drawLine(double x1, double y1, double x2, double y2) *代码省略 * public void drawCircle(double x,double y, double r) _(4); l class V2Drawing implements Drawing public void drawLine(double x1, double y1, double x2, double y2) *代码省略 * public void d
11、rawCircle(double z, double y, double r) _(5); ;abstract class Shape private Drawing dp; _(6); Shape(Drawing dp)_dp=dp; public void drawLine(double x1, double y1, double x2, double y2) dp drawLine(xl, yl, x2,y2); public void drawCircle(double X, double y, double r)一 dp drawCircle(x,y, r); ; class Rec
12、tangle extends Shape private double_x1 _x2 _y1, _y2; public Rectangle(Drawing dp, double x1, double y1, double x2, double y2) *代码省略* public void draw() *代码省略 * ; Class Circle extends Shape private double_x, _y, _r; public Circle(Drawing dp, double x, double y, double r) *代码省略 * public void draw()dra
13、wCi rcle(X, Y, r); ) ; 5 (2013年上半年下午试题三 )阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 某城市拟开发一个基于 Web的城市黄页,公开发布该城市重要的组织或机构 (以下统称为客户 )的基本信息,方便城市生活。该系统的主要功能描述如下。 (1)搜索信息:任何使用 Internet的网络用户都可以搜索发布在城市黄页中的信息,例如客户的名称、 地址、联系电话等。 (2)认证:客户若想在城市黄页上发布信息,需通过系统的认证。认证成功后,该客户成为系统授权用户。 (3)更新信息:授权用户登录系统后,可以更改自己在城市黄页中的相关信
14、息,例如变更联系电话等。 (4)删除客户:对于拒绝继续在城市黄页上发布信息的客户,由系统管理员删除该客户的相关信息。 系统采用面向对象方法进行开发,在开发过程中认定出如表 10 6所示的类。系统的用例图和类图分别如图 10 17和图 10 18所示。6 根据说明中的描述,给出图 10 17中 A1和 A2处所对应的参与者, UC1和UC2所对应的用例以及 (1)处的关系。 7 根据说明中的描述,给出图 10 18中 C1 C5所对应的类名 (表 1 6中给出的类名 )和 (2) (5)处所对应的多重度。 8 认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,再根据相应
15、的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的原则,以及对候选类集合进行删除的原则。 9 (2013年上半年下午试题五 )阅读下列说明和 C+代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 现要求 实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。 现采用原型模式 (Prototype)来实现上述要求,得到如图 10 19所示的类图。【 C+代码】 #include string Using namespace std; Class Cl
16、oneablePublic: _(1); ; Class WrkExperience: public Cloneable 工作经历 Private: String workDate; String company; Public: Cloneable*Clone() _(2); Obj- workDate=this- workDate; Obj-company=this- company; Return obj; 其余代码省略 ; Class Resume:public Cloneable简历 Private: String name; string sex; string age; WOrk
17、Experience* work; Resume(WorkExperience*work) This-work=_(3); Public: Resume(string name) *实现省略 * Void setPersona1 Info(string sex, string age) *实现省略 * Void setworkExperience(string workDate, string company) *实现省略 * Cloneable*Clone() _(4); Obj- name=this- name; Obj- sex=this- sex; Obj- age=this- age
18、; Return obj; ; Int main() Resume*a=new Resume(张三 ); A- SetPersonalInfo(男 ,29); A- setworkExperience(1998“ 2000, XXX公司 ); Resume*b= _(5); B- setWorkExperience(2001“ 2006, YYY公司 ); Return 0; 10 (2013年上半年下午试题 6)阅读下列说明和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历
19、。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。 现采用原型模式 (Prototype)来实现上述要求,得到如图 10 20所示的类图。【 Java代码】 Class WorkExperience _(1)Cloneable 工作简历 Private String workDate; Private String company; Public Object Clone() _(2); obj workDate=this workDate; obj company=this company; Return obj; Class Resume_(3) Cloneable 简历 P
20、rivate String name; Private String sex; Private String age; Private WorkExperience work; Publlc ReSume(Strlng name) This name=name; work=new WorkExperience(); Private Resume(WorkExperience work) ThiS work=_(4); Public void setPersona1 Info(String sex, String age) *代码省略 * Public void SetWorkExperienc
21、e(String workDate, String company) *代码省略 * PubliC Object Clone() Resume obj=_(5); 其余代码省略 Return obj; Ciass WorkResume Public Static void main(String args) Resume a=new Resume(张三 ); a SetPersonal Info(男 , 29); a setworkExperience(1998 2000, XXX公司 ); Resume b=_(6); b setworkExperience(2001 2006, YYY公司
22、 ); 10 (2012年下半年下午试题三 )阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此,该城市设置了一个中心售票处和若干个区域售票处。游客若想租用小木屋或营地,必须前往中心售票处进行预订并用现金支付全额费用,所有的预订操作全部由售票处的工作人员手工完成。 现欲开发一信息系统,实现小木屋和营地的预订及管理功能,以取代手工操作。该系统的主要功能描述如下。 (1)管理预订申请。游客可以前往任何一个售票处提出预订申请,系统对来自各个售票处的预订申请进行统一管理。 (2)预订。预订操作包含登记游客预订
23、信息、计算租赁费用、付费等步骤。 (3)支付管理。游客付费时可以选择现金和信用卡付款两种方式。使用信用卡支付可以享受 3的折扣,现金支付没有折扣。 (4)游客取消预订。预订成功之后,游客可以在任何时间取消预订,但需支付赔偿金,剩余部分则退还给游客。赔偿金的计算规则是,在预 订入住时间之前的 48小时内取消,支付租赁费用 10的赔偿金;在预订入住时间之后取消,则支付租赁费用 50的赔偿金。 (5)自动取消预订。如果遇到恶劣天气 (如暴雨、山洪等 ),系统会自动取消所有的预订,发布取消预订消息,全额退款。 (6)信息查询。售票处工作人员查询小木屋和营地的预订情况和使用情况,以判断是否能够批准游客的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 面向 对象 技术 历年 汇编 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-506736.html