欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编1及答案解析.doc

    • 资源ID:1340172       资源大小:79KB        全文页数:6页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编1及答案解析.doc

    1、软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编 1 及答案解析(总分:18.00,做题时间:90 分钟)一、必答题(总题数:9,分数:18.00)1.必答题(共 4 道大题,每道大题)(分数:2.00)_2.某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表 164 所示。 为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图 16 一 12 所示。 (分数:2.00)_3.阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】现要求实现一个能够自动生

    2、成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。现采用原型模式(Prototype)来实现上述要求,得到如图 171 所示的类图。 (分数:2.00)_4.阅读以下说明和 Java 代码,将应填入(n)处的字句写在对应栏内。【说明】欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表 171 所示。该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图 172 所示的类图。 (分数

    3、:2.00)_5.现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer 和 Access 两种数据库以及系统中的数据库表 Depanment 为例,其类图如图 173 所示。(分数:2.00)_6.某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表 172 所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图 175 所示的类图。 (分数:2.00)_7.阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。

    4、【说明】某大型商场内安装了多个简易的纸巾售卖机,自动售出 2 元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图177 所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图 17-8 所示的类图。其中类State 为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState31HasQuarterState 分别对应图 177 中纸巾售卖机的 4 中状态:售出纸巾、纸巾售完、没有投币、有 2 元钱。 (分数:2.00)_8.阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某公司的

    5、组织结构图如图 179 所示,现采用组合(Composition)设计模式来设计,得到如图 1710 所示的类图。(分数:2.00)_9.阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表 173 所示。 为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图 1711 所示。 (分数:2.00)_软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编 1 答案解析(总分:18.00,做题时间:90 分钟)

    6、一、必答题(总题数:9,分数:18.00)1.必答题(共 4 道大题,每道大题)(分数:2.00)_解析:2.某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表 164 所示。 为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图 16 一 12 所示。 (分数:2.00)_正确答案:(正确答案:(1)FlyBehavior*flyBehavior。 (2)TakeOffBehavior*takeOffBehavior (3)flyBehavior 一fly() (4)takeOffBehavior

    7、 一takeoff()_ (5)SubSonicFly (6)VerticalTakeOff() (7)Helicopter() 注:空(1)与空(2)参考答案可互换)解析:解析:本题考查了设计模式中的策略设计模式。 从本题的叙述中可以看出,存在 4 种不同的飞机类型,但每种飞机类型的起飞特征和飞行特征并不完全相同,这就使得我们很难采用比较直接的方法来实现重用。例如,定义一个抽象的飞机类,实现飞机的起飞特性,然后 4 种飞机直接重用该特征。但是,我们可以观察到,尽管飞机的起飞特征和飞行特征有所不同,有一点可以肯定的是,每一种飞机都具备了飞行特征和起飞特征。因此,可以抽象出一个飞机类,其中含有飞

    8、行特征与起飞特征,但关于两个特征的实现要单独抽取出来,所以义形成了 FlyBehavior 类和 TakeOffBehavior 类分别表示抽象的飞行和起飞特征,而这两个类的子类则分别实现不同的起飞和飞行特征,因此,在创建一个具体的飞机时,给其赋予不同的起飞特征和飞行特征即可。 本题中的空(1)和(2)应该填写成员变量,根据类图可以得知,此处应该表示的是飞行和起飞特征变量,在 C+中可以采用指针来表示。空(3)和空(4)处需要实现飞行与起飞特征,但AirCraft 是抽象的类,所以把实现代理给指针变量。Helicopter 类需要指定由父类继承而来的成员变量的初始值,因为 Helicopter

    9、 的特征是垂直起飞和亚音速飞行,因此生成这两个特征的对象,分别赋值给nyBehavior 和 takeOffBehavior 变量。3.阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。现采用原型模式(Prototype)来实现上述要求,得到如图 171 所示的类图。 (分数:2.00)_正确答案:(正确答案:(1)implements (2)WorkExperience obj:new WorkExp

    10、erienceO (3)implements (4)(WorkExperence)workClone() (5)new Resume(thiswork) (6)AClone()解析:解析:本题考查原型模式的概念及应用,原型模型是一种对象创建模型,用原型实体指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模型允许一个对象再创建另一个可订制的对象,无需知道任何创建的细节。 所有的 Java 类都继承自 java.langObject,而 0bject 类提供一个 Clone()方法,可以将一个 Java 对象复制一份。因此在 Java 中可以直接使用 Object 提供的 Clone()

    11、方法来实现对象的克隆。能够实现克隆的 java 类必须实现一个标识接口 Cloneable,表示这个 java 类支持复制。 题中WorkExperience 类和 Resume 类需要实Cloneable 接口,故(1)和(3)为 implements,WorkExperience 中需要实现 Clone 方法,并将自身复制一份,由下面的代码可知(2)为 WorkExpefience obj=new WorkExperience()。Resume 类中的私有构造方法实现 WorkExperience 的深复制,故(4)中为(WorkExperence) workClone(),而 Resum

    12、e 类中 Clone 方法实现自身的复制,故(5)中为 new Resume(miswork)。在 main 中实现 Resume b 对 a 的复制,故(6)中为 AClone()。4.阅读以下说明和 Java 代码,将应填入(n)处的字句写在对应栏内。【说明】欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表 171 所示。该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图 172 所示的类图。 (分数:2.00)_正确答案:(正确答案: (1)abstr

    13、act C1as s; (2)publiC abstract void drawLine(double x1,double y1,double x2,double y2) ; (3)public absttact void drawCircle(double x,double y,double r); (4)DPIdrawaircle(x,y,r);(5)DP2drawCircie(x,y,r); (6)publiC abstract void draw();)解析:解析:本题考查 Bridge 桥接模式的概念及应用,将抽象与其实现解耦,使它们都可以独立地变化。大致意思是说:将一组实现与另一组

    14、使用他们的对象分离。java 语言中声明抽象函数用 abstract,且每个函数都需要声明访问类型。对照试题五的代码我们可以看出: (1)为 abstract class;这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)Drawing一个虚拟基类,里面包含了希望不同策略实现的算法,派生类 V1Drawing,V2Drawing 都派生19Drawing,对基类中的希望实现的算法都作了具体实现,且它们都含有 drawLine 和 drawCircle 函数,所Draw 类中缺失的应该是这两个算法,于是(2)public abstract void

    15、 drawLine(double x1,double y1,double x2,double y2);(3)public abstract void drawCircle(double x,double y,double r);DPI$IDP2 包含了绘制 Line 和 Circle 的具体实现的 Static 方法,因此在 VlDrawing,V2Drawing 类中可以直接进行调用它们(4) DPIdrawacircle(x,y,r)(5)DP2drawCircle(x,y,r);Shape 类派生出 Rectangle 和 Circle 类,里面都含有 draw 方法,但是具体 draw

    16、 方法的实现却不相同,所以(6)public abstract void draw。5.现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer 和 Access 两种数据库以及系统中的数据库表 Depanment 为例,其类图如图 173 所示。(分数:2.00)_正确答案:(正确答案:(1)void Insert(Department department) (2)Department GetDepartment(int id) (3)implements IDepartment (4)implements IDepartment (5

    17、)interface IFactory (6)IDepartment CreateDepartmento)解析:解析:本题考查抽象工厂设计模式的概念及其应用。其类图如图 174 所示。6.某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表 172 所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图 175 所示的类图。 (分数:2.00)_正确答案:(正确答案: (1)abstract (2)String getDescription (3)abstract int cost() (4

    18、)Beverage beverage (5)beverage (6)beverage)解析:解析:装饰器模式描述了如何动态地为一个对象添加职责。该模式采用递归方式组合对象,从而允许添加任意多的对象职责。在下列情况下可以使用装饰器模式: (1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。 (2)处理那些可以撤销的职责。 (3)当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。 装饰器模式的结构如图176 所示。其中:7.阅读下列说明和 J

    19、ava 代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某大型商场内安装了多个简易的纸巾售卖机,自动售出 2 元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图177 所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图 17-8 所示的类图。其中类State 为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState31HasQuarterState 分别对应图 177 中纸巾售卖机的 4 中状态:售出纸巾、纸巾售完、没有投币、有 2 元钱。 (分数:2.00)_正确答案:(正确答案:(1)State

    20、 (2)tissueMachinegetHasQuarterState()或 newHasQuarterState()或 tissueMachineHasQuarterState() (3)tissueMachinegetNoQuarterState()或newNoQuarterState()或 tissueMachineNoQuarterState() (4)tissueMachinegetNoQuarterState()或 newNoQuarterState()或 tissueMachineNoQuarterState() (5)tissueMachinegetSoldOutState()

    21、或 newSoldOutState()或 tissueMachineSoldOutState()解析:解析:(1)根据题意,本题使用的是状态模式,判断纸巾售卖机的状态,根据不同的状态执行不同的动作。State 定义了纸巾售卖机所对应的一些状态,售出纸巾、纸巾售完等状态。类SoldOutState、NoQuarterState、HasQuarterState、SoldState 均有类 State 派生而来。(2)publicvoidinsertQuarter0 定义了一个“投币”的方法:在没有“2 元钱”时,客户投币的方法。tissureMachinesetState 是改变纸巾售卖机的状态,

    22、此时,客户已投入 2 元钱,故将此时的状态改为“有 2 元钱”的状态,纸巾售卖机调用“有 2 元钱”状态的方法即可。(3)publicvoidejectQuarter()定义了一个“退币”的方法:在有 2 元钱的状态下,用户按下退币按钮,纸巾售卖机将此时的状态改为“没有投币”状态,故直接调用 NoQuarterState即可。(4)根据纸巾售卖机状态图可知,当售出纸巾,并且纸巾数量仍大于 0 时,将返回“没有投币”状态,同第(3)小题的分析,此处应调用NoQuarterState()。(5)根据纸巾售卖机状态图可知,当售出纸巾,并且纸巾数量等于 O 时,将返回“纸巾售完”状态,此处用了 if“

    23、else判断语句,当纸巾数量仍大于 0 时,返回“没有投币”状态,否则,纸巾数量一定等于 0,本段程序第(5)空是 else 下的一条语句,故此处是判断 count 为 0 时,纸巾售卖机的状态,显然,应调用 SoldOutState。8.阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某公司的组织结构图如图 179 所示,现采用组合(Composition)设计模式来设计,得到如图 1710 所示的类图。(分数:2.00)_正确答案:(正确答案:(1)ahstractclass (2)thisname (3)Company (4)Company (5)ch

    24、ildren (6)children (7)rootAdd(comp) (8)compAdd(compl)解析:解析:Company 为抽象类,所以(1)肯定为abstractclass: (2)所在的语句为构造函数,用来对name 字段进行初始化; 子公司、办事处或部门都是 Company 这个抽象类的具体实现,所以(3)处为compally(4)处为 Company; (5)处所在的语句的作用是向 Company 列表的实例 children 中添加节点; (6)处所在的语句的作用从 Company 列表的实例 childrenqb 删除节点; (7)处所在的语句的作用把上海分公司这个子节

    25、点加入到北京公司总部这个跟节点中; (8)处所在的语句的作用将南京办事处这个子节点加入到上海分公司这个父节点中。9.阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表 173 所示。 为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图 1711 所示。 (分数:2.00)_正确答案:(正确答案:(1)FlyBehaviorflyBehavior (2)TakeOffBehaviortakeOffBehavior

    26、 (3)flyBehaviorfly() (4)takeOffBehaviortakeOff() (5)extends (6)SubSonicFly() (7)VerticalTakeOflff()解析:解析:本题目考查设计模式中的策略设计模式。从本题的叙述中可以看出,存在四种不同的飞机类型,但每种飞机类型的起飞特征和飞行特征并不完全相同,这就使得我们很难采用比较直接的方法来实现重用。例如,定义一个抽象的飞机类,实现飞机的起飞特性,然后四种飞机直接重用该特征。但是,我们可以观察到,尽管飞机的起飞特征和飞机特征有所不同,有一点可以肯定的是,每一种飞机都具备了飞行特征和起飞特征。因此,可以抽象出一

    27、个飞机类,其中含有飞行特征与起飞特征,但关于两个特征的实现要单独抽取出来,所以又形成 FlyBehavior 类 SHTakeOffBehavior 类,分别表示抽象的飞行和起飞特征,而这两个类的子类则分别实现不同的起飞和飞行特征,最终转化为,在创建一个具体的飞机时,给其赋予不同的起飞特征和飞行特征即可。本题中的空(1)和空(2)应该填写成员变量,根据类图可以得知,此处应该表示的是飞行和起飞特征变量。空(3)和空(4)处需要实现飞行与起飞特征,但 AirCraft 是抽象的类,所以把实现代理给指针变量。Helicopter 类需要制定由父类继承而来的成员变量的初始值,因为Helicopter 的特征是垂直起飞和亚音速飞行,因此生成这两个特征的对象,分别赋值给flyBehaviorfHtakeOffBehavior 变量。


    注意事项

    本文(【计算机类职业资格】软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编1及答案解析.doc)为本站会员(figureissue185)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开