一个简单的图形编辑器提供给用户的基本操作包括:创建图形、创建元素、选择元素以及删除图形。图形编辑器的组成及其基本功能描述如下:
(1)图形由文本元素和图元元素构成,图元元素包括线条、矩形和椭圆。
(2)显示在工作空间中,一次只能显示一张图形(即当前图形,current)。
(3)提供了两种操作图形的工具:选择工具和创建工具。对图形进行操作时,一次只能使用一种工具(即当前活动工具,active)
①创建工具用于创建文本元素和图元元素。
②对于显示在工作空间中的图形,使用选择工具能够选定其中所包含的元素,可以选择一个元素,也可以同时选择多个元素。被选择的元素称为当前选中元素(selected)。
③每种元素都具有对应的控制点。拖拽选定元素的控制点,可以移动元素或者调整元素的大小。
现采用面向对象方法开发该图形编辑器,使用UML进行建模。构建出的用例图和类图分别如图3-1和3-2所示。
图3-1用例图
图3-2类图
【问题1】(4分)
根据说明中的描述,给出图3-1中U1和U2所对应的用例,以及(1)和(2)处所对应的关系。
【问题2】(8分)
根据说明中的描述,给出图3.2中缺少的C1~C8所对应的类名以及(3)~(6)处所对应的多重度。
【问题3】(3分)
图3-2中的类图设计采用了桥接(Bridge)设计模式,请说明该模式的内涵。
【问题1】
UI:移动元素U2:调整元素大小(Ul和U2的答案可以互换)
(1)<<extend>>(2)<<extend>>
【问题2】
C1:创建工具C2:选择工具C3:线条工具C4:矩形工具
C5:椭圆工具C6:线条C7:矩形C8:椭圆
注:C3~C5的答案可以互换;C6-C8的答案可以互换。
(3)0..1(4)1(5)1(6)1..*
【问题3】
桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化,对一个抽象的实现部分的修改应该对使用它的程序不产生影响。
本题考查面向对象开发相关知识,涉及UML用例图、类图以及类图设计时的设计模式。UML目前在面向对象软件开发中广泛使用,是面向对象软件开发考查的重要内容。
【问题1】
本题主要考查用例图。
用例之间的关系主要有以下三种:
(1)包含关系。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。用《include》表示。
(2)扩展关系。如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。用《extend》表示。
(3)泛化关系。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。
在本题中,从用例图中,我们不难看出U1和U2都与选择元素用例有关系。然后根据题目的描述,可知U1和U2应该分别是移动元素和调整元素的大小,这里我们假定U1是移动元素用例,而U2是调整元素的大小用例。那么接着我们再来确定空(1)与空(2)的内容。这里很显然U1和U2与选择元素用例的关系是扩展关系,因此空(1)与空(2)都应该填<<extend>>。
【问题2】
本问题考查类图。对于这个题目,我们应该结合题目的描述及给出的类图来求解。从题目给出的类图中我们可以看出,C1和C2是继承(泛化)于工具类的,而题目描述告诉我们系统提供了两种操作图形的工具,即选择工具和创建工具,因此C2与C2应该分别是选择工具和创建工具之一,然后我们可以看到文本工具类是继承于C1的,结合题目描述“创建工具用于创建文本元素和图元元素”,我们可以知道C1应该为创建工具类,而C2应该为选择工具类,另外,根据题目描述“图元元素包括线条、矩形和椭圆”,可以知道C6至C8应该分别是线条类、矩形类及椭圆类,当然这三者的答案可以互换。而要能得到这些图形元素,就应该有相应的画图工具,因此C3至C5应该分别是线条工具类、矩形工具类及椭圆工具类,这三者的答案也可以互换。
在UML中,多重度又称重复度,多重度表示为一个整数范围n..m,整数n定义所连接的最少对象的数目,而m则为最多对象数(当不知道确切的最大数时,最大数用*号表示)。最常见的多重性有0..1、0..*、1..1和1..*,而*与0..*是等价的。
由于一个图形编辑器实例可以有一个工具实例,当然也可以没有工具实例,而一个工具实例只能属于一个图形编辑器实例,因此空(3)与空(4)分别为0..1和1。而一个图形至少需要包含一个图形元素,也可以包含多个图形元素,而一个图形元素实例只能属于一个图形实例,所以空(5)与空(6)应该分别是1和1..*。
【问题3】
本问题主要考查桥接模式的基本内容。
桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化,对一个抽象的实现部分的修改应该对使用它的程序不产生影响。
一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )
在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。
有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()
在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。
在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。
Pinging 59.74.111.8 with 32 bytes of data:
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Ping statistics for 59.74.111.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 4ms
在ISO OSF/RM参考模型中,七层协议中的__(1)__利用通信子网提供的服务实现两个用户进程之间端到端的通信。在这个模型中,如果A用户需要通过网络向B用户传送数据,则首先将数据送入应用层,在该层给它附加控制信息后送入表示层;在表示层对数据进行必要的变换并加头标后送入会话层;在会话层加头标送入传输层;在传输层将数据分解为__(本题)__后送至网络层;在网络层将数据封装成__(3)__后送至数据链路层;在数据链路层将数据加上头标和尾标封装成__(4)__后发送到物理层;在物理层数据以__(5)__形式发送到物理线路。B用户所在的系统接收到数据后,层层剥去控制信息,把原数据传送给B用户。
在OSI/RM中,解释应用数据语义的协议层是()。
在TCP/IP协议栈中,ARP协议的作用是(),RARP协议的作用是(请作答此空)。
在地址 http://www.dailynews.com.cn/channel/welcome.htm 中,www.dailynews.com.cn 表示( ),welcome.htm 表示(请作答此空)。
在电子表格软件Excel中,假设A1单元格的值为15,若在A2单元格输入“=AND(15<A1,A1<100)”,则A2单元格显示的值为 ()