ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:55KB ,
资源ID:1340371      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1340371.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】软件设计师-28及答案解析.doc)为本站会员(postpastor181)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】软件设计师-28及答案解析.doc

1、软件设计师-28 及答案解析(总分:100.00,做题时间:90 分钟)一、试题一(总题数:1,分数:20.00)1.阅读下列说明和 C+代码,将应填入(n)处的字句写在答题纸的对应栏内。 说明 某灯具厂商欲生产一个灯具遥控器,该遥控器具有 7 个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用 Command(命令)模式实现该遥控器的软件部分,Command 模式的类图如下图所示。 (分数:20.00)_二、试题二(总题数:1,分数:20.00)2.阅读下列说明和 C+代码,将应填入横线处的字句写在下面。 说明 某实验室欲

2、建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据,当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observer)模式来开发该系统,观察者模式的类图如下图所示。 (分数:20.00)_三、试题三(总题数:1,分数:20.00)3.阅读下列说明和 C+代码,将应填入_处。 说明 现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。 现采用原型模式(Prototype)来实现上述要求,得到如下图所示的类图。 (分数:20.00)_四、试题四(总题

3、数:1,分数:20.00)4.阅读以下说明和 C+代码,将应填入_处的字句写在下面。 说明 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如下表所示。 不同的绘图程序 DPI DP2 绘制直线 draw a line(x1,y1,x2,y2) drawline(x1,x2,y1,y2) 绘制圆 draw a circle(x,y,r) drawcircle(x,y,r) 该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如下图所示的类图。 (分数:20.00)_五

4、、试题五(总题数:1,分数:20.00)5.阅读下列说明和 C+代码,将应填入_处的字句写在下面。 说明 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server 和 Access 两种数据库以及系统中的数据库表 Department 为例,其类图如下图所示。 (分数:20.00)_软件设计师-28 答案解析(总分:100.00,做题时间:90 分钟)一、试题一(总题数:1,分数:20.00)1.阅读下列说明和 C+代码,将应填入(n)处的字句写在答题纸的对应栏内。 说明 某灯具厂商欲生产一个灯具遥控器,该遥控器具有 7 个可编程的插槽,每

5、个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用 Command(命令)模式实现该遥控器的软件部分,Command 模式的类图如下图所示。 (分数:20.00)_正确答案:()解析:void execute() light-on() light-off() onCommandsslot offCommandsslot onCommandsslot-execute() offCommandsslot-execute() 解析 本题考查 Command 命令模式的概念及应用,并用 C+语言实现。Command 命令模式是一种对象行为模式。它主要

6、解决的问题是,在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题,将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。二、试题二(总题数:1,分数:20.00)2.阅读下列说明和 C+代码,将应填入横线处的字句写在下面。 说明 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据,当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observer)模式来开发该系统,观察者模式的类图如下图所示。 (分数:20.00)_正确答案:()解析:Subject (*it)

7、-update(temperature,humidity,cleanness) notifyObservers() measurementsChanged() Observer() this-envData-registerObserver(this) 解析 当主题中的环境发生变化,也就是调用measurementsChanged()会通知观察者,即调用 notifyObservers(),在 notifyObservers()方法中,观察者会调用自身 update(float temperature,float humidity,float cleanness),在主题的registerOb

8、server(Observe*o)中会注册对主题感兴趣的观察者。三、试题三(总题数:1,分数:20.00)3.阅读下列说明和 C+代码,将应填入_处。 说明 现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。 现采用原型模式(Prototype)来实现上述要求,得到如下图所示的类图。 (分数:20.00)_正确答案:()解析:virtual Cloneable*Clone()=0; WorkExperience*obj; Work; Resume*obj; a-Clone() 解析 本题

9、考查原型模式的概念及应用,原型模型是一种对象创建模型,用原型实体指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模型允许一个对象再创建另一个可订制的对象,无需知道任何创建的细节。 Prototype 模式其实就是常说的”虚拟构造函数”一个实现,C+的实现机制中并没有支持这个特性,但是通过不同派生类实现的 Clone 接口函数可以完成与”虚拟构造函数”同样的效果。 题中声明一个虚拟基类,所有的原型都从这个基类继承,第一处所代表的就是这个基类中的纯虚函数,需要继承者自行实现,即为 virtual Cloneable*Clone()=0,首先声明一个抽象基类,并定义 clone()函数为纯

