2022年软考-软件设计师考试名师点拨押题密卷30(含答案详解)

上传人:住在****他 文档编号:101358124 上传时间:2022-06-04 格式:DOCX 页数:28 大小:757.18KB
返回 下载 相关 举报
2022年软考-软件设计师考试名师点拨押题密卷30(含答案详解)_第1页
第1页 / 共28页
2022年软考-软件设计师考试名师点拨押题密卷30(含答案详解)_第2页
第2页 / 共28页
2022年软考-软件设计师考试名师点拨押题密卷30(含答案详解)_第3页
第3页 / 共28页
点击查看更多>>
资源描述
2022年软考-软件设计师考试名师点拨押题密卷(含答案详解)1. 单选题某销售公司员工关系E(工号、姓名、部门名、电话、住址),商品关系C(商品号、商品名、库存数)和销售关系EC(工号、商品号、销售数、销售日期)。查询“销售部1”在2020年11月11日销售“HUWEI Mate40”商品的员工工号、姓名、部门名及其销售的商品名,销售数的关系代数表达式为1,2,3,7,8( ( ) ( ( ) ( ) ) )问题1选项A.3=销售部1(E)B.3=销售部1(C)C.3=销售部1(E)D.3=销售部1(C)问题2选项A.2,3(2=HUWEI Mate40 (C)B.1,2(2= HUWEI Mate40 (C)C.2,3(2=HUWEI Mate40 (EC)D.1,2(2=HUWEI Mate40 (EC)问题3选项A.4=2020年11月11日(C)B.3=2020年11月11日(C)C.4=2020年11月11日(EC)D.3=2020年11月11日(EC)【答案】第1题:C第2题:B第3题:C【解析】本题考查的是关系代数相关知识内容。本题看起来逻辑非常复杂,涉及到了3个关系表的联合使用,但结合选项来看,可以快速找到正确答案。首先对于第一空,选择的对象一定是表E或表C,而此时C是没有部门名的,因此筛选对象一定是表E,其次判断某个列的取值,需要用引号标注,排除错误格式A,本题选择的应该是C选项。接着对于第二空,选择的对象一定是表C或表EC,而此时EC是没有商品名的,因此筛选对象一定是表C,并且投影需要保留商品号和商品名,因此投影的列号是1和2,本题选择的应该是B选项。接着对于第二空,选择的对象一定是表C或表EC,而此时C是没有销售日期的,因此筛选对象一定是表EC,并且位于EC的第4列即列号为4,本题选择的应该是C选项。2. 单选题函数foo、hoo的含义如下所示,函数调用hoo(a,x)的两个参数分别采用引用调用(call by reference)和值调用(call by value)方式传递,则函数调用foo(5)的输出结果为( )。问题1选项A.2,5B.2,15C.13,5D.13,15【答案】C【解析】根据题干给出的信息,foo(5),在该函数中,初始情况x=5,a=2。调用hoo(a,x)函数,此时a=2传给hoo函数中的x,并且由于是引用方式,此时x在hoo函数内的修改会影响原a的值(注意区别,hoo函数的x与foo函数的x是不用的局部变量)。同时x=5传给hoo函数中的y,并且是值调用方式,此时y在hoo函数内的修改是不会影响原x的值。接着分析hoo()函数,x的初始值为2,y初始值为5。执行y=y+10=15,执行x=y-x=15-2=13,此时x的值会传回原foo函数的a,即a=x=13。返回foo函数进行分析,输出的a和x,取值分别为修改后的13和原数值5。本题选择C选项。3. 单选题面向对象分析时,执行的活动顺序通常是( )。问题1选项A.认定对象、组织对象、描述对象的相互作用、确定对象的操作B.认定对象、定义属性、组织对象、确定对象的操作C.认定对象、描述对象间的相互作用、确定对象的操作、识别包D.识别类及对象、识别关系、定义属性、确定对象的操作【答案】A【解析】本题考查面向对象分析的基本概念。面向对象分析包含5个活动:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。认定对象是指:在应用领域中,按自然存在的实体确立对象。在定义域中,首先将自然存在的“名词”作为一个对象,这通常是研究问题定义域实体的良好开始。通过实体间的关系寻找对象常常没有问题,而困难在于寻找(选择)系统关心的实质性对象。实质性对象是系统稳定性的基础。例如在银行应用系统中,实质性对象应包含客户账务、清算等,而门卫值班表不是实质性对象,甚至可不包含在该系统中。组织对象含义是:分析对象间的关系,将相关对象抽象成类,其目的是为了简化关联对象,利用类的继承性建立具有继承性层次的类结构。抽象类时可从对象间的操作或一个对象是另一个对象的一部分来考虑;如房子由门和窗构成,门和窗是房子类的子类。由对象抽象类,通过相关类的继承构造类层次,所以说系统的行为和信息间的分析过程是一种迭代表征过程。描述对象间的相互作用是:描述出各对象在应用系统中的关系。如一个对象是另一个对象的一部分,一个对象与其他对象间的通信关系等。这样可以完整地描述每个对象的环境,由一个对象解释另一个对象,以及一个对象如何生成另一个对象,最后得到对象的界面描述。最后定义对象的操作和内部信息。本题选择A选项。4. 单选题某企业信息系统采用分布式数据库系统。“当某一场地故障时, 系统可以使用其他场地上的副本而不至于使整个系统瘫痪”称为分布式数据库的( )。问题1选项A.共享性B.自治性C.可用性D.分布性【答案】C【解析】本题考查的是分布式数据库的基本概念。在分布式数据库系统中,共享性是指数据存储在不同的结点数据共享;自治性是指每个结点对本地数据都能独立管理;可用性是指当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪;分布性是指在不同场地上的存储。本题选择C选项。5. 单选题以下关于数据库两级映像的叙述中,正确的是( )。问题1选项A.模式/内模式映像实现了外模式到内模式之间的相互转换B.模式/内模式映像实现了概念模式到内模式之间的相互转换C.外模式/模式的映像实现了概念模式到内模式之间的相互转换D.外模式/内模式的映像实现了外模式到内模式之间的相互转换【答案】B【解析】本题考查数据库的基本概念。数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。 正因为这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。(1)模式/内模式的映像。存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。(2)外模式/模式的映像。存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。6. 单选题中断向量提供( )。问题1选项A.被选中设备的地址B.待传送数据的起始地址C.中断服务程序入口地址D.主程序的断点地址【答案】C【解析】属于输入输出技术的中断方式:中断向量表:中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号以后,由中断控制器确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。7. 单选题某表达式的语法树如下图所示,其后缀式(逆波兰式)是( )。问题1选项A.abcd-+*B.ab-c+d*C.abc-d*+D.ab-cd+*【答案】C【解析】本题考查的是后缀表达式(逆波兰式)相关知识。根据后缀表达式(逆波兰式)的定义,对图示的语法树做后序遍历即可,结果为abc-d*+,本题选择C选项。8. 单选题One is that of a software engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloud while the software is continually ( ).A software engineer creates computer programs for people to use based upon their security and function ability needs. A DevOps engineer also works on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side of a business. They create the software a business client needs and then monitor the performance of their software products to determine if up grades are necessary or if more serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software to smoothly function with automated processes. Both professions require knowledge of Computer programming languages.问题1选项A.focusB.processC.goalD.function问题2选项A.developingB.deployingC.trainingD.operational问题3选项A.developedB.functionalC.constructedD.secure问题4选项A.singleB.wholeC.continuousD.independent问题5选项A.developB.integrateC.analyseD.maintain【答案】第1题:A第2题:D第3题:B第4题:C第5题:B【解析】本题考查英语专业知识。译文:一个是软件工程师,另一个是DevOps工程师。最大的不同在于他们的关注点。软件工程师关注计算机软件如何满足客户的需求,而DevOps工程师关注的范围更广,包括软件开发、软件如何部署以及在软件持续运行时通过云提供操作支持。软件工程师根据人们的安全性和功能需求创建计算机程序供人们使用。DevOps工程师也处理计算机应用程序,但将构建、部署和操作作为一个连续的自动匹配过程进行管理。软件工程师通常与企业的运营部门分开工作。他们创建业务客户所需的软件,然后监控其软件产品的性能,以确定是否需要升级或是否需要更大的改进。DevOps工程师与业务的运营部门合作,并管理工作流,以集成软件,使其与自动化流程顺利运行。这两种职业都需要计算机编程语言的知识。选项翻译:A、focus 关注点 B、process 过程 C、goal 目标 D、function作用A、developing发展中的 B、deploying 使展开,部署 C、training 训练、培养 D、operational 操作的A、developed 先进的,发达的 B、functional 功能的 C、constructed 构件 D、secure 保护A、 single 单一的 B、 whole 完整的,全部的 C、continuous 连续的 D、independent 自主的,不相干的A、develop 发展 B、integrate 整合 C、analyse 分析 D、maintain 维持9. 单选题某有向图如下所示,从顶点v1出发对其进行深度优先遍历,可能得到的遍历序列是( ); 从顶点v1出发对其进行广度优先遍历,可能得到的遍历序列是( )。v1 v2 v3 v4 v5v1 v3 v4 v5 v2v1 v3 v2 v4 v5v1 v2 v4 v5 v3问题1选项A.B.C.D.问题2选项A.B.C.D.【答案】第1题:D第2题:B【解析】第1题:本题考查图的遍历操作。根据图示:第一空,作为深度遍历,v1-v2,下一个遍历的结点,一定是有v2指向的v4或v5,序列不符合要求。因此本题排除后,选择D选项。第二空,作为广度遍历,v1下一个访问的一定时期邻接顶点v2或v3,这2个顶点访问结束后,才能往后进行遍历,因此只有序列符合要求,此处选择B选项。第2题:10. 单选题当二叉数中的结点数目确定时,( )的高度一定是最小的。问题1选项A.二叉排序数B.完全二叉树C.线索二叉树D.最优二叉树【答案】B【解析】完全二叉树是让二叉树的每一层的结点都尽可能全满,除了最底层,此时树的高度一定是最小的。排序二叉树可能会得到单枝树,每一层只有1个结点,此时树的高度可能最大。线索二叉树与二叉树遍历序列相关,高度并没有确定性,最优二叉树与结点的权值相关,构成的树的高度也是不确定的。本题选择B选项。11. 单选题函数foo()、hoo()定义如下,调用函数hoo()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式。设有函数调(函数foo(5),那么print(x)”执行后输出的值为( )。问题1选项A.24B.25C.30D.36【答案】A【解析】本题考查的是函数调用过程(值调用与引用调用相关知识)。根据题干描述的调用过程,hoo()第一个参数是传值调用,第二个参数是引用调用,因此,在hoo()中对a的修改最终会影响到原foo()函数中传递的参数x,也就是最终x打印的值。根据hoo()函数过程,x初始传参为原args=5,此时x=x-1=4(注意这里的x是局部变量,只在hoo()使用),a初始传参为原x=6,此时a=a*x=6*4=24,最终全局变量x值为24。(注意这里的原x是全局变量,在hoo()参数中可以理解为别名为a,现x是局部变量,也就是之前求取的4)。本题选择A选项。12. 案例题阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如图6-1示例)中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现在采用组合(composite)设计模式实现层叠菜单,得到如图6-2所示的类图层叠菜单(如图6-1示例)暂缺 图6-2 类图import java.util.*;abstract class MenuComponent / 构成层叠菜单的元素(1) String name; / 菜单项或子菜单名称public viod printName() System.out.println(name); public (2) ;public abstract boolean removeMenuElement(MenuComponent element);public (3) ;class MenuItem extends MenuComponent public MenuItem(String name) this.name=name; public boolean addMenuElement(MemuComponent element) return false; public boolean removeMenuElement(MenuComponent element) return false; public List getElement() return null; class Menu extends MemuComponent private (4);public Menu(String name)this.name = name;this.elementList = new ArrayList;public boolean addMenuElement(MenuComponent element)return elementList.add(element);public boolean removeMenuElement(MenuComponent element)return elementList.remove(element);public List getElement() return elementList;class CompositeTest public static void main(String args) MenuComponent mainMenu = new Menu(“AB”); /此处字符不清晰,以“AB”代替原文MenuComponent subMenu = new Menu(“Chart”);MenuComponent element = new MenuItem(“On This Sheet”);(5);subMenu.addMenuElement(element);printMenus(mainMenu);private static void printMenus(MenuComponent ifile)ifile.printName();List children = ifile.getElement();if(children = null) return; /打印for(MenuComponent element; children)printMenus(element);【答案】(1)protected(2)abstract boolean addMenuElement(MemuComponent element)(3)abstract List getElement()(4)ArrayList elementList(5)mainMenu.addMenuElement(subMenu)【解析】本题是典型的组合模式应用。首先根据类图中name标注的为#(+表示public,-表示private,#表示protected),第(1)空对name的修饰应该是protected。然后根据抽象类和实现类的对应关系,可以补充第(2)(3)空,这两处缺失的方法根据下文代码进行补充,注意方法名必须用abstract修饰,并且注意抽象方法的写法没有具体方法体。其中第(2)空填写abstract boolean addMenuElement(MemuComponent element) ,第(3)空填写abstract List getElement()。第(4)空缺失了一个属性,此时根据下文的同名构造函数会发现,此处传参给了this.name以及this.elementList,name可以根据父类继承使用,而elementList需要定义,因此此处缺失的参数是elementList,类型根据后面的赋值类型进行定义,即第(4)空填写ArrayList elementList。第(5)空是对组合模式的应用拼装,根据下文可知打印需要调用mainMenu对象,而此时该对象是独立的,需要与其他菜单进行拼装,下文中subMenu拼装了element,此处需要将subMenu拼装到mainMenu,即第(5)空填写mainMenu.addMenuElement(subMenu)。13. 案例题阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某游戏公司欲开发一款吃金币游戏。游戏的背景为一种回廊式迷宫(Maze),在迷宫的不同位置上设置有墙。迷宫中有两种类型的机器人(Robots):小精灵(PacMan)和幽灵(Ghost)。游戏的目的就是控制小精灵在迷宫内游走,吞吃迷宫路径上的金币,且不能被幽灵抓到。幽灵在迷宫中游走,并会吃掉遇到的小精灵。机器人游走时,以单位距离的倍数计算游走路径的长度。当迷宫中至少存在一个小精灵和一个幽灵时,游戏开始。机器人上有两种传感器,使机器人具有一定的感知能力。这两种传感器分别是:(1)前向传感器(FrontSensor),探测在机器人当前位置的左边、右边和前方是否有墙(机器人遇到墙时,必须改变游走方向)。机器人根据前向传感器的探测结果,决定朝哪个方向运动。(2)近距离传感器(ProxiSesor),探测在机器人的视线范围内(正前方)是否存在隐藏的金币或幽灵。近距离传感器并不报告探测到的对象是否正在移动以及朝哪个方向移动。但是如果近距离传感器的连续两次探测结果表明被探测对象处于不同的位置,则可以推导出该对象在移动。另外,每个机器人都设置有一个计时器(Timer),用于支持执行预先定义好的定时事件。机器人的动作包括:原地向左或向右旋转90;向前或向后移动。建立迷宫:用户可以使用编辑器(Editor) 编写迷宫文件,建立用户自定义的迷宫。将迷宫文件导入游戏系统建立用户自定义的迷宫现采用面对对象分析与设计方法开发该游戏,得到如图3-1所示的用例图以及图3-2所示的初始类图。【问题1】(3分)根据说明中的描述,给出图3-1中U1U3所对应的用例名。【问题2】(4分)图3-1中用例U1U3分别与哪个(哪些)用例之间有关系,是何种关系?【问题3】(8分)根据说明中的描述,给出图3-2中C1C8所对应的类名。【答案】【问题1】(3分)U1 编写迷宫文件; U2导入迷宫文件;U3 设置计时器【问题2】(4分)U1和U2与建立迷宫用例是泛化关系;U3与操作机器人是包含关系【问题3】(8分)C1 机器人(Robots);C2 计时器(Timer);C3小精灵(PacMan); C4幽灵(Ghost) C5 传感器(Sensor) C6 前向传感器(FrontSensor) C7 近距离传感器(ProxiSesor) C8 迷宫(Maze)其中C3与C4可换;C6与C7可换【解析】问题1:补充对应的用例。用例的组成应该是动词+名词的形式。根据题干的描述和对应的用例的指向,可知U1是与建立迷宫有关系的用例,U3是与操纵机器人有关系的用例,U2是介于两者之间的用例。用例图描述的是对于用例的所有操作。对于整个吃金币的游戏而言,首先要建立相应的迷宫,以供机器人(小精灵和幽灵)进入,其次操纵机器人走对应的线路;再结合题干而言,属于该游戏内部的操作应该还有:设置有一个计时器(Timer),用来定时机器人;用户可以使用编辑器(Editor) 编写迷宫文件,用来构造出迷宫;然后将迷宫文件导入游戏,系统建立用户自定义的迷宫,用来自定义迷宫。对于U1而言与迷宫有关的用例,应该是构造迷宫的,编辑器编写迷宫文件用例;对于U2则是导入迷宫文件的过程。而对于U3与操作机器人有关的用例,应该是定时机器人的设置计时器用例。问题2:根据对应的用例图,判断其关系,结合上文给出的用例,可知:U1与U2建立迷宫是泛化关系,也可以根据题干描述,在建立迷宫里面包含这些操作;U3与操作机器人是包含关系,在开始操作机器人之间应该先设置定时器。问题3:补充对应类图的类,类的组成应该是名词形式,用英文进行表示。找出题干中的名词,然后结合对应的关系,可以看到C1与C3、C4是泛化关系,C5与C6、C7是泛化关系,其中C5又与C1是组合关系,C1是整体,C5是部分,生命周期相同。可得C1机器人(Robos),C5是传感器,C3、C4是小精灵(PacMan)和幽灵(Ghost),可以互换顺序;C6和C7是 前向传感器(FrontSensor)和 近距离传感器(ProxiSesor),可以互换顺序。C8是跟C1机器人有聚合关系的,C8是整体,C1是部分,生命周期不同,并且与编辑器(Editor) 有关,得出C8应该为迷宫(Maze);C2也与C1为组合关系,C1是整体,C2是部分,生命周期相同。得出C2应该是计时器(Timer)14. 单选题某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entry发生时,( )。 其中,tries问题1选项A.保持在Logging in状态B.若tries问题2选项A.状态B.转换C.监护条件D.转换后效果问题3选项A.状态B.转换C.转换后效果D.监护条件【答案】第1题:B第2题:C第3题:B【解析】本题考查UML状态图的问题。通过状态图图示可知,假设活动状态是Logging in,那么当Valid Entry发生时,当限制条件【tries=3】会到达Logging Denied状态,当限制条件【tries3】Logged in状态。针对于第一问的描述,仅有B符合状态图的表示。tries3和tries+ +分别表示监护条件和转换,带有【】表示限制条件,没带【】的具体操作表示一个状态到另外一个状态的转换。15. 案例题回答问题1至问题4,将解答填入答题纸的对应栏内【说明】某汽车维修公司为了便于管理车辆的维修情况,拟开发一套汽车维修管理系统,请根据下述需求描述完成该系统的数据库设计。【需求描述】(1)客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。客户性质有个人或单位。客户号唯一标识客户关系中的每一个元组。(2)车辆信息包括:车牌号、车型、颜色和车辆类别。一个客户至少有一辆车,一辆车只属于一个客户。(3)员工信息包括:员工号、员工名、岗位、电话、家庭住址。其中,员工号唯一标识员工关系中的每一个元组。岗位有业务员、维修工、主管。业务员根据车辆的故障情况填写维修单。(4)部门信息包括:部门号、名称、主管和电话,其中部门号唯一确定部门关系的每一个元组。每个部门只有一名主管,但每个部门有多名员工,每名员工只属于一个部门。(5)维修单信息包括:维修单号、车牌号、维修内容、工时。维修单号唯一标识维修单关系中的每一个元组。一个维修工可接多张维修单,但一张维修单只对应一个维修工。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示【逻辑结构设计】根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):客户(客户号,客户名,(a),折扣率,联系人,联系电话)车辆(车牌号,(b),车型,颜色,车辆类别)员工(员工号,员工名,岗位,(c),电话,家庭住址)部门(部门号,名称,主管,电话)维修单(维修单号,(d),维修内容,工时)【问题1】(6分)根据问题描述,补充3个联系,完善图2-1的实体联系图。联系名可用联系1、联系2和联系3代替,联系的类型为1:1、1:n和m:n(或1:1、1:*和*.*)。【问题2】(4分)根据题意,将关系模式中的空(a)(d)的属性补充完整,并填入答题纸对应的位置上。【问题3】(2分)分别给出车辆关系和维修单关系的主键与外键。【问题4】(3分)如果一张维修单涉及多项维修内容,需要多个维修工来处理,那么哪个联系类型会发生何种变化?你认为应该如何解决这一问题?【答案】【问题1】(6分)联系1:客户和车辆:1:n联系2:部门和员工:1:n联系3:维修工和维修单:1:n【问题2】(4分)a:客户性质 b:客户号c:部门号d:车牌号,员工号【问题3】(2分)车辆关系的主键:车辆号 外键:客户号维修单关系的主键:维修单号 外键:车牌号,员工号【问题4】(3分)维修工和维修单之间的联系类型会发生变化,从1:n变成m:n。对应的需要增加维修关系,m:n需要不能归并,需要将其单独加入一个联系中,将维修单的属性员工号(维修工)删掉,新建一个关系模式维修。维修(员工号(维修工),维修单号,维修地点,维修时间)【解析】问题1:补充实体联系图,根据题干描述,进行补充。根据题干描述:“一个客户至少有一辆车,一辆车只属于一个客户”,可知客户与车辆的联系为客户和车辆:1:n;根据“但每个部门有多名员工,每名员工只属于一个部门。”得知部门与员工的联系为部门和员工:1:n;根据“一个维修工可接多张维修单,但一张维修单只对应一个维修工。”维修工与维修单的联系为维修工和维修单:1:n。问题2:补充相关关系的属性。结合E-R转换为关系模式的三种原则和题干补充关系属性。a空,根据题干描述“客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。”,可知缺失属性客户性质,由于其与车辆为1:n,没有相对应的归并过程,应该将1端的主键客户号加入到车辆关系中。所以a空填写客户性质;b空,根据题干描述“车辆信息包括:车牌号、车型、颜色和车辆类别”,与关系模式对比,没有缺少,缺失的应该是上方提到的将1端的主键客户号加入到车辆关系中,所以b空应该填写车辆号;c空,根据题干描述“员工信息包括:员工号、员工名、岗位、电话、家庭住址。”与关系模式相比,没有缺失,根据第一问得知,存在部门与员工的1:n关系,应该将部门的主键部门号归并到员工信息中,故c空应该填写部门号;d空,根据题干描述“维修单信息包括:维修单号、车牌号、维修内容、工时。”对比发现缺失车牌号属性,其次在问题1中提到维修工和维修单存在1:n的联系,应该将维修工的主键归并到维修单信息中,可以填写维修工,员工号,或维修员工号都可以。d空填写车牌号,员工号。问题3:找出对应的主外键,结合E-R转换为关系模式的三种原则和题干给出的信息找出主、外键。对于车辆关系而言,主键应该应该为多端车牌号,车牌号唯一标识主键。外键为归并过来的客户主键客户号。对于维修单关系而言,主键应该为唯一标识的维修单号,外键为归并过来的车牌号和员工号。问题4:如果一张维修单涉及多项维修内容,需要多个维修工来处理,应该将前面维修单与维修工的比值1:n变成m:n,对应的需要增加维修关系,m:n需要不能归并,需要将其单独加入一个联系中,将维修单的属性员工号(维修工)删掉,新建一个关系模式维修。维修(员工号(维修工),维修单号,维修地点,维修时间)16. 单选题在求解某问题时,经过分析发现该问题具有最优子结构和重叠子问题性质。则适用( )算法设计策略得到最优解。若了解问题的解空间,并以广度优先的方式搜索解空间,则采用的是( )算法策略。问题1选项A.分治B.贪心C.动态规则D.回溯问题2选项A.动态规则B.贪心C.回溯D.分支限界【答案】第1题:C第2题:D【解析】要想直接解决一个较大的问题,有时是相当困难的,分治法的设计思想是将一个难以解决的大问题分解成一些规模较小的相同问题,以便各个击破,分而治之。动态规划法与分治法类似,其基本思想也是将带求解问题分解为若干个子问题,先求解子问题再从这些子问题的解得到原问题的解。与分治法不同的是,适合用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。此时用一个中间表记录重复子问题的解,可以避免大量的重复计算。这就是动态规划法的基本思路。动态规划法的应用场景一般会出现“最优子结构”的描述,并且针对重复子问题的计算通过记录-查表,可以提高效率。本题第一空描述的是C选项动态规划法。贪心法也经常用于解决最优化问题,与之不同的是,贪心法在解决问题的策略上是仅根据当前已有的信息做出选择,而且一旦做出选择,无论未来如何都不会改变。也就是只考虑当前最优,不考虑全局最优。一般不涉及划分和求解重复子问题。回溯法可以系统地搜索一个问题的所有解或任意解。它在包含问题的解空间树中,按照深度优先的策略的策略,从根结点出发搜索解空间树。分支限界法类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法,但在一般情况下,分支限界法与回溯法的求解目标不同。分支限界法的求解目标是找出满足约束条件的一个解即可。由于求解目标不同,其探索方式与回溯法也不同,分支限界法以广度优先或以最小耗费优先的方式搜索解空间树。本题第二空描述的是D选项分支限界法。17. 单选题页面的标记对中( )用于表示网页代码的起始和终止。问题1选项A.B.C.D.【答案】A【解析】考查关于html相关知识。标签限定了文档的开始点和结束点,在它们之间是文档的头部和主体。标签就是我们常说的头部标签,在与之间是用来存放一个文档的头部元素的主体标签,body 元素定义文档的主体。 标签位于文档的头部,不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。 18. 单选题某搜索引擎在交付后,开发人员修改了其中的索引方法,使得用户可以更快地得到搜索结果。这种修改属于( )维护问题1选项A.正确性B.适应性C.完善性D.预防性【答案】C【解析】在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下四种:(1)改正性维护。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就称为改正性维护。(2)适应性维护。在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就称为适应性维护。(3)完善性维护。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为完善性维护。更快地得到搜索结果,即提升了搜索引擎的性能,扩充功能或提升性能是完善性维护的工作,本题选择C选项。(4)预防性维护。这是指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护可定义为“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。19. 案例题阅读下列说明和Java代码,将应填入(n) 处的字句写在答 题纸的对应栏内。【说明】在线支付是电子商务的一一个重要环节,不同的电子商务平台提供了不同的支付接口。现在需要整合不同电子商务平台的支付接口,使得客户在不同平台上购物时,不需要关心具体的支付接口。拟采用中介者(Mediator) 设计模式来实现该需求,所设计的类图如图6-1所示。【Java代码】【答案】(1) void buy(double money, WebService service)(2) WebServiceMediator(3) abstract void buyService(double money)(4) mediator.buy(money, this)(5) mediator.buy(money, this)【解析】(1)空是属于接口WebServiceMeditor内的方法,我们可以通过下文的实现类中找到ConcreteServiceMeditor可知缺少了一个buy()方法故第一空填写void buy(double money, WebService service);(2)空类WebService中属性的参数类型,Colleague与Mediator之间的关联关系由属性meditor实现,所以第2空应该填写WebServiceMediator;(3)空类WebService中的抽象方法,根据其具体子类可以看到缺少的是buyService方法,书写成 abstract void buyService(double money);(4)空和(5)空具体同事类Amazon、Ebay与中介者的通信,调用中介者之间的支付接口,所以空(4)和(5)都填写mediator.buy(money, this)。20. 单选题喷泉模型是一种适合于面向( )开发方法的软件过程模型。该过程模型的特点不包括( )。问题1选项A.对象B.数据C.数据流D.事件问题2选项A.以用户需求为动力B.支持软件重用C.具有迭代性D.开发活动之间存在明显的界限【答案】第1题:A第2题:D【解析】第1题:本题考查软件工程开发模型的特点。喷泉模型是面向对象的开发模型。特点是:迭代无间隙,以用户需求为动力。所以正确答案为A,D。第2题:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!