2013年下半年系统架构设计师答案解析详解.docx
,2013年软考试题某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构,如果物理页的大小为512字节,那么进程A逻辑地址为1111(十进制)的变量存放在(1)号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页8,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填(2)。(1)A.9B.2C.4D.6(2)A.4、5B.5、 4C.5、 8D.8、8【答案】C D【解析】本题考查操作系统存储管理方面的基础知识。(1)物理页的大小为512字节,进程A逻辑地址为1111的变量的逻辑页号为2,对应的物理页号为4。(2)根据题意进程A的逻辑页4与进程B的逻辑页5要共享的物理页8,那么应该在进程A页表的逻辑页4对应的物理页处填8,进程B页表的逻辑页5对应的物理页处也填8。进程P1、P2、P3和P4的前趋图如下所示:若用PV操作控制进程P1P4并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1S5的初值都等于0。下图中a、b和c处应分别填写(3)d、e和f处应分别填写(4)。(3)A.V(S1)V(S2)、P(S1)V(S3)和V(S4)B.P(S1)V(S2)、P(S1)P(S2)和V(S1)C.V(S1)V(S2)、P(S1)P(S3)和V(S4)D.P(S1)P(S2)、V(S1)P(S3)和V(S2)(4)A.P(S2)、V(S3)V(S5)和P(S4)P(S5)B.V(S2)、P(S3)V(S5)和V(S4)P(S5) C.P(S2)、V(S3)P(S5)和P(S4)V(S5)D.V(S2)、V(S3)P(S5)和P(S4)V(S5)【答案】C A【解析】本题考查PV操作方面的基本知识。因为P1是P2和P3的前驱,当P1执行完需通知P2和P3,应采用V(S.l)V(S2)操作分别通知P2和P3,故a处应填写V(S1)V(S2);又因为P2是P1和P3的后继,当P2执行前应测试P1和P3是否执行完,应采用P(S1)P(S3)操作测试P1和P3是否执行完,故b处应填写P(S1)P(S3);同理,P2是P4的前驱,当P2执行完应通知P4,应采用V(S4)操作分别通知P4,故c处应填写V(S4)。因为P3是P1的后继,当P3执行前应测试P1是否执行完,应采用I_(S2)操作测试P1是否执行完,故d处应填写P(S2);又因为P3是P2和P4的前驱,当P3执行完应通知P2和P4,应采用V(S3)V(S5)操作通知P5,故e处应填写V(S3)V(S5);P4是P2和P3的后继,当P4执行前应测试P2和P3是否执行完,应采用P(S4)P(S5)操作测试P2和P3是否执行完,故f处应填写P(S4)P(S5)。假设关系模式R(U,F),属性集U=A,B,C,函数依赖集F=AB,BC。若将其分解为p=Rl(U1,F1),R2(U2,F2),其中U1=A,B,U2=A,C。那么,关系模式R、R1、R2分别达到了(5);分解D(6)。(5)A.1NF、2NF、3NFB.INF、3NF、3NFC.2NF、2NF、3NF D.2NF、3NF、3NF(6)A.有损连接但保持函数依赖B.既无损连接又保持函数依赖 C.有损连接且不保持函数依赖D.无损连接但不保持函数依赖【答案】D B【解析】本题考查关系数据库方面的基本知识。(5)由关系模式R的函数依赖集F=AB,BC可以得出AC,存在传递依赖,但不存在非主属性对码的部分函数依赖,故R为2NF。又由于分解后的关系模式R1的函数依赖集F1=AB,关系模式R2的函数依赖集F2=AC,因此R1、R2分别达到了3NF。(6)因为F=F1F2,所以分解p保持函数依赖。又由于关系模式R(U,F)的一个分解p=R1(U1,F1),R2(U2,F2)具有无损连接的充分必要的条件是:U1U2U1-U2F+或U1U2U2-U1F+。分解p是否无损连接分析如下:ABAC=A,AB-AC=B,AC-AB=CABF+,ACF+根据无损连接的充分必要的条件可知p为无损连接。给定员工关系EMP(EmpID,Ename,sex,age,tel,DepID),其属性含义分别为:员工号、姓名、性别、年龄、电话、部门号;部门关系DEP(DepID,Dname,Dtel,DEmpID),其属性含义分别为:部门号、部门名、电话,负责人号。若要求DepID参照部门关系DEP的主码DepID,则可以在定义EMP时用(7)进行约束。 若要査询开发部的负责人姓名、年龄,则正确的关系代数表达式为(8)。(7)A.Primary Key (DepID) On DEP (DepID)B.Primary Key (DepID) On EMP (DepID) C.Foreign Key (DepID) References DEP (DepID)D.Foreign Key (DepID) References EMP (DepID)(8)A.2,4(8开发部(EMPDEP )B.2,4(1=9(EMP 2=开发部 DEP) C.2,3(EMP2=开发部(DEP)D.2,3(1,2,4,6(EMP )2=开发部(DEP)【答案】C B【解析】本题考查关系代数运算方面的基础知识。(7)员工关系中的DepID是一个外键,为了保证数据的正确性,通过参照完整性加以约束。SQL语言通过使用保留字Foreign Key定义外键,References指明外码对应于哪个表的主码。参照完整性定义格式如下:Foreign Key(属性名)References表名(属性名)可见,若要求DepID参照部门关系DEP的主码DepID,则可以在定义EMP时用“Foreign Key (DepID) References DEP (DepID)”进行约束。(8) 试题(8)要求“查询开发部的负责人姓名、年龄”的关系代数表达式,选项B是先进行2=开发部(DEP)运算,即在DEP关系中选择部门名Dname=开发部的元组;然后将EMP关系与其进行EMP.DepID=DEP.DepID的自然连接,并去掉右边的重复属性“DEP.DepID”,自然连接后的属性列为(EmpID,Ename,sex,age,tel,DepID,Dname,Dtel,DEmpID);再此基础上进行1=9运算,即进行员工号EmpID等于部门负责人号DEmpID的选取运算;最后进行属性列2(Ename)和属性列4(age)的投影运算。在实时操作系统中,两个任务并发执行,一个任务要等待另一个任务发来消息,或建立某个条件后再向前执行,这种制约性合作关系被称为任务的(9)。(9)A.同步B.互斥C.调度D.执行【答案】A【解析】本题考查实时操作系统基础知识由于资源共享与进程合作,并发执行的任务(进程)之间可能产生相互制约关系,这些制约关系可分为两类:竞争与协作。并发进程之间的竞争关系为互斥,并发进程之间的协作关系体现为同步。同步是因合作进程之间协调彼此的工作而控制S己的执行速度,即因相互合作,相互等待而产生的制约关系。而互斥是进程之间竞争临界资源而禁止两个y上的进程同时进入临界区所发生的制约关系。题目中一个任务要等待另一个任务发来消息,或建立某个条件后再向前执行,显然体现的制约关系是任务的同步。在嵌入式系统设计中,用来讲行CPU调试的常用接口是(10)。(10)A.PCI接口B.USB接口C.网络接口D.JTAG接口【答案】D【解析】本题考查嵌入式系统应用基础知识。PCI是一种局部总线标准,它是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。JTAG是一个调试接口,用来供幵发人员调试CPU的工作状态。JTAG软件通过该接口控制CPU来调试CPU以及读写Flash。看门狗(WatchDog)是嵌入式系统中一种常用的保证系统可靠性的技术,(11)会产生看门狗中断。(11)A.软件喂狗B.处理器温度过高C.外部中断D.看门狗定时器超时【答案】D【解析】本题考查嵌入式系统应用基础知识。看门狗(Watch Dog)是一个独立的定时器电路,有一个定时器控制寄存器,可以设定时间(开狗),到达时间后要置位(喂狗),如果没有的话,就认为是程序跑飞,就会发出RESET指令。当系统工作正常时,CPU将每隔一定时间输出一个脉冲给看门狗,即“喂狗”,若程序运行出现问题或硬件出现故障时而无法按时“喂狗”时,看门狗电路将迫使系统自动复位而重新运行程序。以下关于实时操作系统(RTOS)任务调度器的叙述中,正确的是(12)。(12)A.任务之间的公平性是最重要的调度目标 B.大多数RTOS调度算法都是抢占方式(可剥夺方式) C.RTOS调度器都采用了基于时间片轮转的调度算法 D.大多数RTOS调度算法只采用一种静态优先级调度算法【答案】B【解析】本题考查实时操作系统基础知识。任务是RTOS中最重要的操作对象,每个任务在RTOS的调度下由CPU分时执行。任务的调度目前主要有时间分片式、轮流查询式和优先抢占式三种,不同的RTOS可能支持其中一种或几种,其中优先抢占式对实时性的支持最好。在非实时系统中,调度的主要目的是缩短系统平均响应时间,提高系统资源的利用率,或优化某一项指标;而实时系统中调度的目的则是要尽可能地保证每个任务满足他们的时间约束,及时对外部请求做出响应。以下关于层次化网络设计原则的叙述中,错误的是(13)。(13)A.一般将网络划分为核心层、汇聚层、接入层三个层次B.应当首先设计核心层,再根据必要的分析完成其他层次设计 C.为了保证网络的层次性,不能在设计中随意加入额外连接 D.除去接入层,其他层次应尽量采用模块化方式,模块间边界应非常清晰【答案】B【解析】本题考查层次化网络设计原则的基础知识。层次化网络设计应该遵循一些简单的原则,这些原则可以保证设计出来的网络更加具有层次的特性:在设计时,设计者应该尽量控制层次化的程度,一般情况下,由核心层、汇聚层、接入层三个层次就足够了,过多的层次会导致整体网络性能的下降,并且会提高网络的延迟,但是方便网络故障排查和文档编写。在接入层应当保持对网络结构的严格控制,接入层的用户总是为了获得更大的外部网络访问带宽,而随意申请其他的渠道访问外部网络是不允许的。为了保证网络的层次性,不能在设计中随意加入额外连接,额外连接是指打破层次性,在不相邻层次间的连接,这些连接会导致网络中的各种问题,例如缺乏汇聚层的访问控制和数据报过滤等。在进行设计时,应当首先设计接入层,根据流量负载、流量和行为的分析,对上层进行更精细的容量规划,再依次完成各上层的设计。除去接入层的其他层次,应尽量采用模块化方式,每个层次由多个模块或者设备集合构成,每个模块间的边界应非常清晰。网络需求分析包括网络总体需求分析、综合布线需求分析、网络可用性与可靠性分析、网络安全性需求分析,此外还需要进行(14)。(14)A.工程造价估算B.工程进度安排C.硬件设备选型D.IP地址分配分析【答案】A【解析】本试题考査网络需求分析。工程造价估算是网络需求分析中的一个重要环节。主机PC对某个域名进行查询,最终由该域名的授权域名服务器解析并返回结果,查询过程如下图所示。这种查询方式中不合理的是(15)。(15)A.根域名服务器采用递归查询,影响了性能 B.根域名服务器采用迭代查询,影响了性能 C.中介域名服务器采用迭代查询,加重了根域名服务器负担 D.中介域名服务器采用递归查询,加重了根域名服务器负担【答案】A【解析】本试题考查DNS服务器及其原理。DNS查询过程分为两种查询方式:递归查询和迭代査询。递归查询的查询方式为:当用户发出查询请求时,本地服务器要进行递归杳询。这种查询方式要求服务器彻底地进行名字解析,并返回最后的结果IP地址或错误信息。如果查询请求在本地服务器中不能完成,那么服务器就根据它的配置向域名树中的上级服务器进行查询,在最坏的情况下可能要查询到根服务器。每次查询返回的结果如果是其他名字服务器的IP地址,则本地服务器要把查询请求发送给这些服务器,故进一步的查询。迭代查询的查询方式为:服务器与服务器之间的查询采用迭代的方式进行,发出查询请求的服务器得到的响应可能不是目标的IP地址,而是其他服务器的引用(名字和地址),那么本地服务器就要访问被引用的服务器,做进一步的查询。如此反复多次,每次都更接近目标的授权服务器,直至得到最后的结果目标的IP地址或错误信息。根域名服务器为众多请求提供域名解析,若采用递归方式会大大影响性能。把应用程序中应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为(16)程序。(17)不是对Web服务器进行性能评估的主要指标。(16)A.仿真测试B.核心测试C.基准测试D.标准测试(17)A.丢包率B.最大并发连接数C.响应延迟D.吞吐量【答案】C A【解析】本题考查性能评估的基础知识。把应用程序中应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序。作为承载Web应用的Web服务器,对其进行性能评估时,主要关注最大并发连接数、响应延迟、吞吐量等指标。相对来说,对个别数据的丢包率并不是很关心。与电子政务相关的行为主体主要有三个,即(18),政府的业务活动也主要围绕着这三个行为主体展开。(18)A.政府、数据及电子政务系统B.政府、企(事)业单位及中介 C.政府、服务机构及企事业单位D.政府、企(事)业单位及公民【答案】D【解析】本题考查电子政务的基础知识。在社会中,与电子政务相关的行为主体主要有三个,即政府、企(事)业单位及公民。因此,政府的业务活动也主要围绕着这三个行为主体展开。政府与政府,政府与企(事)业,以及政府与公民之间的互动构成了不同却又相互关联的领域。企业信息化涉及对企业管理理念的创新,按照市场发展的要求,对企业现有的管理流程重新整合,管理核心从对(19)的管理,转向对(20)的管理,并延伸到对企业技术创新、工艺设计、产品设计、生产制造过程的管理,进而还要扩展到对(21)的管理乃至发展到电子商务。(19)A.人力资源和物资B.信息技术和知识C.财务和物料 D.业务流程和数据(20)A.业务流程和数据B.企业信息系统和技术C.业务流程、数据和接口D.技术、物资和人力资源(21)A.客户关系和供应链B.信息技术和知识 C.生产技术和信息技术D.信息采集、存储和共享【答案】C D A【解析】本题考査企业信息化与电子商务的基础知识。企业信息化涉及对企业管理理念的创新,管理流程的优化,管理团队的重组和管理手段的革新。管理创新是按照市场发展的要求,对企业现有的管理流程重新整合,从作为管理核心的财务、物料管理,转向技术、物资、人力资源的管理,并延伸到企业技术创新、工艺设计、产品设计、生产制造过程的管理,进而还要扩展到客户关系管理、供应链管理乃至发展到电子商务。企业信息集成按照组织范围分为企业内部的信息集成和外部的信息集成。在企业内部的信息集成中,(22)实现了不同系统之间的互操作,使得不同系统之间能够实现数据和方法的共享;(23)实现了不同应用系统之间的连接、协调运作和信息共享。(22)A.技术平台集成B.数据集成C.应用系统集成D.业务过程集成(23)A.技术平台集成B.数据集成C.应用系统集成D.业务过程集成【答案】C D【解析】本题考查企业信息集成的基础知识。企业信息集成是指企业在不同应用系统之间实现数据共享,即实现数据在不同数据格式和存储方式之间的转换、来源不同、形态不一、内容不等的信息资源进行系统分析、辨清正误、消除冗余、合并同类,进而产生具有统一数据形式的有价值信息的过程。企业信息集成是一个十分复杂的问题,按照组织范围来分,分为企业内部的信息集成和外部的信息集成两个方面。按集成内容,企业内部的信息集成一般可分为以下四个方面:技术平台集成,数据集成,应用系统集成和业务过程集成。其中,应用系统集成是实现不同系统之间的互操作,使得不同应用系统之间能够实现数据和方法的共享;业务过程集成使得在不同应用系统中的流程能够无缝连接,实现流程的协调运作和流程信息的充分共享。数据挖掘是从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程,主要任务有(24)。(24)A.聚类分析、 联机分析、 信息检索等B.信息检索、 聚类分析、 分类分析等 C.聚类分析、 分类分析、 关联规则挖掘等D.分类分析、 联机分析、 关联规则挖掘等【答案】C【解析】本题考查数据挖掘方面的基础知识。数据挖掘是从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程,数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等等。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。详细的项目范围说明书是项目成功的关键,(25)不属于项目范围定义的输入。(25)A.项目章程B.项目范围管理计划C.批准的变更申请D.项目文档管理方法【答案】D【解析】本题考查软件项目开发管理方面的基础知识。在初始项目范围说明书&已文档化的主要的可交付物、假设和约束条件的基础上准备详细的项目范围说明书,是项目成功的关键。范围定义的输入包括以下内容:项目章程。如果项目章程或初始的范围说明书没有在项目执行组织中使用,同样的信息需要进一步收集和开发,以产生详细的项目范围说明书。项目范围管理计划。组织过程资产。批准的变更申请。活动定义是项目时间管理中的过程之一,(26)是进行活动定义时通常使用的一种工具。(26)A.Gantt图B.活动图C.工作分解结构(WBS)D.PERT图【答案】C【解析】项目时间管理包括使项目按时完成所必须的管理过程。项目时间管理中的过程包括:活动定义、活动排序、活动的资源估算、活动历时估算、制定进度计划以及进度控制。为了得到工作分解结构(Work Break down Structure,WBS)中最底层的交付物,必须执行一系列的活动,对这些活动的识别以及归档的过程就叫做活动定义。以下叙述中,(27)不属于可行性分析的范畴。(27)A.对系统开发的各种候选方案进行成本/效益分析B.分析现有系统存在的运行问题 C.评价该项目实施后可能取得的无形收益 D.评估现有技术能力和信息技术是否足以支持系统目标的实现【答案】B【解析】可行性分析是所有项目投资、工程建设或重大改革在开始阶段必须进行的一项工作。项目的可行性分析是对多因素、多目标系统进行的分析、评价和决策的过程。可行性研究通常从经济可行性、技术可行性、法律可行性和用户使用可行性4个方面来进行分析。经济可行性也称为投资收益分析或成本效益分析,主要评价项目的建设戍本、运行成本和项目建成后可能的经济收益。经济收益可以分为直接收益、间接收益、有形收益和无形收益等。技术可行性也称为技术风险分析,研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。法律可行性也称为社会可行性,具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。用户使用可行性也称为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。遗留系统的演化可以采用淘汰、继承、改造和集成四种策略。若企业中的遗留系统技术含量较高,业务价值较低,在局部领域中工作良好,形成了一个个信息孤岛时,适合于采用(28)演化策略。(28)A.淘汰B.继承C.改造D.集成【答案】D【解析】遗留系统的演化可以采用淘汰、继承、改造和集成四种策略。淘汰策略适用于技术含量较低,且具有较低的业务价值的遗留系统,即通过全面重新开发新的系统以代替遗留系统。若遗留系统的技术含量较低,能满足企业运作的功能或性能要求,但具布较高的商业机制,目前企业的业务上紧密依赖该系统,这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间。对于技术含量较高,本身还有极大的生命力,又具有较高的业务价值,基本上能够满足企业业务运作和决策支持需要的遗留系统,采用改造策略进行演化。改造包括系统功能的增强和数据模型的改造两个方面。遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛。对于这种遗留系统的演化策略为集成。逆向工程导出的信息可以分为实现级、结构级、功能级和领域级四个抽象层次。程序的抽象语法树属于(29);反映程序分量之间相互依赖关系的信息属于(30)。(29)A.实现级B.结构级C.功能级D.领域级(30)A.实现级B.结构级C.功能级D.领域级【答案】A B【解析】逆向工程与重构工程是目前预防性维护采用的主要技术。所谓软件的逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内将软件某种形式的描述转换成更为抽象形式的活动都可称为逆向工程。逆向工程导出的信息可以分为如下4个抽象层次。实现级:包括程序的抽象语法树、符号表等信息。结构级:包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图等。功能级:包括反映程序段功能及程序段之间关系的信息。领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息。显然,上述信息的抽象级别越高,它与代码的距离就越远,通过逆向工程恢复的难度亦越大,而自动工具支持的可能性相对变小,要求人参与判断和推理的工作增多。在面向对象设计中,(31)可以实现界面控制、外部接口和环境隔离。(32)作为完成用例业务的责任承担者,协调、控制其他类共同完成用例规定的功能或行为。(31)A.实体类B.控制类C.边界类D.交互类(32)A.实体类B.控制类C.边界类D.交互类【答案】C B【解析】类封装了信息和行为,是面向对象的重要组成部分。在面向对象设计中,类可以分为三种类型:实体类、边界类和控制类。实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型转化中,一个参与者一般对应于实体类。控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象通常控制其他对象,因此它们的行为具有协调性。边界类用于封装在用例内、外流动的信息或数据流。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。边界对象将系统与其外部环境的变更隔离开,使这些变更不会对系统其他部分造成影响。基于RUP的软件过程是一个迭代过程。一个开发周期包括初始、细化、构建和移交四个阶段,每次通过这四个阶段就会产生一代软件,其中建立完善的架构是(33)阶段的任务。采用迭代式开发,(34)。(33)A.初始B.细化C.构建D.移交(34)A.在每一轮迭代中都要进行测试与集成B.每一轮迭代的重点是对特定的用例进行部分实现 C.在后续迭代中强调用户的主动参与 D.通常以功能分解为基础【答案】B A【解析】RUP中的软件过程在时间上被分解为4个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。初始阶段的任务是为系统建立业务模型并确定项目的边界。细化阶段的任务是分析问题领域,建立完善的架构,淘汰项H中最高风险的元素。在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品。移交阶段的重点是确保软件对最终用户是可用的。基于RUP的软件过程是一个迭代过程,通过初始、细化、构建和移交4个阶段就是一个开发周期,每次经过这4个阶段就会产生一代产品,在每一轮迭代中都要进行测试与集成。某系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类。那么采用设计模式(35)可实现该需求,其优点是(36)。(35)A.外观B.单体C.装饰D.模板(36)A.比静态继承具有更大的灵活性B.提高已有功能的重飪使用性 C.可以将接口与实现相分离D.为复杂系统提供了简单接口【答案】C A【解析】装饰(Decorator)模式可以再不修改对象外观和功能的情况下添加或考删除对象功能。它可以使用一种对客户端来说是透明的方法来修改对象的功能,也就是使用初始类的子类实例对初始对象进行授权。装饰模式还为对象动态地添加了额外的:重任,这样就在不使用静态继承的情况下,为修改对象功能提供了灵活的选择。在以下情况中,应该使用装饰模式:想要在单个对象中动态并且透明地添加责任,而这样并不会影响其他对象;想要在以后可能要修改的对象中添加责任;当无法通过静态子类化实现扩展时。以下关于自顶向下开发方法的叙述中,正确的是(37)(37)A.自顶向下过程因为单元测试而比较耗费时间B.自顶向下过程可以更快地发现系统性能方面的问题C.相对于自底向上方法,自顶向下方法可以更快地得到系统的演示原型 D.在自顶向下的设计中,如发现了一个错误,通常是因为底层模块没有满足其规格说明(因为高层模块己经被测试过了)【答案】C【解析】自顶向下方法是一种决策策略。软件开发涉及作什么决策、如何决策和决策顺序等决策问题。自顶向下方法在任何时刻所作的决定都是当时对整个设计影响最大的那些决定。如果把所有决定分组或者分级,那么决策顺序是首先作最高级的决定,然后依次地作较低级的决定。同级的决定则按照随机的顺序或者按别的方法。一个决策的级别是看它距离要达到的最终目的(因此是软件的实际实现)的远近程度。从问题本身来看,或是由外(用户所见的)向内(系统的实现)看,以距离实现近的决定为低级决定,远的为高级决定。在这个自顶向下的过程中,一个复杂的问题(任务)被分解成若干个较小较简单的问题(子任务),并且一直继续下去,直到每个小问题(子任务)都简单到能够i:接解决(实现)为止。自顶向下方法的优点是:可为企业或机构的重要决策和任务实现提供信息。支持企业信息系统的整体性规划,并对系统的各子系统的协调和通信提供保证。方法的实践有利于提高企业人员整体观察问题的能力,从而有利于寻找到改进企业组织的途径。自顶向下方法的缺点是:对系统分析和设计人员的要求较高。开发周期长,系统复杂,一般属于一种高成本、大投资的工程。对于大系统而言,自上而下的规划对于下层系统的实施往往缺乏约束力,从经济角度来看,很难说自顶向下的做法在经济上市合算的。以下关于白盒测试方法的叙述中,错误的是(38)。(38)A.语句覆盖要求设计足够多的测试用例,使程序中每条语句至少被执行一次 B.与判定覆盖相比,条件覆盖增加对符合判定情况的测试,增加了测试路径C.判定/条件覆盖准则的缺点是未考虑条件的组合情况 D.组合覆盖要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合最多出现一次【答案】D【解析】白盒测试也称为结构测试,主要用于软件单元测试阶段,测试人员按照程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按预定要求正确丁作。白盒测试方法主要有控制流测试、数据流测试和程序变异测试等。控制流测试根据程序的内部逻辑结构设计测试用例,常用的技术是逻辑覆盖。主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。条件/判定覆盖同时满足判定覆盖和条件覆盖。它的含义是选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。条件组合覆盖是指选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。修正的条件/判定覆盖。需要足够的测试用例来确定各个条件能够影响到包含的判定结果。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路栏都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。以下关于面向对象软件测试的叙述中,正确的是(39)。(39)A.在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试 B.存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试 C.假设类B是类A的子类,如果类A已经进行了充分的测试,那么在测试类B时不必测试任何类B继承自类A的成员方法D.对于一棵继承树上的多个类,只有处于叶子节点的类需要测试【答案】B【解析】面向对象系统的测试目标与传统信息系统的测试目标是一致的,但面向对象系统的测试策略与传统结构化系统的测试策略有很大的不同,这主要体现在两个方面,分别是测试的焦点从模块移向了类,以及测试的视角扩大到了分析和设计模型。与传统的结构化系统相比,面向对象系统具有三个明显特征,即封装性、继承性与多态性。封装性决定了面向对象系统的测试必须考虑到信息隐蔽原则对测试的影响,以及对象状态与类的测试序列,因此在测试一个类时,仅对该类的每个方法进行测试是不够的;继承性决定了面向对象系统的测试必须考虑到继承对测试充分性的影响,以及误用引起的错误;多态性决定了面向对象系统的测试必须考虑到动态绑定对测试充分性的影响、抽象类的测试以及误用对测试的影响。软件系统架构是关于软件系统的结构、(40)和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的(41)。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和(42)结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。(40)A.行为B.组织C.性能D.功能(41)A.交互关系B.实现关系C.数据依赖D.功能依赖(42)A.进程B.拓扑C.处理D.数据【答案】A A B【解析】本题主要考查软件系统架构的基础知识。软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的交互关系。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和拓扑结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一类架构所共有的特征,主要包括架构定义、架构词汇表和架构(43).(43)A.描述B.组织C.约束D.接口【答案】C【解析】本题主要考查软件架构风格的定义。软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一类架构所共有的特征,主要包括架构定义、架构词汇表和架构约束。以下叙述,(44)不是软件架构的主要作用。(44)A.在设计变更相对容易的阶段,考虑系统结构的可选方案B.便于技术人员与非技术人员就软件设计进行交互C.展现软件的结构、属性与内部交互关系 D.表达系统是否满足用户的功能性需求【答案】D【解析】本题主要考查软件架构基础知识。软件架构能够在设计变更相对容易的阶段,考虑系统结构的可选方案,便于技术人员与非技术人员就软件设计进行交互,能够展现软件的结构、属性与内部交互关系。但是软件架构与用户对系统的功能性需求没有直接的对应关系。特定领域软件架构(Domain Specific Software Architecture,DSSA)是在一个特定应用领域中,为一组应用提供组织结构参考的标准软件体系结构。DSSA通常是一个具有三个层次的系统模型,包括(45)环境、领域特定应用开发环境和应用执行环境,其中(46)主要在领域特定应用开发环境中工作。(45)A.领域需求B.领域开发C.领域执行D.领域应用(46)A.操作员B.领域架构师C.应用工程师D.程序员【答案】B C【解析】本题主要考查特定领域软件架构的基础知识。特定领域软件架构(Domain Specific Software Architecture,DSSA)是在一个特定应用领域中,为一组应用提供组织结构参考的标准软件体系结构。DSSA通常是一个具有三个层次的系统模型,包括领域开发环境、领域特定应用开发环境和应用执行环境,其中应用工程师主要在领域特定应用开发环境中工作。“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景:传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序