10、虚函数。然后根据基类实例化各个子类,并且实现复制构造函数,并实现 clone()函数,由此可知第二处为 WorkExperience*obj,第三处为 Work,第四处为 Resume*obj。在 main 函数中实现 Resume*b 对*a的复制,故根据 C+语法,第五处中为 a-Clone()。四、试题四(总题数:1,分数:20.00)4.阅读以下说明和 C+代码,将应填入_处的字句写在下面。 说明 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如下表所示。 不同的绘图程序 DPI DP2 绘制直线 draw a line(x1,y1,x2

11、,y2) drawline(x1,x2,y1,y2) 绘制圆 draw a circle(x,y,r) drawcircle(x,y,r) 该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如下图所示的类图。 (分数:20.00)_正确答案:()解析:virtual void drawLine(double x1,double y1,double x2,double y2)=0; virtual void drawCircle(double x,double y,double r)=0; DP1:draw_a_

12、ircle(x,y,r); DP2:drawCircle(x,y,r); virtual void draw()=0 Shape(dp) 解析 本题考查 Bridge 桥接模式的概念及应用,将抽象与其实现解耦,使它们都可以独立地变化。大致意思是说:将一组实现与另一组使用他们的对象分离。这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类) Drawing 是一个虚拟基类,里面包含了希望不同策略实现的算法,派生类 V1Drawing,V2Drawing 都派生自 Drawing,对基类中的希望实现的算法都作了具体实现,且它们都含有 drawLine 和

13、 drawCircle 函数,所以 Draw 类中缺失的应该是这两个算法,于是:第一处为“virtual void drawLine(double x1,double y1,double x2,double y2=0;”第二处为“virtual void drawCircle(double x,double y,doubler)=0;”,DP1 和 DP2 中包含了绘制 Line 和 Circle 的具体实现的 Static 方法,因此在 V1Drawing、V2Drawing 类中可以直接调用它们;(3)为“DP1:draw a circle(x,y,r);”,第四处为“DP2:drawCi

14、rcle(x,y,r);”。Shape 类派生出 Rectangle 和 Circle 类,里面都含有 draw 方法,但是具体 draw 方法的实现却不相同,所以第五处为“virtual void draw()=0;”,最后 Circle 的构造函数初始化了后 4 个变量,还有继承自shape 的变量_dp 未做初始化,因此调 shape 构造函数做初始化操作,第六处为“shape(dp);”。五、试题五(总题数:1,分数:20.00)5.阅读下列说明和 C+代码,将应填入_处的字句写在下面。 说明 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以S

15、QL Server 和 Access 两种数据库以及系统中的数据库表 Department 为例,其类图如下图所示。 (分数:20.00)_正确答案:()解析:virtual void Insert(Department*department) virtual Department GetDepartment (int id) public IDepartment public IDepartment class Ifactory virtual IDepartment*CreateDepartment() 解析 本题考查抽象工厂设计模式的概念及其应用。 抽象工厂设计模式的意图是:提供一个创建

16、一系列相关或相互依赖的对象,而无须指出它们具体的类。在如下情况下应当考虑使用抽象工厂模式: 当一个系统要独立于它的产品的创建、组合和表示时。 当一个系统要由多个产品系列中的一个来配置时。 当需强调一系列相关的产品对象的设计以便进行联合使用时。 想提供一组对象而不显示它们的实现过程,只显示它们的接口时。 抽象工厂设计模式的类图如下图所示,其中: AbstractFactory 为抽象工厂,声明抽象产品的方法。 ConcreteFactory 为具体工厂,执行生戍抽象产品的方法,生成一个具体的产品。 AbstractProduct 为抽象产品,为一种产品声明接口。 Product 为具体产品,定义具体工厂生成的具体产品的对象,实现产品接口。

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