问答题

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
说明:某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。采用状态(State)模式来实现该纸巾售卖机,得到如图10.38所示的类图。

其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图10.37中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。

Java代码如下:


你可能感兴趣的试题

2.问答题

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
说明:Pay&Drive系统(开多少付多少)能够根据驾驶里程自动计算应付的费用。系统中存储了特定区域道路交通网的信息。道路交通网由若干个路段(RoadSegment)构成,每个路段由两个地理位置坐标点(Node)标定,其里程数(Distance)是已知的。在某些地理坐标点上安装了访问控制(AccessControl)设备,可以自动扫描行驶卡(Card)。行程(Trajectory)由一组连续的路段构成。行程的起点(Entry)和终点(Exit)都装有访问控制设备。系统提供了3种行驶卡。常规卡(RegularCard)有效期(ValidPeriod)为一年,可以在整个道路交通网内使用。季卡(SeasonCard)有效期为三个月,可以在整个道路交通网内使用。单次卡(MinitripCard)在指定的行程内使用,且只能使用一次。其中,季卡和单次卡都是预付卡(PrepaidCard),需要客户(Customer)预存一定的费用。系统的主要功能有:客户注册、申请行驶卡、使用行驶卡行驶等。使用常规卡行驶,在进入行程起点时,系统记录行程起点、进入时间(DateofEntry)等信息。在到达行程终点时,系统根据行驶的里程数和所持卡的里程单价(UnitPrice)计算应付费用,并打印费用单(Invoice)。季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用。单次卡的使用流程与季卡类似,但还需要在行程的起点和终点上检查行驶路线是否符合该卡所规定的行驶路线。现采用面向对象方法开发该系统,使用UML进行建模。
构建出的用例图和类图分别如图10.33和图10.34所示。

问题1:根据说明中的描述,给出图10.33中的U1和U2所对应的用例,以及(1)处所对应的关系。问题2:根据说明中的描述,给出图10.34中缺少的C1~C6所对应的类名以及(2)、(3)处所对应的多重度(类名使用说明中给出的英文词汇)。问题3:根据说明中的描述,给出RoadSegment、Trajectory和Card所对应的类的关键属性(属性名使用说明中给出的英文词汇)。
3.单项选择题业务用例和参与者一起描述(1),而业务对象模型描述(2)。空白(2)处应选择()

A.业务结构
B.结构元素如何完成业务用例
C.业务结构以及元素如何完成业务用例
D.组织支持的业务过程

4.单项选择题业务用例和参与者一起描述(1),而业务对象模型描述(2)。空白(1)处应选择()

A.工作过程中的静态元素
B.工作过程中的动态元素
C.工作过程中的逻辑视图
D.组织支持的业务过程

7.单项选择题一个类是(1)。在定义类时,将属性声明为private的目的是(2)。空白(2)处应选择()

A.实现数据隐藏,以免意外更改
B.操作符重载
C.实现属性值不可更改
D.实现属性值对类的所有对象共享

8.单项选择题一个类是(1)。在定义类时,将属性声明为private的目的是(2)。空白(1)处应选择()

A.一组对象的封装
B.表示一组对象的层次关系
C.一组对象的实例
D.一组对象的抽象定义

9.单项选择题面向对象分析的第一步是()

A.定义服务
B.确定附加的系统约束
C.确定问题域
D.定义类和对象

10.单项选择题采用UML进行面向对象开发时,部署图通常在()阶段使用。

A.需求分析
B.架构设计
C.实现
D.实施