Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 549|回复: 0

[默认分类] 2011年系统架构师考试题详解

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-6-8 10:10:18 | 显示全部楼层 |阅读模式

    考试科目一:综合知识
    1. [code]操作系统为用户提供了两类接口:操作一级和程序控制一级的接口,以下不属于操作一级的接口是(1)。  
    2. (1)A.操作控制命令         B.系统调用              C.菜单            D.窗口  
    复制代码
    [/code]

      【答案】B 【解析】本题考查操作系统基本概念。
    操作系统为用户提供了两类接口:操作一级的接口和程序控制一级的接口。其中,操作一级的接口包括操作控制命令、菜单命令等;程序控制一级的接口包括系统调用。

    1. [code]进程1>1、P2、P3、P4和P5的前趋图如下:
    2. 若用PV操作控制进程P1〜P5并发执行的过程,则需要设置5个信号ft SI、S2、 S3、S4和S5,进程间同步所使用的信号童标注在上图中的边上,且信号量S1〜S5的初值都等于零,初始状态下进程P1开始执行。下图中a、b和c处应分别填写(2);d和e处应分别填写(3), f和g处应分别填写(4)。
    3. (2)A.V(S1)V(S2)、P(S1)和V(S3)V(S4)        B.P(S1)V(S2)、P(S1)SI P(S2)V(S1)  
    4.        C.V(S1)V(S2)、P(S1)和P(S3)P(S4)        D.P(S1)P(S2)、V(S1)和P(S3)V(S2)  
    5. (3)A.P(S1)和V(S5)    B.V(S1)和P(S5)  C.P(S2)和V(S5)   D.V(S2)和P(S5)  
    6. (4)A.P(S3)和V(S4)V(S5)                   B.P(S3)和P(S4)P(S5)
    7.        C.V(S3)和V(S4)V(S5)                   D.V(S3)和P(S4)P(S5)
    复制代码
    [/code]



      【答案】A C B 【解析】本题考查PV操作方面的基本知识。
    因为P1是P2和P3的前驱,当P1执行完应通知P2和P3,应采用V(S1)V(S2)操作分别通知P2和P3,故图中的a处应填写V(S1)V(S2);又因为P2是P1的后继,当P2执行前应测试P1是否执行完,应采用P(S1)操作测试P1是否执行完,故b处应填写P(S1);
    同理,P2是P4和P5的前驱,当P2执行完应通知P4和P5,应使用V(S3)
    V(S4)操作分别通知P4和P5,故c处应填写V(S3)V(S4)。
    因为P3是P1的后继,当P3执行前应测试P1是否执行完,应采用P(S2)操作测试P1是否执行完,故d应填写P(S2);又因为P3是P5的前驱,当P3执行完应通知P5,
    应采用V(S5)操作通知P5,故e处应填写V(S5)。
    因为P4是P2的后继,当P4执行前应测试P2是否执行完,应采用P(S3)操作分别测试P2是否执行完,故f处应填写P(S3);又因为P5是P2和P3的前驱,当P5执行前应测试P2和P3是否执行完,应采用P(S4)P(S5)操作分别测试P2和P3是否执行完,故g处应填写P(S4)P(S5)。

    1. [code]某企业工程项目管理数据库的部分关系模式如下所示,其中带实下划线的表示主键,虚下划线的表示外键。
    2. 供应商(供应商号,名称,地址,电话,账号)
    3. 项目(项目号,负责人,开工日期)
    4. 零件(零件号,厂规格,单价)
    5. 供应(项目号,零件号,供应商号,供应量)
    6. 员工(员工号,姓名,性别出生日期,职位,联系方式)
    7. 其中供应关系是(5)的联系。若一个工程项目可以有多个员工参加,每个员工可以参加多个项目,则项目和员工之间是(6)联系。对项目和员工关系进行设计时,(7)设计成一个独立的关系模式。
    8. (5)A.2个实体之间的l:n                     B.2个实体之间的n:m  
    9.        C.3个实体之间的l:n:m                   D.3个实体之间的k:n:m  
    10. (6)A.1:1                B.l:n               C.n:m               D.n:l  
    11. (7)A.多对多的联系在向关系模型转换时必须  
    12.        B.多对多的联系在向关系模型转换时无须  
    13.        C.只需要将一端的码并入多端,所以无须  
    14.        D.不仅需要将一端的码并入多端,而且必须
    复制代码
    [/code]

      【答案】D C A 【解析】本题考查关系模式和E-R图的概念和性质。
    对于试题(6)、(7),多对多的联系必须转换为一个独立的关系模式。下面分析诊疗科和医师之间的联系:根据E-R模型中一对多联系向关系模式转换规则可知,一个一对多的联系既可以转换为一个独立的关系模式,也可以与多端的关系模式合并。如果与多端的关系模式合并的话,需要将一端的码和联系上的属性合并到多端的关系模式中。由于本题将诊疗科的主键合并到了医师关系模式中,因此诊疗科和医师之间应该是一个一对多的联系。

    1. [code]给定学生S (学号,姓名,年龄,入学时间,联系方式)和选课SC (学号,课程号, 成绩)关系,若要查询选修了1号课程的学生学号、姓名和成绩,则该查询与关系代数表达式(8)等价。     
    2. (8)A.                   B.
    3.        C.                       D.
    复制代码
    [/code]





      【答案】B 【解析】本题考查关系代数运算方面的基础知识。
    对于试题(8),题目要求“查询选修了1号课程的学生学号和姓名”,因此先进行S与SC关系的自然连接,即选取S.学号=SC.学号的元组并去掉右边的重复属性“学号”,生成的新关系为(学号,姓名,年龄,入学时间,联系方式,课程号,成绩),共有7
    个属性列。 选项A是错误的,因为自然连接后的第6个属性为课程号,其选取运算的实际含义为“学号=课程号”同时“成绩=1”,与题意不符。
    选项B是正确的,因为该关系表达式的含义为:进行S与SC关系的自然连接,选取S.学号=sc.学号的元组并去掉右边的重复属性“学号”,再选取“课程号=1”的元组,最后进行学号、姓名和成绩的投影运算。
    同理可以分析选项C和D都是错误的。

    1. [code]以下关于CISC (Complex Instruction Set Computer,复杂指令集计算机)和RISC (Reduced Instruction Set Computerf精简指令集计算机)的叙述中,错误的是(9).   
    2. (9)A.在CISC中,复杂指令都采用硬布线逻辑来执行  
    3.        B.—般而言,采用CISC技术的CPU,其芯片设计复杂度更髙  
    4.        C.在RISC中,更适合采用硬布线逻辑执行指令  
    5.        D.采用RISC技术,指令系统中的指令种类和寻址方式更少  
    复制代码
    [/code]

      【答案】A 【解析】本题考查计算机指令体系基础知识。 CISC (Complex Instruction Set
    Computer,复杂指令集计算机)的基本思想是进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬件化,导致机器的指令系统越来越庞大而复杂。CISC计算机一般所含的指令数目至少300条以上,有的甚至超过500条。
    CISC的主要缺点如下:①微程序技术是CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才能完成,这就需要多个CPU周期,从而降低了机器的处理速度;②指令系统过分庞大,从而使高级语言编译程序选择目标指令的范围很大,并使编译程序本身冗长而复杂,从而难以优化编译使之生成真正髙效的目标代码:③CISC强调完善的中断控制,势必导致动作繁多,设计复杂,研制周期长:④CISC给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率降低。
    RISC (Reduced Instruction Set
    Computer,精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译,提高指令的执行速度,采用硬线控制逻辑,优化编译程序。
    实现RISC的关键技术有:①重叠寄存器窗口(overlapping register windows)技术,
    首先应用在伯克利的RISC项目中;②优化编译技术,RISC使用了大量的寄存器,如何
    合理分配寄存器、提高寄存器的使用效率,减少访存次数等,都应通过编译技术的优化来实现;③超流水及超标量技术,这是RISC为了进一步提高流水线速度而采用的新技术;④硬线逻辑与微程序相结合在微程序技术中。

    1. [code]以下关于Cache的叙述中,正确的是(10)。  
    2. (10)A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素  
    3.         B.Cache的设计思想是在合理的成本下提高命中率  
    4.         C.Cache的设计目标是容量尽可能与主存容量相等  
    5.         D.CPU中的Cache容量应大于CPU之外的Cache容量  
    复制代码
    [/code]

      【答案】B 【解析】本题考査存储系统基础知识。
    在计算机系统中,常选用生产与运行成本、存储容量和读写速度各不相同的多种存储介质,组成一个统一管理的存储器系统,使每种介质充分发挥各自在速度、容量、成本方面的优势,从而达到最优性能价格比,满足使用要求。
    高速缓存Cache用来存放当前最活跃的程序和数据,作为主存局部域的副本,其特点是:容量一般在几KB到几MB之间;速度一般比主存快5到10倍,由快速半导体存储器构成;其内容是主存局部域的副本,对程序员来说是透明的。
    替换算法的目标就是使Cache获得最高的命中率。常用算法有随机替换算法、先进先出算法、近期最少使用算法和优化替换算法。
    Cache的性能是计算机系统性能的重要方面。命中率是Cache的一个重要指标,但不是最主要的指标。Cache设计的目标是在成本允许的条件下达到较高的命中率,使存储系统具有最短的平均访问时间。
    Cache的命中率与Cache容量的关系是:Cache容量越大,则命中率越高,随着Cache容量的增加,其命中率逐渐接近100%。但是增加Cache容量意味着增加Cache的成本和增加Cache的命中时间。

    1. [code]虚拟存储器发生页面失效时,需要进行外部地址变换,即实现(11)的变换。  
    2. (11)A.虚地址到主存地址                      B.主存地址到Cache地址
    3.         C.主存地址到辅存物理地址               D.虚地址到辅存物理地址
    复制代码
    [/code]

      【答案】D 【解析】本题考查存储系统基础知识。 虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。
    它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。虚拟存储器管理方式分为页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。
    虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。它的工作过程包括6个步骤:
    ①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
    ②如该组号已在主存内,则转而执行④;如果该组夸不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将需要访问的信息调入主存。
    ③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
    ④从地址变换表读出与逻辑组号a对应的物理组号a。 ⑤从物理组号a和组内字节地址b得到物理地址。 ⑥根据物理地址从主存中存取必要的信息。
    页式调度是将逻辑和物理地址空间都分成固定大小的页。主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度,辅存中程序的各页可以离散装入主存中不同的页面位置,并可据页表一一对应检索。

    1. [code]挂接在总线上的多个部件(12)。     
    2. (12)A.只能分时向总线发送数据,并只能分时从总线接收数据  
    3.         B.只能分时向总线发送数据,但可同时从总线接收数据
    4.         C.可同时向总线发送数据,并同时从总线接收数据
    5.         D.可同时向总线发送数据,但只能分时从总线接收数据试  
    复制代码
    [/code]

      【答案】B 【解析】本题考查计算机系统总线结构基础知识。
    总线是一组能为多个部件分时共享的信息传送线,用来连接多个部件并为之提供信息交换通路。所谓共享,指连接到总线上的所有部件都可通过它传递信息;分时性指某一时刻只允许一个部件将数据发送到总线上。因此,共享是通过分时实现的。

    1. [code]核心层交换机应该实现多种功能,下面选项中,不属于核心层特性的是(13)。     
    2. (13)A.高速连接      B.冗余设计      C.策略路由      D.较少的设备连接  
    复制代码
    [/code]

      【答案】C 【解析】
    核心层交换机一般都是三层或者三层以上的交换机,采用机箱式的外观,具有很多冗余的部件。在进行网络规划设计时,核心层的设备通常要占大部分投资,因为核心层是网络的高速主干,需要转发非常庞大的流量,对于冗余能力、可靠性和传输速度方面要求较髙。
    核心层交换机还需要支持链路聚合功能,以确保为分布层交换机发送到核心层交换机的流量提供足够的带宽。核心层交换机还应支持聚合万兆链接。这样可以让对应的分布层交换机尽可能高效的向核心层传送流量。QoS是核心层交换机提供的重要服务之一。
    策略路由是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。应用了策略路由,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器。

    1. [code]達筑物综合布线系统中的垂首子系统是指(14)。  
    2.     (14)A.由终端到信叙插座之间的连线系统       B.楼层接线间的配线架和线缆系统
    3.         C.各楼层设备之间的互连系统              D.连接各个建筑物的通信系统  
    复制代码
    [/code]

      【答案】C 【解析】 结构化布线系统分为六个子系统:工作区子系统、水平子系统、干线(垂直)子系统、设备间子系统、管理子系统和建筑群子系统。
    干线(垂直)子系统是由主设备间(如计算机房、程控交换机房等)提供建筑中最重要的铜线或光纤线主干线路构成,是整个建筑的信息交通枢纽。一般它提供位于不同
    楼层的设备间和布线框间的多条连接路径,也可以连接单层楼的大片地区。

    1. [code]网络设计过程包括逻辑网络设计和物理网络设计两个阶段,下面的选项中,(15)应该属于逻辑网络设计阶段的任务。   
    2. (15)A.选择路由协议    B.设备选型      C.结构化布线         D.机房设计
    复制代码
    [/code]

      【答案】A 【解析】
    一个网络系统从构思开始,到最后被淘汰的过程称为网络生命周期。一般来说,网络生命周期应包括系统的构思和计划、分析和设计、以及运行和维护的全过程。网络系统的生命周期是一个循环迭代的过程,每次迭代的动力都来自于网络应用需求的变更。每一个迭代周期都是网络重构的过程。常见的迭代周期可分为以下五个阶段:需求规范、
    通信规范、逻辑网络设计、物理网络设计、实施阶段。
    逻辑网络设计是指根据用户需要确定网络建设的方案,包括拓扑结构规划、地址分配等、网络技术和服务器的选择等。物理网络设计的任务是选择符合逻辑性能要求的传输介质、设备、部件、部件和场所等,并将它们搭建成一个可以正常运行的网络。

    1. [code]随着业务的增长,信息系统的访问量和数据流量快速增加,采用负载均衡(Load Balance)方法可避免由此导致的系统性能下降甚至崩溃。以下关于负载均衡的叙述中, 错误的是(16)。
    2. (16)A.负载均衡通常由服务器端安装的附加软件来实现
    3.         B.负载均衡并不会增加系统的吞吐量
    4.         C.负载均衡可在不同地理位置、不同网络结构的服务器群之间进行
    5.         D.负载均衡可使用户只通过一个IP地址或域名就能访问相应的服务器  
    复制代码
    [/code]

      【答案】B 【解析】本题主要考查考生对负载均衡方法的理解和掌握。
    负载均衡一般由服务端安装的附加软件来实现,通过采用负载均衡技术,系统的吞吐量会得到增加。负载均衡可以在不同地理位置、不同网络结构的服务器集群之间进行,
    采用负载均衡技术,用户可以仅通过IP地址或域名访问相应的服务器。

    1. [code]数据备份是信息系统运行管理时保护数据的重要措施。(17)可针对上次任何一 种备份进行,将上次备份后所有发生变化的数据进行备份,并将备份后的数据进行标记。     
    2. (17)A.增量备份          B.差异备份          C.完全备份          D.按需备份
    复制代码
    [/code]

      【答案】A 【解析】本题主要考查对各种数据备份机制的理解。
    根据题干描述,可以看出增量备份可针对上次任何一种备份进行,将上次备份后所有发生变化的数据进行备份,并将备份后的数据进行标记。

    1. [code]某企业欲对内部的数据库进行数据集成。如果集成系统的业务逻辑较为简单,仅使用数据库中的单表数据即可实现业务功能,这时采用(18)方式进行数据交换与处理较为合适;如果集成系统的业务逻辑较为复杂,并需要通过数据库中不同表的连接操作获取数据才能实现业务功能,这时采用(19)方式进行数据交换与处理较为合适。   
    2. (18)A.数据网关          B.主动记录          C.包装器           D.数据映射  
    3. (19)A.数据网关          B.主动记录          C.包装器           D.数据映射  
    复制代码
    [/code]

      【答案】B D 【解析】本题主要考查数据集成的相关知识。
    关键要判断在进行集成时,需要数据库中的单表还是多表进行数据整合。如果是单表即可完成整合,则可以将该表包装为记录,采用主动记录的方式进行集成;如果需要多张表进行数据整合,则需要采用数据映射的方式完成数据集成与处理。

    1. [code]某大型商业公司欲集成其内部的多个业务系统,这些业务系统的运行平台和开发语言差异较大,而且系统所使用的通信协议和数据格式各不相同,针对这种情况,采用基于(20)的集成框架较为合适。除此以外,集成系统还需要根据公司的新业务需要,灵活、动态地定制系统之间的功能协作关系,针对这一需求,应该选择基于(21)技术的实现方式更为合适。
    2. (20)A.数据库           B.文件系统          C.总线            D.点对点  (21)A.分布式对象          B.远程过程调用    C.进程间通信         D.工作流  
    复制代码
    [/code]

      【答案】C D 【解析】本题主要考查企业应用集成的理解和掌握。
    针对题干描述,该企业进行系统集成时,“业务系统的运行平台和开发语言差异较大,而且系统所使用的通信协议和数据格式各不相同“。在这种情况下,需要采用总线技术对传输协议和数据格式进行转换与适配。当需
    要集成并灵活定义系统功能之间的协作关系时,应该釆用基于工作流的功能关系定义方式。

    1. [code]软件产品配置是指一个软件产品在生存周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据的集合。该集合的每一个元素称为该产品配置中的—个配置项。下列不应该属于配置项的是(22)。
    2. (22)A.源代码清单                             B.设计规格说明书   
    3. C.软件项目实施计划                      D.CASE工具操作手册
    复制代码
    [/code]

      【答案】D 【解析】本题考查软件配置管理方面的基础知识。
    软件产品配置是指一个软件产品在生存周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据的集合。该集合的每一个元素称为该产品配置中的
    —个配置项。配置项主要有以下两大类。 属于产品组成部分的工作成果,如需求文档、设计文档、源代码和测试用例等。
    属于项目管理和机构支撑过程域产生的文档,如工作计划、项目质量报、项目跟踪报告等。这些文档虽然不是产品的组成部分,但是值得保存。
    在题目的选项中,CASE工具操作手册不属于上述两类,所以它不属于配置项。

    1. [code]软件质量保证是软件项目控制的重要手段,(23)是软件质量保证的主要活动之一。
    2. (23)A.风险评估          B.软件评审          C.需求分析          D.架构设计  
    复制代码
    [/code]

      【答案】B 【解析】本题考查软件质量管理方面的基础知识。
    软件质量是指反映软件系统或软件产品满足规定或隐含需求的能力的特征和特性全体。软件质量管理是指对软件开发过程进行的独立的检查活动,由质童保证、质量规划和质量控制三个主要活动构成。软件质量保证是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,其目的是生产髙质量的软件。软件评审是软件质量保证的主要活动之一。

    1. [code]利用需求跟踪能力链(traceabilitylink)可以跟踪一个需求使用的全过程,也就是从初始需求到实现的前后生存期。需求跟踪能力链有4类,如下图所示:
    2. 其中的①和②分别是(24).
    3. (24)A.客户需求、软件需求                     B.软件需求、客户需求
    4. C.客户需求、当前工作产品               D.软件需求、当前工作产品
    复制代码
    [/code]


      【答案】A 【解析】本题考查需求管理方面的基础知识。
    需求跟踪包括编制每个需求与系统元素之间的联系文档,这些元素包括别的需求、体系结构、其他设计部件、源代码模块、测试、帮助文件和文档等。跟踪能力信息使变更影响分析十分便利,有利于确认和评估实现某个建议的需求变更所必须的工作。
    利用需求跟踪能力链(traceabilitylink)可以跟踪一个需求使用的全过程,也就是从初始需求到实现的前后生存期。跟踪能力是优秀需求规格说明书的一个特征,为了实现跟踪能力,必须统一地标识出每一个需求,以便能明确地进行查阅。

    客户需求向前追溯到软件需求。这样就能区分出开发过程中或者开发结束后,由于客户需求变更受到影响的软件需求,这也就可以确保软件需求规格说明包括了所有客户需求。
    从软件需求回溯响应的客户需求。这也就是确认每个软件需求的源头。如果使用实例的形式来描述客户需求,那么客户需求与软件需求之间的跟踪情况就是使用实例和功能性需求。
    从软件需求向前追溯到下一级工作产品。由于开发过程中系统需求转变为软件需求、设计、编码等,所以通过定义单个需求和特定的产品元素之间的(联系)链,可以从需求向前追溯到下一级工作产品。这种联系链告诉我们每个需求对应的产品部件,从而确保产品部件满足每个需求。
    从产品部件回溯到软件需求。说明了每个部件存在的原因。如果不能把设计元素、代码段或测试回溯到一个需求,可能存在“画蛇添足”的程序。然而,如果这些孤立的元素表明了一个正当的功能,则说明需求规格说明书漏掉了一项需求。

    1. [code]通常有两种常用的需求定义方法:严格定义方法和原型方法。下述的各种假设条件中,“(25)”不适合使用严格定义方法进行需求定义。   
    2. (25)A.所有需求都能够被预先定义  
    3. B.开发人员与用户之间能够准确而清晰地交流
    4.         C.需求不能在系统开发前被完全准确地说明
    5. D.采用图形(或文字)充分体现最终系统
    复制代码
    [/code]

      【答案】C 【解析】 需求定义的过程也就是形成需求规格说明书的过程,通常有两种需求定义的方法: 严格定义方法和原型方法。
    严格定义方法也称为预先定义,需求的严格定义建立在以下基本假设之上:
    ①所有需求都能够被预先定义。这意味着在没有实际系统运行经验的情况下,全部的系统需求均可通过逻辑推断得到。但这种假设在许多场合是不能成立的。
    ②开发人员与用户之间能够准确而清晰地交流。
    ③采用图形(或文字)可以充分体现最终系统。在使用严格定义需求的开发过程中,开发人员与用户之间交流与沟通的主要工具是定义报告,包括文字、图形、逻辑规则和数据字典等技术工具。
    原型化的需求定义过程是一个开发人员与用户通力合作的反复过程。从一个能满足用户基本需求的原型系统开始,允许在开发过程中提出更好的要求,根据用户的要求不断地对系统进行完善,它实质上是一种迭代的循环型的开发方式。采用原型方法时需注意一下几个问题:
    ①并非所有的需求都能在系统开发前被准确地说明。 ②项目干系人之间通常都存在交流上的困难。 ③需要实际的、可供用户参与的系统模型。
    ④有合适的系统开发环境。 ⑤反复是完全需要和值得提倡的。需求一旦确定,就应该遵从严格定义的方法。

    1. [code]下列关于软件需求管理或需求开发的叙述中,正确的是(26)。
    2. (26)A.所谓需求管理是指对需求开发的管理
    3.         B.需求管理包括:需求获取、需求分析、需求定义和需求验证
    4.         C.需求开发是将用户需求转化为应用系统成果的过程
    5.         D.在需求管理中,要求维持对用户原始需求和所有产品构件需求的双向跟踪
    复制代码
    [/code]

      【答案】D 【解析】本题考查软件需求工程方面的基础知识。
    软件需求工程是包括创建和维护软件需求文档所必须的一切活动的过程,可以分为需求开发和需求管理两大工作。需求开发包括需求获取、需求分析、编写需求规格说明书(需求定义)和需求验证4个阶段。在需求开发阶段需要确定软件所期望的用户类型,
    获取各种用户类型的需求,了解实际的用户任务和目标,以及这些任务所支持的业务 需求。
    需求管理是一个对系统需求变更、了解和控制的过程,逋常包括定义需求基线、处理需求变更和需求跟踪方面的工作。需求管理强调:控制对需求基线的变动;保持项目计划与需求的一致;控制单个需求和需求文档的版本情况;管理需求和联系链,或者管理单个需求和其他项目可交付产品之间的依赖关系;跟踪基线中的需求状态。
    需求开发与需求管理是相辅相成的,需求开发是主线、目标;需求管理是支持、保障。

    1. [code]RUP是一个二维的软件开发模型,其核心特点之一是(27)。RUP将软件开发生存周期划分为多个循环(cycle),每个循环由4个连续的阶段组成,每个阶段完成确定的任务。设计及确定系统的体系结构,制定工作计划及资源要求是在(28)阶段完成的。
    2. (27)A.数据驱动          B.模型驱动          C.用例驱动          D.状态驱动  
    3.     (28)A.初始(inception)                         B.细化(elaboration)
    4. C.构造(construction)                      D.移交(transition)  
    复制代码
    [/code]

      【答案】C B 【解析】
    RUP软件开发生命周期是一个二维的软件开发模型,其中有9个核心工作流,分别为:业务建模、需求、分析与设计、实现、测试部署、配置与变更管理、项目管理以及环境。
    RUP把软件开发生存周期划分为多个循环,每个循环生成产品的一个新的版本,每个循环依次由4个连续的阶段组成,每个阶段完成确定的任务。这4个阶段分别为:
    初始阶段:定义最终产品视图和业务模型,并确定系统范围。 细化阶段:设计及确定系统的体系结构,制定工作计划及资源要求。
    构造阶段:构造产品并继续演进需求、体系结构、计划直至产品提交。 移交阶段:把产品提交给用户使用。
    每个阶段都有一个或多个连续的迭代组成。迭代并不是重复地做相同的事,而是针对不同用例的细化和实现。每一个迭代都是一个完整的开发过程,它需要项目经理根据当前迭代所处的阶段以及上次迭代的结果,适当地对工作流中的行为进行裁剪。在每个阶段结束前有一个里程碑评估该阶段的工作。如果未能通过该里程碑的评估,则决策者应该做出决定,是取消该项目还是继续该阶段的工作。
    与其他软件开发过程相比,RUP具有自己的特点,即RUP是用例驱动的、以体系结构为中心的、迭代和增量的软件开发过程。

    1. [code]在面向对象设计中,用于描述目标软件与外部环境之间交互的类被称为(29), 它可以(30)。   
    2. (29)A.实体类           B.边界类           C.模型类           D.控制类  
    3.     (30)A.表示目标软件系统中具有持久意义的信息项及其操作
    4.         B.协调、控制其他类完成用例规定的功能或行为
    5.         C.实现目标软件系统与外部系统或外部设备之间的信息交流和互操作
    6.         D.分解任务并把子任务分派给适当的辅助类
    复制代码
    [/code]

      【答案】B C 【解析】本题考查面向对象开发方法的基础知识。
    类封装了信息和行为,是面向对象的重要组成部分。设计类是面向对象设计过程中最重要的组成部分,也是最复杂和最耗时的部分。在面向对象设计过程中,类可以分为三种类型:实体类、边界类和控制类。
    实体类映射需求中的每个实体。实体类保存需要存储在永久存储体中的信息。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转化中,参与者一般对应于实体类。
    控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化而来的名词。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象(控制类的实例)通常控制其他对象。因此它们的行为具有协调性。
    边界类用于封装在用例内、外流动的信息或数据流。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类,用于实现目标软件系统与外部系统或外部设备之间的信息交流和互操作。

    1. [code]最少知识原则(也称为迪米特法则)是面向对象设计原则之一,指一个软件实体应当尽可能少地与其他实体发生相互作用。这样,当一个实体被修改时,就会尽可能少地影响其他的实体。下列叙述中,“(31)”不符合最少知识原则。     
    2. (31)A.在类的划分上,应当尽量创建松耦合的类
    3. B.在类的设计上,只要有可能,一个类型应当设计成不变类
    4. C.在类的结构设计上,每个类都应当尽可能提高对其属性和方法的访问权限
    5.         D.在对其他类的引用上,一个对象对其他对象的引用应当降到最低  
    复制代码
    [/code]

      【答案】C 【解析】
    常用的面向对象设计原则包括开闭原则、里氏替换原则、依赖倒置原则、组合/聚合复用原则、接口隔离原则和最少知识原则等。这些设计原则首先都是面向复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。
    最少知识原则(也称为迪米特法则)是面向对象设计原则之一,指一个软件实体应当尽可能少地与其他实体发生相互作用。这样,当一个实体被修改时,就会尽可能少地影响其他的实体。
    最少知识原则主要用于控制信息的过载。在将最少知识原则运用到系统设计中时, 要注意以下几点:
    ①在类的划分上,应当尽量创建松耦合的类,类之间的耦合度越低,就越有利于复用。一个处在松稱合中的类一旦被修改,不会对关联的类造成太大波动。
    ②在类的结构设计上,每个类都应当尽量降低其属性和方法的访问权限。 ③在类的设计上,只要有可能,一个类型应当设计成不变类。
    ④在对其他类的引用上,一个对象对其他对象的引用应当降到最低。

    1. [code]下列关于各种软件开发方法的叙述中,错误的是(32)。   
    2. (32)A.结构化开发方法的缺点是开发周期较长,难以适应需求变化
    3.         B.可以把结构化方法和面向对象方法结合起来进行系统开发,使用面向对象方法进行自顶向下的划分,自底向上地使用结构化方法开发系统
    4.         C.与传统方法相比,敏捷开发方法比较适合需求变化较大或者开发前期需求不是很清晰的项目,以它的灵活性来适应需求的变化
    5.         D.面向服务的方法以粗粒度、松散耦合和基于标准的服务为基础,增强了系统的灵活性、可复用性和可演化性
    复制代码
    [/code]

      【答案】B 【解析】 结构化方法也称为生命周期法,是一种传统的信息系统开发方法,由结构化分析、
    结构化设计和结构化程序设计三部分组成,其精髓是自顶向下、逐步求精和模块化设计。
    结构化方法的主要特点是:开发目标清晰化、开发工作阶段化、开发文档规范化和设计方法结构化。结构化方法特别适合于数据处理领域的问题,但是不适应于规模较大、比较复杂的系统开发。结构化方法的缺点是开发周期长、难以适应需求的变化、很少考虑数据结构。
    面向对象方法是目前比较主流的开发方法。面向对象方法是系统的描述及信息模型的表示与客观实体相对应,符合人们的思维习惯,有利于系统开发过程中用户与开发人
    员的交流和沟通,缩短开发周期,提高系统开发的正确性和效率。可以把结构化方法和面向对象方法结合起来进行系统开发。首先使用结构化方法进行自顶向下的整体划分;
    然后再自底向上地采用面向对象方法开发系统。
    敏捷方法是从20世纪90年代开始逐渐引起广泛关注的一种新型软件开发方法,以应对快速变化的需求。敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。敏捷方法强调,让客户满意和软件尽早增量发布:小而高度自主的项目团队;非正式g方法:
    最小化软件工程工作产品以及整体精简开发。与传统方法相比,敏捷开发方法比较适合需求变化较大或者开发前期需求不是很清晰的项目,以它的灵活性来适应需求的变化。
    面向服务的方法以粗粒度、松散耦合和基于标准的服务为基础,增强了系统的灵活性、可复用性和可演化性。

    1. [code]某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。&决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“(Component”角色相对应的类是(33),与“Composite” 角色相对应的类是(34)。
    2. (33)A.Company       B.Finance       C.HRDepartment      D.Department  
    3. (34)A.Company                       B.FinanceDepartmen      
    4. C.HRDepartment                  D.ConcreteCompany
    复制代码
    [/code]


      【答案】A D 【解析】
    组合(Composite)模式又称为整体-部分(Part-whole)模式,属于对象的结构模式。在组合模式中,通过组合多个对象形成树形结构以表示整体-部分的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。Composite
    模式的结构如下图所示。
    •类Component为组合中的对象声明接口,在适当的情况下,实现所有类共有接口的缺省行为,声明一个接口用于访问和管理Component的子部件;
    •类Leaf在组合中表示叶结点对象,叶结点没有子结点;并在组合中定义图元对象的行为:

    •类Composite定义有子部件的那些部件的行为,存储子部件,并在Component接口中实现与子部件有关的操作;
    •类Client通过Component接口操纵组合部件的对象。
    根据上述描述可知,与Composite模式中的“Component”角色相对应的类是Company,与 “Composite”
    角色相对应的类是ConcreteCompany。

    1. [code]企业战略数据模型可分为两种类型:(35)描述日常事务处理中的数据及其关系;(36)描述企业管理决策者所需信息及其关系。
    2. (35)A.元数据模型 B.数据库模型     C.数据仓库模型     D.组织架构模型  
    3. (36)A.元数据模型 B.数据库模型     C.数据仓库模型     D.组织架构模型  
    复制代码
    [/code]

      【答案】B C 【解析】本题考查企业信息化规划的基础知识。
    企业战略数据模型可分为数据库模型和数据仓库模型,数据库模型用来描述日常事务处理中的数据及其关系;数据仓库模型则描述企业髙层管理决策者所需信息及其关系。在企业信息化过程中,数据库模型是基础,一个好的数据库模型应该客观地反映企业生产经营的内在联系。

    1. [code]运用信息技术进行知识的挖掘和(37)的管理是企业信息化建设的重要活动。
    2. (37)A.业务流程      B.IT基础设施    C.数据架构      D.规章制度
    复制代码
    [/code]

      【答案】A 【解析】本题考查企业信息化概念的基础知识。
    企业信息化建设的核心和本质是企业运用信息技术,进行知识的挖掘,对业务流程进行管理。企业信息化的实施,可以沿两个方向进行,自上而下方法必须与企业的制度创新、组织创新和管理创新相结合;自下而上方法必须以作为企业主体的业务人员的直接收益和使用水平逐步提高为基础。

    1. [code]以下关于企业信息化方法的叙述中,正确的是(38)。   
    2. (38)A.业务流程重构是对企业的组织结构和工作方法进行重新设计,SCM (供应链管理)是一种重要的实现手段
    3. B.在业务数量浩繁且流程错综复杂的大型企业里,主题数据库方法往往形成许多“信息孤岛”,造成大量的无效或低效投资
    4.         C.人力资源管理把企业的部分优秀员工看作是一种资本,能够取得投资收益
    5.         D.围绕核心业务应用计算机和网络技术是企业信息化建设的有效途径  
    复制代码
    [/code]

      【答案】D 【解析】本题考查企业信息化方法的基础知识。
    企业业务流程重构是利用信息和网络技术,对企业的组织结构和工作方法进行“彻底的、根本性的”重新设计,以适应当今市场发展和信息社会的需求。核心业务应用方法是围绕核心业务应用计算机和网络技术,这是很多企业信息化成功的秘诀和有效途径。在业务数量浩繁且流程错综复杂的大型企业里,建设覆盖整个企业的信息系统往往很难成功,各个部门的局部开发和应用又有很大的弊端,会造成系统严重分割,形成许多“信息孤岛”,造成大量的无效或低效投资。常见的资源管理方法有ERP
    (企业资源规划)和SCM (供应链管理)。人力资本与人力资源的主要区别是人力资本理论把一部分企业的优秀员工看作是一种投资,能够取得投资收益。

    1. [code]系统设计是软件开发的重要阶段,(39)主要是按系统需求说明来确定此系统的软件结构,并设计出各个部分的功能和接口。     
    2. (39)A.外部设计      B.内部设计      C.程序设计      D.输入/输出设计
    复制代码
    [/code]

      【答案】A 【解析】
    外部设计处于软件设计的开始阶段,主要是按系统需求说明来确定此系统的软件结构和对应于系统需求说明,设计出各个功能部分的功能和接口。内部设计处于软件工程中的概要设计阶段,按照外部设计中确立的系统软件结构,来细化此系统各个功能部件以及各个部件接口的设计,并且详细给出各个功能部件详细的数据输入、输出设计。内部设计细化外部设计中的各种功能。

    1. [code]快速迭代式的原型开发能够有效控制成本,(40)是指在开发过程中逐步改进和细化原型直至产生出目标系统。
    2. (40)A.可视化原型开发               B.抛弃式原型开发  
    3.         C.演化式原型开发               D.量式原型开发  
    复制代码
    [/code]

      【答案】C 【解析】本题考查应用系统开发方法的基础知识。
    原型是软件系统的初始版本,用来演示概念并尝试设计选择,通常用来发现更多的问题和可能的解决方案。快速迭代式的原型开发能够有效控制成本,根据原型与最终产品之间的关系,原型开发分为三类:抛弃式原型开发利用原型验证和澄清系统的需求描述,重新构造系统:演化式原型开发逐步改进和细化原型,将原型进化直至产生出目标系统;增量式原型开发在建立软件总体设计的基础上,采用增量开发方法,使原型成为最终系统。

    1. [code]静态分析通过解析程序文本从而识别出程序语句中可能存在的缺陷和异常之处;静态分析所包含的阶段中,(41)的主要工作是找出输入变量和输出变量之间的依赖关系。
    2. (41)A.控制流分析     B.数据使用分析        C.接口分析      D.信息流分析
    复制代码
    [/code]

      【答案】D 【解析】本题考查应用系统测试的基础知识。
    静态分析通过解析程序文本从而识别出程序语句的各个部分,审查可能的缺陷和异常之处,静态分析包括五个阶段:控制流分析阶段找出并突出显示那些带有多重出口或入口的循环以及不可达到的代码段;数据使用分析阶段突出程序中变量的使用情况;接口分析阶段检查子程序和过程声明及它们使用的一致性;信息流分析阶段找出输入变量和输出变量之间的依赖关系:路径分析阶段找出程序中所有可能的路径并画出在此路径中执行的语句。

    1. [code]确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致。下述各种测试中,(42)为确认测试。
    2. (42)A.负载测试和压力测试                 B.α测试和β测试
    3. C.畴机测试和功能测试                 D.可靠性测试和性能测试
    复制代码
    [/code]

      【答案】B 【解析】本题考查软件测试方面的基础知识。
    确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致。根据用户的参与程度,通常包括以下4种类型。
    ①内部确认测试。内部确认测试主要由软件开发组织内部按照软件需求规格说明书进行测试。


    1. [code]软件(43)是指改正产生于系统开发阶段而在系统测试阶段尚未发现的错误。
    2. (43)A.完善性维护 B.适应性维护 C.正确性维护 D.预防性维护
    复制代码
    [/code]

      【答案】C 【解析】本题考查软件维护方面的基础知识。
    在系统交付使用后,改变系统的任何工作,都可以被称为维护。在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下4种:
    ①正确性(改正性)维护。改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
    ②适应性维护。在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就称为适应性维护。
    ③完善性维护。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为完善性维护。
    ④预防性维护。这是指为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。

    1. [code](44) 描述了一类软件架构的特征,它独立于实际问题,强调软件系统中通用的组织结构选择。垃圾回收机制是Java语言管理内存资源时常用的一种(45)。
    2. (44)A.架构风格      B.开发方法      C.设计模式      D.分析模式
    3. (45)A.架构风格      B.开发方法      C.设计模式      D.分析模式
    复制代码
    [/code]

      【答案】A C 【解析】本题主要考查对软件架构风格和设计模式两个概念的掌握与区分。
    架构风格描述了一类软件架构的特征,它独立于实际问题,强调软件系统中通用的组织结构选择。垃圾回收机制是java语言管理内存资源时常用的一种设计模式。

    1. [code]1995年Kruchten提出了著名的“4+1”视图,用来描述软件系统的架构。在“4+1” 视图中,(46)用来描述设计的对象模型和对象之间的关系;(47)描述了软件模 块的组织与管理;(48)描述设计的并发和同步特征。
    2. (46)A.逻辑视图          B.用例视图          C.过程视图          D.开发视图
    3. (47)A.逻辑视图          B.用例视图          C.过程视图          D.开发视图
    4. (48)A.逻辑视图          B.用例视图          C.过程视图          D.开发视图
    复制代码
    [/code]

      【答案】A D C 【解析】本题主要考查对“4+1”视图概念的掌握。 1995年Kruchten提出了著名的“4+1”
    视图,用来描述软件系统的架构。在“4+1”视图中,逻辑视图用来描述设计的对象模型和对象之间的关系;开发视图描述了软件模块的组织与管理;过程视图描述设计的并发和同步特征。

    1. [code]基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD方法有三个基础:功能分解、(49)和软件模板的使用。
    2. (49)A.对需求进行优先级排列                B.根据需求自行设计系统的总体架构
    3.         C.选择架构风格实现质量及商业需求   D.开发系统原型用于测试
    复制代码
    [/code]

      【答案】C 【解析】本题主要考查考生对基于架构的软件设计(ABSD)的理解与掌握
    ABSD以架构风格和质童属性为中心,强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD方法有三个基础:功能分解、选择架构风格实现质量及商业需求和软件模板的使用。

    1. [code]某公司研发一种语音识别软件系统,需要对用户的语音指令进行音节分割、重音判断、语法分析和语义分析,最终对用户的意图进行推断。针对上述功能需求,该语音识别软件应该采用(50)架构风格最为合适。
    2. (50)A.隐式调用          B.管道-过滤器            C.解释器           D.黑板
    复制代码
    [/code]

      【答案】C 【解析】本题主要考查对架构风格的理解和掌握。
    根据题干描述,语音识别软件需要对用户的语音指令进行音节分割、重音判断、语法分析和语义分析,最终对用户的意图进行推断。由于语音识别具有不确定性,需要人工智能技术的支持和专家意见的汇总和决策,
    并且需要支持识别过程中的推理和决策。根据上述分析,选项中列举的架构风格中,黑板风格最符合要求。

    1. [code]某企业内部现有的主要业务功能己经封装为Web服务。为了拓展业务范围,需要将现有的业务功能进行多种组合,形成新的业务功能。针对业务灵活组合这一要求,采用(51)架构风格最为合适。
    2. (51)A.管道-过滤器        B.解释器       C.显式调用      D.黑板
    复制代码
    [/code]

      【答案】B 【解析】本题主要考查对架构风格的理解和掌握。
    根据题干描述,需要将现有的业务功能进行多种组合,形成新的业务功能。这种情况下,可以将业务功能封装成服务,并通过某种语言对业务流程进行描述,通过一个解释引擎对流程描述进行解释和执行。根据上述分析,选项中列举的架构风格中,解释器风格最符合要求。

    1. [code]编译器的主要工作过程是将以文本形式输入的代码逐步转化为各种形式,最终生成可执行代码。现代编译器主要关注编译过程和程序的中间表示,围绕程序的各种形态进行转化与处理。针对这种特征,现代编译器应该采用(52)架构风格最为合适。
    2. (52)A.数据共享          B.虚拟机       C.隐式调用      D.管道-过滤器
    复制代码
    [/code]

      【答案】A 【解析】本题主要考查对架构风格的理解和掌握。
    根据题干描述,现代编译器主要关注编译过程和程序的中间表示,围绕程序的各种形态进行转化与处理。这种情况下,可以针对程序的各种形态构建数据库,通过中心数据库进行转换与处理。根据上述分析,选项中列举的架构风格中,数据共享风格最符合要求。

    1. [code]某软件公司正在设计一个通用的嵌入式数据处理平台,需要支持多种数据处理芯片之间的数据传递与交换。该平台的核心功能之一要求能够屏蔽芯片之间的数据交互,使其耦合松散,并且可以独立改变芯片之间的交互过程。针对上述需求,采用(53)最为合适。
    2. (53)A.抽象工厂模式        B.中介者模式 C.策略模式      D.状态模式
    复制代码
    [/code]

      【答案】B 【解析】本题主要考查对设计模式的理解和掌握。
    根据题干描述,该系统需要能够支持不同芯片之间的数据交互,并能够独立改变芯片之间的数据交互过程。这种情况下,可以引入一个中介层,通过中介层屏蔽不同芯片之间的两两交互。根据上述分析,选项中列举的设计模式中,中介者模式最符合要求。

    1. [code]某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理过程中的撤销和重做等动作,为了实现该功能,采用(54)最为合适。
    2. (54)A.单例模式          B.命令模式          C.访问者模式    D.适配器模式
    复制代码
    [/code]

      【答案】B 【解析】本题主要考查对设计模式的理解和掌握。
    根据题干描述,系统需要支持用户在图像处理过程中的撤销和重做的动作,因此可以将用户动作封装成对象,通过对象之间的传递和转换实现撤销和重做等动作。根据上述分析,选项中列举的设计模式中,命令模式最符合要求。

    1. [code]某互联网公司正在设计一套网络聊天系统,为了限制用户在使用该系统时发表不恰当言论,需要对聊天内容进行特定敏感词的过滤。针对上述功能需求,采用(55)能够灵活配置敏感词的过滤过程。
    2. (55)A.责任链模式         B.工厂模式          C.组合模式       D.装饰模式
    复制代码
    [/code]

      【答案】A 【解析】本题主要考查对设计模式的理解和掌握。
    根据题干描述,系统需要对不同的敏感词进行过滤,针对每一个词需要对内容进行分析与过滤,而且需要支持敏感词处理的灵活添加。根据上述分析,选项中列举的设计模式中,责任链模式最符合要求。

    1. [code]某公司在对一家用车库门嵌入式软件系统进行架构设计时,识别出两个关键的质量属性场景,其中“当车库门正常下降时,如果发现下面有障碍物,则系统停止下降的时间需要控制在0.1秒内”与(56)质量属性相关:“系统需要为部署在远程PC机上的智能家居系统留有控制接口,并支持在智能家居系统中对该系统进行远程错误诊断与调试”与(57)质量属性相关。
    2. (56)A.可用性       B.性能            C.可修改性          D.可测试性
    3. (57)A.可用性       B.性能            C.可修改性          D.可测试性
    复制代码
    [/code]

      【答案】B D 【解析】本题主要考查对质量属性的理解。
    题干中描述“当车库门正常下降时,如果发现下面有障碍物,则系统停止下降的时间需要控制在0.1秒内”这是对系统响应时间的要求,属于性能质量属性;“系统需要为部署在远程PC机上的智能家居系统留有控制接口,并支持在智能家居系统中对该系统进行远程错误诊断与调试”,这是对系统测试和调试方面的描述,属于系统的可测试性质量属性。

    1. [code]软件质量属性通常需要采用特定的设计策略实现。例如,(58)设计策略能提高该系统的可用性,(59)设计策略能够提髙该系统的性能,(60)设计策略能够提高该系统的安全性。
    2. (58)A.心跳机制      B.数据驱动      C.关注点分离     D.信息隐藏
    3. (59)A.引入中间层 B.事务机制      C.主动冗余          D.优先级队列
    4. (60)A.信息隐藏      B.内置监控器 C.限制访问          D.检查点
    复制代码
    [/code]

      【答案】A D C 【解析】本题主要考査对架构设计策略和质量属性的理解。
    软件质量属性通常需要采用特定的设计策略实现,并且设计策略会对其他的质量属性产生影响。例如,心跳机制策略能提高该系统的可用性,优先级队列策略能够提高该系统的性能,限制访问策略能够提髙该系统的安全性。

    1. [code]架构权衡分析方法(ATAM)是一种常用的软件架构评估方法,下列关于该方法的叙述中,正确的是(61).
    2. (61)A.ATAM需要对代码的质量进行评估
    3. B.ATAM需要对软件系统需求的正确性进行评价
    4. C.ATAM需要对软件系统进行集成测试
    5. D.ATAM需要对软件质量属性进行优先级排序
    复制代码
    [/code]

      【答案】D 【解析】
    ATAM是一种常用的软件架构评估方法,该方法强调对软件的质量属性进行分析、分类和优先级排序等工作,在此基础上构建质量属性效用树,并对风险点、非风险点、敏感点和权衡点进行识别和分析。

    1. [code]识别风险点、非风险点、敏感点和权衡点是软件架构评估过程中的关键步骤。针对某系统所作的架构设计中,“系统需要支持的最大并发用户数量直接影响传输协议和数据格式”描述了系统架构设计中的一个(62):“由于系统的业务逻辑目前尚不清楚, 因此现有系统三层架构中的第二层可能会出现功能重复,这会影响系统的可修改性”描述了系统架构设计中的一个(63)。
    2. (62)A.敏感点       B.风险点       C.非风险点          D.权衡点
    3. (63)A.敏感点       B.风险点       C.非风险点          D.权衡点
    复制代码
    [/code]

      【答案】A B 【解析】本题考查对系统风险点、非风险点、敏感点和权衡点这些架构评估概念的理解和掌握。
    根据题干描述“系统需要支持的最大并发用户数量直接影响传输协议和数据格式”,
    “最大并发用户数量”这一个质量属性会同时影响“传输协议和数据格式”这两个质量属性,因此其描述的是一个敏感点;“由于系统的业务逻辑目前尚不清楚,因此现有系统三层架构中的第二层可能会出现功能重复,这会影响系统的可修改性”这段话描述了由于某种问题会影响系统的某种质量属性,这是一个系统的风险。

    1. [code]在网络管理中要防止各种安全威胁。在SNMPV3中,无法预防的安全威胁是(64)。
    2. (64)A.篡改管理信息:通过改变传输中的SNMP报文实施未经授权的管理操作
    3. B.通信分析:第三者分析管理实体之间的通信规律,从而获取管理信息
    4.         C.假冒合法用户:未经授权的用户冒充授权用户,企图实施管理操作
    5.         D.消息泄露:SNMP引擎之间交换的信息被第三者偷听
    复制代码
    [/code]

      【答案】B 【解析】 SNMPv3把对网络协议的安全威胁分为主要的和次要的两类。标准规定安全模块必须提供防护的两种主要威胁是:
    ①修改信息(Modification of
    Information):就是某些未经授权的实体改变了进来的SNMP报文,企图实施未经授权的管理操作,或者提供虚假的管理对象。
    ②假冒(Masquerade):即未经授权的用户冒充授权用户的标识,企图实施管理操作。
    SNMPv3标准还规定安全模块必须对两种次要威胁提供防护: ①修改报文流(Message Stream
    Modificatiqn):由于SNMP协议通常是基于无连接的传输服务,重新排序报文流、延迟或重放报文的威胁都可能出现。这种威胁的危害性在于通过报文流的修改可能实施非法的管理操作。
    ②消息泄露(Disclosure): SNMP引擎之间交换的信息可能被偷听,对这种威胁的防护应采取局部的策略。
    有两种威胁是安全体系结构不必防护的,因为它们不是很重要,或者这种防护没有多大作用: ①拒绝服务(Denial of
    Service):因为在很多情况下拒绝服务和网络失效是无法区别的,所以可以由网络管理协议来处理,安全子系统不必采取措施。
    ②通信分析(Traffic
    Analysis):即由第三者分析管理实体之间的通信规律,从而获取需要的信息。由于通常都是由少数管理站来管理整个网络的,所以管理系统的通信模式是可预见的,防护通信分析就没有多大作用了。

    1. [code]下面安全协议中,用来实现安全电子邮件的协议是(65)。
    2. (65)A.IPSec             B.L2TP              C.PGP               D.PPTP
    复制代码
    [/code]

      【答案】C 【解析】 PGP (Pretty Good Privacy)是Philip R.
    Zimmermann在1991年开发的电子邮件加密软件包。PGP已经成为使用最广泛的电子邮件加密软件。

    1. [code]甲公司的某个注册商标是乙画家创作的绘画作品,甲申请该商标注册时未经乙的许可,乙认为其著作权受到侵害。在乙可釆取的以下做法中,错误的是(66)。
    2. (66)A.向甲公司所在地人民法院提起著作权侵权诉讼
    3. B.请求商标评审委员会裁定撤销甲的注册商标
    4. C.首先提起诉讼,如对法院判决不服再请求商标评审委员会进行裁定
    5. D.与甲交涉,釆取许可方式让甲继续使用该注册商标
    复制代码
    [/code]

      【答案】C 【解析】本题考查注册商标与在先权利的冲突及其解决方式。
    在先权利是指在申请商标注册之前已有的合法权利,包括著作权、地理标志权、商号权、外观设计专利权、姓名权、肖像权等。本题涉及的注册商标是享有著作权的绘画作品,商标注册人应当经许可后才能作为商标注册,否则将侵害他人的在先著作权。
    甲公司的注册行为正是侵犯了乙画家的著作权。侵犯著作权属于民事纠纷,当事人可向法院起诉。
    侵犯他人在先权利取得商标注册的属于注册不当的商标,当事人应请求商标评审委员会受理。
    已经注册的商标,违反商标法规定的,利害关系人可请求商标评审委员会受理,对商标评审委员会的裁定,当事人不服可以向法院起诉。
    至于双方当事人之间的协商,只要不损害国家和社会公共利益,法律是允许的。

    1. [code]利用(67)可以对软件的技术信息、经营信息提供保护。
    2. (67)A.著作权           B.专利权           C.商业秘密权      D.商标权
    复制代码
    [/code]

      【答案】C 【解析】 著作权从软件作品性的角度保护其表现形式,源代码(程序)、目标代码(程序)、
    软件文档是计算机软件的基本表达方式(表现形式),受著作权保护;专利权从软件功能性的角度保护软件的思想内涵,即软件的技术构思、程序的逻辑和算法等的思想内涵,
    当计算机软件同硬件设备是一个整体,涉及计算机程序的发明专利,可以申请方法专利,
    取得专利权保护:商标权是为商业化的软件从商品、商誉的角度为软件提供保护,利用商标权可以禁止他人使用相同或者近似的商标,生产(制作)或销售假冒软件产品,商
    标权受保护的力度大于其他知识产权,对软件的侵权行为更容易受到行政查处。而商业秘密权是商业秘密的合法控制人采取了保密措施,依法对其经营信息和技术信息享有的专有使用权,我国《反不正当竞争法》中对商业秘密的定义为“不为公众所知悉、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息”。软件技术秘密是指软件中适用的技术情报、数据或知识等,包括:程序、设计方法、技术方案、功能规划、开发情况、测试结果及使用方法的文字资料和图表,如程序设计说明书、流程图、用户手册等。软件经营秘密指具有软件秘密性质的经营管理方法以及与经营管理方法密切相关的信息和情报,其中包括管理方法、经营方法、产销策略、客户情报(客户名单、客户需求)、以及对软件市场的分析、预测报告和未来的发展规划、招投标中的标底及标书内容等。

    1. [code]M公司的程序员在不影响本职工作的情况下,在L公司兼职并根据公司项目开发出—项与M公司业务无关的应用软件。该应用软件的著作权应由(68)享有。
    2. (68)A.M公司                               B.L公司           
    3. C.L公司与M公司共同                     D.L公司与程序员共同
    复制代码
    [/code]

      【答案】B 【解析】
    职工在单位任职期间为执行本单位工作任务所开发的软件属于职务软件,职务软件的著作权由单位享有。所谓执行本单位工作任务的含义,一是指该软件系为其本职工作明确指定的目标而开发:二是指该软件的开发系其从事本职工作完成工作任务能够预见或必然的结果。《计算机软件保护条例》第十三条规定:“自然人在法人或者其他组织中任职期间所开发的软件有下列情形之一的,该软件著作权由该法人或者其他组织享有,
    该法人或者其他组织可以对开发软件的自然人进行奖励: (一)针对本职工作中明确指定的开发目标所开发的软件;
    (二)开发的软件是从事本职工作活动所预见的结果或者自然的结果;
    (三)主要使用了法人或者其他组织的资金、专用设备、未公开的专门信息等物质技术条件所开发并由法人或者其他组织承担责任的软件。”
    根据上述规定,可以得出这样的结论,当公民作为某单位的雇员时,如其开发的软件属于执行本职工作的结果,该软件著作权应当归单位享有。所开发的软件如不是执行本职工作的结果,其著作权就不属单位享有。
    但是在此种情况下,如果该职工曾使用(或部分使用)了单位的物质技术条件,按照《计算机软件保护条例》第十三条第三款的规定,就不能属于该职工个人享有。这种情况包含两个要件,缺一不可。
    一是在软件开发过程中,主要使用了开发该软件所必需的资金、软硬件环境、未公开的专门信息等物质技术条件,如计算机、软件环境、网络环境、专用设备、技术资料、相关文档、开发信息等。需要说明的是,利用单位的专用设备和专门信息应该是指无偿利用。如果职工自己开发软件时使用了上述设备和信息,但是支付了使用费,则不满足上述要件。
    二是权利和义务在任何情况下是对等的。如果单位只享有权利而不愿意承担义务,
    则对社会公众和开发者是不公平的,因此单位享有著作权的前提是必须承担责任。一个软件完成之后,无论是否发表,软件著作权人都应对该软件承担以下责任:
    应该保证该软件没有侵犯任何第三人(方)的知识产权,否则该软件可能构成侵权, 如未经许可在软件界面中使用了他人享有著作权的照片就构成侵权。
    应该对软件的缺陷修改、技术支持和售后服务承担责任。软件作为一个使用工具,大多数是在市场上进行销售。当用户购买到软件产品时,需要有人就软件的质量、使用和技术支持承担责任。如果没有人承担责任,软件可能无法正常使用,这样对用户是不公平的,因此软件的权利人应该对软件的质量提供保证。如果职工虽然利用了单位物质技术条件开发了软件,但是该单位不愿意对该软件承担责任,则该软件的著作权仍不能归属于单位,而是属于个人。此种情况下,应该取得单位明确表示不承担责任的书面文件,否则一旦引起纠纷,很难说的清。

    1. [code]在军事演习中,张司令希望将部队尽快从A地通过公路网(见下图)运送到F地:
    2. 图中标出了各路段上的最大运量(单位:千人/小时)。根据该图可以算出,从A地到F地的最大运量是(69)千人/小时。
    3. (69)A.20                B.21                C.22                D.23
    复制代码
    [/code]


      【答案】C 【解析】 从A到F有多条路径,总的最大运量应等于每条路径上的最大运量之和。
    每条路径上有多段,每条路径上的最大运量应是各路段最大运量的最小值。 多条路径可以共享同一路段,该路段上的流量等于所有各条路径上的流量之和。
    计算步骤如下(步骤并不唯一,但计算结果最大流量值应该是一致的) ABF最大流量8 (AB剩余流量5, BF断开)
    ABEF最大流量4(AB剩余流量1,BE断开,EF剩余流量11) ABCEF最大流量1(AB断开,BC剩余流量2, CE剩余流量5,
    EF剩余流量10) ACEF最大流量2(AC断开,CE剩余流量3, EF剩余流量8) ADCEF最大流量3(AD剩余流量5,
    DC和CE断开,EF剩余流量5) ADEF最大流量4(AD剩余流量1,DE断开,EF剩余流量1)
    AF总的最大流量等于8+4+1+2+3+4=22 (千人/小时)。

    1. [code]某公司需要将4吨贵金属材料分配给下属的甲、乙、丙三个子公司(单位:吨)。 据测算,各子公司得到这些材料后所能获得的利润(单位:万元)见下表:
    2. 根据此表,只要材料分配适当,该公司最多可以获得利润(70)万元。
    3. (70)A.14                B.16                C.17                D.18
    复制代码
    [/code]


      【答案】C 【解析】
    由于各个子公司得到同样多的材料后获得的利润不尽相同,分配时总是应优先考虑获得利润多的子公司。4吨材料分配给三个子公司的方案有以下几种:
    (一)4吨都分配给一个子公司。当然应分配给丙,获利14万元;
    (二)3吨分配给一个子公司,另1吨分配给另一子公司。显然,最好是3吨分配给丙,另1吨分配给乙,获利11+5=16万元;
    (三)2吨分配给一个子公司,另2吨分配给另一个子公司。显然,乙甲两子公司各分配2吨最好,获利9+7=16万元;
    (四)2吨分配给一个子公司,其他两个子公司各分配1吨。此时,共有3种方H
    获利最高的方案是:2吨分配给乙,甲丙各得到1吨,获利9+4+4=17万元。 为获得最大利润17万元,应分配2吨给乙,1吨给甲,1吨给丙。

    1. [code]Information systems design is defined as those tasks that focus on the specification of a detailed computer-based solution. Typically, there are four systems design tasks for in-house development.
    2. 1) The first task is to specify (71),which defines the technologies to be used by one, more, or all information systems in terms of their data, processes, interfaces, and network components. This task is accomplished by analyzing the data models and process models that are initially created during requirements analysis.
    3. 2) The next systems design task is to develop the (72) • The purpose of this task is to prepare technical design specifications for a database that will be adaptable to future requirements and expansion.
    4. 3) Once the database prototype has been built, the systems designer can work closely with system users to develop input, output and dialogue specifications. The (73) must be specified to ensure that the outputs are not lost, misrouted, misused, or incomplete.
    5. 4) The fourth design task involves packaging all the specifications from the previous design tasks into a set of specifications that will guide the (74) activities during the following phases of the systems development methodology.
    6. Finally, we should (75) and update the project plan accordingly. The key deliverable should include a detailed plan for the construction phase that should follow.
    7. (71)A.an application architecture       B.a distributed system
    8. C.a system scope                    D.a system physical model
    9. (72)A.database design specifications    B.database organization decisions
    10. C.data structure specifications     D.data distribution decisions
    11. (73)A.format and layout                 B.transaction details
    12.         C.additional instructions           D.internal controls
    13. (74)A.system administrator’s            B.system analyst’s
    14. C.computer programmer’s         D.system designer’s
    15. (75)A.adjust the project schedule       B.reevaluate project feasibility
    16.         C.evaluate vendor proposals         D.select the best vendor proposal
    复制代码
    [/code]

      【答案】A A D C B 【解析】
    信息系统设计被定义为一些任务,它们主要关注一个详细的计算机解决方案的规格说明。通常来说,内部开发有四种系统设计任务。 1)
    第一项任务是确定一个应用程序架构,它以数据、过程、接口和网络组件的方式定义一个、多个或所有信息系统要使用的技术。完成这项任务需要分析最初创建于需求分析期间的数据模型和过程模型。
    2) 下一项系统设计任务是开发数据库设计的规格说明。该任务的目的是准备一个数据库技术设计规格说明,以适应将来的需求和扩展。 3)
    —旦建成了数据库原型,系统设计人员能够和系统用户密切合作开发输入、输出和对话框规格说明。必须指定内部控件来确保输出不会丢失、误传、滥用或不完整。
    4) 第四项设计任务包括把之前所有设计任务的规格说明打包为一套规格说明,将在系统开发方法的后续阶段中指导计算机程序员的活动。
    最后,我们应该重新评估项目的可行性并相应地更新项目计划。主要交付成果将包括构建阶段应该遵循的一个详细计划。

    考试科目二:案例分析
    1. [code]试题一
    2. 【说明】
    3. 某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:
    4. (a) 正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应;
    5. (b) 信用卡支付必须保证99.999%的安全性;
    6. (c) 对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;
    7. (d) 网络失效后,系统需要在1.5分钟内发现错误并启用备用系统;
    8. (e) 需要在20人月内为系统添加一个新的CORBA中间件;
    9. (f) 交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率;
    10. (g) 更改加密的级别将对安全性和性能产生影响;
    11. (h) 主站点断电后,需要在3秒内将访问请求重定向到备用站点;
    12. (i) 假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的;
    13. (j)用户信息数据库授权必须保证99.999%可用;
    14. (k)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;
    15. (1)更改Web界面接口必须在4人周内完成;
    16. (m)系统需要提供远程调试接口,并支持系统的远程调试。
    17. 在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。
    复制代码
    [/code]

      【问题1】 在架构评估过程中,质量属性效用树(utility
    tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图1-1中(1)、(2)空白处;并选择题干描述的(a)〜(m),填入(3)〜(6)空白处,完成该系统的效用树。


    【问题2】
    在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的隹义,并从
    题干(a)〜(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。
      系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
    敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。题干描述中,(k)描述的是系统架构风险;(c)描述的是敏感点;(g)描述的是权衡点。

    1. [code]试题二
    2. 【说明】
    3. 某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下:
    4. (1) 数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。
    5. (2) 处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度査询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。
    6. 项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图2-1和图 2-2所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。
    7. 项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。
    复制代码
    [/code]

      【问题1】 请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。

      规范化设计后,数据库设计者希望牺牲部分规范化来提髙性能,这种从规范化设计的回退方法叫做反规范化技术。反规范化设计允许保留或者新增一些冗余数据,从而减少数据查询中表连接的数目或简化计算过程,提高数据访问效率。
    采用反规范化技术的益处:能够减少数据库查询时SQL连接的数目,从而减少磁盘I/O数据量,提高查询效率。
    可能带来的问题:数据的重复存储,浪费了磁盘空间;为了保障数据的一致性,增加了数据维护的复杂性。
      【问题2】 请简要叙述常见的反规范化技术有哪些。 常见的反规范化技术包括: (1)
    增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作; (2)
    增加派生列:在表中增加可以由本表或其他表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数; (3)
    表水平分割:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用;
    (4) 表垂直分割:对表进行分割,将主键与部分列放到一个表中,主键与其他列放到另一个表中,在查询时减少I/O次数。 【问题3】
    请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。
    在教职工信息管理系统的需求中,(1)能够根据编制内或外聘教职工的工资编号分别查询其相关信息;(2)数据查询要求有很高的处理效率。
    李工所设计的数据模型中采用了三种反规范化技术: (1)
    增加冗余列:增加“部门名称”列,消除了数据查询中“教职工信息”表和“部门信息”表之间的连接; (2)
    增加派生列:增加“实发工资”列,消除了实发工资的计算过程; (3)
    表水平分割:将教职工信息表分割为“编制内教职工信息”表和“外聘教职工信息”表,减少了数据查询的范围。

    1. [code]试题三
    2. 【说明】
    3. 某公司承接了某机载嵌入式系统的研制任务。该机载嵌入式系统由数据处理模块、大容量模块、信号处理模块、数据交换模块和电源模块等组成。数据处理模块有2个, 分别完成数据融合和导航通讯任务;大容量模块主要功能是存储系统数据,同时要记录信号处理模块、数据处理模块的自检测、维护数据,向数据处理模块提供地图数据;信号处理模块的处理器为专用的DSP,接收红外、雷达等前端传感器数据并进行处理,将处理后的有效数据(数据带宽较大)发送给数据处理模块;数据交换模块主要负责系统的数据交换;电源模块主要负责给其他模块供电,电源模块上没有软件。
    4. 要求该机载嵌入式系统符合综合化、模块化的设计思想,并考虑系统在生命周期中的可靠性和安全性,以及硬件的可扩展性和软件可升级性,还要求系统通讯延迟小,支持多模块上的应用任务同步。
    复制代码
    [/code]

      【问题1】 在设计系统架构时,李工提出了如图3-1所示的系统架构,即模块间的网络通信采用光纤通信(Fiber Channel,
    FC)技术,而王工认为应采用VME总线架构,如图3-2
    所示。王工的理由是公司多年来基于VME总线技术设计了多个产品,技术成熟,且费用较小。但公司经过评审后,决定采用图3-1所示的基于Fd的系统结构。

    请用500字以内的文字,说明VME和FC各自的特点,并针对机载嵌入式系统的要求指出公司采用李工方案的理由。
       
       VME总线采用存储映射方式,多主仲裁机制,同一时刻由单一主机控制,同时仲裁机制为菊花链方式。 针对本系统要求,采用VME方案存在如下问题: a)
    当多主机设备仲裁时,按菊花链的连接次序一个主机处理完成后,才能将控制权交给另一主机控制总线,导致任务执行延时大,不能满足“系统通讯延迟小”以及“支
    持多模块上的应用任务同步”的要求; b) 与FC相比,VME总线实时性差,带宽低; c) VME总线方式限制了可扩展性。
       FC采用消息包交换机制,支持广播和组播。 针对本系统要求,采用FC方案有以下优点: a) 由于釆用消息包交换机制,支持广播和组播,任务执行并发性好,能满足“系统通讯延迟小”以及“支持多模块上的应用任务同步”的要求。 b)
    与VME比较,FC实时性好,带宽高; c) FC的误码率低,所以可靠性高; d)
    允许在同一接口上传输多种不同的协议,对上层应用实现提供了便利; e)
    FC采用消息机制,FC可扩展性好,如模块较多可采用多个FC网络交换模块级联; f) 传输距离远,当与外部其他设备相连时,比较方便; g)
    系统采用统一的FC网络代替了VME底板总线,降低总线驱动的功耗,简化了底板。
       
      【问题2】
    公司依据ARINC653标准,设计了满足ARINC653标准的操作系统,该操作系统对系统中可能发生的模块级、分区级和进程级的错误进行处理,实现了如图3-3所示的系统健康监控机制,请分别将备选答案中的各种错误和健康监控部件填入图3-3中的(1)
    〜(5)。 备选答案:分区健康监控、分区初始化阶段出现的分区配置错误、分区切换时出现的错误、应用进程错误、进程健康监控。
    注:ARINC653 标准(Avionics Application Software Standard
    Interface)是美国航空电子工程协会AEEC于1997年为航空民用飞机的模块化综合航空电子系统定义的应用程序接口标准,该标准提出了分区(Partition)的概念以及健康监控(healthmonitoringY机制。分区是应用的一种功能划分,也是操作系统调度的基本单位,严格按预先分配的时间片调度。分区间具有时空隔离特点。分区内的每一执行单元称为进程。


    【问题3】
    为了实现满足ARINC653标准的操作系统的时空分区隔离机制,项目组选择了PoweRPC作为数据处理模块的处理器(CPU)。这样,当一个分区出现故障时,不会蔓延到模块中同一处理器的其他分区。请用500字以内的文字,说明如何采用PowerPC实现应用与内核以及诸应用之间的隔离和保护。
      采用PowerPC实现系统隔离和保护的两种机制是: 第一种是内存管理机制(MMU)»
    MMU能够实现逻辑地址到物理地址的转化,并且对访问权进行控制,既可以保护系统内核不受应用软件有意或无意的破坏,也可有效防止各软件之间的互相破坏。
    第二种是TRAP系统调用机制。操作系统为实现对内核以及应用之间的保护,提供了用户态和系统态两种运行形态。操作系统内核在系统态运行,因此用户态的应用不能直接调用系统内核提供的功能接口,必须通过TRAP系统调用的方式进行。因此可以实现应用与内核之间的隔离与保护。

    1. [code]试题四
    2. 【说明】
    3. 某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的效果。其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的数据报表;公司产品的实际销售情况则需要通过各个分公司的产品销售电子表格或数据库进行采集与汇总。得到相关数据后,还要对数据进行分析与统计,并通过浏览器以在线的方式向市场策略制定者展示最终的市场策略效果。
    4. 在对市场策略跟踪与分析系统的架构进行设计时,公司的架构师王工提出采用面向服务的系统架构,首先将各种待集成的第三方软件和异构数据源统一进行包装,然后将数据访问功能以标准Web服务接口的形式对外暴露,从而支持系统进行数据的分析与处理,前端则采用CSS等技术实现浏览器数据的渲染与展示。架构师李工则认为该系统的核心在于数据的定位、汇聚与转换,更适合采用面向资源的架构,即首先为每种数据元素确定地址,然后将各种数据格式统一转换为JSON格式,通过对JSON数据的组合支 持数据的分析与处理任务,处理结果经过渲染后在浏览器的环境中进行展示。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了李工的方案。
    复制代码
    [/code]

      【问题1】
    请根据题干描述,对市场策略跟踪与分析系统的数据源特征与数据操作方式进行分析,完成表4-1中的(1)〜(3),并用200字以内的文字说明李工方案的优点。


    通过对系统的数据源特征和数据操作方式进行分析可以看出,待集成的数据均为持久型数据(文件或数据库),系统对数据的访问均为只读非实时性的。针对上述应用特征,李工提出的面向资源的架构方式以对数据资源的只读访问为核心,通过数据唯一标识直接对各种数据进行访问与获取,系统架构清晰、实现简单、效率较高。
    【问题2】
    请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。
    从数据获取方式看,王工的方案需要将现有的多个系统和异构的数据源包装为服务,采用Web服务暴露数据接口,客户端需要通过服务调用获取数据,这种方法工作量大,复杂度较高。李工的方案则绕开了复杂的功能封装,只需要明确数据的位置与标识,
    通过特定的网络协议直接使用标识定位并获取数据,与王工的方案相比工作量小,实现简单。
    从数据交互方式看,王工的方案采用远程过程调用和异步XML消息等模式实现数据交互,这种方式适合于系统之间功能调用时进行的少量数据传输,而在进行单纯的数据访问时效率不高,稳定性也较差。李工的方案则以数据资源为核心,在对数据资源进行标识的基础上,通过标识符直接对数据资源进行访问与交互,实现简单且效率较高。
    从数据访问的上下文无关性看,王工的方案中数据访问是与上下文有关的,具体表现在每次客户端进行数据请求都需要附加唯一的请求标识,并且服务端需要区分不同的客户端请求,效率较低。李工的方案中数据访问是与上下文无关的,客户端通过全局唯一的统一资源标识符(URI)请求对应的数据资源,服务端不需要区分不同的客户端请求。
      【问题3】
    表现层状态转换(REST)是面向资源架构的核心思想,请用200字以内的文字解释什么是REST,并指出在REST中将哪三种关注点进行分离。
      REST从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过URI获取资源的表现,并通过获得资源表现使得其状态发生改变。
    REST中将资源、资源的表现和获取资源的动作三者进行分离。

    1. [code]试题五
    2. 【说明】
    3. 某大型跨国企业的IT部门一年前基于SOA (Service-Oriented Architecture)对企业原有的多个信息系统进行了集成,实现了原有各系统之间的互连互通,搭建了支撑企业完整业务流程运作的统一信息系统平台。随着集成后系统的投入运行,IT部门发现在满 足企业正常业务运作要求的同时,系统也暴露出明显的安全性缺陷,并在近期出现了企业敏感业务数据泄漏及系统核心业务功能非授权访问等严重安全事件。针对这一情况, 企业决定由IT部门成立专门的项目组负责提髙现有系统的安全性。
    4. 项目组在仔细调研和分析了系统现有安全性问题的基础上,决定首先为在网络中传输的数据提供机密性(Confidentiality)与完整性(Integrity)保障,同时为系统核心业务 功能的访问提供访问控制机制,以保证只有授权用户才能使用特定功能。
    5. 经过分析和讨论,项目组决定采用加密技术为网络中传输的数据提供机密性与完整性保障。但在确定具体访问控制机制时,张工认为应该采用传统的强制访问控制 (Mandatory Access Control)机制,而王工则建议采用基于角色的访问控制(Role-Based Access Control)与可扩展访问控制标记语言(extensible Access Control Markup Language, XACML)相结合的机制。项目组经过集体讨论,最终采用了王工的方案。
    复制代码
    [/code]

      【问题1】 请用400字以内的文字,分别针对采用对称加密策略与公钥加密策略,说明如何利用加密技术为在网络中传输的数据提供机密性与完整性保障。
    对称加密策略: 机密性:发送者利用对称密钥对要发送的数据进行加密,只有拥有正确相同密钥的接收者才能将数据正确解密,从而提供机密性。
    完整性:发送者根据要发送的数据生成消息认证码(或消息摘要),利用对称密钥对消息认证码进行加密并附加到数据上发送;接收者使用相同密钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据的完整性。
    公钥加密策略: 机密性:发送者利用接收者的公钥对要发送的数据进行加密,只有拥有对应私钥的接收者才能将数据正确解密,从而提供机密性。
    完整性:发送者根据要发送的数据生成消息认证码(或消息摘要),利用自己的私钥对消息认证码进行加密并附加到数据上发送;接收者利用对方的公钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据的完整性。
      【问题2】 请用300字以内的文字,从授权的可管理性、细粒度访问控制的支持和对分布式环境的支持三个方面指出项目组采用王工方案的原因。
    采用王工方案是因为基于角色的访问控制与XACML相结合的机制具有以下优势:
    授权的可管理性:RBAC将用户与权限分离,相比MAC减小了授权管理的复杂性, 更适合于大型企业级系统的安全管理:
    细粒度访问控制的支持:XACML提供了统一的访问控制策略描述语言,策略表达能力强,可用来描述各种复杂的和细粒度的访问控制安全需求,更适合企业复杂业务功能的访问控制要求;
    分布式环境的支持:XACML的标准性便于各子系统的协作交互,各子系统或企业业务部门可以分布管理访问控制权限,而MAC则通常需要对访问控制权限集中管理,
    不太适合企业基于SOA集成后的分布式系统。
      【问题3】 图5-1给出了基于XACML的授权决策中心的基本结构以及一次典型授权决策的执行过程,请分别将备选答案填入图中的(1)〜(4)。
    备选答案:策略管理点(PAP)、策略执行点(PEP)、策略信息点(PIP)、策略决策点(PDP)

    (1) 策略执行点(PEP) (2) 策略决策点(PDP) (3) 策略管理点(PAP) (4) 策略信息点(PIP)

    考试科目三:论文
    1. [code]试题一 论模型驱动架构在系统开发中的应用
    2. 模型驱动架构(Model Driven Architecture,MDA)是对象管理组织提出的软件体系架构方法学,它基于UML以及一系列工业标准,能够支持基于可视化模型驱动的软件设计、内容存储与交换。MDA核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(PIM),然后针对不同实现技术制定多个映射规则,通过映射规则和辅助工具将PIM转换成与具体实现技术有关的平台相关模型(PSM),最后完成PSM到代码的转换。通过PIM和PSM,MDA分离业务建模与底层实现技术,降低技术变迁对业务模型带来的影响。
    3. 请围绕“模型驱动架构在系统开发中的应用”论题,依次从以下三个方面进行论述。
    4. 1.简要叙述你参与管理和开发的、与MDA相关的软件开发项目以及你所担任的主要工作。
    5. 2.简要分析模型驱动架构能够为软件开发带来哪些好处,详细论述采用模型驱动架构进行开发的过程。
    6. 3.具体阐述你参与管理和开发的项目中使用模型驱动架构的情况与实际开发效果。
    复制代码
    [/code]

      一、简要叙述考生所参与管理和开发的与MDA相关的软件项目以及所担任的主要工作。 二、
    1. 模型驱动架构能够为软件开发带来的好处: (1) 模型驱动架构将开发人员的注意力转移到了平台无关模型中,可以避免陷入到具体的实现细节当中去,从而简化了系统开发的工作量,提高了软件的开发效率;
    (2)
    对于多种流行平台,很多工具会支持从平台无关模型到平台相关模型的转换;对于将来可能出现的新技术和平台,确定了平台表示及公共中间件的概念和功能,利用转换规则快速实现平台无关模型到新技术平台的迁移,提高了系统的可移植性;
    (3) 利用模型驱动架构中基于平台无关模型的桥接器,实现了多个平台相关模型之间跨平台的相互通信,加强了互操作性; (4)
    对于系统变更,通过修改平台无关模型并重新生成平台相关模型和代码,能够降低系统维护的成本; (5)
    平台无关模型帮助团队成员之间提高沟通效率并减少错误,自动生成代码能够保证代码的质量和一致性,确保了软件的质量; (6)
    使用模型驱动架构时,功能和架构独立定义,针对新技术,能够利用原有的设计产生对应的实现,延长了系统的生命周期。 ’
    2. 模型驱动架构的开发过程: (1) 使用平台无关模型从如何以最好的方式支持商业逻辑的角度对系统进行建模,开发人员根据用户需求和其他因素对平台无关模型进行精化,以使它能够更加精确地描述系统;
    (2) 将平台无关模型转换到一个或多个特定技术相关的平台相关模型,对于每种特定的技术都会生成独立的平台相关模型; (3)
    根据技术特性对生成的平台相关模型进行修改以满足程序设计人员的要求,这些修改可以反映到平台无关模型中去; (4)
    对平台相关模型不断精化,以指导代码生成器生成质量更高的程序代码; (5) 最后将每个平台相关模型转换到代码,进行后续的完善和系统测试。
    三、结合项目的实际情况,具体阐述考生参与管理和开发的项目中使用模型驱动架构的情况,包括平台无关模型构建、平台相关模型的技术方案选择和实际开发效果及分析。

    1. [code]试题二 论企业集成平台的架构设计
    2. 企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境,它基于企业各种经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持各种特定领域应用系统的集成。
    3. 请围绕“企业集成平台的架构设计”论题,依次从以下三个方面进行论述。
    4. 1.简要叙述你参与管理和开发的企业集成平台项目以及你在其中所承担的主要工作。
    5. 2.请说明企业集成平台的基本功能,并结合项目实际,详细说明所设计的企业集成平台的架构,以及实现时用到了哪些关键技术。
    6. 3.具体说明所设计的企业集成平台的使用情况,最终实施效果如何。
    复制代码
    [/code]

      一、介绍考生参与的企业集成平台开发项目的概要情况,说明在其中承担的主要工作。 二、
    1. 企业集成平台的基本功能包括: (1) 通信服务 提供分布环境下透明的同步/异步通信服务功能,使用户和应用程序无需关心具体的操作系统和应用程序所处的网络物理位置,而以透明的函数调用或对象服务方式完成它们所需的通信服务要求。
    (2) 信息集成服务
    为应用提供透明的信息访问服务,通过实现异种数据库系统之间的数据交换、互操作、分布数据管理和共享信息模型定义,使集成平台上运行的应用、服务或客户端能够以一致的语义和接口实现对数据的访问与控制。
    (3) 应用集成服务
    通过高层应用编程接口来实现对相应应用程序的访问。这些接口以函数或对象服务的方式向平台的组件模型提供信息,用户无需对原有系统进行修改,只要在原有系统的基础上加上相应的访问接口就可以将现有的、用不同技术实现的系统互联起来,通过为
    应用提供数据交换和访问操作,使各种不同的系统能够相互协作。 (4) 提供对二次开发的支持
    集成平台需要提供一组帮助用户开发特定应用程序的支持工具,简化用户在企业集成平台实施过程中的开发工作。 (5) 平台运行管理
    需要提供企业集成平台的运行管理和控制模块,负责企业集成平台系统的静态和动态配置、集成平台应用运行管理和维护、事件管理和出错管理等。通过命名服务、目录服务、平台的动态静态配置,以及其中的关键数据的定期备份等功能来维护整个服务平
    台的系统配置及稳定运行。
    2. 考生在说明所设计的企业集成平台的架构时,必须结合项目实际。对架构的说明应包括从架构层面上如何支持业务流程编写与管理;如何向用户提供功能与信息服务;如何集成业务伙伴的功能;如何与底层数据库、现有系统等进行交互,等等。
    在实现企业集成平台时所使用的关键技术包括: (1)数据交换格式 企业集成中常用的数据交换格式有:EDI、XML、STEP、PDML (2)
    分布式集成应用基雌架 主要的有 CORBA、J2EE、Web Service (3) 实现数据集成的常用模式
    数据联邦、数据复制和基于接口的数据集成 (4) 实现应用集成的常用模式 适配器集成、信使集成、面板集成、代理集成模式
    三、需要具体说明所设计的企业应用集成平台的使用情况,包括如何采用集成平台为企业应用提供一致的信息访问和交互手段,如何对在平台上运行的应用进行管理,如何为应用提供服务等。针对每种使用场景,需要详细说明最终的实施效果。

    1. [code]试题三 论企业架构管理与应用
    2. 企业架构管理(Enterprise Architecture Management,EAM)从功能、应用、信息和技术四个层面定义了企业应用系统的结构,并通过业务需求驱动开发过程,为企业应用系统的开发提供标准和指导。EAM将企业的业务和技术需求联系在一起,以管理业务变更为核心,强调业务与技术对齐,构建一个高内聚、动态的企业应用解决方案。
    3. EAM能够帮助企业识别可以提高运营效率的潜在领域,有助于企业建立从战略到解决方案交付的各种关系,识别技术解决方案中最优的业务成果,能够在业务重组、兼并、收购和其他业务变更计划中为企业最大化地节约成本,降低相关风险。
    4. 请围绕“企业架构管理与应用”论题,依次从以下三个方面进行论述。
    5. 1.简要叙述你参与实施的企业应用系统的开发背景与总体需求、系统所采用的技术体制、实施企业软件架构管理的动机与期望以及你所承担的实际工作。
    6. 2.结合项目实际,简要阐述企业架构管理包含哪些方面的内容,每个方面包括哪些主要活动。
    7. 3.阐述你在实施企业架构管理的过程中都遇到了哪些实际问题,以及解决这些问题的方法和过程。
    复制代码
    [/code]

      一、论文中要具体介绍企业应用系统的开发背景与总体需求、系统所采用的技术体制、实施企业软件架构管理的动机与期望以及你所承担的实际工作。
    二、企业架构管理(EAM)以管理业务变更为核心,根据业务目标确定IT投资的优先级;强调业务驱动技术,从管理的角度看待企业架构。企业架构管理主要包含以下几个方面的内容:
    1. 架构管理(ArchitectureAdministration)。其作用是对企业架构进行管理与配置, 主要活动包括: (1) 存储管理。组织并管理企业架构相关的信息与存储,并对其进行生命周期管理。 (2)
    元模型管理。定义并管理企业架构中的元模型,并实现元模型在不同应用之间的交互与映射。 (3)
    访问和认证管理。管理企业内部用户、用户群组、用户目录和用户对企业架构信息的访问。 (4)
    多语言管理。如果企业架构描述存在多种语言,需要对这些不同版本的描述进行存储及一致性管理。 (5)
    自动化管理。对EAM的整个过程选择合适的自动化工具,并对工具进行适当的配置与管理。
    2. 架构组装与建模(Architecture Populating and Modeling)。其作用是将架构描述信息进行整合,并将其放入存储结构中。主要活动包括: (1)
    手工组装与建模。手工将图表、文档等形式描述的企业架构信息进行整合并录入架构存储结构。 (2)
    自动化组装与建模。将数据库、XML等结构化形式描述的企业架构信息进行迁移与整合。 (3)
    与非结构化数据的连接。将企业架构信息通过内容管理系统与非结构化的数据 (例如网页、图片、视频等)进行连接与关联。
    (4)采用一些通用的框架或标准对架构进行描述、建模并存储。
    3. 架构分析(ArchitectureAnalysis)。其主要作用是理解并分析企业架构内容,并做出相关判断。主要活动包括: (1) 浏览和检索。支持企业内部用户对架构内容进行有效地浏览与检索。 (2)
    结构分析。对企业架构进行结构分析,发现其中的不足、冗余和架构制品之间的相互影响情况。 (3)
    定性/定量分析。对企业架构代价与优势、利用率等指标进行定性或定量分析。 (4)
    基于时间的分析。分析随着时间的推移,企业架构的变化及变化带来的影响。
    4. 架构通信(Architecture Communication)。其主要作用是对企业架构内容进行发布与传播。主要活动包括: (1) 信息发布。在企业内容的门户系统或共享文件夹中发布企业架构相关的信息。 (2)
    报告。在企业相关报告中使用企业架构的内容,并利用企业架构内容为相关活动进行指导。 (3)
    企业实时信息反映与报告。对企业架构内容进行分析、统计等工作,在企业内部形成能够反映企业运营状况的实时信息报告。 (4)
    可视化。能够为企业应用系统的关联人员创建可视化的企业架构内容,更好地实现他们之间的交流。
    5. 架构治理(Architecture Governance)。其主要作用是在企业架构过程中引入解决方案发布、变更管理和质量保证等重要的治理过程与能力。主要活动包括: (1)
    完成与发布管理。严格定义并执行企业架构内容完成与发布的工作流程。 (2) 变更管理。严格定义并执行对企业架构内容的变更控制与追踪。 (3)
    使用追踪。追踪用户和用户组对企业架构内容的实际使用情况。 (4) 质量保证。保证架构内容的完整性、一致性和无二义性。
    三、在实施企业架构管理的过程中可能遇到的问题包括:如何选择合适的EAM工具,如何在企业内部有效共享企业架构信息,如何结合企业实际进行企业架构的变更管理,如何保证架构内容的质量,等等。针对每个问题,说明解决的方法和过程。

    1. [code]试题四 论软件需求获取技术及应用
    2. 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。
    3. 请围绕“需求获取技术及应用”论题,依次从以下三个方面进行论述。
    4. 1.简要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
    5. 2.详细说明目前有哪些比较常用的需求获取技术?说明每种需求获取技术的基本方法。
    6. 3.详细论述在你参与分析和开发的软件项目中所采取的需求获取技术以及选取这些技术的原因,并说明需求获取的具体实施步骤。
    复制代码
    [/code]

      一、结合考生参与分析和开发的庳用项目或从事的实际工作,论述需求获取在系统开发中的作用。 二、能够较为详细地论述几种比较常用的需求获取技术:
    1. 抽样技术:对现有文档、表和文件进行抽样;
    2. 调研和实地访问;
    3. 观察工作环境:通过观察用户的活动、现场及工作习惯来了解项目需求;
    4. 问卷调查:通过使用调查表收集信息。调查表有两种格式:自由格式和固定格式;
    5. 面谈:通过直接、面对面的交互获取需求。
    6. JRP (联合需求计划),是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(JAD)的一部分。 三、结合项目实际工作,举例说明在获取需求时分别采用了哪些需求获取技术;详细说明选择这些技术的原因及具体实施步骤。


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-19 12:21 , Processed in 0.549884 second(s), 54 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表