1、中级软件设计师下午试题-132 及答案解析(总分:100.00,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)1.说明 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如下图所示。 (分数:25.00)_二、试题二(总题数:1,分数:25.00)2.说明 现欲实现一个图像浏览系统,要求该系统能够显示 BMP、JPEG 和 GIF 三种格式的文件,并且能够在Windows 和 Linux 两种操作系统上运行。系统首先将 BMP、JPEG 和 GIF 三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式
2、和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计,所得类图如下图所示。 (分数:25.00)_三、试题三(总题数:1,分数:25.00)3.说明 已知某类库开发商提供了一套类库,类库中定义了 Application 类和 Document 类,它们之间的关系如下图所示,其中,Application 类表示应用程序自身,而 Document 类则表示应用程序打开的文档。Application 类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个 Document 对缘表示。 (分数:25.00)_四、试题四(总题数
3、:1,分数:25.00)4.说明 已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器的开与关。遥控器如图 1 所示。该遥控器共有 4 个按钮,编号分别是 03,按钮 0 和按钮 2 能够遥控打开电器 1 和电器 2,按钮 1 和按钮 3 则能遥控关闭电器 1 和电器 2。由于遥控系统需要支持形式多样的电器,因此该遥控系统的设计要求具有较高的扩展性。现假设需要控制客厅电视和卧室电灯,对该遥控系统进行设计所得类图如图 2 所示。 在图 2 中,类 RomoteController 的方法 onPressButton(int button)表示当遥控器按键按下时调用的方法,
4、参数为按键的编号;Command 接口中 on 和 off 方法分别用于控制电器的开与关;Light 中turnLight(int degree)方法用于调整电灯光的强弱,参数 degree 值为 0 时表示关灯,值为 100 时表示开灯,并且将灯光亮度调整到最大;TV 中 setChannel(int channel)方法表示设置电视播放的频道,参数channel 值为 0 时表示关闭电视,为 1 时表示开机并将频道切换为第 1 频道。 (分数:25.00)_中级软件设计师下午试题-132 答案解析(总分:100.00,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)1.说明
5、 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如下图所示。 (分数:25.00)_正确答案:()解析:abstract null List childList printTree(file)二、试题二(总题数:1,分数:25.00)2.说明 现欲实现一个图像浏览系统,要求该系统能够显示 BMP、JPEG 和 GIF 三种格式的文件,并且能够在Windows 和 Linux 两种操作系统上运行。系统首先将 BMP、JPEG 和 GIF 三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并
6、减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计,所得类图如下图所示。 (分数:25.00)_正确答案:()解析:this.imp ImageImp imp.doPaint(m) new BMP( ) new WinImp( ) image1.setImp (imageImp1) 17三、试题三(总题数:1,分数:25.00)3.说明 已知某类库开发商提供了一套类库,类库中定义了 Application 类和 Document 类,它们之间的关系如下图所示,其中,Application 类表示应用程序自身,而 Document 类则表示应用程序打开的文档。Application
7、 类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个 Document 对缘表示。 (分数:25.00)_正确答案:()解析:Document aDocument !canOpenDocument(docName) Document doCreateDocument( ) adoc.open(docName) adoc.read(docName) addDocument(adoc)四、试题四(总题数:1,分数:25.00)4.说明 已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器的开与关。遥控器如图 1 所示。该遥控器共有 4
8、 个按钮,编号分别是 03,按钮 0 和按钮 2 能够遥控打开电器 1 和电器 2,按钮 1 和按钮 3 则能遥控关闭电器 1 和电器 2。由于遥控系统需要支持形式多样的电器,因此该遥控系统的设计要求具有较高的扩展性。现假设需要控制客厅电视和卧室电灯,对该遥控系统进行设计所得类图如图 2 所示。 在图 2 中,类 RomoteController 的方法 onPressButton(int button)表示当遥控器按键按下时调用的方法,参数为按键的编号;Command 接口中 on 和 off 方法分别用于控制电器的开与关;Light 中turnLight(int degree)方法用于调整电灯光的强弱,参数 degree 值为 0 时表示关灯,值为 100 时表示开灯,并且将灯光亮度调整到最大;TV 中 setChannel(int channel)方法表示设置电视播放的频道,参数channel 值为 0 时表示关闭电视,为 1 时表示开机并将频道切换为第 1 频道。 (分数:25.00)_正确答案:()解析:commandsbutton turnLight(0) setChannel(1) lightCommand RemoteController Light TV