某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构,如果物理页的大小为512字节,那么进程A逻辑地址为1111(十进制)的变量存放在(1)号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页8,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填(2)。
(1)A.9 B.2 C.4 D.6
(2)A.4、5 B.5、 4 C.5、 8 D.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操作控制进程P1〜P4并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1〜S5的初值都等于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={A→B,B→C}。若将其分解为p={Rl(U1,F1),R2(U2,F2)},其中U1={A,B},U2={A,C}。那么,关系模式R、R1、R2分别达到了(5);分解D(6)。
(5)A.1NF、2NF、3NF B.INF、3NF、3NF C.2NF、2NF、3NF D.2NF、3NF、3NF
(6)A.有损连接但保持函数依赖 B.既无损连接又保持函数依赖
C.有损连接且不保持函数依赖 D.无损连接但不保持函数依赖
【答案】D B 【解析】本题考查关系数据库方面的基本知识。
(5)由关系模式R的函数依赖集F={A→B,B→C}可以得出A→C,存在传递依赖,但不存在非主属性对码的部分函数依赖,故R为2NF。又由于分解后的关系模式R1的函数依赖集F1={A→B},关系模式R2的函数依赖集F2={A→C},因此R1、R2分别达到了3NF。
(6)因为F=F1∪F2,所以分解p保持函数依赖。又由于关系模式R(U,F)的一个分解p={R1(U1,F1),R2(U2,F2)}具有无损连接的充分必要的条件是:U1∩U2→U1-U2∈F+或U1∩U2→U2-U1∈F+。分解p是否无损连接分析如下:
∵AB∩AC=A,AB-AC=B,AC-AB=C ∴A→B∈F+,A→C∈F+ ∴根据无损连接的充分必要的条件可知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‘开发部'(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 【解析】本题考查关系代数运算方面的基础知识。
(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通常是一个具有三个层次的系统模型,包括领域开发环境、领域特定应用开发环境和应用执行环境,其中应用工程师主要在领域特定应用开发环境中工作。
“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景:
传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用(47)架构风格比较合适。
随着编译、链接、调试、执行等开发过程的一体化趋势发展,集成开发环境(IDE)随之出现。IDE集成了编译器、连接器、调试器等多种工具,支持代码的增量修改与处理,能够实现不同工具之间的信息交互,覆盖整个软件开发生命周期。针对这种需求,IDE采用(48)架构风格比较合适。IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现,针对这种需求,通常采用(49)架构风格比较合适。
某公司己经开发了一款针对某种嵌入式操作系统专用编程语言的IDE,随着一种新的嵌入式操作系统上市并迅速占领市场,公司决定对IDE进行适应性改造,支持釆用现有编程语言进行编程,生成符合新操作系统要求的运行代码,并能够在现有操作系统上模拟出新操作系统的运行环境,以支持代码调试工作。针对上述要求,为了使IDE能够生成符合新操作系统要求的运行代码,采用基于(50)的架构设计策略比较合适;为了模拟新操作系统的运行环境,通常采用(51)架构风格比较合适。
(47)A.管道一过滤器 B.顺序批处理 C.过程控制 D.独立进程
(48)A.规则引擎 B.解释器 C.数据共享 D.黑板
(49)A.隐式调用 B.显式调用 C.主程序一子程序 D.层次结构
(50)A.代理 B.适配 C.包装 D.模拟
(51)A.隐式调用 B.仓库结构 C.基于规则 D.虚拟机
【答案】B C A B D 【解析】本题主要考查软件架构风格的理解和掌握。
根据题干描述,传统的编译器设计中,编译处理过程都以独立功能模块的形弍存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用顺序批处理架构风格比较合适,因为在顺序批处理架构风格中,数据以整体的方式在不同的处理模块之间传递,符合题目要求。
集成开发环境(IDE)需要面对不同的数据结构,不同的数据类型与形态,在这种以数据为核心的系统中,采用数据共享机制显然是最为合适的。IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现,这一需求的核心在于根据事件进行动作响应,采用隐式调用的架构风格最为合适。
根据题干描述,公司需要对IDE进行适应性改造,支持采用现有编程语言进行编程,生成符合新操作系统要求的运行代码,并能够在现有操作系统上模拟出新操作系统的运行环境,以支持代码调试工作。针对上述要求,为了使IDE能够生成符合新操作系统要求的运行代码,应该是现有操作系统对新系统的一个适配过程,因此应该采用适配器架构设计策略比较合适,模拟新操作系统的运行模式通常会采用虚拟机架构风格。
某公司采用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用(52)实现质量属性与商业需求、采用软件模板设计软件结构。ABSD方法主要包括架构需求等6个主要活动,其中(53)活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;(54)活动针对用户的需求变化,修改应用架构,满足新的需求。
小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王(55)的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和(56)。
(52)A.架构风格 B.设计模式 C.架构策略 D.架构描述
(53)A.架构设计 B.架构实现 C.架构复审 D.架构演化
(54)A.架构设计 B.架构实现 C.架构复审 D.架构演化
(55)A.从使用者的角度书写文档 B.随时保证文档都是最新的
C.将文档分发给相关人员 D.针对不同背景的人员书写文档的方式不同
(56)A.架构需求说明书 B.架构实现说明书
C.架构质量说明书 D.架构评审说明书
【答案】A C D B C 【解析】本题主要考查采用基于架构的软件设计的基础知识与应用。
基于架构的软件设计(Architecture-Based Software
Design,ABSD)方法有三个基础,分别是对系统进行功能分解、采用架构风格实现质量属性与商业需求、采用软件模板设计软件结构。ABSD方法主要包括架构需求等6个主要活动,其中架构复审活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;架构演化活动针对用户的需求变化,修改应用架构,满足新的需求。
软件架构文档应该从使用者的角度进行书写,针对不同背景的人员采用不同的书写方式,并将文档分发给相关人员。架构文档要保持较新,但不要随时保证文档最新,要保持文档的稳定性。架构文档化的主要输出结果是架构规格说明书和架构质量说明书。
架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、(57)、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、(58)描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以(59)作为架构评估的核心概念。
某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致”主要与(60)质量属性相关;“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试”主要与(61)质量属性相关。在识别出上述描述后,通常采用(62)对质量属性的描述进行刻画与排序。在评估过程中,(63)是一个会影响多个质量属性的架构设计决策。
(57)A.可测试性 B.可移植性 C.可用性 D.易用性
(58)A.架构视图 B.架构排序 C.架构风格 D.架构策略
(59)A.用例 B.视图 C.属性 D.模型
(60)A.可测试性 B.互操作性 C.可移植性 D.易用性
(61)A.可测试性 B.互操作性 C.可移植性 D.易用性
(62)A.期望管理矩阵 B.决策表 C.有限队列 D.效用树
(63)A.风向点 B.决策点 C.权衡点 D.敏感点
【答案】C A C D A D C 【解析】本题主要考查架构权衡分析方法(Architecture Tradeoff
AnalysisMethod,ATAM)的基础知识与应用。 架构权衡分析方法(Architecture Tradeoff Analysis
Method,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。题干描述中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致”,讨论的是针对使用系统的用户的习惯问题,这与易用性相关。“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试”这个描述与系统的可测试性相关。在识别出质量属性描述后,通常采用效用树对质量属性的描述进行刻画与排序。在评估过程中,权衡点是一个会影响多个质量属性的架构设计决策。
以下关于第三方认证服务的叙述中,正确的是(64)。
(64)A.Kerberos认证服务中保存数字证书的服务器叫CA
B.第三方认证服务的两种体制分别是Kerberos和PKI
C.PKI体制中保存数字证书的服务器叫KDC
D.Kerberos的中文全称是“公钥基础设施”
【答案】B 【解析】本试题考查认证服务。 Kerberos可以防止偷听和重放攻击,保护数据的完整性。Kerberos的安全机制如下。 •
AS(Authentication Server):认证服务器,是为用户发放TGT的服务器。 • TGS(Ticket Granting
Server):票证授予服务器,负责发放访问应用服务器时需要的票证。认证服务器和票据授予服务器组成密钥分发中心(Key
DistributionCenter,KDC)。 • V:用户请求访问的应用服务器。 • TGT(Ticket Granting
Ticket):用户向TGS证明自己身份的初始票据,即KTGS(A,Ks)。 公钥基础结构(Public Key
Infrastructure,PKI)是运用公钥的概念和技术来提供安全服务的、普遍适用的网络安全基础设施,包括由PKI策略、软硬件系统、认证中心、注册机构(Registration
Authority,RA)、证书签发系统和PKI应用等构成的安全体系。
采用Kerberos系统进行认证时,可以在报文中加入(65)来防止重放攻击。
(65)A.会话密钥 B.时间戳 C.用户 D.私有密钥
【答案】B 【解析】本试题考查Kerberos系统认证。 时间戳可用来进行防重放攻击。
以下关于为撰写学术论文引用他人资料的叙述中,错误的是(66)
(66)A.既可引用发表的作品,也可引用未发表的作品
B.只能限于介绍、评论或为了说明某个问题引用作品
C.只要不构成自己作品的主要部分,可引用资料的部分或全部
D.不必征得著作权人的同意,不向原作者支付合理的报酬
【答案】A 【解析】
作品实际上是在吸纳和借鉴前人的多种智力成果的基础上而逐渐创作出来的。为了让作品能被更多的人所传播、利用与掌握,以有利于技术和文化的进步、发展,著作权法一方面向著作人授予精神、经济专有权利并保护这些权利所带来的利益,同时又对权利人行使其专有权利给予了一定的限制,便于公众接触、使用作品,为进一步提高技术和文化提供条件。
著作权的限制主要体现在合理使用、法定许可使用两个方面。合理使用是指在特定的条件下,法律允许他人自由使用享有著作权的作品而不必征得著作权人的同意,也不必向著作权人支付报酬的行为,但应当指明作者姓名、作品名称,并且不得侵犯著作权人依照本法享有的其他权利。法定许可使用是指除著作权人声明不得使用外,使用人在未经著作权人许可的情况下,在向著作权人支付报酬时,指明著作权人姓名、作品名称,并且不侵犯著作权人依法享有的合法权利的情况下进行使用的行为。法定许可使用与合理使用的相同处在于:以促进社会公共利益、限制著作权人权利为目的;使用的作品限于已发表作品;无须征得著作权人的同意,但必须注明作者姓名、作品名称。我国著作权法第二十二条具体规定了合理使用的12种情形,一种情形是“为介绍、评论其一作品或者说明某一问题,在作品中适当引用他人己经发表的作品。”题千所述“引用”是合理使用的一种,引用目的仅限于介绍、评论某一作品或者说明某一问题,所引用部分不能构成引用人作品的主要部分或者实质部分。
以下作品中,不适用或不受著作权法保护的作品是(67)。
(67)A.国务院颁布的《计算机软件保护条例》
B.某作家的作品《绿化树》
C.最高人民法院组织编写的《行政诉讼案例选编》
D.某人在公共场所的即兴演说
【答案】A 【解析】
著作权客体的排除领域分为不受著作权法保护的作品和不适用著作权法的作品。不受著作权法保护的作品是指违禁作品,即因内容违反法律而被禁止出版、传播的作品。我国著作权法第4条规定:“依法禁止出版、传播的作品,不受本法保护。”如果作品的思想倾向和情感表达的内容与形式违反法律、危害公众或破坏社会的善良风俗,将被依法禁止出版传播,不受著作权法保护,如计算机病毒程序、淫秽的美术作品等。对于依法禁止出版、传播的作品,不仅不给予保护,如果出版和传播了这类作品还要视其情节轻重,依法追究行为人的行政责任,甚至是刑事的责任。我国著作权法第5条列举了三类不适用著作权法的作品,即时事新闻;历法、通用数表、通用表格和公式;法律、法规、国家机关的决议、决定、命令和其他具有立法、行政、司法性质的文件,及其官方正式译文。
我国著作权法第3条、第6条规定了各类受著作权法保护的作品类型,包括文字作品(如小说、论文、剧本)、口述作品(如即兴演说、法庭辩论)、艺术作品(如音乐、戏剧、曲艺、舞蹈)、美术作品(如绘画、书法、雕塑),以及摄影作品、电影作品、图形作品、模型作品、计算机软件、民间艺术作品等。
以下著作权权利中,(68)的保护期受时间限制。
(68)A.署名权 B.发表权 C.修改权 D.保护作品完整权
【答案】B 【解析】
我国著作权法在第10条对权利内容作了较为详尽而具体的规定,指明著作权的内容包括人身权利和财产权利。著作人身权是指作者享有的与其作品有关的以人格利益为内容的权利,也称为精神权利,包括发表权、署名权、修改权和保护作品完整权。著作人身权与作者的身份紧密联系,永远属于作者本人,即使作者死亡,其他任何人不能再拥有它。所以,我国著作权法第20条规定“作者的署名权;修改权、保护作品完整权的保护期不受限制”。
发表权是属于人身权利,但发表权是一次性权利,即发表权行使一次后,不再享有发表权。发表权是指决定作品是否公之于众的权利,作品一经发表,就处于公知状态,对处于公知状态的作品,作者不再享有发表权,以后再次使用作品与发表权无关,而是行使作品的使用权。
某企业拟生产甲、乙、丙、丁四个产品。每个产品必须依次由设计部门、制造部门和检验部门进行设计、制造和检验,每个部门生产产品的顺序是相同的。各产品各工序所需的时间如下表所示:
只要适当安排好产品生产顺序,企业最快可以在(69)天全部完成这四个产品。
(69)A.84 B.86 C.91 D.93
【答案】A 【解析】本题考查数学应用的能力(优化运筹)。 节省时间的安排方法必然是紧随衔接和尽可能并行安排生产。
第1个产品的设计和最后1个产品的检验是无法与其他工作并行进行的,因此,应安排“首个设计时间+末个检验时间”尽可能短。为此,应先安排生产丁,最后安排生产丙。
如果按丁、甲、乙、丙顺序实施,则共需84天,如下图所示。
如果按丁、乙、甲、丙顺序实施,则共需86天,如下图所示。
1路和2路公交车都将在10分钟内均匀随机地到达同一车站,则它们相隔4分钟内到达该站的概率为(70)。
(70)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。
A system’s architecture is a representation of a system in which there is ;i mapping of (71) onto hardware and software components, a mapping of the (72) 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, soitware, and humans. Software architectural structures can be divided into three major categories, depending on the broad nature of the elements they show. 1) (73) embody decisions as a set of code or data units that have to be constructed or procured. 2) (74) embody decisions as to how the system is to be structured as set of elements that have runtime behavior and interactions. 3) (75) embody decisions as to how the system will relate to nonsoftware structures in its environment (such as CPUs, file systems, networks, development teams, etc.).
(71)A.attributes B.constrains C.functionality D.requirements
(72)A.physical components B.network architecture
C.software architecture D.interface architecture
(73)A.Service structures B.Module structures
C.Deployment structures D.Work assignment structures
(74)A.Decompostion structures B.Layer structures
C.Implementation structure D.Component-and-connectcr structures
(75)A.Allocation structures B.Class structures
C.Concurrency structure D.Uses structures
【答案】C C B D A 【解析】
系统架构是一个系统的一种表示,包含了功能到软硬件构件的映射、软件架构到硬件架构的映射以及对于这些组件人机交互的关注。也就是说,系统架构关注于整个系统,
包括硬件、软件和使用者。软件架构结构根据其所展示元素的广义性质,可以被分为三个主要类别。①模块结构将决策体现为一组需要被构建或采购的代码或数据单元。②构件连接器结构将决策体现为系统如何被结构化为一组具有运行时行为和交互的元素。
③分配结构将决策体现为系统如何在其环境中关联到非软件结构,如CPU、文件系统、 网络、开发团队等。
试题一
某航空公司希望对构建于上世纪七八十年代的主要业务系统进行改造与集成,提高企业的竞争力。由于集成过程非常复杂,公司决定首先以Ramp Coordination系统为例进行集成过程的探索与验证。
在航空业中,Ramp Coordination是指飞机从降落到起飞过程中所需要进行的各种业务活动的协调过程。通常每个航班都有一位员工负责Ramp Coordination,称之为Ramp Coordinatoro由Ramp Coordinator协调的业务活动包括检查机位环境、卸货和装货等。
由于航班类型、机型的不同,RampCoordination的流程有很大差异。图1-1(a)所示的流程主要针对短期中转航班,这类航班在机场稍作停留后就起飞;图1-1(b)所示的流程主要针对到达航班,通常在机场过夜后第二天起飞;图1-1(c)所示的流程主要针对离港航班,这类航班是每天的第一班飞机。这三种类型的航班根据长途/短途、国内/国外等因素还可以进一步细分,每种细分航班类型的Ramp Coordination的流程也咯有不同。
为了完成上述业务,Ramp Coordination信息系统需要从乘务人员管理系统中提取航班乘务员的信息、从订票系统中提取乘客信息、从机务人员管理系统中提取机务人员信息、接收来自航班调度系统的航班到达事件。其中乘务人员管理系统和航班调度系统运行在大型主机系统中,机务人员管理系统运行在Unix操作系统之上,订票系统基干Java语言,具有Web界面,运行在Linux操作系统之上。
目前RampCoordination信息系统主要由人工完成所有协调工作,效率低且容易出错。公司领导要求集成后的Ramp Coordination信息系统能够针对不同需求迅速开.要业务流程,灵活、高效地完成协调任务。
针对上述要求,公司IT部门的架构师经过分析与讨论,最终采用面向服务的架构,以服务为中心进行Ramp Coordination信息系统的集成工作。
【问题1】 服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp
Coordination信息系统进行服务建模,识别出系统中的两个主要业务服务组件: (1) Ramp
Control:负责RampCoordination信息系统中相关各种业务活动的组件; (2) Flight
Management:负责航班相关信息的管理,包括航班日程,乘客信息等。本问题主要考查系统需求分析的基础知识,要求考生能够根据题干描述,找出两个核心业务服务组件RampControl和FlightManagement对外提供的服务,考生需要仔细阅读题干描述,总结需要提供的服务,并进行归类。
【问题2】 对Ramp
Coordination信息系统的集成涉及对乘务人员管理系统、航班调度系统、机务人员管理系统和订票系统的组织与协调,公司架构师决定采用企业服务总线(Enterprise
Service
Bus,ESB)技术进行系统集成,请用200字以内的文字对ESB的定义进行描述,给出ESB的五个主要功能,并针对题干描述,将恰当的内容填入图1-2中的(1)〜(6)。
企业服务总线(Enterprise Service
Bus,ESB)是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过:虑,具备复杂数据的传输能力,并可以提供一系列的标准接口。
ESB的主要功能有: (1) 服务位置透明性; (2) 传输协议转换; (3) 消息格式转换; (4) 消息路由; (5) 消息增强;
(6) 安全性; (7) 监控与管理。
本问题主要考查企业服务总线(EnterpriseServiceBus,ESB)的基本概念和主要功能。企业服务总线是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。ESB的主要功能有:服务位置透明性;传输协议转换;消息格式转换;消息路由;消息增强;安全性;监控与管理等。在采用ESB进行系统集成时,各个现有系统将会以模块的形式接入ESB中,需要明确与ESB交换的数据,因此考生需要根据题干描述,明确要接入的系统和该系统需要提供或交换的数据。
试题二
某软件公司拟开发一套电子商务系统,王工作为项目组负责人负责编制项目计划。由于该企业业务发展需要,CEO急于启动电子商务系统,要求王工尽快准备一份拟开发系统的时间和成本估算报告。
项目组经过讨论后,确定出与项目相关的任务如表2-1所示。其中,根据项目组开发经验,分别给出了正常工作及加班赶工两种情况下所需的时间和费用。
【问题1】 请用400字以内文字说明王工拟编制的项目计划中应包括哪些内容。 王工在接到任务后开始项目计划的编制工作,编制的计划应包括:
(1) 项目总计划(包括范围计划、工作范围定义、活动定义、资源需求、资源计划、活动排序、费用估算、进度计划及费用计划)》 (2)
项目辅助计划(质量计划、沟通计划、人力资源计划、风险计划、采购计划)。本问题考查项目计划的主要内容。项目计划通常包含两个部分:项目总计划包括范围计划、工作范围定义、活动定义、资源需求、资源计划、活动排序、费用估算、进度计划及费用计划;项目辅助计划包括质量计划、沟通计划、人力资源计划、风险计划、采购计划。
【问题2】 请根据表2-1,分别给出正常工作和最短工期两种情况下完成此项目所需的时间和费用。 (1)
正常工作:时间41天,成本74200元; (2) 最短工期:时间27天,成本91600元。本问题考查项目计划中的进度计划。根据表2-1中所列任务、时间和任务间依赖关系,分别绘制正常和加班两种情况下项目开发的PERT图,分别找出最长的路径即关键路径。正常工作情况下,所需时间为41天,费用74200元;加班工作情况’其最短工期为27天,费用91600元。
【问题3】 如果项目在系统调研阶段用了7天时间才完成,公司要求尽量控制成本,王工可在后续任务中采取什么措施来保证项目能按照正常工作进度完成?
在“B提交项目计划”和“I安装部署”任务中采用加班工作措施,以使得项目能够按照正常工作进度完成。本问题考查项目计划中的任务调度。正常工作所需时间为41天,由干系统调研任务多花费了3天时间,所以后续任务必须加班工作才能保证项目按照正常工作进度完成。为了满足题目要求,后续所调整的任务必须满足两个条件:
(1)调整位于关键路径上的关键任务; (2)调整这些任务所增加的成本最小。
经过计算关键任务每减少一天的费用可知,任务B的300元/天和任务I的500元/天为最小值。所以,可以在“B提交项目计划”和“I安装部署”任务中采用加班工作措施,以使得项目能够按照正常工作进度完成。
【问题4】 如果企业CEO想在34天后系统上线,王工应该采取什么措施来满足这一要求?这种情况下完成项目所需的费用是多少?
在“A系统调研”、“B提交项目计划”、“H测试修改”和“I安装部署”任务中采用加班工作措施。项目所需费用79700元。本问题考查项目计划中的任务调度。为了满足题目要求,可在【问题3】的基础上,计算任务A每减少一天的成本,再综合计算41-34=7天所增加成本的最小值。计箅后可知,除了任务B和任务I外,任务H的1000元/天和任务A的1200元/天为关键任务的最小值。需要注意的是任务E为600元/天,但其不是关键任务,所以调整该任务对整个项目的开发工期没有影响。所以,在“A系统调研”、“B提交项目计划”、“H测试修改”和“I安装部署”任务中采用加班工作措施。项目所需费用79700元。
试题三
故障(失效)模型影响分析FMEA是分析产品所有可能的故障模式及其可能产生的影响,并按每个故障模式产生影响的严重程度及其发生概率予以分类的一种归约分析方法。近年来,FMEA方法已被广泛用于安全关键系统的嵌入式软件可靠性分析工作。
某软件公司承担了一项通信软件的开发项目。该项目由FC系统、DY系统和GD系统组成,而DY系统(TMS320C25S)软件负责按系统的通信协议完成与FC系统的通信,图3-1给出了该通信软件的约定层次图。公司高层将项目交给王工,王工认为比项目是安全关键系统,安全等级应为II类(致命的),因此应开展软件的FMEA分析。
【问题1】 请阅读以下有关FMEA的描述,将恰当的内容填入(1)〜(7)。
FMEA是FMA(故障模式分析)和FEA(故障影响分析)的组合,它对系统各种可能的风险进行评价、分析后,在现有技术的基础上消除这些风险或将这些风险降低到可接受的水平。为达到最佳效益,FMEA必须在产品研制初期进行。
FMEA实际是一组系列化的活动,其主要活动包括: (1)
; (2) ; (3)
。 由于产品故障可能与设计、制造过程、使用、承包商/供应商以及服务孖关,因此FMEA又细分为(4)FMEA、(5) FMEA、(6)
FMEA和__(7}_FMEA四类。 (1)找出产品/过程中潜在的故障模式 (2) 根据相应的评价体系对找出的潜在故障模式进行风险量化评估
(3) 列出故障起因/机理,寻找预防或改进措施 (4) 设计 (5) 过程 (6) 使用 (7) 服务本问题主要考查考生对FMEA的理解程度。在做FMEA分析之前考生必须清楚三种主要活动,其一是分析系统或产品有可能存在故障模式,其二是对每一种故障模式开展风险评估(量化分析),其三对故障机理进行分析,制定出预防和改进措施。风险评估可采用多种方法,对软件而言,严酷度等级(SESR)、发生概率等级(SOPR)和被检测难度等级(SDDR)是评估的主要评价参数,这些等级通常以经验或专家评判方法获取。考生应该清楚,FMEA方法可适用产品整个生命周期的各类活动,不同活动可采月不同的评估方法。通常存在四种FMEA,设计FMEA、过程FMEA、使用FMEA和服务FMEA。
【问题2】
从图3-1可以看出,CSU01通信模块是该项目的关键模块,主要功能定义为:总线通信控制器自动完成一帧数据的接收,存入数据缓冲区,并产生中断(INTO),通知CPU从数据缓冲区中读取数据;CPU读完数据后,将准备好的发送数据写至数据缓存区,写完后通知总线通信控制器自动完成一帧数据的发送。CRC校验由外部电路完成判别,其结果通过数据线上的相应位进行标识。针对CSU01通信模块,简要描述实施FMEA的具体内容,填写完成表3-1的(1)〜(5)。
(1) 根据通信协议,可按接收数据功能和发送数据功能分别确定故障模式; (2)
故障原因分为总线通信控制器原因、对方发送的原因和自身程序的原因; (3) 针对每个故障模式分析其对本模块直至整个DY系统造成的影响; (4)
采用风险优先数RPN方法进行该通信模块的危害性分析; (5)
根据以上故障模式、原因、影响及危害性的分析结果,综合考虑故障的影响及SRPN值等情况,对每个故障模式制定了相应的改进措施。给出了CSU01通信模块的工作原理,考生可根据自己原先掌握的嵌入式数据采集的基本工作经验,回答出FMEA分析工作5个步骤中具体内容。回答的要点可以这样考虑如下:
(1) 影响数据交换的主要失效原因不外乎发生在输入(接收)、输出(发送)操作上,因此可从这两方面入手; (2)
故障原因分析可将产生故障的点定位在三方面,即硬件控制器、发送方和自身缺陷; (3)
故障影响分析,按照FMEA的分层思想,根据3-1结构,影响范围可以包括对本软件模块(INT0-ISR)的影响、对上一层软件(DY软件)的影响和对最终DY系统的影响;
(4)
危害分析和改进措施,软件FMEA通常采用风险优先数RPN方法分析,改进措施通常就是根据危害性分析结果和风险优先数等情况,逐一对故障模式制定改进措施。
如果清楚了问题1和问题2所给出一些分析概念的话。 【问题3】
表3-2给出针对该项目的CSU01通信模块的软件故障(失效)模型影响分析FMECA表(局部),请根据此题描述情况填写表3-2中的(1)〜(7)。 注:表3-2中的SRPN(软件风险优先数)=SESR(软件故障模式的严酷度等级)XSOPR(软件故障模式的发生概率等级)XSDDR(软件故障模式的被检测难度等级)。
(1) 程序写0C300H地址单元不当 (2) 无法响应INTO中断 (3) 线路误码 (4) 通信错误 (5) 程序控制错误 (6)
210 (7)数据发送始终不成功数据发送始终不成功只要有实践经验,可通过表3-2中的相关信息正确判断出相应内容。这里要说明的是故障模式5由于其软件风险优先数(SRPN)很高(336),在设计时应重点关注。
试题四
某商业银行欲开发一套个人银行系统,为用户提供常见的金融服务,包括转账、查询、存款变更和个人信息管理等功能。该软件除了业务需求外,还有一些特殊的表现层需求:
(1) 根据用户级别的不同,界面和可用功能是不同的;
(2) 支持Web、Windows、手机App等多种不同类型的界面;
(3) 考虑到将来功能的扩展,需要系统支持界面的定制以及动态生成等功能,以降低系统维护和新功能发布的成本。
经过对需求的讨论,该银行初步决定采用MVC模式设计该个人银行系统的表现层,采用XML作为GUI的描述语言,并应用XML的界面管理技术来实现灵活的界面配置、界面动态生成和界面定制。
【问题1】 MVC模式强制性地将一个应用处理流程按照模型、视图、控制的方式进行分离,三者的协作关系如图4-1所示。
请填写图4-1中的(1)〜(3),并简要说明在该个人银行系统中采用MVC模式对界面设计的作用。 (1)选择视图; (2)业务处理;
(3)状态查询 MVC模式对该个人银行系统的作用: (1) 允许多种界面的扩展,视图的变更与增加,与模型无关; (2)
易于维护,控制器和视图随着模型的扩展而扩展,只要保持公共接口,控制器和视图的旧版本可以继续使用; (3) 可支持功能强大的用户界面。本题考查层次式架构设计中表现层框架设计的相关知识。软件体系结构设计中,层次设计是一种常见的架构设计方法,使设计的系统结构清晰,便于提高复用能力和产品维护能力。
本问题考查MVC设计模式在表现层设计中的应用。MVC是一种目前广泛流行的软件设计模式。MVC强制性地将一个应用处理流程按照模型、视图、控制的方式进行分离,形成了控制器、模型、视图三个核心模块。
(1)
控制器:接受用户的输入并调用模型和视图去完成用户的请求。一方面接受视图的输入,将其转为对模型特定方法的调用;一方面处理来自模型的事件,调用适当的视图反馈给用户。
(2) 模型:应用程序的主体部分,表示业务数据和业务逻辑,可以为多个视图提供数据。 (3)
、见图:用户看到并与之交互的界面。视图可以向模型查询业务状态,接收模型的数据更新事件,同步更新界面。 三者协作关系如图4-3所示。
使用MVC设计表现层,具有以下优点: (1)
允许多种用户界面的扩展。在MVC模式中,视图与模型没有必然的联系,都是通过控制器发生联系,如果增加新类型的用户界面,只需修改响应的控制器和视图即可,模型无需变动;
(2) 易于维护。控制器和视图随着模型的扩展而扩展,只要保持公共接口,控制器和视图的旧版本可以继续使用; (3)
支持功能强大的用户界面。用户界面与模型方法调用组合起来,使程序的使用更清晰,可将友好的界面发布给用户。
【问题2】 请从设计模式的角度,简要说明设计方案采用XML作为GUI描述语言的机制。
从设计模式的角度来说,整个XML表现层解柝的机制是一种策略模式。在调用显示GUI时,不是直接调用特定的表现技术的API,而是装载GUI对应的XML配置文件,然后根据特定的表现技术的解析器解析XML,得到GUI视图实例对象。这样,对于GUI开发人员来说,GUI视图只需要维护一套XML文件即可。本问题考查XML作为表现层控件描述语言的相关知识。
对于应用系统而言,GUI主要是由GUI控件组成。控件本身可以被看作是一个数据对象,包含控件的位置信息、类型和绑定的事件等。因此可以采用XML来描述,将控件作为数据节点保存,控件的相关属性描述为该节点的属性。而XML本身是一种树形结构描述语言,可以很好地支持控件之间的层次结构。而应用程序的表现层仅需要针对该XML语言进行解析,再加上应用系统特有的表现技术,即可以实现应用系统的界面。
从设计模式的角度来说,整个XML表现层解析的机制是一种策略模式。在调用显示GUI时,不是直接调用特定的表现技术的API,而是装载GUI对应的XMLS3置文件,然后根据特定的表现技术的解析器解析XML,得到GUI视图实例对象。这样,对于GUI开发人员来说,GUI视图只需要维护一套XML文件即可。
【问题3】
基于XML的界面管理技术可实现灵活的界面配置、界面动态生成和界面定制,其思路是用XML生成配置文件及界面所需的元数据,按不同需求生成界面元素及软件界面,其技术框图如图4-2所示。
请将恰当的内容填入图4-2中的(1)〜(3),并简要解释说明其含义。本问题考查基于XML的界面管理相关知识。
基于XML的界面管理技术可以实现灵活的界面配置、界面动态生成和界面定制。其思路是用XML生成配置文件及界面所需的元数据,按照不同需求生成界面元素和软件界面。基本思路如图4-4所示。
界面定制是对用户界面的动态修改过程,在软件运行过程中,用户可按照需求和使用习惯,对界面元素的属性进行修改。软件运行结束后,界面定制的结果被保存。
界面动态生成是系统通过DOMAPI读取XML配置文件的表示层信息,通过数据存取类读取数据库中的数据层信息,运行时由界面元素动态生成界面。界面配置和定制模块在软件运行前后修改配置文件、更改界面内容。
界面配置是对用户界面的静态定义,通过读取配置文件的初始值对界面配置。由界面配置对软件功能进行裁剪、重组和扩充,以实现特殊需求。
基于XML的界面管理技术实现的管理信息系统实现了用户界面描述信息与功能实现代码的分离,可针对不同用户需求进行界面配置和定制,能适应一定程度的数据结构改动。只需要对XML文件稍加修改,即可实现系统的移植。
试题五
某软件公司拟开发一套信息安全支撑平台,为客户的局域网业务环境提供信息安全保护。该支撑平台的主要需求如下:
(1) 为局域网业务环境提供用户身份鉴别与资源访问授权功能;
(2) 为局域网环境中交换的网络数据提供加密保护;
(3) 为服务器和终端机存储的敏感持久数据提供加密保护;
(4) 保护的主要实体对象包括局域网内交换的网络数据包、文件服务器中的敏感数据文件、数据库服务器中的敏感关系数据和终端机用户存储的敏感数据文件;
(5) 服务器中存储的敏感数据按安全管理员配置的权限访问;
(6) 业务系统生成的单个敏感数据文件可能会达到数百兆的规模;
(7) 终端机用户存储的敏感数据为用户私有;
(8) 局域网业务环境的总用户数在100人以内。
【问题1】
在确定该支撑平台所采用的用户身份鉴别机制时,王工提出采用基于口令的简单认证机制,而李工则提出采用基于公钥体系的认证机制。项目组经过讨论,确定采用基于公钥体系的机制,请结合上述需求具体分析采用李工方案的原因。(1)
基于口令的认证方式实现简单,但由于口令复杂度及管理方面的原因,易受到认证攻击;而在基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相比更为安全。
(2)
按照需求描述,在完成用户身份鉴别后,需依据用户身份进一步对业务数据进行安全保护,且受保护数据中包含用户私有的终端机数据文件,在基于口令的认证方式中,用户口令为用户和认证服务器共享,没有用户独有的直接秘密信息,而在基于公钥的认证方式中,可基于用户私钥对私有数据进行加密保护,实现更加简便。
(3)
基于公钥体系的认证方式协议和计算更加复杂,因此其计算复杂度要高?基于口令的认证方式,但业务环境的总用户数在100人以内,用户规模不大,运行环境又为局域网环境,因此基于公钥体系的认证方式可满足平台效率要求。本问题考查身份认证机制的特点及应用范围,基于口令的认证机制实现简单,但其安全性较低,易受认证攻击,而基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相比更为安全。【说明】中第(3)与第(7)条需求要求依据用户身份对业务数据进行安全保护,且受保护数据中包含用户私有的终端机数据文件,在基于口令的认证方式中,用户口令为用户和认证服务器共享,没有用户独有的直接秘密信息,而在基于公钥的认证方式中,可基于用户私钥对私有数据进行加密保护,实现更加简便。但基于公钥的认证方式计算复杂,同时【说明】中第(10)条需求表明业务环境的总用户数在100人以内,用户规模不大,运行环境又为局域网环境,因此基于公钥体系的认证方式可满足平台效率要求。综上不难看出,采用基于公钥体系的机制更符合题目中给出的具体需求。
【问题2】
针对需求(7),项目组经过讨论,确定了基于数字信封的加密方式,其加密后的文件结构如图5-1所示。请结合需求说明对文件数据进行加密时,应采用对称加密的块加密方式还是流加密方式,为什么?并对该机制中的数据加密与解密过程进行描述。
应采用流加密方式。因为需求中提及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率。
数据加密与解密过程如下:
其加密过程为:首先生成一个对称密钥,使用用户公钥加密这个对称密钥后存储在文件头,然后用生成的对称密钥加密文件数据存储;
其解密过程为:用户首先使用自己的私钥解密被加密的对称密钥,再用该对称密钥解密出数据原文。本问题考查文件数据的加密保护技术。因为【说明】中第(6)条需求•:是及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率,因此应采用流加密方式。该机制中数据加密与解密过程属于常规的基于数字信封的加解密方式,属于基本的信息安全知识。
【问题3】
对数据库服务器中的敏感关系数据进行加密保护时,客户业务系统中的敏感关系数据主要是特定数据库表中的敏感字段值,客户要求对不同程度的敏感字段采用不同强度的密钥进行防护,且加密方式应尽可能减少安全管理与应用程序的负担。目前数据库管理系统提供的基本数据加密方式主要包括加解密API和透明加密两种,请用300字以内的文字对这两种方式进行解释,并结合需求说明应采用哪种加密方式。目前数据库管理系统提供的基本数据加密支持主要有以下两种: (1)
加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。 (2)
透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。
加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。
本问题考査数据库持久数据的加密保护技术。目前数据库管理系统提供的基本数据加密方式主要包括加解密API和透明加密两种,典型的如Oracle数据库管理系统中提供的数据加密方式。其中加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。透明加密方式支持对特定敏感字段进行透明加密,且可以根据安全管理需要对不同程度的敏感字段采用不同强度的密钥进行保护,满足题目要求,同时题目中明确给出“用户要求尽可能减少安全管理与应用程序的负担”,因此应选择透明加密方式。
试题一
软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kmchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起。软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kmchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起。
请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。
1. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2. 简要叙述“4+1”视图模型的主要内容。结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。
3. 说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。
一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、简要叙述“4+1”视图模型的主要内容。
1. “4+1”视图模型从5个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件结构的全部内容。这5个不同的视角包括逻辑视图、开发视图、进程视图、物理视图和场景。
(1)
逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。在00技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。
(2) 开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求。 (3)
进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适应进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。
(4) 物理视图。物理视图在UML中被称为部署视图,主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。
(5)场景。场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来。场景对应UML中的用例视图。
2. 结合实际项目,详细说明项目软件架构的内容。这部分内容应包括:在设计软件架构时,分别使用了“4+1”视图中的哪些视图,每个视图中包含的模型有哪些等。
三、说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。
试题二
软件架构风格是描述一类特定应用领域中系统组织方式的惯用模式,反映了领域中诸多系统所共有的结构特征和语义特征,并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常见的软件架构风格,能够有效简化设计,使得设计的系统结构清晰,便于提高复用能力和产品维护能力。
由于大量企业应用系统都由界面呈现、业务逻辑、数据存储三类功能构成,E3此广泛采用分层架构风格进行系统设计。
请围绕“企业应用系统的分层架构风格”论题,依次从以下三个方面进行论述。
1. 概要叙述你参与管理和开发的企业应用系统建设项目以及你在其中所承担的主要工作。
2. 请结合项目实际情况,指出应用系统都有哪些层次以及每个层次的主要功能。
3. 请结合项目实际情况,指出设计每个层次时需要注意的问题及相应的解决方案。
一、简要描述所参与管理和开发的企业应用系统建设项目,并明确指出在其中承担的主要任务和开展的主要工作。
二、需要结合项目实际情况指出所开发的应用系统的总体架构,特别是架构的层次关系。分层架构设计是一种常见的架构设计方法,能够有效简化设计,使设计fit系统结构清晰,便于提高复用能力和产品维护能力。一般来说,企业应用系统的架构可以分为表现层、中间层和持久层三个层次。
1. 表现层。表现层主要负责接收用户的请求,对用户的输入、输出进行检查与控制,处理客户端的一些动作,包括控制页面跳转等,并向用户呈现最终的结果信息。表现层主要采用MVC结构来实现。控制器负责接收用户的请求,并决定应该调用哪个模型来处理;然后,模型根据用户请求调用中间层进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
2. 中间层。中间层主要包括业务逻辑层组件、业务逻辑层工作流、业务逻辑层实体和业务逻辑层框架四个方面。业务逻辑层组件分为接U和实现类两个部分,接U用于定义业务逻辑组件,定义业务逻辑组件必须实现的方法。通常按模块来设计业务逻辑组件,每个模块设计为一个业务逻辑组件,并且每个业务逻辑组件以多个DAO组件作为基础,从而实现对外提供系统的业务逻辑服务。业务逻辑层工作流能够实现在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促进此目标的实现。业务逻辑层实体提供对业务数据及相关功能的状态编程访问,业务逻辑层实体数据可以使用具有复杂架构的数据来构建,这种数据通常来自数据库中的多个相关表。业务逻辑层实体数据可以作为业务过程的部分I/O参数传递,业务逻辑层的实体是可序列化的,以保持它们的当前状态。业务逻辑层是实现系统功能的核心组件,采用容器的形式,便于系统功能的幵发、代码重用和管理。
3. 持久层。持久层主要负责数据的持久化存储,主要负责将业务数据存储在文件、数据库等持久化存储介质中。持久层的主要功能是为业务逻辑提供透明的数据访问、持久化、加载等能力。
三、考生需要结合项目实际情况,举例说明在设计表现层、中间层和持久层时需要考虑的主要问题,例如:在持久层设计时需要考虑MVC模型中的模型、视图和控制器分别对应哪些组件;在中间层设计时需要考虑框架与业务组件之间的关系;在持久层设计时需要考虑如何支持对多种类型数据的透明访问。
试题三
随着软件的日益普及,系统中软件成分不断增加,使得系统对软件的依赖越来越强。软件的可靠性对系统可靠性的影响越来越大。而实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设汁阶段采取措施进行可靠性控制,为此提出了软件可靠性设计的概念。
软件可靠性设计就是在常规的软件设计中,应用各种方法和技术,使软'牛设计在兼顾用户功能和性能需求的同时,全面满足软件的可靠性要求。软件可靠性设计应和软件的常规设计紧密结合,贯穿于软件设计过程的始终。
请围绕“论软件可靠性设计技术的应用”论题,依次从以下三个方面进行论述。
1. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2. 结合项目实际,论述你在项目开发过程中,进行软件可靠性设计时遵循的基本原则;论述你在该项目中所采用的具体可靠性设计技术。
3. 阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。
一、概要论述你参与管理和开发的信息系统项目以及你在其中所承担的主要工作。
二、结合项目实际,论述你在进行软件可靠性设计时遵循的基本原则,你所采用的具体可靠性设计技术的基本内容。 可靠性设计需要遵循的原则有:
1. 软件可靠性设计是软件设计的一部分,必须在软件的总体设计框架中使用,并且不能与其他设计原则相冲突。
2. 软件可靠性设计在满足提高软件质量要求的前提下,以提高和保障软件可靠性为最终目标。
3. 软件可靠性设计应确定软件的可靠性y标,不能无限扩大,并且排在功能、用户需求、开发费用之后考虑。 常见的可靠性设计技术有容错设计、检错设计、降低复杂度设计等技术。
容错设计技术:对于软件失效后果特别严重的场合,如飞机的飞行控制系统、空中交通管制系统等,采用容错设计技术。常见的容错设计技术有三种:恢复块设计、N版本程序设计和冗余设计。
恢复块设计:选择一组软件操作作为容错设计单元,把普通的程序块变成恢飪块。一个恢复块包含有若干个功能相同、设计差异的程序块文本,一个运行文本,多〃、备份文本,构成“动态冗余”,一旦运行文本出现故障,则用备份文本替换。软件容错的恢复块方法就是使软件包含有一系列恢复块。
N版本程序设计:N版本程序的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实现多数表决,防止其中某一软件模块/版本的故障提供错误的服务,以实现软件容错。
冗余设计:在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方法的模块或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。缺点是费用和资源的消耗会有所增加。
检错技术:在软件系统中,无需在线容错的地方,或不能采用冗余设计技术的部分,如果对可靠性要求较高,故障有可能导致严重的后果时,一般采用检错技术,在软件出现故障后能及时发现并报警,其缺点是不能自动解决故障。
降低复杂度设计:软件复杂性与软件可靠性有着密切的关系,是产生软件缺陷的重要根源。在设计时考虑降低软件的复杂性,是提高软件可靠性的有效方法。降低复杂度设计的思想是在保证实现软件功能的基础上,简化软件结构,缩短程序代码,优化软件数据流向,降低软件复杂度,从而提高软件可靠性。
(结合实际工作,具体解释遵循的原则和采用的一种或多种可靠性设计技术)
三、阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。
在软件可靠性设计之前和软件可靠性设计过程中,都需要采用软件可靠性分析和预测方法,来确定当前系统中的主要可靠性因素和目标。常见的软件可靠性分析方法包括故障树分析方法、失效模式与效应分析方法等。
故障树分析方法:一种自顶向下的软件可靠性分析方法,即从软件系统不希望发生的事件(顶事件),特别是对人员和设备的安全及可靠性产生重大影响的事件开始,向下逐步追査导致顶事件发生的原因,直至基本事件(底事件),从而确定软件故障原因的各种可能组合方式和(或)发生概率。基本的步骤是软件故障树的建立、定性分析和定量分析。
失效模式与效应分析方法:在软件开发阶段的早期,通过识别软件失效模弍,分析造成的后果,研究分析各种失效模式产生的原因,寻找消除和减少其有害后果的方法,以便尽早发现潜在的问题,并采取相应的措施,从而提高软件的可靠性和安全性.SFMEA的分析对象可以是开发早期阶段的高层次的子系统、部件,也可以是详细设计阶段的单元、模块。对于不同的分析对象,其软件失效模式是不同的,采用的SFMEA分析方法也不同,前者采用系统级分析方法(system
FMEA),后者为详细级分析方法〔detailed
FMEA)。其基本的步骤是系统定义、软件失效模式分析、软件失效原因分析、软件失效影响分析、改进措施分析。
(结合实际工作,具体阐述自己所采用的一种或多种可靠性分析方法)
试题四
分布式存储系统(Distributed Storage System)通常将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
请围绕“论分布式存储系统架构设计”论题,依次从以下三个方面进行论述。
1. 概要叙述你参与分析和开发的分布式存储系统项目以及你所承担的主要工作。
2. 简要说明在分布式存储系统架构设计中所使用的分布式存储技术及其实现机制,详细叙述你在具体项目中选用了哪种分布式存储技术,说明其原因和实施效果。
3. 冗余是提高分布式存储系统可靠性的主要方法,通常在分布式存储系统设计中可采用哪些冗余技术来提升系统的可靠性?你在具体项目中选用了哪种冗余技术?说明其原因和实施效果。
一、简要描述所参与分析和开发的分布式存储系统项目,并明确指出在其中承担的主要任务和开展的主要工作。
二、说明在分布式存储系统架构设计中所使用的四种主要分布式存储技术,并根据考生所参与的实际项目,详细叙述所选用的一种分布式存储技术,并说明选择该技术的原因和实施效果。
在分布式存储系统架构设计中所使用的分布式存储技术主要包括四类:
1. 集群存储技术。集群存储系统是指架构在一个可扩充服务器集群中的文件系统,用户不需要考虑文件是存储在集群中什么位置,仅仅需要使用统一的界面就可以访问文件资源。当负载增加时,只需在服务器集群中增加新的服务器就可以提高文件系统的性能。集群存储系统能够保留传统的文件存储系统的语义,增加了集群存储系统必须的机制,可以向用户提供高可靠性、高性能、可扩充的文件存储服务。
2. 分布式文件系统。分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。分布式文件系统以透明方式链接文件服务器和共享文件夹,然后将其映射到单个层次结构,以便可以从一个位置对其进行访问,而实际上数据却分布在不同的位置。用户不必再转至网络上的多个位置以查找所需的信息。
3. 网络存储技术。网络存储系统就是将“存储”和“网络”结合起来,通过网络连接各存储设备,实现存储设备之间、存储设备和服务器之间的数据在网络上的高性能传输。为了充分利用资源,减少投资,存储作为构成计算机系统的主要架构之一,就不再仅仅担负附加设备的角色,逐步成为独立的系统。利用网络将此独立的系统和传统的用户设备连接,使其以高速、稳定的数据存储单元存在。用户可以方便地使用浏览器等客户端进行访问和管理。
4. P2P网络存储技术。P2P网络存储技术的应用使得内容不是存在几个主要的服务器上,而是存在所有用户的个人电脑上。这就为网络存储提供了可能性,可以将网络中的剩余存储空间利用起来,实现网络存储。人们对存储容量的需求是无止境的,提高存储能力的方法有更换能力更强的存储器,另外就是把多个存储器用某种方式连接在一起,实现网络并行存储。相对于现有的网络存储系统而言,应用P2P技术将会有更大的优势。P2P技术的主体就是网络中Peer,也就是各个客户机,数量是很大的,这些客户机的空闲存储空间是很多的,把这些空间利用起来实现网络存储。
三、冗余是提高分布式存储系统可靠性的主要方法,冗余的存储结构可以保旺部分服务器失效时,数据服务仍可正常访问。常用的冗余技术包括:数据备份,数据分割,门限方案,纠错编码和纠删编码等。考生根据所参与的实际项目指出采用了何种冗余技术,并说明其原因和实施效果。