1、中级软件设计师下午试题-118 及答案解析(总分:78.96,做题时间:90 分钟)一、试题一(总题数:1,分数:4.00)说明某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1每门课程都由 3 到 6 个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。2学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。3在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了
2、这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。4对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。5若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。6在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的
3、成绩报告返还系统。7根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。现采用结构化方法对这个系统进行分析与设计,得到如图 1-1 所示的顶层数据流图和图 1-2 所示的 0 层数据流图。(分数:4.00)(1).使用说明中的词语,给出图 1-1 中的外部实体 E1E4 的名称。(分数:1.00)_(2).使用说明中的词语,给出图 1-2 电的数据存储 D1D5 的名称。*起点 终点(分数:1.00)_(3).数据流图 1-2 缺少了三条数据流,根据
4、说明及数据流图 1-1 提供的信息,分别指出这三条数据流的起点和终点。(分数:1.00)_(4).数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。(分数:1.00)_二、试题二(总题数:1,分数:15.00)说明某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下:1医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。2患者首先在门诊挂号处挂号,
5、选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如表 21 所示,其中,就诊类型为医师的出诊类型。3患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(如表 2-2 所示),并生成门诊处方单(如表 2-3 所示 1。4由于药品价格会发生变化,因此,门诊管理系统必须记录处方单上药品的单价。根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图 2-1 所示。(1)实体联系图(分数:15.00)(1).根据问题描述,填写图 2-1 实体联系图中(1)(4)处联系的类型。(分数:5.00)_
6、(2).图 2-1 中还缺少几个联系?请指出每个联系两端的实体名,格式如下:实体 1:实体 2例如,收银员与门诊处方之问存在联系,表示为:收银员:门诊处方或门诊处方:收银员(分数:5.00)_(3).根据实体联系图 2-1,填写挂号单、门诊处方、处方明细和药品库关系模式中的空(5)(8)处,并指出挂号单、门诊处方和处方明细关系模式的主键。(分数:5.00)_三、试题三(总题数:1,分数:15.00)说明已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。关于唱片,还有以下描述信息:1每首歌曲的描述信息包括:歌曲的名字、谱
7、写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由 2 名或 2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。2每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。3每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表 3-1 所示的类列
8、表、如图 3-1 所示的初始类图以及如图 3-2 所示的描述播放器行为的 UML 状态图。(分数:15.00)(1).根据说明中的描述,使用表 3-1 给出的类的名称,给出图 3-1 中的 AF 所对应的类。(分数:3.75)_(2).根据说明中的描述,给出图 3-1 中(1)(6)处的多重度。(分数:3.75)_(3).图 3-1 中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。类 多重度(分数:3.75)_(4).根据图 3-2 所示的播放器行为 UML 状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。(分数:3.75)_四、试题
9、四(总题数:1,分数:15.00)说明在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗地的过程中,仅能容忍一定范围的信号衰减,称为容忍值。分布网络可表示为一个树型结构,如图4-1 所示。信号源是树根,树中的每个节点(除了根)表示一个可以放置放大器的子节点,其中某些节点同时也是信号消耗点,信号从一个节点流向其子节点。每个节点有一个 d 值,表示从其父节点到该节点的信号衰减量。例如,在图 4-1 中,节点 w、p、q 的 d 值分别为 2、1、3,树根节点
10、表示信号源,其 d 值为 0。每个节点有一个 M 值,表示从该节点出发到其所有叶子的信号衰减量的最大值。显然,叶子节点的 M 值为0。对于非叶子 j,M(j)=maxM(k)+d(k)|k 是 j 孩子节点,在此公式中,要计算节点的 M 值,必须先算出其所有子节点的 M 值。在计算 M 值的过程中,对于某个节点 i,其有一个子节点 k 满足 d(k)+M(k)大于容忍值,则应在 k 处放置放大器,否则,从节点 i 到某叶子节点的信号衰减量会超过容忍值,使得到达该叶子节点时信号不可用,而在节点 i 处放置放大器并不能解决到达叶子节点的信号衰减问题。例如,在图 4-1 中,从节点 p 到其所有叶子
11、节点的最大衰减值为 4。若容忍值为 3,则必须在 s 处放置信号放大器,这样可使得节点 p 的 M 值为 2。同样,需要在节点 q、v 处放置信号放大器,如图 4-2 阴影节点所示。若在某节点放置了信号放大器,则从该节点输出的信号源输出的信号等价。(分数:15.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_五、试题五(总题数:1,分数:15.00)说明已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批 5 万元以下(不包括 5 万元)的采购单,副董事长可以审批 5 万元至 10 万元(不包括 10 万元)的采购单,董事长
12、可以审批 10 万元至 50 万元(不包括 50 万元)的采购单,50 万元及以上的采购单就需要开会讨论决定。采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图 5-1 所示。(分数:14.98)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_六、试题六(总题数:1,分数:15.00)说明已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批 5 万元以下(不包括 5 万元)的采购单,副董事长可以审批 5 万元至 10 万元(不包括 10 万元)的采购单
13、,董事长可以审批 1050 万元(不包括 50 万元)的采购单,50 万元及以上的采购单就需要开会讨论决定。采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图 6-1 所示。(分数:14.98)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_中级软件设计师下午试题-118 答案解析(总分:78.96,做题时间:90 分钟)一、试题一(总题数:1,分数:4.00)说明某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1每门课程都由 3 到 6 个
14、单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。2学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。3在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。4对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在
15、教务处没有给出具体处理意见之前,系统不会处理这些成绩。5若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。6在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。7根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。现采用结构化方法对这个系统进行分析与设计
16、,得到如图 1-1 所示的顶层数据流图和图 1-2 所示的 0 层数据流图。(分数:4.00)(1).使用说明中的词语,给出图 1-1 中的外部实体 E1E4 的名称。(分数:1.00)_正确答案:(E1:考试委员会;E2:主讲教师;E3:学生或选课学生;E4:教务处)解析:(2).使用说明中的词语,给出图 1-2 电的数据存储 D1D5 的名称。*起点 终点(分数:1.00)_正确答案:(D1:学生信息文件;D2:课程单元信息文件;D3:课程信息文件;D4:课程成绩文件;D5:无效成绩文件注:D2 和 D3 的答案可以互换。)解析:(3).数据流图 1-2 缺少了三条数据流,根据说明及数据流
17、图 1-1 提供的信息,分别指出这三条数据流的起点和终点。(分数:1.00)_正确答案:(起点:D4 或课程成绩文件 终点:4 或生成成绩列表起点:D1 或学生信息文件 终点:5 或生成最终成绩单起点:4 或生成成绩列表 终点:5 或生成最终成绩单)解析:(4).数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。(分数:1.00)_正确答案:(程序流程图通常在进行详细设计时使用,用来描述程序的逻辑结构。)解析:解析 本题考查的是 DFD 的应用,属于比较传统的题目,考查点也与往年类似。
18、问题 1外部实体是在系统边界之外的个人和组织,它提供数据,或者接受数据输出。根据主要功能描述:“学生成绩均由每门课程的主讲教师上传给成绩管理系统”,所以主讲教师是一个外部实体,根据顶层流程图,得知 E2 处应填“主讲教师”;“对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处”、“成绩已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。”在这里“教务处”是一个外部实体,应填在 E4 处。“根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。”在这里考试委员会是一个外部实体
19、,应填在 E1 处;“对于所有通过审查的成绩,系统将生成最终的成绩单,并通知每个选课学生。”在这里“选课学生”是一个外部实体,应填在 E3 处。问题 2数据存储是保存数据的地方,将来一个或者多个过程会访问这些数据。根据 0 层数据流图,在“验证学生信息”处有 3 个数据输入,根据“在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。”得知由学生信息文件、课程单元信息文
20、件、课程信息文件共 3 个文件帮助验证:在“生成成绩列表”处也要利用到 D1 文件,现已输入了成绩审查结果、核对后的成绩报告,只缺“学生信息文件”,所以 D1 处应填“学生信息文件”;D2 和 D3 处分别填“课程单元信息文件”和“课程信息文件”。D4 是“记录有效成绩”的一个输出文件,根据“对于有效成绩,系统将其保存在课程成绩文件中。”知 D4 处应填“课程成绩文件”;D5 处应填“无效成绩文件”。问题 3在 0 层数据流图中的“4 生成成绩列表”处没有课程成绩文件输入,不可能生成成绩列表。所以在此处缺少一条从“D4 课程成绩文件”到“4 生成成绩列表”的数据流。“5 生成最终成绩单”没有任
21、何输入,不符合数据输入输出平衡,根据“根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单”,所以应根据“学生信息文件”和“生成成绩列表”才能生成最终成绩单,所以还应补充从“D1 学生信息文件”到“5 生成最终成绩单”的数据流和“4 生成成绩列表”到“5生成最终成绩单”的数据流。问题 4程序流程图通常在进行详细设计时使用,用来描述程序的逻辑结构(功能需求)。二、试题二(总题数:1,分数:15.00)说明某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需
22、求及设计如下:1医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。2患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如表 21 所示,其中,就诊类型为医师的出诊类型。3患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(如表 2-2 所示),并生成门诊处方单(如表 2-3 所示 1。4由于药品价格会发生变化,因此,门诊管理系统必须记录处方单上药品的单价。根据需
23、求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图 2-1 所示。(1)实体联系图(分数:15.00)(1).根据问题描述,填写图 2-1 实体联系图中(1)(4)处联系的类型。(分数:5.00)_正确答案:(1) 1 (2) *,或,7,或 m (3) *,或 n,或 m (4) *,或 n,或 m)解析:(2).图 2-1 中还缺少几个联系?请指出每个联系两端的实体名,格式如下:实体 1:实体 2例如,收银员与门诊处方之问存在联系,表示为:收银员:门诊处方或门诊处方:收银员(分数:5.00)_正确答案:(缺少的联系数:3挂号单:收银员;挂号单:医师;挂号单:门诊处方)解析:(3).
24、根据实体联系图 2-1,填写挂号单、门诊处方、处方明细和药品库关系模式中的空(5)(8)处,并指出挂号单、门诊处方和处方明细关系模式的主键。(分数:5.00)_正确答案:(5) 收银员;(6) 就诊号;(7) 药品编码,数量,单价;(8) 类型,库存,货架编号,单位,价格,单价;挂号单主键:就诊号;门诊处方主键:就诊号;处方明细主键:就诊号、药品编码)解析:解析 本题是一道数据库设计题,该类型的提问形式比较固定,在软设设计师考试下午题中是比较好得分的。问题 1该问题是求实体问的联系,这类问题主要通过“生活常识”+“系统描述”解题。由于一名医生在不同时间段可以给多个病人看病,也就可以开多张门诊处
25、方,而一张门诊处方由一名医生开出。所以对于医生实体与门诊处方实体之间的联系“开处方”,其联系的类型为一对多(1:n)。所以第(1)空的答案为 1,第(2)空的答案为 n。由于一张门诊处方包含多种库存中的药品(如“XX 医院门诊处方单”表所示),一种库存中的药品也可以在多张门诊处方中。所以该联系的类型为多对(m:n)。(3)空和(4)空均应填写:n。问题 2根据“xx 医院门诊挂号单”可以看出,挂号单由收银员进行收费,同时收银员的编号记录到了该挂号单中,因此挂号单实体与收银员实体之间存在联系挂号单:收银员。病人挂某个医师的号,将挂号信息记录在挂号单实体中,因此挂号单实体与医师实体之间存在联系挂号
26、单:医师。收银员根据挂号单和医师的手写处方生成门诊处方,所以挂号单实体与门诊处方实体之间存在联系挂号单:门诊处方。问题 3本题考查将 E-R 模型转换为关系模式。在此转化过程中,每一个实体转成一个关系模式,对于联系的转换,相对比较复杂。可单独转为关系模式,也可以将其并入实体关系模式中(注意:多对多的联系只能单独转成一个关系模式,且该关系模式的主键为各个与之关联实体主键的组合)。所以一个关系模式的属性有两类,一类是实体本身具备的属性,另一类是为了保存实体与实体之间联系而记录的属性。下面将根据实体及与之相关的联系类型结合系统说明来分析。(1) 对于“挂号单”关系模式,由于挂号单与收银员实体有联系,
27、且它们之间的联系没有单独转成关系模式,所以需要在“挂号单”关系模式中记录对应的收银员,因此,“挂号单”关系模式需补充属性为“收银员”。(2) 从“XX 医院门诊处方单”可以得知“门诊处方”关系模式应具有的信息。但在此需要注意的是,哪些信息是“门诊处方”关系模式应直接存储的,哪些信息是可以通过查询从其他关系模式获取的。结合题目可知该关系就缺“就诊号”,若补充“就诊号”,则其他信息可通过“明细”、“收费”、“挂号门珍联系”、“开处方”等联系查询出来。(3) 由于多张门诊处方中包含多项药品信息,而一种药品也可以属于多张门诊处方,所以通过“处方明细”关系模式来表示这种多对多的联系。并且由于每种药品的具
28、体信息已经在“药品库存”关系模式中记录,所以,“处方明细”关系模式主要记录的是门诊处方与药品的对应关系和处方所需药品的具体数量。并且,根据题目描述,由于药品价格会发生变化,门诊管理系统必须记录处方单上药品的当前单价。因此,“药品库存”关系模式补充属性:药品编号,数量,单价。其中就诊号和药品编号一起作为主键。(4) “药品库存”关系模式主要记录药品的详细信息和库存信息,“药品库”表中已经说明需要记录的信息,所以应补充属性:类型,库存,货架编号,单位,规格,单价。综上所述,挂号单与门诊处方主键均为“就诊号”。而处方明细是一个多对多的联系,它的主键应为与之关联的实体主键之组合,即:(就诊号,药品编码
29、)。三、试题三(总题数:1,分数:15.00)说明已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。关于唱片,还有以下描述信息:1每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由 2 名或 2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。2每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。3
30、每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表 3-1 所示的类列表、如图 3-1 所示的初始类图以及如图 3-2 所示的描述播放器行为的 UML 状态图。(分数:15.00)(1).根据说明中的描述,使用表 3-1 给出的类的名称,给出图 3-1 中的 AF 所对应的类。(分数:3.75)_正确答案:(A:Artist B:Song C:Band D:Musician E:Track F:Album)解析:(2).根
31、据说明中的描述,给出图 3-1 中(1)(6)处的多重度。(分数:3.75)_正确答案:(1)0* (2) 2* (3) 01 (4) 1* (5) 1* (6) 1)解析:(3).图 3-1 中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。类 多重度(分数:3.75)_正确答案:(类:Track 多重度:01 类:Track 多重度:01)解析:(4).根据图 3-2 所示的播放器行为 UML 状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。(分数:3.75)_正确答案:(按任意键,选择歌曲)解析:解析 本道题主要是考查学生对 UM
32、L 统一建模语言的类图、状态图的掌握。问题 1根据“每首歌曲的捕述信息包括:歌曲的名字、谱写这首歌曲的艺术家。”和图中类 A 与类 B 之间约束为“编写”“演奏”,所以类 A 与类 B 只能是艺术家和歌曲,又根据图上的标示的关联关系(1,0*),可以确定类 A 为艺术家(Artist);类 B 为歌曲(Song)。类 B 与类 E 之间是聚集关系,根据题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,可以得到类 E 为:音轨(Track_)。接下来看,类 E 与类 F 之间存在组成关系,根据“每张唱片由多条音轨构成”,得到类 F 为唱片(Album)。再来看类 C 和类 D,
33、它们与类 A 存在“泛化”关系,根据“艺术家可能是一名歌手或一支由 2 名或 2 名以上的歌手所组成的乐队。”可知,类 C 与类 D 为歌手和乐队,又因为类 C 与类 D 存在聚集关系,根据题中“一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”可知,类 C 为乐队(Band),类 D 为歌手(Musician)。问题 2由第一问可知,类 C 为乐队,类 D 为歌手,题中“一支由 2 名或 2 名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”。则第(1)空处是 0*;第(2)空处是2*。类 B 与类 E 存在聚集关系,题中“一条音轨中只包含一首歌曲或为空,一
34、首歌曲可分布在多条音轨上”,所以第(3)空为 01,第(4)空为 1*。类 E 与类 F 存在泛化关系,题中“每张唱片由多条音轨构成”,所以第(5)空为:1*,第(6)空为:1。问题 3考查的是类/对象关联中的一种特殊关联:递归关联,它描述的是同一个类的不同实例之间的关系。而类 Track 的不同实例之间恰好具有这种关系(因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么)。所以缺少的那条联系的两端都是类 Track,其多重度都为 01。下限为 0,是对应不存在上一条或下一条音轨的情况。问题 4状态图是描述系统动态行为的一种模型。这里状态图的考查仅限于能够理解它所描述
35、的行为。状态图由状态及状态之间的迁移构成,迁移可以由相关的事件触发。问题 4 给定了两个状态“关闭”和“播放”,要求找出从“关闭”到“播放”的最短事件序列。这就要求我们能够在状态图上找到连接这两个状态的最短迁移,然后将迁移上的事件记录下来就可以了。从“关闭”状态到“播放”状态可以选择经过迁移“连接电脑”到达“联机”状态,再经过迁移“断开状态”到达状态“打开”,再从“打开”状态的初始状态“歌曲待选”,经过迁移“选择歌曲”到达“播放状态”。这样经过的事件序列为:连接电脑电量饱和/完成复制断开连接选择歌曲。显然这样的事件序列远比“关闭”经过“按任意键”直接到达“打开”状态要长得多。所以从“关闭”到“
36、播放”的最短事件序列是:按任意键,选择歌曲。四、试题四(总题数:1,分数:15.00)说明在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗地的过程中,仅能容忍一定范围的信号衰减,称为容忍值。分布网络可表示为一个树型结构,如图4-1 所示。信号源是树根,树中的每个节点(除了根)表示一个可以放置放大器的子节点,其中某些节点同时也是信号消耗点,信号从一个节点流向其子节点。每个节点有一个 d 值,表示从其父节点到该节点的信号衰减量。例如,在图 4-1 中,节点
37、 w、p、q 的 d 值分别为 2、1、3,树根节点表示信号源,其 d 值为 0。每个节点有一个 M 值,表示从该节点出发到其所有叶子的信号衰减量的最大值。显然,叶子节点的 M 值为0。对于非叶子 j,M(j)=maxM(k)+d(k)|k 是 j 孩子节点,在此公式中,要计算节点的 M 值,必须先算出其所有子节点的 M 值。在计算 M 值的过程中,对于某个节点 i,其有一个子节点 k 满足 d(k)+M(k)大于容忍值,则应在 k 处放置放大器,否则,从节点 i 到某叶子节点的信号衰减量会超过容忍值,使得到达该叶子节点时信号不可用,而在节点 i 处放置放大器并不能解决到达叶子节点的信号衰减问
38、题。例如,在图 4-1 中,从节点 p 到其所有叶子节点的最大衰减值为 4。若容忍值为 3,则必须在 s 处放置信号放大器,这样可使得节点 p 的 M 值为 2。同样,需要在节点 q、v 处放置信号放大器,如图 4-2 阴影节点所示。若在某节点放置了信号放大器,则从该节点输出的信号源输出的信号等价。(分数:15.00)填空项 1:_ (正确答案:root)解析:填空项 1:_ (正确答案:root-childptr0)解析:填空项 1:_ (正确答案:root-childptri)解析:填空项 1:_ (正确答案:placeBoosters(p))解析:填空项 1:_ (正确答案:degrad
39、ation)解析:解析 本题考查数据结构中树的基本操作。题目说明部分对树的结构,以及程序的目的有比较明确的说明。本程序的功能是在合适的位置安放信号放大器。通过对题目说明部分的分析可以得知放置信号放大器的原则是判断当前节点的 di+Mi是否大于容忍值。若大于,则在 i 处设信号放大器。如:对于节点 s,ds=2,Ms=2,ds+Ms=4,此时容忍值为 3,则 ds+Ms3。需要在此放置一个信号放大器。但在题目中,节点的 M 值是未提供的,所以程序应完成两个操作,第一个是求出节点的 M 值,第二个是确定当前节点是否需要加信号放大器。下面进行具体的代码分析:第(1)空是一个判断条件,当条件成立时,才
40、能进入程序主体。这一空非常容易,在对树进行操作的过程中,只有当前节点不为空节点时才有必要进行相应的操作,所以此处应填:root。通过对程序主体进行分析可知,指针 p 用于指向子节点,其初始值应为第一个子节点“childptr0”的指针,因此第(2)空应填 root-childptr0,此后 p 依次指向下一个子节点。因此第(3)空处应填:root-childptri。第(4)空是关键的一步,由于“要计算节点的 M 值,必须先算出其所有子节点的 M 值”,所以需要用到递归,利用递归来计算子节点的 M 值,故此处填:placeBoosters(p)。第(5)空非常容易,是将已求得的 M 值,存入当
41、前节点的 root-M 中,由于程序中计算出来的 M 记录在degradation 中,所以此处填:degradation。五、试题五(总题数:1,分数:15.00)说明已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批 5 万元以下(不包括 5 万元)的采购单,副董事长可以审批 5 万元至 10 万元(不包括 10 万元)的采购单,董事长可以审批 10 万元至 50 万元(不包括 50 万元)的采购单,50 万元及以上的采购单就需要开会讨论决定。采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图 5-1 所示。(分数:14.98)填空项 1:_ (正确答案:ProcessRequest(aReqtrest))解析:填空项 1:_ (正确答案:Approver*)解析:填空项 1:_ (正确答案:Approver:)解析:填空项 1:_