问答题

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
说明:某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图10.43所示。现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中添加新的餐饮形式,得到如图10.44所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图10.43中的甜点菜单。类Menultem表示菜单中的菜式。

Java代码如下:


你可能感兴趣的试题

2.问答题

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
说明:一个简单的图形编辑器提供给用户的基本操作包括:创建图形、创建元素、选择元素以及删除图形。图形编辑器的组成及其基本功能描述如下。
(1)图形由文本元素和图元元素构成,图元元素包括线条、矩形和椭圆。
(2)图形显示在工作空间中,一次只能显示一张图形(即当前图形,current)。
(3)编辑器提供了两种操作图形的工具:选择工具和创建工具。对图形进行操作时,一次只能使用一种工具(即当前活动工具,active)。
①创建工具用于创建文本元素和图形元素。
②对于显示在工作空间中的图形,使用选择工具能够选定其中所包含的元素,可以选择一个元素,也可以同时选择多个元素。被选择的元素成为当前选中元素(selected)。
③每种元素都具有相应的控制点。拖曳选定元素的控制点,可以移动元素或者调整元素的大小。
现采用面向对象方法开发该图形编辑器,使用UML进行建模。构建出的用例图和类图分别如图10.39和图10.40所示。

问题1:根据说明中的描述,给出图10.39中U1和U2所对应的用例,以及(1)和(2)处所对应的关系。
问题2:根据说明中的描述,给出图10.40中缺少的C1~C8所对应的类名以及(3)~(6)处所对应的多重度。
问题3:图10.40中的类图设计采用了桥接(Bridge)设计模式,请说明该模式的内涵。

5.问答题

阅读下列说明和图,回答问题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所对应的类的关键属性(属性名使用说明中给出的英文词汇)。
6.单项选择题业务用例和参与者一起描述(1),而业务对象模型描述(2)。空白(2)处应选择()

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

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

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

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

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