题目详情

某运输公司决定为新的售票机开发车票销售的控制软件。图3-1给出了售票机的面板示意图以及相关的控制部件。

中级软件设计师,历年真题,2010年上半年(下午)《软件设计师》真题

售票机相关部件的作用如下所述:

(1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。

(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。

(3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。

(4)显示屏显示所有的系统输出和用户提示信息。

(5)插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。

(6)打印机用于输出车票。

假设乘客总是支付恰好需要的金额而无需找零,售票机的维护工作(取回现金、放入空白车票等)由服务技术人员完成。

系统采用面向对象方法开发,使用UML进行建模。系统的顶层用例图和类图分别如图3-2和图3-3所示。

中级软件设计师,历年真题,2010年上半年(下午)《软件设计师》真题

中级软件设计师,历年真题,2010年上半年(下午)《软件设计师》真题

图3-3类图

【问题1】(5分)

根据说明中的描述,给出图3-2中A1和A2所对应的参与者,U1所对应的用例,以及(1)、(2)处所对应的关系。

【问题2】(7分)

根据说明中的描述,给出图3-3中缺少的C1~C4所对应的类名以及(3)~(6)处所对应的多重度。

【问题3】(3分)

图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。

正确答案及解析

正确答案
解析

【问题1】(5分,各1分)A1:乘客A2:服务技术人员

U1:支付(1)<<include>>(2)<<include>>

【问题2】(7分)

C1:键盘(2分)

C2:目的地键盘(1分)

C3:车票键盘(1分)

C4:继续/取消键盘(1分)

(3)~(6):1(各0.5分)

【问题3】(3分)

使用Mediator模式,可以使各个对象间的耦合松散(1分),只需关心和Mediator的关系,使多对多的关系变成了一对多的关系(1分),可以降低系统的复杂性,提高可修改扩展性(1分)。

本题考查面向对象开发相关知识,涉及UML用例图、类图以及类图设计时的设计模式。UML目前在面向对象软件开发中广泛使用,是面向对象软件开发考查的重要内容。

【问题1】

本问题考查用例图。用例图用于确定系统边界,识别与系统交互的参与者,通过判断参与者发起的用例,建立和参与者之间的关联,然后再确认用例之间的关系。

本题中对售票机的描述为“乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类);售票机的维护工作(取回现金、放入空白车票等)由服务技术人员完成”。由此可知,图3-1中A1为乘客,A2为服务技术人员。

对购票用例,要选择目的地和车票类型、通过插卡口进行支付才可完成购票。因此U2为支付。

在考查用例之间的关系时,购票过程可以取消,也允许乘客连续购买多张票,因此,购票时可以包含多次选择目的地和车票类型、支付,即购票用例包含(关系<<include>>)选择目的地和车票类型以及支付。

【问题2】

本问题考查类图。类图设计的重点是类的抽象和继承关系以及多重度。售票机的面板由多个控制部件组成。根据说明这些控制部件有目的地键盘、车票键盘和继续/取消键盘、显示屏、卡驱动器、硬币/纸币槽、打印机。图3-3中只有前3个部件在图中没有给出,而要填如4个类。从图中己经抽象出的硬件组件,给出了抽象的思路,从而可以把键盘抽象出来。由C1与C2、C3、C4的继承关系中C1为基类,可知C1为键盘。由C2、C3和C4给出的方法名称可知,C2为目的地键盘获取目的地代码,C3为车票键盘选择产品类型,C4为继续/和取消动作。

本题中的重复度比较简单。从图3-1售票机的图示中可以看出,一个售票机只包含一个目的地键盘、一个车票键盘和一个继续/取消键盘,因此(3)~(6)均为1。

【问题3】

本问题考查设计模式。设计模式题目虽然比较难,但是本题题目中已经给出了所采用的设计模式为Mediator模式,只需说明设计模式的内涵即可,也比较容易。使用Mediator模式,可以使各个对象间的耦合松散,只需关心和Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性。

包含此试题的试卷

你可能感兴趣的试题

单选题

E-mail地址由分隔符“()”分为前后两部分,分别指明用户名及邮件

  • A.//
  • B.\\
  • C.@
查看答案
单选题

某 html 文档中有如下代码,则在浏览器中打开该文档时显示为( )。

<form>

Listl:

<input type="text" name="List1" />

<br / >

List2:

<input type="text" name="List 2 " />

< /form>

初级程序员,章节练习,初级程序员真题

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案
单选题

设有商品关系P(商品名,条形码,供应商号,价格,数量), “条形码”唯一标识关系P中的每一个元组,商品名不能为空,供应商号是关系P的外键。另有供应商关系S(供应商号,供应商名,地址,电话)。关系 P 中的商品名是唯一的。建立商品关系 P 的 SQL语句如下所示:

CREATE TABLE P( 商品名CHAR(30)( ),

条形码CHAR(30) ( ) ,

供应商号 CHAR(5) ,

价格 CHAR(20) ,

数量CHAR(20)

( )(供应商号) REFERENCES S(供应商号));

查询供应商及价格小于等于 2500 元且大于等于 1280 元的“电冰箱”的数量的SQL语句为:

SELECT商品名,供应商名,价格,数量

FROM P

WHERE商品名= ’电冰箱’ AND ( ) ;

将供应商号“12021”所供应的商品价格上涨3%的SQL语句为:

UPDATE P

( )

WHERE 供应商号= ’12021’;

查询供应商地址包含“西安”的供应商名及电话的SQL语句为:

SELECT供应商名,电话

FROM S

WHERE ( );

  • A.NULL
  • B.UNIQUE
  • C.NOT NULL
  • D.NOT NULL UNIQUE
查看答案
单选题

函数f()、g()的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为( );若以传引用方式调用g,则函数f的返回值为( )。

初级程序员,章节练习,初级程序员真题

  • A.3
  • B.4
  • C.6
  • D.7
查看答案
单选题

初级程序员,章节练习,初级程序员真题

初级程序员,章节练习,初级程序员真题

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案

相关题库更多 +