201311架构上午真题
第 1 题
某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为512字节,那么进程A逻辑地址为1111(十进制)的变量存放在( )号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页8,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填( )。
- (A) 9
- (B) 2
- (C) 4
- (D) 6
- (A) 4、5
- (B) 5、4
- (C) 5、8
- (D) 8、8
答案与解析
- 试题难度:一般
- 知识点:操作系统>段页式存储
- 试题答案:[[C],[D]]
- 试题解析:十进制数1111转化为二进制数为:10001010111。物理页的大小为512字节,这说明页内地址为9个二进制位,进程A的逻辑址中,右边的9位是页内地址,左边的2位是页号,即:10 001010111。页号为二进制的10,即十进制的2,对应的物理页号为4。
若A页表的逻辑页4和进程B页表的逻辑页5共享物理页8,则说明他们都对应物理页8,所以均填8。
第 2 题
进程P1、P2、P3和P4的前趋图如下所示:
若用PV操作控制进程P1~P4并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1-S5的初值都等于0。下图中a、b和c处应分别填写( );d、e和f处应分别填写( )。
- (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)
- (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)
答案与解析
- 试题难度:一般
- 知识点:操作系统>信号量与PV操作
- 试题答案:[['C'],['A']]
- 试题解析:本题只要将信号量在前趋图中标识出来,题目就非常容易解了。在前趋图中,每个箭头对应一个信号量,编号从左至右,从上至下,由小到大,如图所示。
标出信号量之后,从某进程引出的信号量,在该进程末尾需要对信号量执行V操作,而信号量箭头指向的进程开始处应有信号量的P操作。
以P1为例,S1与S2从P1发出,所以在P1末尾处要执行V(S1)V(S2),而在P2开始处应执行P(S1)P(S3)。
第 3 题
假设关系模式R(U,F),属性集U={A,B,C},函数依赖集F={A→B,B→C)。若将其分解为ρ={R1(U1,F1),R2(U2,F2)),其中U1={A,B),U2={A,C}。那么,关系模式R、R1、R2分别达到了( );分解ρ( )。
- (A) 1NF、2NF、3NF
- (B) 1NF、3NF、3NF
- (C) 2 NF、2NF、3NF
- (D) 2NF、3NF、3NF
- (A) 有损连接但保持函数依赖
- (B) 既无损连接又保持函数依赖
- (C) 有损连接且不保持函数依赖
- (D) 无损连接但不保持函数依赖
答案与解析
- 试题难度:一般
- 知识点:数据库系统>规范化理论
- 试题答案:[['D'],['D']]
- 试题解析:题目要求分析R、R1、R2的范式级别。
R有函数依赖集F={A→B,B→C)。由于A可确定B和C,所以A为主键,单个属性的主键不可能有部分依赖关系,所以R已符合2NF。进一步分析是否为3NF时,需要识别R中是否存在传递依赖。A→B,B→C属于典型的传递依赖,所以R最高只到2NF。
当R被拆分为R1与R2后,R1与R2分别只有两个属性,此时的关系模式不可能存在部分依赖,也没法传递依赖(至少3个属性才可能传递),所以都达到了3NF。
接下来判断是否无损分解,由于:U1∩U2=A,U1-U2=B,U2-U1=C。
而R中有函数依赖:A→B,所以分解是无损分解。
最后判断是否保持函数依赖:
R1中包含A与B两个属性,所以A→B依赖关系被R1保持下来了。
而R2中的A与C两个属性,没有保持任何函数依赖,导致函数依赖B→C丢失,所以分解没有保持函数依赖。
第 4 题
给定员工关系EMP(EmpID,Ename,sex,age,tel,DepID),其属性含义分别为:员工号、姓名、性别、年龄、电话、部门号;部门关系DEP(DepID,Dname,Dtel,DEmpID),其属性含义分别为:部门号、部门名、电话,负责人号。若要求DepID参照部门关系DEP的主码DepID,则可以在定义EMP时用( )进行约束。若要查询开发部的负责人姓名、年龄,则正确的关系代数表达式为( )。
- (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)
- (A) π2,4(σ8=’开发部’(EMP×DEP))
- (B) π2,4(σ1=9(EMPσ2=’开发部’(DEP)))
- (C) π2,3(EMP×σ2=’开发部’(DEP))
- (D) π2,3(π1,2,4,6(EMP)σ2=’开发部’(DEP))
答案与解析
- 试题难度:一般
- 知识点:数据库系统>关系代数
- 试题答案:[['C'],['B']]
- 试题解析:本题中要求“DepID参照部门关系DEP的主码DepID”,实际上就是在创建EMP时,将DelID定义为外键。其具体定义语法为:Foreign Key(DepID) References DEP(DepID)。
第 5 题
在实时操作系统中,两个任务并发执行,一个任务要等待另一个任务发来消息,或建立某个条件后再向前执行,这种制约性合作关系被称为任务的( )。
- (A) 同步
- (B) 互斥
- (C) 调度
- (D) 执行
答案与解析
- 试题难度:一般
- 知识点:操作系统>信号量与PV操作
- 试题答案:[[A]]
- 试题解析:同步(英语:Synchronization),指在一个系统中所发生的事件(event),之间进行协调,在时间上出现一致性与统一化的现象。
在本题中,一个任务要等待另一个任务发来消息,这就是一种同步协调机制。
第 6 题
在嵌入式系统设计中,用来进行CPU调试的常用接口是( )。
- (A) PCI接口
- (B) USB接口
- (C) 网络接口
- (D) JTAG接口
答案与解析
- 试题难度:一般
- 知识点:操作系统>嵌入式操作系统
- 试题答案:[['D']]
- 试题解析:JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
第 7 题
看门狗(Watch Dog)是嵌入式系统中一种常用的保证系统可靠性的技术,( )会产生看门狗中断。
- (A) 软件喂狗
- (B) 处理器温度过高
- (C) 外部中断
- (D) 看门狗定时器超时
答案与解析
- 试题难度:一般
- 知识点:系统可靠性分析与设计>系统可靠性分析
- 试题答案:[['D']]
- 试题解析:看门狗技术是一种计算机程序监视技术,防止程序由于干扰等原因而进入死循环,一般用于计算机控制系统。
原理:是不断监测程序循环运行的时间,一旦发现程序运行时间超过循环设定的时间,就认为系统已陷入死循环,然后强迫程序返回到已安排了出错处理程序的入口地处,使系统回到正常运行。从其定义与特点可知当看门狗定时器超时的时候,会产生看门狗中断。
第 8 题
以下关于实时操作系统(RTOS)任务调度器的叙述中,正确的是( )。
- (A) 任务之间的公平性是最重要的调度目标
- (B) 大多数RTOS调度算法都是抢占方式(可剥夺方式)
- (C) RTOS调度器都采用了基于时间片轮转的调度算法
- (D) 大多数RTOS调度算法只采用一种静态优先级调度算法
答案与解析
- 试题难度:一般
- 知识点:操作系统>嵌入式操作系统
- 试题答案:[['B']]
- 试题解析:实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。
为了精确管理“时间”资源,以达到实时性和与预测性要求,并能够满足实时系统的新要求,需用实时调度理论对任务进行调度和可调度性分析。任务调度技术包括调度策略和可调度性分析方法,两者是紧密结合的。任务调度技术研究的范围包括任务使用系统资源(包括处理机、内存、I/O、网络等资源)的策略和机制,以及提供判断系统性能是否可预测的方法和手段。例如,什么时候调度任务运行、在哪运行(当系统为多处理机系统或分布式系统时)、运行多长时间等等;以及判断分析用一定参数描述的实时任务能否被系统正确调度。
给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。在非实时系统中,调度的主要目的是缩短系统平均响应时间,提高系统资源利用率,或优化某一项指标;而实时系统中调度的目的则是要尽可能地保证每个任务满足他们的时间约束,及时对外部请求做出响应。实时调度技术通常有多种划分方法。
抢占式调度通常是优先级驱动的调度。每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。一个正在执行的任务放弃处理器的条件为:自愿放弃处理器(等待资源或执行完毕);有高优先级任务启动,该高优先级任务将抢占其执行。除了共享资源的临界段之外,高优先级任务一旦准备就绪,可在任何时候抢占低优先级任务的执行。抢占式调度的优点是实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。
而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃。其优点是上下文切换少;缺点是在一般情况下,处理器有效资源利用率低,可调度性不好。
在RTOS中,大多数的RTOS调度算法都是抢占式的 。
第 9 题
以下关于层次化网络设计原则的叙述中,错误的是( )。
- (A) 一般将网络划分为核心层、汇聚层、接入层三个层次
- (B) 应当首先设计核心层,再根据必要的分析完成其他层次设计
- (C) 为了保证网络的层次性,不能在设计中随意加入额外连接
- (D) 除去接入层,其他层次应尽量采用模块化方式,模块间边界应非常清晰
答案与解析
- 试题难度:一般
- 知识点:计算机网络>网络规划与设计
- 试题答案:[['B']]
- 试题解析:本题考查网络层次化设计的知识。进行网络层次化设计时,一般分为核心层、汇聚层、接入层三个层次、为了保证网络的层次性,不能在设计中随意加入额外连接、除去接入层,其他层次应尽量采用模块化方式,模块间的边界应非常清晰。进行层次化网络设计时,应是先从接入层开始设计,然后逐级往核心层走。原因是接入层其实代表了需求,是因为有大量终端设备要接入,并有速度上的要求,才有了汇聚层要达到什么要求,核心层得怎么设计。选项B的说法,本末倒置了。
### 第 10 题 网络需求分析包括网络总体需求分析、综合布线需求分析、网络可用性与可靠性分析、网络安全性需求分析,此外还需要进行( )。 >- (A) 工程造价估算 >- (B) 工程进度安排 >- (C) 硬件设备选型 >- (D) IP地址分配分析 **答案与解析** - 试题难度:一般 - 知识点:计算机网络>网络规划与设计 - 试题答案:[[A]] - 试题解析:本题考查网络规划设计中的需求分析阶段的内容。
网络需求分析应该确定网络的投资规模,也就是工程造价的估算。
### 第 11 题 主机PC对某个域名进行查询,最终由该域名的授权域名服务器解析并返回结果,查询过程如下图所示。这种查询方式中不合理的是( )。
>- (A) 根域名服务器采用递归查询,影响了性能 >- (B) 根域名服务器采用迭代查询,影响了性能 >- (C) 中介域名服务器采用迭代查询,加重了根域名服务器负担 >- (D) 中介域名服务器采用递归查询,加重了根域名服务器负担 **答案与解析** - 试题难度:一般 - 知识点:计算机网络>TCP/IP协议族 - 试题答案:[['A']] - 试题解析:在域名解析过程中,一般有两种查询方式:递归查询和迭代查询。
递归查询:服务器必需回答目标IP与域名的映射关系。
迭代查询:服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其他DNS服务器的地址。
在本题中,本地域名服务器向根域名服务器发出查询请求后,根域名服务器会一层一层的进行查询,将最终结果告诉本地域名服务器,这种方式属于递归查询,这种方式增加了根域名服务器的负担,影响了性能。
### 第 12 题 把应用程序中应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为( )程序。( )不是对Web服务器进行性能评估的主要指标。
- (A) 仿真测试
- (B) 核心测试
- (C) 基准测试
- (D) 标准测试
- (A) 丢包率
- (B) 最大并发连接数
- (C) 响应延迟
- (D) 吞吐量
答案与解析
- 试题难度:容易
- 知识点:系统配置与性能评价>性能评价方法
- 试题答案:[['C'],['A']]
- 试题解析:
本题第一空考查的是计算机性能评价技术,常见的计算机性能评价包括以下方法:
时钟频率:即主频(也就是常听到CPU主频2.81GHz等),通常主频越高,速度越快。但只能够在相同体系结构的机器上进行比较。对于异构系统而言,很难保证其有效性。
指令执行速度:在早期,我们经常使用每次执行的加法指令(由于当时各种指令的速度大致相同或等比例)总数作为衡量其性能的重要指标,其单位为KIPS(每秒千条指令)、MIPS(每秒百万条指令)。
等效指令法:随着时间指令系统的发展,使用单种指令的MIPS值的局限性日益暴露,后来就出现了改进的吉普森混合指令速度法。它通过统计各类指令在程序中所占的比例,进行折算。
数据处理速率(PDR):它采用固定的比例法来计算数据处理的速度,而其还仅对CPU和主存的速度进行度量,因此有很大的局限性。
把应用程序中用的最频繁的那部分核心程序作为评价计算机性能的标准程序,在不同机器上运行,测试其执行时间,作为各类性能评价的依据,这种程序被称为基准测试程序。 基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问的带宽和延迟等指标的基准测试,可以使用户清楚地了解每一款CPU的运算性能及作业吞吐能力是否满足应用程序的要求;再如对数据库管理系统的ACID(Atomicity, Consistency, Isolation, Durability, 原子性、一致性、独立性和持久性)、查询时间和联机事务处理能力等方面的性能指标进行基准测试,也有助于使用者挑选最符合自己需求的数据库系统。
评估Web服务器性能是一个复杂的过程,需要考虑的因素有服务器的硬件配置、操作系统、HTTP软件、网络速度和工作负载等。采用测试的方法来衡量Web服务器的性能,首先要确定的就是测试指标。常用的Web服务器的性能指标主要包括以下几类:
(1)时间指标
服务器响应时间(Server Response Time):客户端发送一个HTTP请求至收到HTTP响应头信息消耗的时间。
页面响应时间(Page Response Time):客户端从Web服务器请求一个完整的页面(包括内嵌对象)所消耗的时间。
往返时间(Round Trip Time):建立TCP连接时,从客户端发送SYN请求到服务器返回SYN/ACK的时间。
TCP连接建立时间:客户端发出访问请求后,与Web服务器成功建立TCP连接所需的时间。
(2)系统容量指标
并发用户数(Concurrent Users):Web服务器能够同时正确及时地服务的用户数。
每秒用户数(User Per Second):单位时间(1s)内成功连接到Web服务系统的新用户的个数。
并发连接数(Simultaneous Connections):Web服务器能够与客户端建立并保持同时打开的TCP连接数,最大并发连接数反映了Web服务器所对其客户多个连接的处理能力。
连接速率(Connect ion Rate):客户端与Web服务器在单位时间(1s)新建立的TCP新建连接的个数。
事务处理次数(Cumulative Transactions):Web服务器处理HTTP Transaction的累计总数定义为事务处理次数。
事务处理速率(Transactions Per second):在单位时间(1s)内成功响应HTTP Transaction的个数。
(3)资源利用率指标
资源利用率是指Web服务器不同资源(如服务器的CPU,内存、磁盘、网络带宽等)的使用程度,它常常用占资源的最大可用量的百分比来衡量。Web服务器资源利用率指标包括CPU占用率、内存占用率、磁盘占用率、可用网络带宽。
丢包率是评估网络的指标,而非Web服务器。
第 13 题
与电子政务相关的行为主体主要有三个,即( ),政府的业务活动也主要围绕着这三个行为主体展开。
- (A) 政府、数据及电子政务系统
- (B) 政府、企(事)业单位及中介
- (C) 政府、服务机构及企事业单位
- (D) 政府、企(事)业单位及公民
答案与解析
- 试题难度:容易
- 知识点:企业信息化战略与实施>政府信息化与电子政务
- 试题答案:[[D]]
- 试题解析:本题属于纯概念题,与电子政务相关的行为主体包括:政府、企(事)业单位及公民。常见的电子政务形式包括:G2G、G2B、G2C,其中的G是政府、B是企(事)业单位、C是公民。
第 14 题
企业信息化涉及到对企业管理理念的创新,按照市场发展的要求,对企业现有的管理流程重新整合,管理核心从对( )的管理,转向对( )的管理,并延伸到对企业技术创新、工艺设计、产品设计、生产制造过程的管理,进而还要扩展到对( )的管理乃至发展到电子商务。
- (A) 人力资源和物资
- (B) 信息技术和知识
- (C) 财务和物料
- (D) 业务流程和数据
- (A) 业务流程和数据
- (B) 企业信息系统和技术
- (C) 业务流程、数据和接口
- (D) 技术、物资和人力资源
- (A) 客户关系和供应链
- (B) 信息技术和知识
- (C) 生产技术和信息技术
- (D) 信息采集、存储和共享
答案与解析
- 试题难度:一般
- 知识点:企业信息化战略与实施>信息系统战略规划
- 试题答案:[[C],[D],[A]]
- 试题解析:管理科学的核心就是应用科学的方法实施管理,按照市场发展的要求,对企业现有的管理流程重新整合,从作为管理核心的财务、资金管理,向技术、物资、人力资源的管理,并延伸到企业技术创新、工艺设计、产品设计、生产制造过程的管理,进而扩展到客户关系管理、供应链的管理乃至发展电子商务,形成企业内部向外部扩散的全方位管理。 企业信息化注重企业经营管理方面的信息分析和研究,信息系统所蕴含的管理思 想也可帮助企业建立更为科学规范的管理运作体系,提供准确及时的管理决策信息。
第 15 题
企业信息集成按照组织范围分为企业内部的信息集成和外部的信息集成。在企业内部的信息集成中,( )实现了不同系统之间的互操作,使得不同系统之间能够实现数据和方法的共享:( )实现了不同应用系统之间的连接、协调运作和信息共享。
- (A) 技术平台集成
- (B) 数据集成
- (C) 应用系统集成
- (D) 业务过程集成
- (A) 技术平台集成
- (B) 数据集成
- (C) 应用系统集成
- (D) 业务过程集成
答案与解析
- 试题难度:一般
- 知识点:企业信息化战略与实施>企业应用集成
- 试题答案:[['C'],['D']]
- 试题解析:
企业信息集成是一个十分复杂的问题,按照组织范围来分,分为企业内部的信息集成和外部的信息集成两个方面。
1.企业内部的信息集成
按集成内容,企业内部的信息集成一般可分为以下四个方面:
(1)技术平台的集成
系统底层的体系结构、软件、硬件以及异构网络的特殊需求首先必须得到集成。这个集成包括信息技术硬件所组成的新型操作平台,如各类大型机、小型机、工作站、微机、通信网络等信息技术设备,还包括置入信息技术或者说经过信息技术改造的机床、车床、自动化工具、流水线设备等新型设施和设备。
(2)数据的集成
为了完成应用集成和业务流程集成,需要解决数据和数据库的集成问题。数据集成的目的是实现不同系统的数据交流与共享,是进行其他更进一步集成的基础。数据集成的特点是简单、低成本,易于实施,但需要对系统内部业务的深入了解。
数据集成是对数据进行标识并编成目录,确定元数据模型。只有在建立统一的模型后,数据才能在数据库系统中分布和共享。数据集成采用的主要数据处理技术有数据复制、数据聚合和接口集成等。
(3)应用系统的集成
应用系统集成是实现不同系统之间的互操作,使得不同应用系统之间能够实现数据和方法的共享。它为进一步的过程集成打下了基础。
(4)业务过程的集成
对业务过程进行集成的时候,企业必须在各种业务系统中定义、授权和管理各种业务信息的交换,以便改进操作、减少成本、提高响应速度。业务流程的集成使得在不同应用系统中的流程能够无缝连接,实现流程的协调运作和流程信息的充分共享。
2.企业外部的信息集成
企业外部的信息集成主要包括以下两个部分:
(1)通过门户网站和互联网实现公众、社会团体、社会和客户的互动,实现企业内外部信息资源的有效交流和集成;
(2)通过与合作伙伴信息系统的对接,建立动态的企业联盟,发展基于竞争合作机制的虚拟企业,重塑企业的战略模式和竞争优势。
Internet的发展增加了企业之间的合作与交流,虚拟企业、扩展的供应链管理和协同商务等都是企业之间集成的典型。通过合作,几个企业和公司组成一个相对稳定的合作网络,这种合作网络可以提供单个公司所不能提供的产品和服务,获得单个公司无法完成的定单。为了增加合作的效率,必须实现网络中有合作关系的公司之间活动和过程的集成。另外,企业间的集成并不是使企业内所有的系统都实现集成,而只是集成一些与企业之间的业务过程有关的系统,因此,企业间的集成是一种有选择的集成。企业间集成的一个关键问题是使企业间不同系统实现数据格式的匹配。目前,XML技术作为企业间集成时数据交换的标准已得到广泛的应用。
第 16 题
数据挖掘是从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程,主要任务有( )。
- (A) 聚类分析、联机分析、信息检索等
- (B) 信息检索、聚类分析、分类分析等
- (C) 聚类分析、分类分析、关联规则挖掘等
- (D) 分类分析、联机分析、关联规则挖掘等
答案与解析
- 试题难度:一般
- 知识点:数据库系统>数据仓库与数据挖掘
- 试题答案:[['C']]
- 试题解析:数据挖掘(英语:Data mining),又译为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-Discovery in Databases,简称:KDD)中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。
数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示3个步骤。数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。
数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析,等等。
第 17 题
详细的项目范围说明书是项目成功的关键,( )不属于项目范围定义的输入。
- (A) 项目章程
- (B) 项目范围管理计划
- (C) 批准的变更申请
- (D) 项目文档管理方法
答案与解析
- 试题难度:一般
- 知识点:项目管理>范围管理
- 试题答案:[['D']]
- 试题解析:范围定义的输入包括:
范围管理计划:范围管理计划是项目管理计划的组成部分,确定了制定、监督和控制项目范围的各种活动。
项目章程:项目章程中包含对项目和产品特征的概括性描述,以及项目审批要求。如果执行组织不使用项目章程,则应取得或编制类似的信息,并用作制定详细范围说明书的基础。
需求文件:使用需求文件来选择哪些需求将包含在项目中。
批准的变更申请。
组织过程资产:可能影响定义范围过程的组织过程资产包括(但不限于):
1、用于制定项目范围说明书的政策、程序和模板;
2、以往项目的项目档案;
3、以往阶段或项目的经验教训。
第 18 题
活动定义是项目时间管理中的过程之一,( )是进行活动定义时通常使用的一种工具。
- (A) Gantt图
- (B) 活动图
- (C) 工作分解结构(WBS)
- (D) PERT图
答案与解析
- 试题难度:一般
- 知识点:项目管理>时间管理
- 试题答案:[['C']]
- 试题解析:活动定义的常用工具包括:
1.分解
采用分解技术来定义活动,就是要把项目工作包分解成更小的、更易于管理的组成部分,即活动——为完成工作包而必须开展的工作。定义活动过程最终输出的是活动,而非可交付成果。可交付成果是创建工作分解结构过程的输出。
WBS、WBS 词典与活动清单,既可依次编制,也可同时编制。WBS和WBS 词典是制定最终活动清单的依据。WBS 中的每个工作包都需分解成活动,以便通过这些活动来完成相应的可交付成果。让团队成员参与分解,有助于得到更好、更准确的结果。
2.滚动式规划
滚动式规划是一种渐进明细的规划方式,即对近期要完成的工作进行详细规划,而对远期工作则暂时只在WBS 的较高层次上进行粗略规划。因此,在项目生命周期的不同阶段,工作分解的详细程度会有所不同。例如,在早期的战略规划阶段,信息尚不够明确,工作包也许只能分解到里程碑的水平;而后,随着了解到更多的信息,近期即将实施的工作包就可以分解成具体的活动。
3.模板
标准活动清单或以往项目的部分活动清单,经常可用作新项目的模板。模板中的活动属性信息,也有助于定义活动。模板还可用来识别典型的进度里程碑。
4.专家判断
富有经验并擅长制定详细项目范围说明书、工作分解结构和项目进度计划的项目团队成员或其他专家,可以为定义活动提供专业知识。
第 19 题
以下叙述中,( )不属于可行性分析的范畴。
- (A) 对系统开发的各种候选方案进行成本/效益分析
- (B) 分析现有系统存在的运行问题
- (C) 评价该项目实施后可能取得的无形收益
- (D) 评估现有技术能力和信息技术是否足以支持系统目标的实现
答案与解析
- 试题难度:一般
- 知识点:项目管理>其它
- 试题答案:[['B']]
- 试题解析:”对系统开发的各种候选方案进行成本/效益分析“和”评价该项目实施后可能取得的无形收益“是从成本效益的角度来看一个项目的可行性,是从经济角度出发的分析,这属于可行性分析的范畴。而“评估现有技术能力和信息技术是否足以支持系统目标的实现”是典型的技术可行性分析。“分析现有系统存在的运行问题”与可行性分析没直接关系。
第 20 题
遗留系统的演化可以采用淘汰、继承、改造和集成四种策略。若企业中的遗留系统技术含量较高,业务价值较低,在局部领域中工作良好,形成了一个个信息孤岛时,适合于采用( )演化策略。
- (A) 淘汰
- (B) 继承
- (C) 改造
- (D) 集成
答案与解析
- 试题难度:容易
- 知识点:软件工程>遗留系统
- 试题答案:[[D]]
- 试题解析:
第 21 题
逆向工程导出的信息可以分为实现级、结构级、功能级和领域级四个抽象层次。程序的抽象语法树属于( );反映程序分量之间相互依赖关系的信息属于( )。
- (A) 实现级
- (B) 结构级
- (C) 功能级
- (D) 领域级
- (A) 实现级
- (B) 结构级
- (C) 功能级
- (D) 领域级
答案与解析
- 试题难度:一般
- 知识点:软件工程>逆向工程
- 试题答案:[[A],[B]]
- 试题解析:实现级:包括程序的抽象语法树、符号表、过程的设计表示。
结构级:包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图、程序和数据结构。
功能级:包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型。
领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型。
第 22 题
在面向对象设计中,( )可以实现界面控制、外部接口和环境隔离。( )作为完成用例业务的责任承担者,协调、控制其他类共同完成用例规定的功能或行为。
- (A) 实体类
- (B) 控制类
- (C) 边界类
- (D) 交互类
- (A) 实体类
- (B) 控制类
- (C) 边界类
- (D) 交互类
答案与解析
- 试题难度:容易
- 知识点:软件工程>面向对象基础
- 试题答案:[['C'],['B']]
- 试题解析:
1. 实体类
实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。
实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转化中,一个参与者一般对应于实体类。通常可以从SRS中的那些与数据库表(需要持久存储)对应的名词着手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。
2. 控制类
控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词,例如,用例“身份验证”可以对应于一个控制类“身份验证器”,它提供了与身份验证相关的所有操作。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象(控制类的实例)通常控制其他对象,因此,它们的行为具有协调性。
控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统执行用例的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况下,控制类没有属性,但一定有方法。
3. 边界类
边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口。要寻找和定义边界类,可以检查用例模型,每个参与者和用例交互至少要有一个边界类,边界类使参与者能与系统交互。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。常见的边界类有窗口、通信协议、打印机接口、传感器和终端等。实际上,在系统设计时,产生的报表都可以作为边界类来处理。
边界类用于系统接口与系统外部进行交互,边界对象将系统与其外部环境的变更(例如,与其他系统的接口的变更、用户需求的变更等)分隔开,使这些变更不会对系统的其他部分造成影响。通常情况下,边界类可以既有属性也有方法。
第 23 题
基于RUP的软件过程是一个迭代过程。一个开发周期包括初始、细化、构建和移交四个阶段,每次通过这四个阶段就会产生一代软件,其中建立完善的架构是( )阶段的任务。采用迭代式开发,( )。
- (A) 初始
- (B) 细化
- (C) 构建
- (D) 移交
- (A) 在每一轮迭代中都要进行测试与集成
- (B) 每一轮迭代的重点是对特定的用例进行部分实现
- (C) 在后续迭代中强调用户的主动参与
- (D) 通常以功能分解为基础
答案与解析
- 试题难度:一般
- 知识点:软件工程>开发模型
- 试题答案:[['B'],['A']]
- 试题解析:
RUP包括四个阶段:初始阶段、细化阶段、构建阶段、交付阶段。
初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。在这个阶段中,所关注的是整个项目的业务和需求方面的主要风险。
细化阶段的任务是分析问题领域,建立完善的架构,淘汰项目中最高风险的元素。在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功能和诸如性能等非功能需求,同时为项目建立支持环境。
在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品,并进行详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制操作,以优化成本、进度和质量。构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本;确定软件、场地和用户是否已经为部署软件作好准备。
当基线已经足够完善,可以安装到最终用户实际环境中时,则进入交付阶段。交付阶段的重点是确保软件对最终用户是可用的。交付阶段的主要任务是进行β测试,制作产品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品,例如,进行调试、性能或可用性的增强等。
RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增量式的发展,从一个迭代过程到另一个迭代过程到成为最终的系统。 传统上的项目组织是顺序通过每个工作流,每个工作流只有一次,也就是我们熟悉的瀑布生命周期。这样做的结果是到实现末期产品完成并开始测试,在分析、设计和实现阶段所遗留的隐藏问题会大量出现,项目可能要停止并开始一个漫长的错误修正周期。
一种更灵活,风险更小的方法是多次通过不同的开发工作流,这样可以更好的理解需求,构造一个健壮的体系结构,并最终交付一系列逐步完成的版本。这叫作一个迭代生命周期。在工作流中的每一次顺序的通过称为一次迭代。软件生命周期是迭代的连续,通过它,软件是增量的开发。一次迭代包括了生成一个可执行版本的开发活动,还有使用这个版本所必需的其他辅助成分,如版本描述、用户文档等。因此一个开发迭代在某种意义上是在所有工作流中的一次完整的经过,这些工作流至少包括:需求工作流、分析和设计工作流、实现工作流、测试工作流。其本身就像一个小型的瀑布项目。
第 24 题
某系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类。
那么采用设计模式( )可实现该需求,其优点是( )。
- (A) 外观
- (B) 单体
- (C) 装饰
- (D) 模板方法
- (A) 比静态继承具有更大的灵活性
- (B) 提高已有功能的重复使用性
- (C) 可以将接口与实现相分离
- (D) 为复杂系统提供了简单接口
答案与解析
- 试题难度:一般
- 知识点:软件工程>设计模式
- 试题答案:[[C],[A]]
- 试题解析:装饰模式:动态地给一个对象添加一些额外的职责。它提供了用子类扩展功能的一个灵活的替代,比派生一个子类更加灵活。
在本题中,“现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件”,从此处可以看出需要能为构件灵活附加功能的机制,这与装饰模式的情况是吻合的。这样做比静态继承具有更大的灵活性。
第 25 题
以下关于自顶向下开发方法的叙述中,正确的是( )。
- (A) 自顶向下过程因为单元测试而比较耗费时间
- (B) 自顶向下过程可以更快地发现系统性能方面的问题
- (C) 相对于自底向上方法,自顶向下方法可以更快地得到系统的演示原型
- (D) 在自顶向下的设计中,如发现了一个错误,通常是因为底层模块没有满足其规格说明(因为高层模块已经被测试过了)
答案与解析
- 试题难度:一般
- 知识点:软件工程>信息系统开发方法
- 试题答案:[[C]]
- 试题解析:自顶向下方法的优点是:
1、可为企业或机构的重要决策和任务实现提供信息。
2、支持企业信息系统的整体性规划,并对系统的各子系统的协调和通信提供保证。
3、方法的实践有利于提高企业人员整体观察问题的能力,从而有利于寻找到改进企业组织的途径。
自顶向下方法的缺点是:
1、对系统分析和设计人员的要求较高。
2、开发周期长,系统复杂,一般属于一种高成本、大投资的工程。
3、对于大系统而言自上而下的规划对于下层系统的实施往往缺乏约束力。
4、从经济角度来看,很难说自顶向下的做法在经济上是合算的。
第 26 题
以下关于白盒测试方法的叙述中,错误的是( )。
- (A) 语句覆盖要求设计足够多的测试用例,使程序中每条语句至少被执行一次
- (B) 与判定覆盖相比,条件覆盖增加对符合判定情况的测试,增加了测试路径
- (C) 判定/条件覆盖准则的缺点是未考虑条件的组合情况
- (D) 组合覆盖要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合最多出现一次
答案与解析
- 试题难度:一般
- 知识点:软件工程>软件测试
- 试题答案:[[D]]
- 试题解析:组合覆盖主要特点:要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。
第 27 题
以下关于面向对象软件测试的叙述中,正确的是( )。
- (A) 在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试
- (B) 存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
- (C) 假设类B是类A的子类,如果类A已经进行了充分的测试,那么在测试类B时不必测试任何类B继承自类A的成员方法
- (D) 对于一棵继承树上的多个类,只有处于叶子节点的类需要测试
答案与解析
- 试题难度:容易
- 知识点:软件工程>软件测试
- 试题答案:[[B]]
- 试题解析:本题考查面向对象的软件测试,与传统的结构化系统相比,面向对象系统具有三个明显特征,即封装、继承性与多态性。封装性决定了面向对象系统的测试必须考虑到信息隐蔽原则对测试的影响,以及对象状态与类的测试序列,因此在测试一个类时,仅对该类的每个方法进行测试是不够的;继承性决定了面向对象系统的测试必须考虑到继承对测试充分性的影响,以及误用引起的错误;多态性决定了面向对象系统的测试必须考虑到动态绑定对测试充分性的影响、抽象类的测试以及误用对测试的影响。
第 28 题
软件系统架构是关于软件系统的结构、( )和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的( )。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和( )结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。
- (A) 行为
- (B) 组织
- (C) 性能
- (D) 功能
- (A) 交互关系
- (B) 实现关系
- (C) 数据依赖
- (D) 功能依赖
- (A) 进程
- (B) 拓扑
- (C) 处理
- (D) 数据
答案与解析
- 试题难度:一般
- 知识点:软件架构设计>软件架构的概念
- 试题答案:[[A],[A],[B]]
- 试题解析:软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,其对象是直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织结构和拓扑结构,而且显示了系统需求和构成组件之间的对应关系,包括设计决策的基本方法和基本原理。
第 29 题
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一类架构所共有的特征,主要包括架构定义、架构词汇表和架构( )。
- (A) 描述
- (B) 组织
- (C) 约束
- (D) 接口
答案与解析
- 试题难度:一般
- 知识点:软件架构设计>软件架构的概念
- 试题答案:[['C']]
- 试题解析:软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义一个系统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件架构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。
第 30 题
以下叙述,( )不是软件架构的主要作用。
- (A) 在设计变更相对容易的阶段,考虑系统结构的可选方案
- (B) 便于技术人员与非技术人员就软件设计进行交互
- (C) 展现软件的结构、属性与内部交互关系
- (D) 表达系统是否满足用户的功能性需求
答案与解析
- 试题难度:一般
- 知识点:软件架构设计>软件架构的概念
- 试题答案:[[D]]
- 试题解析:软件架构能够在设计变更相对容易的阶段,考虑系统结构的可选方案,便于技术人员与非技术人员就软件设计进行交互,能够展现软件的结构、属性与内部交互关系。但是软件架构与用户对系统的功能性需求没有直接的对应关系。
第 31 题
特定领域软件架构(Domain Specific Software Architecture,DSSA)是在一个特定应用领域中,为一组应用提供组织结构参考的标准软件体系结构。DSSA通常是一个具有三个层次的系统模型,包括( )环境、领域特定应用开发环境和应用执行环境,其中( )主要在领域特定应用开发环境中工作。
- (A) 领域需求
- (B) 领域开发
- (C) 领域执行
- (D) 领域应用
- (A) 操作员
- (B) 领域架构师
- (C) 应用工程师
- (D) 程序员
答案与解析
- 试题难度:一般
- 知识点:软件架构设计>特定领域软件架构
- 试题答案:[[B],[C]]
- 试题解析:DSSA通常是一个具有三个层次的系统模型,包括领域开发环境、领域特定应用开发环境和应用执行环境。
第 32 题
“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景:传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用( )架构风格比较合适。
随着编译、链接、调试、执行等开发过程的一体化趋势发展,集成开发环境(IDE)随之出现。IDE集成了编译器、连接器、调试器等多种工具,支持代码的增量修改与处理,能够实现不同工具之间的信息交互,覆盖整个软件开发生命周期。针对这种需求,IDE采用( )架构风格比较合适。IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现,针对这种需求,通常采用( )架构风格比较合适。
某公司已经开发了一款针对某种嵌入式操作系统专用编程语言的IDE,随着一种新的嵌入式操作系统上市并迅速占领市场,公司决定对IDE进行适应性改造,支持采用现有编程语言进行编程,生成符合新操作系统要求的运行代码,并能够在现有操作系统上模拟出新操作系统的运行环境,以支持代码调试工作。针对上述要求,为了使IDE能够生成符合新操作系统要求的运行代码,采用基于( )的架构设计策略比较合适;为了模拟新操作系统的运行环境,通常采用( )架构风格比较合适。
- (A) 管道-过滤器
- (B) 顺序批处理
- (C) 过程控制
- (D) 独立进程
- (A) 规则引擎
- (B) 解释器
- (C) 数据共享
- (D) 黑板
- (A) 隐式调用
- (B) 显式调用
- (C) 主程序-子程序
- (D) 层次结构
- (A) 代理
- (B) 适配
- (C) 包装
- (D) 模拟
- (A) 隐式调用
- (B) 仓库结构
- (C) 基于规则
- (D) 虚拟机
答案与解析
- 试题难度:一般
- 知识点:软件架构设计>软件架构风格>仓库风格
- 试题答案:[['B'],['C'],['A'],['B'],['D']]
- 试题解析:
传统的编译器一般采用数据流架构风格,在这种架构中,每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。编译处理过程中,会分步将源代码一次一次的处理,最终形成目标代码,这与数据流架构风格相当吻合。但选项中有两个数据流风格的架构供选择,即:“管道-过滤器”和“顺序批处理”,这就需要进一步分析哪个更合适,由于题目中提到“程序源代码作为一个整体,依次在不同模块中进行传递”,而顺序批处理是强调把数据整体处理的,所以应选用顺序批处理风格。
IDE是一种集成式的开发环境,在这种环境中,多种工具是围绕同一数据进行处理,这种情况适合用数据共享架构风格。
在题目中提到IDE环境是一种交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现。在做一件事情时,同时触发一系列的行为,这是典型的隐式调用风格(事件驱动系统)。
“使IDE能够生成符合新操作系统要求的运行代码”,这一要求是可以通过适配策略满足的,像设计模式中的适配器模式便是采用适配的方式,形成一致的接口。“模拟新操作系统的运行环境”是典型的虚拟机架构风格的特长。
第 33 题
某公司采用基于架构的软件设计(Architecture-Based Software Design, ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用( )实现质量属性与商业需求、采用软件模板设计软件结构。
ABSD方法主要包括架构需求等6个主要活动,其中( )活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;( )活动针对用户的需求变化,修改应用架构,满足新的需求。
小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王( )的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和( )。
- (A) 架构风格
- (B) 设计模式
- (C) 架构策略
- (D) 架构描述
- (A) 架构设计
- (B) 架构实现
- (C) 架构复审
- (D) 架构演化
- (A) 架构设计
- (B) 架构实现
- (C) 架构复审
- (D) 架构演化
- (A) 从使用者的角度书写文档
- (B) 随时保证文档都是最新的
- (C) 将文档分发给相关人员
- (D) 针对不同背景的人员书写文档的方式不同
- (A) 架构需求说明书
- (B) 架构实现说明书
- (C) 架构质量说明书
- (D) 架构评审说明书
答案与解析
- 试题难度:一般
- 知识点:软件架构设计>基于架构的软件开发方法
- 试题答案:[['A'],['C'],['D'],['B'],['C']]
- 试题解析:ABSD方法有3个基础。第一个基础是功能的分解。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术。第二个基础是通过选择体系结构风格来实现质量和业务需求。第三个基础是软件模板的使用。软件模板利用了一些软件系统的结构。
ABSDM模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。
架构需求:需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。架构需求受技术环境和架构设计师的经验影响。需求过程主要是获取用户需求,标识系统中所要用到的构件。如果以前有类似的系统架构的需求,我们可以从需求库中取出,加以利用和修改,以节省需求获取的时间,减少重复劳动,提高开发效率。
架构设计:架构需求用来激发和调整设计决策,不同的视图被用来表达与质量目标有关的信息。架构设计是一个迭代过程,如果要开发的系统能够从已有的系统中导出大部分,则可以使用已有系统的设计过程。
架构文档化:绝大多数的架构都是抽象的,由一些概念上的构件组成。例如,层的概念在任何程序设计语言中都不存在。因此,要让系统分析师和程序员去实现架构,还必须得把架构进行文档化。文档是在系统演化的每一个阶段,系统设计与开发人员的通讯媒介,是为验证架构设计和提炼或修改这些设计(必要时)所执行预先分析的基础。架构文档化过程的主要输出结果是架构需求规格说明和测试架构需求的质量设计说明书这两个文档。生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约。软件架构的文档要求与软件开发项目中的其他文档是类似的。文档的完整性和质量是软件架构成功的关键因素。软件架构文档应该从使用者的角度进行书写,针对不同背景的人员采用不同的书写方式,并将文档分发给相关人员。架构文档要保持较新,但不要随时保证文档最新,要保持文档的稳定性。
架构复审:架构设计、文档化和复审是一个迭代过程。从这个方面来说,在一个主版本的软件架构分析之后,要安排一次由外部人员(用户代表和领域专家)参加的复审。复审的目的是标识潜在的风险,及早发现架构设计中的缺陷和错误,包括架构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件的划分是否合理、文档表达是否明确、构件的设计是否满足功能与性能的要求等等。由外部人员进行复审的目的是保证架构的设计能够公正地进行检验,使组织的管理者能够决定正式实现架构。
架构实现:所谓“实现”就是要用实体来显示出一个软件架构,即要符合架构所描述的结构性设计决策,分割成规定的构件,按规定方式互相交互。
架构演化:在构件开发过程中,最终用户的需求可能还有变动。在软件开发完毕,正常运行后,由一个单位移植到另一个单位,需求也会发生变化。在这两种情况下,就必须相应地修改软件架构,以适应新的变化了的软件需求。
第 34 题
架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、( )、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、( )描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以( )作为架构评估的核心概念。
某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致,主要与( )质量属性相关。”系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试,主要与( )质量属性相关。在识别出上述描述后,通常采用( )对质量属性的描述进行刻画与排序。在评估过程中,( )是一个会影响多个质量属性的架构设计决策。
- (A) 可测试性
- (B) 可移植性
- (C) 可用性
- (D) 易用性
- (A) 架构视图
- (B) 架构排序
- (C) 架构风格
- (D) 架构策略
- (A) 用例
- (B) 视图
- (C) 属性
- (D) 模型
- (A) 可测试性
- (B) 互操作性
- (C) 可移植性
- (D) 易用性
- (A) 可测试性
- (B) 互操作性
- (C) 可移植性
- (D) 易用性
- (A) 期望管理矩阵
- (B) 决策表
- (C) 优先队列
- (D) 效用树
- (A) 风险点
- (B) 决策点
- (C) 权衡点
- (D) 敏感点
答案与解析
- 试题难度:一般
- 知识点:软件架构设计>软件质量属性
- 试题答案:[['C'],['A'],['C'],['D'],['A'],['D'],['C']]
- 试题解析:
试题前两空考纯概念:
架构权衡分析方法是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。
ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。
题目中提到“某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致。”与用户所熟悉的操作方式,操作界面保持一致,这是一种减轻用户记忆负担,降低学习成本的做法,这有利于提高系统的易用性。
“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试”,在此处,我们注意到描述的核心落在“支持远程对系统的行为进行控制与调试”上了,而调试是在测试之后精确定位系统错误的一种机制,所以这种做法有利于提高系统的可测试性。
最后的两空也是考概念:在识别出上述描述后,通常采用效用树对质量属性的描述进行刻画与排序。在评估过程中,权衡点是一个会影响多个质量属性的架构设计决策。
第 35 题
以下关于第三方认证服务的叙述中,正确的是( )。
- (A) Kerberos认证服务中保存数字证书的服务器叫CA
- (B) 第三方认证服务的两种体制分别是Kerberos和PKI
- (C) PKI体制中保存数字证书的服务器叫KDC
- (D) Kerberos的中文全称是“公钥基础设施”
答案与解析
- 试题难度:一般
- 知识点:信息安全>数字证书
- 试题答案:[['B']]
- 试题解析:
目前最常用的第三方认证服务包括:PKI/CA 和Kerberos。PKI/CA是基于非对称密钥体系的,Kerberos是基于对称密钥体系的。
PKI ( Public Key Infrastructure )指的是公钥基础设施。 CA ( Certificate Authority )指的是认证中心。 PKI 从技术上解决了网络通信安全的种种障碍。 CA 从运营、管理、规范、法律、人员等多个角度来解决了网络信任问题。由此,人们统称为“PKI/CA ”。从总体构架来看, PKI/CA 主要由最终用户、认证中心和注册机构来组成。
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。
认证过程具体如下:客户机向认证服务器(AS)发送请求,要求得到某服务器的证书,然后 AS 的响应包含这些用客户端密钥加密的证书。证书的构成为: 1) 服务器 “ticket” ; 2) 一个临时加密密钥(又称为会话密钥 “session key”) 。客户机将 ticket (包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝)传送到服务器上。会话密钥可以(现已经由客户机和服务器共享)用来认证客户机或认证服务器,也可用来为通信双方以后的通讯提供加密服务,或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。
KDC(密码学中的密钥分发中心)是密钥体系的一部分,旨在减少密钥体制所固有的交换密钥时所面临的风险。
KDC在kerberos中通常提供两种服务:Authentication Service (AS)认证服务和Ticket-Granting Service (TGS):授予票据服务。
第 36 题
采用Kerberos系统进行认证时,可以在报文中加入( )来防止重放攻击。
- (A) 会话密钥
- (B) 时间戳
- (C) 用户ID
- (D) 私有密钥
答案与解析
- 试题难度:容易
- 知识点:信息安全>网络攻击
- 试题答案:[[B]]
- 试题解析:重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。
Kerberos系统采用的是时间戳方案来防止重放攻击,这种方案中,发送的数据包是带时间戳的,服务器可以根据时间戳来判断是否为重放包,以此防止重放攻击。
第 37 题
以下关于为撰写学术论文引用他人资料的叙述中,错误的是( )。
- (A) 既可引用发表的作品,也可引用未发表的作品
- (B) 只能限于介绍、评论或为了说明某个问题引用作品
- (C) 只要不构成自己作品的主要部分,可引用资料的部分或全部
- (D) 不必征得著作权人的同意,不向原作者支付合理的报酬
答案与解析
- 试题难度:一般
- 知识点:法律法规与标准化>侵权判断
- 试题答案:[['A']]
- 试题解析:《中华人民共和国著作权法》第22条 在下列情况下使用作品,可以不经著作权人许可,不向其支付报酬,但应当指明作者姓名、作品名称,并且不得侵犯著作权人依照本法享有的其他权利:
(一)为个人学习、研究或者欣赏,使用他人已经发表的作品;
(二)为介绍、评论某一作品或者说明某一问题,在作品中适当引用他人已经发表的作品;
(三)为报道时事新闻,在报纸、期刊、广播电台、电视台等媒体中不可避免地再现或者引用已经发表的作品;
(四)报纸、期刊、广播电台、电视台等媒体刊登或者播放其他报纸、期刊、广播电台、电视台等媒体已经发表的关于政治、经济、宗教问题的时事性文章,但作者声明不许刊登、播放的除外;
(五)报纸、期刊、广播电台、电视台等媒体刊登或者播放在公众集会上发表的讲话,但作者声明不许刊登、播放的除外;
(六)为学校课堂教学或者科学研究,翻译或者少量复制已经发表的作品,供教学或者科研人员使用,但不得出版发行;
(七)国家机关为执行公务在合理范围内使用已经发表的作品;
(八)图书馆、档案馆、纪念馆、博物馆、美术馆等为陈列或者保存版本的需要,复制本馆收藏的作品;
(九)免费表演已经发表的作品,该表演未向公众收取费用,也未向表演者支付报酬;
(十)对设置或者陈列在室外公共场所的艺术作品进行临摹、绘画、摄影、录像;
(十一)将中国公民、法人或者其他组织已经发表的以汉语言文字创作的作品翻译成少数民族语言文字作品在国内出版发行;
(十二)将已经发表的作品改成盲文出版。
在看完著作权法的条款之后,唯一可能有疑虑的是C选项”只要不构成自己作品的主要部分,可引用资料的部分或全部“,其实“全部引用”是有可能的,例如引用一个公式,虽然是全部,但个体本身非常小,所以也属于合理引用的范围。
第 38 题
以下作品中,不适用或不受著作权法保护的作品是( )。
- (A) 国务院颁布的《计算机软件保护条例》
- (B) 某作家的作品《绿化树》
- (C) 最高人民法院组织编写的《行政诉讼案例选编》
- (D) 某人在公共场所的即兴演说
答案与解析
- 试题难度:一般
- 知识点:法律法规与标准化>保护范围与对象
- 试题答案:[['A']]
- 试题解析:
著作权法不适用于: 法律、法规,国家机关的决议、决定、命令和其他具有立法、行政、司法性质的文件,及其官方正式译文。而A选项中的“国务院颁布的《计算机软件保护条例》”属于该情况,所以不受著作权法保护。
第 39 题
以下著作权权利中,( )的保护期受时间限制。
- (A) 署名权
- (B) 发表权
- (C) 修改权
- (D) 保护作品完整权
答案与解析
- 试题难度:一般
- 知识点:法律法规与标准化>保护期限
- 试题答案:[[B]]
- 试题解析:在著作权法中规定:署名权、修改权、保护作品完整权的保护期是不受时间限制的。而发表权、使用权和获得报酬权的保护期限为:作者终生及其死亡后的50年(第50年的12月31日)。
第 40 题
某企业拟生产甲、乙、丙、丁四个产品。每个产品必须依次由设计部门、制造部门和检验部门进行设计、制造和检验,每个部门生产产品的顺序是相同的。各产品各工序所需的时间如下表所示:
- (A) 84
- (B) 86
- (C) 91
- (D) 93
答案与解析
- 试题难度:一般
- 知识点:数学与经济管理>动态规划
- 试题答案:[['A']]
- 试题解析:做这类题,有一个基本的原则:把多个任务中,第1步耗时最短的安排在最开始执行,再把最后1步耗时最短的安排在最后完成。所以在本题中最先应执行的是丁项目,最后执行的是丙项目。这样所有的安排方案只有两个:
1、丁甲乙丙
2、丁乙甲丙
通过画时空图可知丁甲乙丙执行时间如图所示,总执行时间为84天,而题目最小选项为84天,所以该方案已达最优,可以不计算方案2。
第 41 题
1路和2路公交车都将在10分钟内均匀随机地到达同一车站,则它们相隔4分钟内到达该站的概率为( )。
- (A) 0.36
- (B) 0.48
- (C) 0.64
- (D) 0.76
答案与解析
- 试题难度:一般
- 知识点:数学与经济管理>其它
- 试题答案:[[C]]
- 试题解析:本题考查数学应用能力(概率)。
设1路和2路公交车将分别在x和y分钟内到达该站,则x和y是在[0,10]内独立均匀分布的随机变量。本题需要计算|x-y|<=4的概率。
平面上的点(x,y)必然在正方形[0,10;0,10]内均匀分布。|x-y|<=4的概率应当等于该正方形中|x-y|<=4的部分面积的比例。
该正方形的面积为100,其中|x-y|<=4部分的面积为64(如下图),因此,|x-y|<=4的概率为0.64。
第 42 题
A system's architecture is a representation of a system in which there is a mapping of( )onto hardware and software components, a mapping of the( )onto the hardware architecture. and a concern for the human interaction with these components. That is, system architecture is concerned with a total system, including hardware. software, and humans.
Software architectural structures can be divided into three major categories, depending on the broad nature of the elements they show.1)( )embody decisions as a set of code or data units that have to be constructed or procured.2)( )embody decisions as to how the system is to be structured as set of elements that have runtime behavior and interactions.3)( )embody decisions as to how the system will relate to non software structures in its
environment(such as CPUs, file systems, networks, development teams, etc.).
- (A) attributes
- (B) constraint
- (C) functionality
- (D) requirements
- (A) physical components
- (B) network architecture
- (C) software architecture
- (D) interface architecture
- (A) Service structures
- (B) Module structures
- (C) Deployment structures
- (D) Work assignment structures
- (A) Decompostion structures
- (B) Layer structures
- (C) Implementation structures
- (D) Component-and-connector structures
- (A) Allocation structures
- (B) Class structures
- (C) Concurrency structures
- (D) Uses structures
答案与解析
- 试题难度:一般
- 知识点:专业英语>专业英语
- 试题答案:[['C'],['C'],['B'],['D'],['A']]
- 试题解析:参考译文:
系统架构是一个系统的一种表示,包含了功能到软硬件构件的映射、软件架构到硬件架构的映射以及对于这些组件人机交互的关注。也就是说,系统架构关注于整个系统,包括硬件、软件和使用者。软件架构结构根据其所展示元素的广义性质,可以被分为三个主要类别。
1)模块结构将决策体现为一组需要被构建或采购的代码或数据单元。
2)构件连接器结构将决策体现为系统如何被结构化为一组具有运行时行为和交互的元素。
3)分配结构将决策体现为系统如何在其环境中关联到非软件结构,如CPU、文件系统、网络、开发团队等。