系统架构真题 |
您所在的位置:网站首页 › 售票点计算机操作流程 › 系统架构真题 |
http://www.itdaan.com/blog/2017/11/03/d8c8a7f576fad78aa30ad36d96f9a9de.html 某航空公司机票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)管理机票销售。假设Tj(j=1,2,…,m)单元存放某日某航班的机票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为(1)。Pi进程的工作流程如下图所示,若用P操作和V操作实现进程间的同步与互斥,则图中空(a),空(b)和空(c)处应分别填入(2)。 (1)A.0 B.1 C.2 D.3 (2)A.P(S),V(S)和V(S) B.P(S),P(S)和V(S) C.V(S),P(S)和P(S) D.V(S),V(S)和P(S) 【答案】B A 【解析】本题考査PV操作方面的基本知识。 试题(1)的正确答案是B,因为公共数据单元是一个临界资源,最多允许1个终端进程使用,因此需要设置一个互斥信号量S,初值等于1。 试题(2)的正确答案是A,因为进入临界区时执行P操作,退出临界区时执行V操作。 假设系统采用段式存储管理方法,进程P的段表如下所示。逻辑地址(3)不能转换为对应的物理地址;不能转换为对应的物理地址的原因是进行(4)。 (3)A.(0,790)和(2,88) B.(1,30)和(3,290) C.(2,88)和(4,98) D.(0,810)和(4,120) (4)A.除法运算时除数为零 B.算术运算时有溢出 C.逻辑地址到物理地址转换时地址越界 D.物理地址到逻辑地址转换时地址越界【答案】D C 【解析】 给定段地址(x,y),其中:x为段号,y为段内地址。将(x,y)转换为物理地址的方法是:根据段号;c查段表一判断段长;如果小于段长,则物理地址=基地址-段内地址y,否则地址越界。 试题(3)正确的选项为D,试题(4)正确的选项为C。因为段地址(0,810)中,0段的段长为800,段内地址810大于段长,故地址越界。段地址(4,120)中,4段的段长为100,段内地址120大于段长,故地址越界。 若系统中存在n个等待事务Ti(i=0,1,2,…,n-1),其中:T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,…,Ti正等待被Ti+1锁住的数据项Ai+1,…,Tn-1正等待被T0锁住的数据项A0,则系统处于(5)状态。 (5)A.封锁 B.死锁 C.循环 D.并发处理【答案】B 【解析】本题考查关系数据库事务处理方面的基础知识。 与操作系统一样,封锁的方法可能引起活锁和死锁。例如事务T1封锁了数据R,事务了T2请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当:T3释放R上的封锁后系统又批准了T4的请求,……T2有可能长期等待,这就是活锁。避免活锁的简单方法是采用先来先服务的策略。即让封锁子系统按请求封锁的先后次序对事务排队。数据R上的锁一旦释放就批准申请队列中的第一个事务获得锁。 又如事务T1封锁了数据R1,T2封锁了数据R2,T3封锁了数据R3。然后T1又请求封锁R2,T2请求封锁R3,T3请求封锁R1。于是出现T1等待T2释放R2上的封锁,T2等待T3释放R3上的封锁,T3等待T1释放R1上的封锁。这就使得三个事务永远不能结束。即多个事务都请求封锁别的事务已封锁的数据,导致无法运行下去的现象称为死锁。 在分布式数据库中包括分片透明、复制透明、位置透明和逻辑透明等基本概念,其中:(6)是指局部数据模型透明,即用户或应用程序无需知道局部场地使用的是哪种数据模型。 (6)A.分片透明 B.复制透明 C.位置透明 D.逻辑透明【答案】D 【解析】本题考查对分布式数据库基本概念的理解。 分片透明是指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的。复制透明是指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的位置透明是指用户无须知道数据存放的物理位置,逻辑透明,即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型。 若关系R、S如下图所示,则关系R与S进行自然连接运算后的元组个数和属性列数分别为(7);关系代数表达式π1,4(σ3=6(R×S))与关系代数表达式(8)等价。 (7)A.6和6 B.4和6 C.3和6 D.3和4 (8)A.πA,D(σC=D(R×S)) B.πA,R,D(σS.C=R.D(R×S)) C.πA,R,D(σR.C=S.D(R×S)) D.πA,R,D(σS.C=S.D(R×S))【答案】D C 【解析】本题考查关系运算方面的基础知识。 (7)根据自然连接要求,两个关系中进行比较的分量必须是相同的属性组,并且在结果中将重复属性列去掉,故R▷◁S后的属性列数为4。同时,自然连接是一种特殊的等值连接,即及关系中的C、D属性与S关系中的C、D属性进行等值连接,然后去掉复属性列,其结果为: 【答案】D 【解析】本题考查嵌入式系统的基础知识。 在嵌入式系统中,板级支持包Board Support Package(简称BSP)是对硬件抽象层的实现,是介于主板的硬件和操作系统驱动程序之间的一层,为整个软件系统提供底层硬件支持,是介于底层硬件和上层软件之间的底层软件开发包,它主要的功能是给上层提供统一接口,同时屏蔽各种硬件底层的差异,以及提供操作系统的驱动及硬件驱动。简单地说,就是BSP包含了所有与硬件有关的代码,为操作系统提供了硬件平台无关性。 以下描述中,(10)不是嵌入式操作系统的特点。 (10)A.面向应用,可以进行裁剪和移植 B.用于特定领域,不需要支持多任务 C.可靠性高,无需人工干预独立运行,并处理各类事件和故障 D.要求编码体积小,能够在嵌入式系统的有效存储空间内运行【答案】B 【解析】本题考査嵌入式系统的基础知识。 嵌入式操作系统是应用于嵌入式系统,实现软硬件资源的分配,任务调度,控制、协调并发活动等的操作系统软件。它除了具有一般操作系统最基本的功能如多任务调度、同步机制等之外,通常还会具备以下适用于嵌入式系统的特性:面向应用,可以进行检查和移植,以支持开放性和可伸缩性的体系结构;强实时性,以适应各种控制设备及系统;硬件适用性,对于不同硬件平台提供有效的支持并实现统一的设备驱动接高可靠性,运行时无须用户过多干预,并处理各类事件和故障;编码体积小,通常会固化在嵌入式系统有限的存储单元中。 嵌入式软件设计需要考虑(11)以保障软件良好的可移植性。 (11)A.先进性 B.易用性 C.硬件无关性 D.可靠性【答案】C 【解析】本题考查嵌入式系统的基础知识。 嵌入式系统的软件设计除了需要考虑一般软件设计的基本要求之外,通常都会要求嵌入式系统软件具有良好的可移植性,以实现对不同硬件平台的适用性,这就要求基于硬件抽象层的系统软件设计特性实现对上层软件的统一接口,做到硬件无关性。 下列说法中正确的是(12)。 (12)A.半双工总线只在一个方向上传输信息,全双工总线可在两个方向上轮流传输信息 B.半双工总线只在一个方向上传输信息,全双工总线可在两个方向上同时传输信息 C.半双工总线可在两个方向上轮流传输信息,全双工总线可在两个方向上同时传输信息 D.半双工总线可在两个方向上同时传输信息,全双工总线可在两个方向上轮流传输信息【答案】C 【解析】本题考查计算机系统的基础知识。 对端到端通信总线的信号传输方向与方式的分类定义如下: 单工是指A只能发信号,而B只能接收信号,通信是单向的。 半双工是指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行。 全双工比半双工又进了一步,在A给B发信号的同时,B也可以给A发信号,这两个过程可以同时进行互不影响。 假如有3块容量是80G的硬盘做RAID 5阵列,则这个RAID 5的容量是(13);而如果有2块80G的盘和1块40G的盘,此时RAID 5的容量是(14)。 (13)A.240G B.160G C.80G D.40G (14)A.40G B.80G C.160G D.200G【答案】B B 【解析】本题考查RAID的基础概念。 RAID是英文Redundant Arrayof Independent Disks的缩写,中文简称为独立冗余磁盘阵列。简单地说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。常用的RAID级别有以下几种:NRAID,JBOD,RAIDO,RAID1,RAID1+0,RAID3,RAID5等。目前经常使用的是RAID5和RAID(1+0)。如果使用物理硬盘容量不相等的硬盘做RAID,那么创建的RAID阵列的总容量为较小的硬盘的计算方式。 RAID5的存储机制是两块存数据,一块存另外两块硬盘的交易校验结果。RAID5的建立后,坏掉一块硬盘,可以通过另外两块硬盘的数据算出第三块的,所以至少要3块。RAID5是一种旋转奇偶校验独立存取的阵列方式,它与RAID3,RAID4不同的是没有固定的校验盘,而是按某种规则把奇偶校验信息均匀地分布在阵列所属的硬盘上, 所以在每块硬盘上,既有数据信息也有校验信息。这一改变解决了争用校验盘的问题,使得在同一组内并发进行多个写操作。所以RAID5既适用于大数据量的操作,也适用于各种事务处理,它是一种快速、大容量和容错分布合理的磁盘阵列。当有N块阵列盘时,用户空间为N-1块盘容量。 根据以上原理,共有3块80G的硬盘做RAID5,则总容量为(3-1)×80=160G;如果有2块80G的盘和1块40G的盘,则以较小的盘的容量为计算方式,总容量为(3-1)×40=80G。 以下关于IPv6的论述中,正确的是(15)。 (15)A.IPv6数据包的首部比IPv4复杂 B.IPv6的地址分为单播、广播和任意播3种 C.IPv6的地址长度为128比特 D.每个主机拥有唯一的IPv6地址【答案】C 【解析】 IPv6地址增加到128位,并且能够支持多级地址层次;地址自动配置功能简化了网络地址的管理;在组播地址中增加了范围字段,改进了组播路由的可伸缩性;增加的任意播地址比IPv4中的广播地址更加实用。 IPv6地址是一个或一组接口的标识符。IPv6地址被分配到接口,而不是分配给结点。IPv6地址有三种类型: (1) 单播(Unicast)地址 (2) 任意播(AnyCast)地址 (3) 组播(Multicast)地址 在IPv6地址中,任何全“0”和全“1”字段都是合法的,除非特别排除的之外。特别是前缀可以包含“0”值字段,也可以用“0”作为终结字段。一个接口可以被赋予任何类型的多个地址(单播、任意播、组播)或地址范围。 与IPv4相比,IPv6首部有下列改进: •分组头格式得到简化:IPv4头中的很多字段被丢弃,IPv6头中字段的数量从12个降到了8个,中间路由器必须处理的字段从6个降到了4个,这样就简化了路由器的处理过程,提高了路由选择的效率。 •改进了对分组头部选项的支持:与IPv4不同,路由选项不再集成在分组头中,而是把扩展头作为任选项处理,仅在需要时才插入到IPv6头与负载之间。这种方式使得分组头的处理更灵活,也更流畅。以后如果需要,还可以很方便地定义新的扩展功能。 •提供了流标记能力:IPv6增加了流标记,可以按照发送端的要求对某些分组进行特别的处理,从而提供了特别的服务质量支持,简化了对多媒体信息的处理,可以更好地传送具有实时需求的应用数据。 以下关于软件架构风格与系统性能的关系叙述中,错误的是(16)。 (16)A.对于采用层次化架构风格的系统,划分的层次越多,系统的性能越差 B.对于采用隐式调用架构风格的系统,可以通过处理函数的并发调用提高系统处理性能 C.采用面向对象架构风格的系统,可以通过引入对象管理层提高系统性能 D.对于采用解释器架构风格的系统,可以通过部分解释代码预先编译的方式提高系统性能【答案】C 【解析】 采用面向对象架构风格的系统,可以通过引入对象管理层提高系统性能。 抽象数据类型概念对软件系统有重要作用,目前软件界已普遍转向使用面向对象系统。这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是逍过函数和过程的调用来交互的。可以通过减少功能调用层次提高系统性能。 为了测试新系统的性能,用户必须依靠评价程序来评价机器的性能,以下四种评价程序,(17)评测的准确程度最低。 (17)A.小型基准程序 B.真实程序 C.核心程序 D.合成基准程序【答案】D 【解析】 相对于小型基准程序、真实程序和核心程序,用合成基准程序评测的准确程度最低。 供应链中的信息流覆盖了从供应商、制造商到分销商,再到零售商等供应链中的所有环节,其信息流分为需求信息流和供应信息流,(18)属于需求信息流,(19)属于供应信息流。 (18)A.库存记录 B.生产计划 C.商品入库单 D.提货发运单 (19)A.客户订单 B.采购合同 C.完工报告单 D.销售报告【答案】B C 【解析】本题考查信息化方面的基础知识。 供应链中的信息流覆盖了从供应商、制造商到分销商,再到零售商等供应链中的所有环节,其信息流分为需求信息流和供应信息流,这是两个不同流向的信息流。当需求信息(如客户订单、生产计划和采购合同等)从需方向供方流动时,便引发物流。同时,供应信息(如入库单、完工报告单、库存记录、可供销售量和提货发运单等)又同物料一起沿着供应链从供方向需方流动。 电子政务的主要应用模式中不包括(20)。 (20)A.政府对政府(Government To Government) B.政府对客户(Government To Customer) C.政府对公务员(Government To Employee) D.政府对企业(Government To Business)【答案】C 【解析】本题考查电子政务的基础知识。 电子政务是政府机构应用现代信息和通信技术,将管理和服务通过网络技术进行集成,在因特网上实现政府组织结构和工作流程的优化重组,超越时间和空间及部门之间的分隔限制,向社会提供优质和全方位的、规范而透明的、符合国际水准K管理与服务。电子政务的主要模式有4种:(1)政府对政府(Government To Government);(2)政府对公务员(Government To Employee);(3)政府对企业(Government To Business);(4)政府对公民(Government To Citizen)。 电子商务系统中参与电子商务活动的实体包括(21)。 (21)A.客户、商户、银行和认证中心 B.客户、银行、商户和政府机构 C.客户、商户、银行和物流企业 D.客户、商户、政府和物流企业【答案】A 【解析】本题考查电子商务方面的基础知识。 电子商务分五个方面,即电子商情广告、电子选购与交易、电子交易凭证.的交换、电子支付与结算,以及网上售后服务等。参与电子商务的实体有4类:客户(个人消费者或集团购买)、商户(包括销售商、制造商和储运商)、银行(包括发行和收单行)及认证中心。 商业智能系统的处理过程包括四个主要阶段:数据预处理通过(22)实现企业原始数据的初步整合;建立数据仓库是后续数据处理的基础;数据分析是体现系统智能的关键,主要采用(23)和(24)技术,前者能够实现数据的上卷、下钻和旋转分析,后者利用隐藏的知识,通过建立分析模型预测企业未来发展趋势;数据展现主要完成数据处理结果的可化。 (22)A.数据映射和关联 B.数据集市和数据立方体 C.数据抽取、转换和装载 D.数据清洗和数据集成 (23)A.知识库 B.数据挖掘 C.联机事务处理 D.联机分析处理 (24)A.知识库 B.数据挖掘 C.联机事务处理 D.联机分析处理【答案】C D B 【解析】本题考查商业智能方面的基础知识。 商业智能系统的处理过程包括数据预处理、建立数据仓库、数据分析及数据展现4个主要阶段。数据预处理是整合企业原始数据的第一步,包括数据的抽取、转换和装载三个过程。建立数据仓库则是处理海量数据的基础。数据分析是体现系统智能的关键,一般采用OLAP和数据挖掘技术。联机分析处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题。在海量数据和分析手段增多的情况下,数据展现则主要保障系统分析结果的可视化。 关于项目范围管理描述,正确的是(25)。 (25)A.项目范围是指信息系统产品或者服务所应包含的功能 B.项目范围描述是产品范围说明书的重要组成部分 C.项目范围定义是信息系统要求的度量 D.项目范围定义是生产项目计划的基础【答案】D 【解析】本题考查软件项目范围管理方面的基础知识。 项目范围是为了达到项目目标,为了交付具有某种特制的产品和服务,项目所规定要做的。在信息系统项目中,产品范围是指信息系统产品或者服务所应该包含的功能,项目范围是指为了能够交付信息系统项目所必须做的工作。产品范围是项目范围的基础,产品的范围定义是信息系统要求的度量,而项目范围的定义是生产项目计划的基础。产品范围描述是项目范围说明书的重要组成部分。 项目配置管理中,配置项的状态通常包括(26)。 (26)A.草稿、正式发布和正在修改 B.草稿、技术评审和正式发布 C.草稿,评审或审批、正式发布 D.草稿、正式发布和版本变更【答案】A 【解析】本题考查软件项目配置管理方面的基础知识。 在配置管理中,所有的配置项都应列入版本控制的范畴。配置项的状态通常有3种,分别是草稿、正式发布和正在修改。 下列叙述中,不满足好的需求陈述要求的是(27)。 (27)A.每一项需求都必须完整、准确地描述即将要开发的功能 B.需求必须能够在系统及其运行环境的能力和约束条件内实现 C.每一项需求记录的功能都必须是用户的真正的需要 D.所有需求都应被视为同等重要【答案】D 【解析】 理想情况下,每一项用户、业务需求和功能需求都应具备下列性质。 完整性。每一项需求都必须完整地描述即将交付使用的功能。它必须包含开发人员设计和实现这项功能需要的所有信息。 正确性。每一项需求都必须准确地描述将要开发的功能。判断正确性的参考是需求来源,如实际用户和高级的系统需求。如果一项软件需求与其相对应的系统需求发生冲突,这是不正确的。 可行性。需求必须能够在系统及其运行环境的已知能力和约束条件内实现。 必要性。每一项需求记录的功能都必须是用户的真正需要,或者是为符合外部系统需求或标准而必须具备的功能。每项需求都必须来源于有权定义需求的一方。对每项需求都必须追溯至特定的客户需求的来源,例如用例、业务规则或者其他来源。 有优先次序。为每一项功能需求、特性或用例指定一个实现优先级,以表明它在产品的某一版本中的重要程度。如果所有需求都被视为同等重要,项目经理就很难采取措施应对预算削减、进度拖后、人员流失或开发过程中需求增加等情况。 无歧义。一项需求声明对所有读者应该只有一种一致的解释,编写需求时应该使用用户所在领域的、简洁明了的语言。应该在词汇表中列出所有专用的和可能让用户感到迷惑的术语。 可验证性。如果某项需求不可验证,那么判定其实现的正确与否就成了主观臆断,而不是客观分析。不完备、不一致、不可行或有歧义的需求也是不可验证的。 一个大型软件系统的需求总是有变化的。为了降低项目开发的风险,需要一个好的变更控制过程。如下图所示的需求变更管理过程中,①②③处对应的内容应是(28);自动化工具能够帮助变更控制过程更有效地运作,(29)是这类工具应具有的特性之一。 (28)A.问题分析与变更描述,变更分析与成本计算,变更实现 B.变更描述与变更分析,成本计算,变更实现 C.问题分析与变更描述,变更分析,变更实现 D.变更描述,变更分析,变更实现 (29)A.自动维护系统的不同版本 B.支持系统文档的自动更新 C.自动判定变更是否能够实施 D.记录每一个状态变更的日期及变更者【答案】A D 【解析】 一个大型的软件系统的需求总是有变化的。对许多项目来说,系统软件总需要不断完善,一些需求的改进是合理的而且不可避免,要使得软件需求完全不变更,也许是不可能的,但毫无控制的变更是项目陷入混乱、不能按进度完成,或者软件质量无法保证的主要原因之一。一个好的变更控制过程,给项目风险承担者提供了正式的建议需求变更机制,可以通过变更控制过程来跟踪已建议变更的状态,使已建议的变 更确保不会丢失或疏忽。需求变更管理过程如下图所示: 【答案】A 【解析】 在处理流程设计过程中,为了更清晰地表达过程规则说明,陆续出现了一些用于表示处理流程的工具,这些工具包括三类:图形工具、表格工具和语言工具。其中常见的图形工具包括程序流程图、IPO图、盒图、问题分析图、判定树,表格工具包括判定表,语言工具包括过程设计语言等。 程序流程图(Program How Diagram,PFD)用一些图框表示各种操作,它独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。流程图中只能包括5种基本控制结构:顺序型、选择型、WHILE循环型(当型循环)、UNTIL循环型(直到型循环)和多分支选择型。 IPO图是由IBM公司发起并逐步完善的一种流程描述工具,其主体是处理过程说明,可以采用流程图、判定树、判定表、盒图、问题分析图或过程设计语言来进行描述。IPO图中的输入、输出与功能模块、文件及系统外部项都需要通过数据字典来描述,同时需要为其中的某些元素添加注释。 N-S图与PFD类似,也包括5种控制结构,分别是顺序型、选择型、WHILE循环型(当型循环)、UNTIL循环型(直到型循环)和多分支选择型,任何一个N-S图都是这5种基本控制结构相互组合与嵌套的结果。在N-S图中,过程的作用域明确;它没有箭头,不能随意转移控制;而且容易表示嵌套关系和层次关系;并具有强烈的结构化特征。但是当问题很复杂时,N-S图可能很大。 问题分析图(Problem Analysis Diagram,PAD)是继PFD和N-S图之后,又一种描述详细设计的工具。PAD也包含5种基本控制结构,并允许递归使用。 过程设计语言(Process Design Language,PDL)也称为结构化语言或伪代码(pseudocode),它是一种混合语言,采用自然语言的词汇和结构化程序设计语言的语法,用于描述处理过程怎么做,类似于编程语言。过程设计语言用于描述模块中算法和加工逻辑的具体细节,以便在开发人员之间比较精确地进行交流。 对于具有多个互相联系的条件和可能产生多种结果的问题,用结构化语言描述则显得不够直观和紧凑,这时可以用以清楚、简明为特征的判定表(Decision Table)来描述。判定表采用表格形式来表达逻辑判断问题,表格分成4个部分,左上部分为条件说明,左下部分为行动说明,右上部分为各种条件的组合说明,右下部分为各条件组合下相应的行动。 判定树(Decision Tree)也是用来表示逻辑判断问题的一种常用的图形工具,它用树来表达不同条件下的不同处理流程,比语言、表格的方式更为直观。判定树的左侧(称为树根)为加工名,中间是各种条件,所有的行动都列于最右侧。 用例(use case)用来描述系统对事件做出响应时所采取的行动。用例之间是具有相关性的。在一个会员管理系统中,会员注册时可以采用电话和邮件两种方式。用例“会员注册”和“电话注册”、“邮件注册”之间是(31)关系。 (31)A.包含(include)B.扩展(extend) C.泛化(generalize) D.依赖(depends on)【答案】C 【解析】 用例之间的关系主要有包含、扩展和泛化,利用这些关系,把一些公共的信息抽取出来,以便于复用,使得用例模型更易于维护。 ①包含关系。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例。 ②扩展关系。如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。 ③泛化关系。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。 某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。在明确用户需求后,该公司的架构师决定采用Bridge模式实现该软件,并设计UML类图如下图所示。图中与Bridge模式中的“Abstraction”角色相对应的类是(32),与“Implementor”角色相对应的类是(33)。 (32)A.Shape B.Drawing C.Rectangle D.V2Drawing (33)A.Shape B.Drawing C.Rectangle D.V2Drawing【答案】A B 【解析】 桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。 桥接模式的结构如下图所示,其中: 【答案】C A 【解析】 RUP将项目管理、业务建模、分析与设计等统一起来,贯穿整个开发过程。RUP中的软件过程在时间上被分解为4个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。每个阶段结束时都要安排一次技术评审,以确定这个阶段的目标是否已经满足。如果评审结果令人满意,就可以允许项目进入下一个阶段。可以看出,基于RUP的软件过程是一个迭代和增量的过程。通过初始、细化、构建和移交4个阶段就是一个开发周期,每次经过这4个阶段就会产生一代软件。除非产品退役,否则通过重复同样的4个阶段,产品将演化为下一代产品,但每一次的侧重点都将放在不同的阶段上。这样做的好处是在软件开发的早期就可以对关键的、影响大的风险进行处理。 在面向对象设计的原则中、(36)原则是指抽象不应该依赖予细节,细节应该依赖于抽象,即应针对接口编程,而不是针对实现编程。 (36)A.开闭 B.里氏替换 C.最少知识 D.依赖倒置【答案】D 【解析】 依赖倒置原则是指抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。在程序代码中传递参数时或在组合(或聚合)关系中,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明和方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。为了确保该原则的应用,一个具体类应当只实现接口和抽象类中声明过的方法,而不要给出多余 的方法,否则,将无法调用到在子类中增加的新方法。 实现开闭原则的关键是抽象化,并且从抽象化导出具体化实现,如果说开闭原则是OOD的目标的话,那么依赖倒置原则就是OOD的主要机制。有了抽象层,可以使得系统具有很好的灵活性,在程序中尽量使用抽象层进行编程,而将具体类写在配置文件中,这样,如果系统行为发生变化,则只需要扩展抽象层,并修改配置文件,而无须修改原有系统的源代码,在不修改的情况下来扩展系统功能,满足开闭原则的要求。依赖倒置原则是COM、CORBA、EJB、Spring等技术和框架背后的基本原则之一。 对于遗留系统的评价框架如下图所示,那么处于“高水平、低价值”区的遗留系统适合于采用的演化策略为(37)。 (37)A.淘汰 B.继承 C.改造 D.集成【答案】D 【解析】 把对遗留系统的评价结果分列在坐标的4个象限内。对处在不同象限的遗留系统采取不同的演化策略。 ①淘汰策略。第四象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上考虑更合算。 ②继承策略。第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。称这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统 的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。 ③改造策略。第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有强大的生命力。系统具有较高的业务价值.基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,称这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。 ④集成策略。第三象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。 (38)的目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。其测试的技术依据是(39)。 (38)A.单元测试 B.集成测试 C.系统测试 D.回归测试 (39)A.软件详细设计说明书 B.技术开发合同 C.软件概要设计文档 D.软件配置文档【答案】B C 【解析】 根据国家标准GB/T15532-2008,软件测试可分为单元测试、集成测试、配置项测试、系统测试、验收测试和回归测试等类别。 单元测试也称为模块测试,测试的对象是可独立编译或汇编的程序模块、软件构件或面向对象软件中的类(统称为模块),其目的是检查每个模块能否正确地实现设计说明中的功能、性能、接口和其他设计约束等条件,发现模块内可能存在的各种差错。单元测试的技术依据是软件详细设计说明书。 集成测试的目的是检查模块之间,以及模块和己集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。集成测试的技术依据是软件概要设计文档。 系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同。 配置项测试的对象是软件配置项,配置项测试的目的是检验软件配置项与软件需求规格说明的一致性。 确认测试主要验证软件的功能、性能和其他特性是否与用户需求一致。 验收测试是指针对软件需求规格说明,在交付前以用户为主进行的测试。 回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的复合型,以及软件原有的、正确的功能、性能和其他规定的要求的不损害性。 软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格反映领域中众多系统所共育的结构和(40),强调对架构(41)的重用。 (40)A.语义特性 B.功能需求 C.质量属性 D.业务规则 (41)A.分析 B.设计 C.实现 D.评估【答案】A B 【解析】本题考查软件架构风格方面的基础知识。 软件架构设计的一个核心问题是能否使用重复的架构模式,即能否达到架构级的软件重用。也就是说,能否在不同的软件系统中,使用同一架构。基于这个目的,学者们开始研究和实践软件架构的风格和类型问题。软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件架构风格定义了用于描述系统的术语表和一组指导构件系统的规则。 软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。软件架构设计需满足系统的(42),如性能、安全性和可修改性等,并能够指导设计人员和实现人员的工作。 (42)A.功能需求 B.性能需求 C.质量属性 D.业务属性【答案】C 【解析】本题考查软件架构设计方面的基础知识。 软件架构是降低成本、改进质量、按时和按需交付产品的关键因素,软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等,软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动,软件架构能够指导设计人员和实现人员的工作。一般在设计软件架构之初,会根据用户需求,确定多个候选架构,并从中选择一个较优的架构,并随着软件的开发,对这个架构进行微调,以达到最佳效果。 架构描述语言(Architecture Description Language,ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。ADL主要包括以下组成部分:组件、组件接口、(43)和架构配置。 (43)A.架构风格 B.架构实现 C.连接件 D.组件约束【答案】C 【解析】本题考查架构描述语言的理解与掌握。 架构描述语言(Architecture Description Language,ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。ADL主要包括以下组成部分:组件、组件接口、连接件和架构配置。ADL对连接件的重视成为区分ADL和其他建模语言的重要特征之一。 基于架构的软件开发(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用(44)描述软件架构,用(45)来描述需求。 (44)A.类图和序列图 B.视角与视图 C.构建和类图 D.构建与功能 (45)A.用例与类图 B.用例与视角 C.用例与质量场景 D.视角与质量场景【答案】B C 【解析】本题考查基于架构的软件开发方法的基础知识。 根据定义,基于软件架构的开发(Architecture BasedS oftwareD evelopment,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。 某公司拟开发一个地面清洁机器人。机器人的控制者首先定义清洁任务和任务之间的关系,机器人接受任务后,需要响应外界环境中触发的一些突发事件,根据自身状态进行动态调整,最终自动完成任务。针对上述需求,该机器人应该采用(46)架构风格最为合适。 (46)A.面向对象 B.主程序-子程序 C.规则系统 D.管道-过滤器【答案】C 【解析】本题考查架构风格与架构设计策略的理解与掌握。 根据题目描述,机器人需要根据自身状态的外界环境进行自动调整,这是一个典型的根据外部事件进行响应的场景。比较4个候选项,规则系统比较适合根据外邹事件,以自身状态为基础自动进行处理和动作的场景。 某公司拟开发一个语音识别系统,其语音识别的主要过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供语义解释等,每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用(47)架构风格最为合适。 (47)A.解释器 B.面向对象 C.黑板 D.隐式调用【答案】C 【解析】本题考查架构风格与架构设计策略的理解与掌握。 根据题目描述,语音识别系统是一个十分典型的专家系统,其特点是求解的正确结果不止一个,求解过程比较复杂,需要通过专家知识和反馈逐步得到正确结果。因此对比4个候选项,黑板结构特别适合求解这类问题。 某公司拟开发了个轿车巡航定速系统,系统需要持续测量车辆当前的实时速度,并根据设定的期望速度启动控制轿车的油门和刹车。针对上述需求,采用(48)架构风格最为合适。 (48)A.解释器 B.过程控制 C.分层 D.管道-过滤器【答案】B 【解析】本题考查架构风格与架构设计策略的理解与掌握。 根据题目描述,轿车巡航定速系统是一个十分典型的控制系统,其特点是不断采集系统当前状态,与系统中的设定状态进行对比,并通过将当前状态与设定状态进行对比从而进行控制。因此对比4个候选项,过程控制特别适合求解这类问题。 某公司拟开发一套在线游戏系统,该系统的设计目标之一是支持用户自行定义游戏对象属性,行为和对象之间的交互关系。为了实现上述目标,公司应该采用(49)架构风格最为合适。 (49)A.管道-过滤器 B.隐式调用 C.主程序-子程序 D.解释器【答案】D 【解析】本题主要考查软件架构设计策略与架构风格的理解与掌握。 根据题干描述,该软件系统特别强调用户定义系统中对象的关系和行为这一特性,这需要在软件架构层面提供一种运行时的系统行为定义与改变的能力,根据常见架构风格的特点和适用环境,可以知道最合适的架构设计风格应该是解释器风格。 某公司为其研发的硬件产品设计实现了一种特定的编程语言,为了方便开发者进行软件开发,公司拟开发一套针对该编程语言的集成开发环境,包括代码编辑、语法高亮、代码编译、运行调试等功能。针对上述描述,该集成开发环境应采用(50)架构风格最为合适。 (50)A.管道-过滤器 B.数据仓储 C.主程序-子程序 D.解释器【答案】B 【解析】本题主要考查软件架构设计策略与架构风格的理解与掌握。 根据题干描述,编程语言的集成开发环境需要提供代码编辑、语法高亮、代码编译、运行调试等功能,这些功能的特点是以软件代码为中心进行对应的编译处理与辅助操作。根据常见架构风格的特点和适用环境,可以知道最合适的架构设计风格应该是数据仓库风格。 软件架构设计包括提出架构模型,产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和(51),并通过多种(52)全面描述特定系统的架构。 (51)A.实现方式 B.交互作用 C.设计方案 D.测试方式 (52)A.对象 B.代码 C.文档 D.视图【答案】B D 【解析】本题主要考查软件架构设计过程的基础知识。 软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构。 特定领域软件架构(Domain Specific Software Architecture, DSSA)以一个特定问题领域为对象,形成由领域参考模型,参考需求,(53)等组成的开发基础架构,支持一个特定领域中多个应用的生成。DSSA的基本活动包括领域分析、领域设计和领域实现。其中领域分析的主要目的是获得(54),从而描述领域中系统之间共同的需求,即领域需求;领域设计的主要目标是获得(55),从而描述领域模型中表示需求的解决方案;领域实现的主要目标是开发和组织可重用信息,并实现基础软件架构。 (53)A.参考设计 B.参考规约 C.参考架构 D.参考实现 (54)A.领域边界 B.领域信息 C.领域对象 D.领域模型 (55)A.特点领域软件需求 B.特定领域软件架构 C.特定领域软件设计模型 D.特定领域软件重用模型【答案】C D B 【解析】 特定领域软件架构(Domain Specific Software Architecture,DSSA)以一个特定问题领域为对象,形成由领域参考模型、参考需求、参考架构等组成的开发基础架构,其目标是支持一个特定领域中多个应用的生成。DSSA的基本活动包括领域分析、领域设计和领域实现。其中领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求,即领域需求;领域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的解决方案;领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息,并对基础软件架构进行实现。 某公司欲开发一个网上商城系统,在架构设计阶段,公司的架构师识别出3个核心质量属性场景,其中“系统主站断电后,能够在2分钟内自动切换到备用站点,并恢复正常运行”主要与(56)质量属性相关,通常可采用(57)架构策略实现该属性;“在并发用户数不超过1000人时,用户的交易请求应该在0.5s内完成”主要与(58)质量属性相关通常可采用(59)架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与(60)质量属性相关,通常可采用(61)架构策略实现该属性。 (56)A.性能 B.可用性 C.易用性 D.可修改性 (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.维护现有接口【答案】B A C B B C 【解析】本题主要考查考生对质量属性的理解和质量属性实现策略的掌握。 对于题干描述:“系统主站断电后,能够在2分钟内自动切换到备用站点,并恢复正常运行”主要与可用性质量属性相关,通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性;“在并发用户数不超过1000人时,用户的交易请求应该在0.5s内完成”,主要与性能这一质量属性相关,实现该属性的常见架构策略包括:增加计算资源、减少计算开销、引入并发机制、采用资源调度等。“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与安全性质量属性相关,通常可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。 架构权衡分析方法(Architecture Tradeoff Analysis Method, ATAM)是在基于场景的架构分析方法(Scenarios-based Architecture Analysis Method, SAAM)基础之上发展起来的,主要包括场景和需求收集、(62),属性模型构造和分析,属性模型折中等四个阶段。ATAM方法要求在系统开发之前,首先对这些质量属性进行(63)和折中。 (62)A.架构视图和场景实现 B.架构风格和场景分析 C.架构设计和目标分析 D.架构描述和需求评估 (63)A.设计 B.实现 C.测试 D.评价【答案】A D 【解析】本题主要考查考生对架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)的掌握和理解。 ATAM是在基于场景的架构分析方法(Scenarios-based Architecture Analysis Method,SAAM)基础之上发展起来的,主要包括场景和需求收集、架构视图和场景实现、属性模型构造和分析、属性模型折中等4个阶段。ATAM方法要求在系统开发之前,首先对这些质量属性进行评价和折中。 用户提出需求并提供经费,委托软件公司开发软件。双方商定的协议(委托开发合同)中未涉及软件著作权归属,其软件著作权应由(64)享有。 (64)A.用户 B.用户、软件公司共有 C.软件公司 D.经裁决所确认的一方【答案】C 【解析】 委托开发软件著作权关系的建立,通常由委托方与受委托方订立合同而成立。委托开发软件关系中,委托方的责任主要是提供资金、设备等物质条件,并不直接参与开发软件的创作开发活动。受托方的主要责任是根据委托合同规定的目标开发出符合条件的软件。关于委托开发软件著作权的归属,《计算机软件保护条例》第十二条规定:“受他人委托开发的软件,其著作权的归属由委托者与受委托者签定书面协议约定,如无书面协议或者在协议中未作明确约定,其著作权属于受委托者”。根据该条的规定,软件公司应享有软件著作权。通常,确定委托开发的软件著作权的归属应当掌握两点: 一是委托开发软件系根据委托方的要求,由委托方与受托方以合同确定的权利和义务的关系而进行开发的软件,因此软件著作权归属应当作为合同的重要条款予以明确约定。对于当事人己经在合同中约定软件著作权归属关系的,如事后发生纠纷,软件著作权的归属仍应当根据委托开发软件的合同来确定。 二是在委托开发软件活动中,委托者与受委托者没有签定书面协议,或者在协议中.未对软件著作权归属作出明确的约定,其软件著作权属于受委托者,即属于实际完成软件的开发者。 某摄影家创作一件摄影作品出版后,将原件出售给了某软件设计师。软件设计师不慎将原件毁坏;则该件摄影作品的著作权(65)享有。 (65)A.仍然由摄影家 B.由摄影家和软件设计师共同 C.由软件设计师 D.由摄影家或软件设计师申请的一方【答案】A 【解析】本题考查知识产权基本知识。 摄影家将其摄影作品原件出售时不涉及著作权,这件摄影作品的著作权仍属于摄影家。这是因为摄影家将摄影作品庖件出售时,只是将其摄影作品原件(作品物)的物权转让,并未涉及著作权转让,摄影作品原件的转移不等于摄影作品著作权的转移。所以这件摄影作品的著作权仍属于摄影家。 摄影作品的原件可以买卖、赠予。然而,获得一件摄影作品并不意味着获得该作品的著作权。我国著作权法第18条规定:“美术等作品原件所有权的转移。不视为作品著作权的转移,但美术作品原件的展览权由原件所有人享有。”这就是说作品物转移的事实并不引起作品著作权的转移,受让人只是取得物的所有权和作品原件的展览权,作品的著作权仍然由作者等著作权人享有。除了美术作品之外,对任何原件所有权可能转移的作品,都要注意区分作品物质载体的财产权和作品的著作权这两种不同的权利。 该摄影作品出版后,原件不慎毁坏,摄影家仍享有该摄影作品的著作权。这是因为,该摄影作品原件的灭失,不等于摄影作品著作权的丧失,也就是说,著作权的存在,不以作品原件物质载体的存在为前提,而是依据法定的保护期。 软件设计师王某在其公司的某一综合信息管理系统软件开发项目中、承担了大部分程序设计工作。该系统交付用户,投入试运行后,王某辞职离开公司,并带走了该综合信息管理系统的源程序,拒不交还公司。王某认为综合信息管理系统源是他独立完成的,他是综合信息管理系统源程序的软件著作权人。王某的行为(66)。 (66)A.侵犯了公司的软件著作权 B.未侵犯公司的软件著作权 C.侵犯了公司的商业秘密权 D.不涉及侵犯公司的软件著作权【答案】A 【解析】本题考查知识产权基本知识。 《计算机软件保护条例》第13条规定“自然人在法人或者其他组织中任职期间所开发的软件有下列情形之一的,该软件著作权由该法人或者其他组织享有,该法人或者其他组织可以对开发软件的自然人进行奖励: (一)针对本职工作中明确指定的开发目标所开发的软件; (二)开发的软件是从事本职工作活动所预见的结果或者自然的结果; (三)主要使用了法人或者其他组织的资金、专用设备、未公开的专门信息等物质技术条件所开发并由法人或者其他组织承担责任的软件。 根据《计算机软件保护条例》规定,可以得出这样的结论,当公民作为某单位的职工时,如果其开发的软件属于执行本职工作的结果,该软件著作权应当归单位享有。而单位可以给予开发软件的职工奖励。需要注意的是,奖励软件开发者并不是单位的一种法定义务,软件开发者不可援引《计算机软件保护条例》强迫单位对自己进行奖励。 王某作为公司的职员,完成的某一综合信息管理系统软件是针对其本职工作中明确指定的开发目标而开发的软件。该软件应为职务作品,并属于特殊职务作品。公司对该软件享有除署名权外的软件著作权的其他权利,而王某只享有署名权。王某持有该软件源程序不归还公司的行为,妨碍了公司正常行使软件著作权,构成对公司软件著作权的侵犯,应承担停止侵权责任,即交还软件源程序。 某高校欲构建财务系统,使得用户可通过校园网访问该系统。根据需求,公司给出如下2套方案。 方案一: 1)出口设备采用一台配置防火墙板卡的核心交换机,并且使用防火墙策略将需要对校园网做应用的服务器进行地址映射; 2)采用4台高性能服务器实现整体架构,其中3台作为财务应用服务器、1台作为数据备份管理服务器; 3)通过备份管理软件的备份策略将3台财务应用服务器的数据进行定期备份。 方案二: 1)出口设备采用1台配置防火墙板卡的核心交换机,并且使用防火墙策略将需要对校园网做应用的服务器进行地址映射; 2)采用2台高性能服务器实现整体架构,服务器采用虚拟化技术,建多个虚拟机满足财务系统业务需求。当一台服务器出现物理故障时将业务迁移到另外一台物理服务器上。 与方案一相比,方案二的优点是(67)。方案二还有一些缺点,下列不属于其缺点的是(68)。 (67)A.网络的安全性得到保障 B.数据的安全性得到保障 C.业务的连续性得到保障 D.业务的可用性得到保障 (68)A.缺少企业级磁盘阵列,不能将数据进行统一的存储与管理 B.缺少网闸,不能实现财务系统与Internet的物理隔离 C.缺少安全审计,不便于相关行为的记录、存储与分析 D.缺少内部财务用户接口,不便于快速管理与维护【答案】C B 【解析】本题考查网络规划与设计案例。 与方案一相比,方案二服务器采用虚拟化技术,当一台服务器出现物理故障时将业务迁移到另外一台物理服务器上,保障了业务的连续性。网络的安全性、数据的安全性、业务的可用性都没有发生实质性变化。 当然方案二还有一些缺陷,首先缺少将数据进行统一的存储与管理的企业级磁盘阵列;其次缺少安全审计,不便于相关行为的记录、存储与分析;而且缺少内部财务用户接口,不便于快速管理与维护。但是如果加网闸,就不能实现对财务系统的访问。不能实现用户可通过校园网对财务系统的访问。 甲、乙、丙、丁4人加工A、B、C、D四种工件所需工时如下表所示。指派每人加工一种工件,四人加工四种工件其总工时最短的最优方案中,工件B应由(69)加工。 (69)A.甲 B.乙 C.丙 D.丁【答案】D 【解析】本题考查数学(运筹学)应用的能力。 本题属于指派问题:要求在4×4矩阵中找出四个元素,分别位于不同行,不同列,使其和达到最小值。 显然,任一行(或列)各元素都减(或加)一常数后,并不会影响最优解的位置,只是目标值(指派方案的各项总和)也减(或加)了这一常数。 我们可以利用这一性质使矩阵更多的元素变成0,其他元素保持正,以利于求解。 【答案】C 【解析】本题考查数学(概率)应用的能力。 首先将路段上的拥堵率转换成畅通率如下图: 【答案】A C D C C 【解析】 架构设计的目标是确定应用软件的哪些部分将被分配到何种硬件。识别出正在开发系统的主要软件构件并分配到系统将要运行的硬件构件。所有软件系统可分为四项基本功能。第一项是数据存储。大多数信息系统需要数据进行存储并检索,无论是一个小文件,比如一个字处理器产生的一个备忘录,还是一个大型数据库,比如存储一个企业会 计记录的数据库。第二项功能是数据访问逻辑,处理过程需要访问数据,这通常是指用SQL进行数据库查询。第三项功能是应用程序逻辑,这些逻辑通过数据流图,月例和功能需求来记录。第四项功能是表示逻辑,给用户显示信息并接收用户命令。一个系统的三类主要硬件构件是客户机、服务器和网络。 考试科目二:案例分析 试题一 【说明】 某软件公司拟为某市级公安机关开发一套特种车辆管理与监控系统,以提高特种车辆管理的效率和准确性。在系统需求分析与架构设计阶段,用户提出的部分需求和关键质量属性场景如下: (a)系统用户分为管理员、分管领导和普通民警等三类; (b)正常负载情况下,系统必须在0.5秒内对用户的车辆查询请求进行响应; (c)系统能够抵御99.999%的黑客攻击; (d)系统的用户名必须以字母开头,长度不少于5个字符; (e)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计; (f)网络失效后,系统需要在2分钟内发现并启用备用网络系统; (g)在系统升级时,需要保证在1个月内添加一个新的消息处理中间件; (h)查询过程中涉及到的车辆实时视频传输必须保证20帧/秒的速率,且画面具有600*480的分辨率; (i)更改系统加密的级别将对安全性和性能产生影响; (j)系统主站点断电后,需要在3秒内将请求重定向到备用站点; (k)假设每秒中用户查询请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的查询请求”这一要求是可以实现的; (l)对用户信息数据的授权访问必须保证99.999%的安全性; (m)目前对“车辆信息实时监控”业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性; (n)更改系统的Web界面接口必须在1周内完成; (o)系统需要提供远程调试接口,并支持系统的远程调试。 在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。【问题1】 在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图1-1中(1)、(2)空白处;并选择题干描述中的(a)~(o),将恰当的序号填入(3)~(6)空白处,完成该系统的效用树。 【问题2】 在架构评估过程中;需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干描述中的(a)~(o)各选出1个属于系统架构风险、敏感点和权衡点的描述。 系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。 敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。题干描述中,(m)描述的是系统架构风险;(e)描述的是敏感点;(i)描述的是权衡点。 系统的架构风险、敏感点和权衡点是对质量属性效用树进行分析的主要依据,根据相关概念,题干中“对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计”描述的是敏感点;“目前对‘车辆信息实时监控’业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性”描述的是系统的架构风险;“更改系统加密的级别将对安全性和性能产生影响”描述的是权衡点。 试题二 【说明】 某公司拟研制一款高空监视无人直升机,该无人机采用遥控一自主复合型控制实现垂直升降。该直升机飞行控制系统由机上部分和地面部分组成,机上部分主要包括无线电传输设备、飞控计算机、导航设备等,地面部分包括遥控操纵设备、无线电传输设备以及地面综合控制计算机等。其主要工作原理是地面综合控制计算机负责发送相应指令,飞控计算机按照预定程序实现相应功能。经过需求分析,对该无人直升机控制系统纵向控制基本功能整理如下: (a)飞控计算机加电后,应完成系统初始化,飞机进入准备起飞状态; (b)在准备起飞状态中等待地面综合控制计算机发送起飞指令,飞控计算机接收到起飞指令后,进入垂直起飞状态; (c)垂直起飞过程中如果飞控计算机发现飞机飞行异常,飞行控制系统应转入无线电遥控飞行状态,地面综合控制计算机发送遥控指令; (d)垂直起飞达到预定起飞高度后,飞机应进入高度保持状态; (e)飞控计算机在收到地面综合控制计算机发送的目标高度后,飞机应进入垂直升降状态,接近目标高度;垂直升降过程中出现飞机飞行异常,控制系统应转入无线电遥控飞行; (f)飞机到达目标高度后,应进入高度保持状态,完成相应的任务; (g)飞机在接到地面综合控制计算机发送的任务执行结束指令后,进入飞机降落状态; (h)飞机降落过程中如果出现飞机飞行异常,控制系统应转入无线电遥控飞行; (i)飞机降落到指定着陆高度后,进入飞机着陆状态,应按照预定着陆算法,进行着陆; (j)无线电遥控飞行中,地面综合控制计算机发送着陆指令,飞机进入着陆状态,应按照预定着陆算法,进行着陆。【问题1】 状态图和活动图是软件系统设计建模中常用的两种手段,请用200字以内文字简要说明状态图和活动图的含义及其区别。 状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。 活动图可以用于描述系统的工作流程和并发行为。活动图其实可看作状态图的特殊形式,活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的转移可能需要事件的触发)。 两者最大的区别是:状态图侧重于描述行为的结果,而活动图侧重描述行为的动作。其次活动图可描述并发行为,而状态图不能。 【问题2】 根据题干中描述的基本功能需求,架构师王工通过对需求的分析和总结给出了无人直升机控制系统纵向控制状态图(图2-1)。请根据题干描述,提炼出相应状态及条件,并完善图2-1所示状态图中的(1)~(5),将答案填写在答题纸中。 本问题考查系统建模中状态图的设计与应用。考生应该在熟记基本概念的基础上结合实际问题灵活掌握并应用这些概念。 在解答本题时,首先需要对题目中描述的基本功能需求(a)〜(j)进行分析与梳理,确定系统控制中的所有状态以及状态间的转换条件,再结合问题2中己经给出的状态,完成其余状态及条件的设计。 【问题3】 根据题目中描述的基本功能需求,架构师王工给出了无人直升机控制系统纵向控制的顶层活动图(图2-2)。请根据题干描述,完善图2-2活动图的(1)-(9),将答案填写在答题纸中。 (1) 地面综合控制计算机 (2) 下传起飞就绪信息 (3) 垂直起飞 (4) 高度保持 (5) 发送目标高度 (6) 垂直升降 (7) 发送任务结束指令 (8) 飞机降落 (9) 无线电遥控飞行 本问题考查系统建模中活动图的设计与应用。考生应该掌握泳道活动图的概念并且学会应用。泳道活动图,是将一个活动图中的活动状态进行分组,每一组表示一个特定的类或者对象,它们负责完成组内的活动。每个活动都明确属于一个泳道,不可以跨越泳道,而转移则可以跨越泳道。 在解答本题时,首先需要对题目中描述的基本功能需求进行分析与梳理,确定题目中存在哪些硬件设备与飞控计算机进行交互,以及设备间的交互关系,再结合问题3中己经给出的活动,完成其余活动及设备的设计。 试题三 某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。公司领导非常重视软件可靠性工作,决定抽调王工程师等5人组建可靠性研究团队,专门研究提高本公司宇航装备的系统可靠性和软件可靠性问题,并要求在三个月内,给出本公司在系统和软件设计方面如何考虑可靠性设计的方法和规范。可靠性研究团队很快拿出了系统及硬件的可靠性提高方案,但对于软件可靠性问题始终没有研究出一种普遍认同的方法。【问题1】 请用200字以内文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术? 系统可靠性定义:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。 根据国家标准《软件工程产品质量第1部分:质量模型》(GB/T16260.1—2006)的规定,系统可靠性包括:成熟性、容错性、易恢复性和可靠性的依从性4个子特性。 提高系统可靠性一般采用以下4类技术: (1) 冗余技术; (2) 软件容错技术; (3) 双机容错技术; (4) 集群技术。 本题主要考查考生对软件可靠性设计知识的掌握程度。本题首先系统可靠性定义,并了解考生是否分辨出系统可靠性的4个主要子特性;其次,考查对软件可靠性与硬件可靠性的差别,了解软件可靠性的主要特征;最后,通过填空回答宇航设备中飞行控制系统中为提高可靠性所采用的恢复块方法的具体设计实现。此类题目要求考生认真阅读题目对问题的描述,通过自己对软件可靠性和嵌入式系统的知识掌握程度,采用总结、概括和分析等的方式,可从问题描述中发现问题的相关性,正确回答问题。 可靠性的定义在不同书籍中给出解释各不相同,但是,比较公认的定义是:系统可靠性是指系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。通常系统可靠性可分为硬件可靠性和软件可靠性,软件可靠性是近年来国内外研究的重点。 国家标准《软件工程产品质量第1部分:质量模型》(GB/T16260.1—2006)中给出了系统可靠性的4个主要子特性: 成熟性:成熟性是指系统避免因错误的发生而导致失效的能力; 容错性:容错性是指在系统发生故障或违反指定接口的情况下,系统维持规定的性能级别的能力; 易恢复性:易恢复性是指系统发生失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力; 依从性:可靠性的依从性是指系统依附于与可靠性相关的标准、约定或规定的能力。 通常,提高系统可靠性采用冗余技术、软件容错技术、双机容错技术和集群技术等4类技术。 【问题2】 王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非祓修改,否则软件系统不会随着时间的推移而发生退化。请根据你对软件可靠性的理解,给出表3-1所列出的硬件可靠性特征对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。 表3-1硬件和软件可靠性对比 本问题主要要求考生在理解软件的特殊性基础上,深刻认识软件可靠性一般是致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非被修改,否则软件系统不会随着时间的推移而发生退化。在掌握这一特征的基础上,可以回答硬件可靠性特征与其对应的软件可靠性特征之间的差异或相似之处。 (1) 从硬件角度分析,由于硬件一旦生产完成,其可靠性指标将会随着使用时间延长而逐步老化,从而带来可靠性降低,即呈现失效率服从浴缸曲线;而软件不存在随时间延长而老化的现象,因此,在不考虑软件演化的情况下,失效率在统计上是非增的。 (2) 由于硬件是由多种电子器件组成,即使不使用,材料劣化也会导致失效;而软件就不同了,软件一旦调试完成,固化到设备中,在不考虑存储介质的老化因素的前提下,即使不使用该软件,软件也永远不会发生失效。 (3) 由于硬件存在可更换性,其硬件通过维修,可恢复原始状态;而对于软件而言,一旦需要维护,必然是存在需求更改、程序存在bug等现象,其维护必然会创建新的软件代码。 (4) 一般而言,硬件失效存在一个发展过程,在发生故障之前必然会有报警现象出现,而软件失效之前很少会有警告。 【问题3】 王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统内完成输入数据的交叉对比、表决‘制导率计算,输出数据的交叉对比、表决、一输出等功能,系统的监控模块实现对系统失效或失步的检测与宠位。其软件的可靠性设计包括恢复块方法和N版本程序设计方法。请根据恢复块方法工作原理完成图3-1,在(1)~(4)中填入恰当的内容。并比较恢复块方法与N版本程序设计方法,将比较结果(5)~(8)填入表3-2中。 软件的可靠性设计主要包括了恢复块和N版本程序设计两种方法,如果考生对这两种方法有所了解,则可很容易地进行判断。 恢复块方法是一种反向恢复的方法,其核心原理是:对于可靠性要求高的软件,在程序运行的某时刻,将数据或程序进行备份,一旦发现主程序块有异常发生时,可将已备份的数据或程序进行恢复,保证程序的正确性。基于这样的原理,显然(1)空处是主块,而(2)空处将是对正确性进行检验测试判断,一旦判断正确,(3)空处将是“输出正确结果”,以此类推,显然(4)空处是进入“异常处理”了。 如果考生能够答对第一问,说明考生已掌握恢复块与N版本两种方法,那么,填写第二问的空应该没问题的。在表3-2已经给出了两种方法适应的硬件环境,也就是说:恢复块方法的使用必然是单机环境,而N版本方法必然要使用多机环境。理解了环境需求,那么多机余度工作方式,必然采用“表决”((5)空)方式进行容错;同时不难分析出N版本的工作原理是向前恢复,恢复快则是反向恢复((6)空);由于恢复快方法是反复寻找正确的备份块,而N版本方法则是多个机器同时计算同样内容,表决完后即可给出正确结果,这样,恢复快方法相比N版本方法显然实时性差((7)空),而N版本方法显然好((8)空)于恢复快方法。 试题四 【说明】 某软件公司拟开发一套贸易综合管理系统,包括客户关系管理子系统和商品信息管理子系统两部分。客户关系管理子系统主要管理客户信息,并根据贸易业务需要频繁向客户发送相关的电子邮件、短信等提醒信息。商品信息管理子系统主要为客户提供商品信息在线查询功能,包括商品基本信息、实时库存与价格等。 在对系统进行数据架构设计时,公司项目组的架构师王工主张采用文件系统进行数据管理,原因是目前公司客户和商品数量不大,且系统功能较为简单,采用文件系统进行数据管理简单直观,开发周期短。架构师李工则建议采用关系数据库进行数据管理,原因在于公司目前正处在高速扩张期,虽然目前的客户和商品数量不大,但随着公司快速发展,需要管理的数据必然飞速膨胀,采用关系数据库作为数据存储层,系统的扩展性更强,并能够对未来可能增加的复杂业务提供有效支持。经过讨论,项目组初步采纳了李工的意见,决定采用关系数据库存储客户数据,并针对业务特征对系统性能进行优化。【问题1】 请从设计难度、数据冗余程度、数据架构、应用扩展性等4个方面对关系型数据库管理系统和文件系统两种数据存储方式进行比较,填写表4-1中(1)~(4)。 表4-1 关系型数据库管理系统和文件系统存储方式比较 本题考查文件系统、关系型数据库、内存型数据库的主要特点。 此类题目要求考生认真阅读题目对现实问题的描述,依据系统的核心业务需求的特点(数据模型、读写性能、存储容量、可靠性),正确选取不同的数据存储架构。并能够根据业务的具体情况分析影响数据库查询的主要原因。 影响数据存储方式的主要考虑因素包括:设计难度、数据冗余程度、数据架构、应用扩展性; 文件系统具有以下特点: •针对特定应用系统设计,难度较小; •数据冗余较大,可能在多个文件中复制相同的数据属性; •以应用系统为中心组织、管理数据; •符合特定应用系统要求的文件数据很难在不同的应用系统之间共享。 关系型数据库具有以下特点。 •数据结构需要符合关系模式,设计难度较大; •遵守数据库范式,数据冗余较少; •以数据库为中心组织、管理数据; •数据独立于应用系统,很容易在不同的应用系统之间共享数据。 【问题2】 对系统的核心业务需求进行认真分析后,公司的资深架构师张工提出一种内存数据库和关系数据库的混合存储架构,其核心思想是将需要频繁读写的数据存入内存数据库,而将相对固定不变的数据存入关系数据库。请首先分析比较内存数据库和关系数据库在数据模型、读写性能、存储容量、可靠性等方面的差异,填写表4-2中(1)~(4)的空白,并根据张工的思路指定各种业务数据的存储方式,填写表4-3中(5)~(9)中的空白。 内存数据库型数据库是将数据放在内存中直接操作的数据库,使用内存型数据库将极大地提高应用的性能,同时通过数据缓存、快速算法、并行操作等的改进,使内存型数据库相对于传统的关系型数据库数据处理性能提高10倍以上,同时内存型数据库的应用受到内存大小,数据恢复要求的限制。 关系型数据库和内存数据的主要特点如下: SQL语句设计时,影响查询效率的设计原则是: •查询时尽量不要返回不需要的行、列; •需要进行多表连接査询时,尽量使用连接查询,避免使用子查询结构; •尽量避免采用NOTIN、NOTEXIST、LIKE等使用全表查询的操作; •尽量避免使用DISTINCT关键字。 试题五 【说明】 某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。 为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级Java EE开发框架设计系统应用架构。在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括: (1)项目开发采用MySQL数据库存储数据,一但将来可能移植到其它数据库平台; (2)系统开发过程中尽可能降低或者消除SQL语句开发的工作量; (3)投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。 项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小李则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。【问题1】 请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处? 数据持久层是根据分层思想,通过建立逻辑数据操作接口,采取一定的对象/关系映射策略,隐藏数据库访问代码细节,向业务开发人员提供透明的对象持久化操作机制。能够为项目开发带来的好处: (1)分离业务逻辑层和数据层,降低两者之间的耦合; (2) 通过对象/关系映射向业务逻辑提供面向对象的数据访问; (3) 简化数据层访问,隐藏数据库链接、数据读写命令和事务管理细节。 本题考查Web应用系统数据持久层设计相关知识。 此类题目要求考生了解轻量级JavaEE开发框架和常用的数据持久层技术,通过认真阅读题目对实际问题•的描述,能够根据在线投票系统架构设计中所考虑的因素,选择合适的数据持久层技术。主流的数据持久层技术按照其实现思路可以分为4类技术方案,包括基于数据库连接UDBC封装)、命令转换(SQL Mapping)、对象关系映射(0/RMapping)和数据持久化对象(Entity Bean),考生在实际应用中,不仅要掌握技术使用方法,更重要的是能够了解其基本原理,便于在实际应用架构设计中选择合适的技术。 本问题考查数据持久层的基本概念以及在实际应用中能够为项目开发带来的好处。数据持久层主要是根据分层思想,通过建立逻辑数据操作接口,采取一定的对象/关系映射策略,隐藏数据库访问代码细节,向业务开发人员提供透明的对象持久化操作机制。具体来说,数据持久层能够带来的好处能够在三层或者多层结构设计中分离业务逻辑层和数据层,解耦两者之间的直接关联;通过对象/关系映射,将面向业务逻辑的数据处埋全部以对象形式暴露,将对对象的操作自动转换为基于关系模式的数据库访问操作;在复杂的数据访问操作中,能够利用数据持久层简化数据层的访问,隐藏数据库链接、数据读写命令和事务管理细节,有效提升系统开发效率。 【问题2】 针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因。 项目组应该采用Hibernate框架。 原因: (1) Hibernate支持多种不同类型数据库,满足项目组数据库移植需求; (2) Hibernate相对于iBatis减少了SQL语句开发的工作量; (3) iBatis生成的P0是扁平化的,无法像Hibernate—样支持对象的继承和聚合等立体化关系。 本问题考查考生对Hibernate和iBatis这两种持久层技术的掌握情况。Hibernate和iBatis是轻量级hvaEE框架中两种数据持久层技术,两者都是优秀的开源项目。iBatis相对简单易学而且更灵活,但开发工作量较大,数据之间是关联关系;Hibernate框架相对复杂,所生成的持久化对象能够表达面向对象中的继承和聚合等关系,开发工作量较小,Hibernate使用更广泛更成熟,能够适应目前所有主流的关系型数据库。根据题目中所描述的考虑因素,系统需要满足数据库的可移植性、开发过程简单、支持对象间的复杂关系等需求,所以选择Hibernate作为数据持久层技术更为合适。 【问题3】 数据持久层是Web应用系统框架中重要的组成部分,主流的数据持久层技术分别基于不同的技术方案,请在表5-1中(1)-(4)处分别根据(a)~(d)所列技术的方案类别填入其序号。 表5-1 数据持久层技术分类 (1) (c) (2) (b) (3) (d) (4) (a) 本问题考查考生对数据持久层基本原理和技术方案的掌握情况。SpringJdbcTemplate通过封装JDBC操作接口实现数据库访问操作,fflatis/MyBatis是通过SQL映射将数据操作请求转换为数据库的SQL操作,Hibernate、JDO和TopLink等技术都采用了对象关系映射的思想,j2EE中的BMP和CMP及EJB3.0都是利用实体Bean对象完成数据访问操作。 考试科目三:论文 试题一 论应用服务器基础软件 应用服务器是在当今基于互联网的企业级应用迅速发展,电子商务应用出现并快速膨胀的需求下产生的一种新技术。在分布式、多层结构及基于组件和服务器端程序设计的企业级应用开发中,应用服务器提供的是一个开发、部署、运行和管理、维护的平台,提供软件“集群”功能,可以让多个不同的异构服务器协同工作、相互备份,以满足企业级应用所需要的高可用性、高性能、高可靠性和可伸缩性等实际需求。应用服务器技术的出现,能够加快应用的开发速度,减少应用的开发量。通过隔离底层细节,便于商业逻辑的实现与扩展,同时也为企业应用提供现成的、稳定的、灵活的、成熟的基础架构。 请以“应用服务器基础软件”为题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.论述并分析应用服务器在软件设计、开发、部署、运行和管理阶段,应该提供哪些核心功能? 3.详细说明你所参与的软件系统开发项目,采用了哪种应用服务器,在软件开发、部署和运行阶段,具体实施效果如何。写作要点: 一、简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、论述和分析应用服务器应该具备的核心功能。 应用服务器是应用设计、开发、部署、运行、管理、维护的平台。应用服务器既是应用开发的平台,包括表示层、应用层和数据层的设计模式和编程环境;同时又是多层结构应用的部署、运行平台,对多层结构应用进行配置、启动、监控、调整,并在开发的不同阶段提供不同的功能。 1. 设计阶段,应用服务器完成底层通信、服务,并屏蔽掉复杂的底层技术细节,向用户提供结构简单、功能完善的编程接口,让用户可以专心于商务逻辑的设计。 2. 开发阶段,应用服务器提供了完全开放的编程语言和应用接口,同时也提供快速开发的工具和手段,帮助用户提高开发效率。 3. 部署阶段,应用服务器提供了对多种网络环境的支持,帮助用户在复杂的网络环境中配置系统参数,发挥系统最大性能。 4. 运行阶段,应用服务器基于开发技术标准,提供了系统的运行环境,提供了系统的名字解析、路由选择、负载平衡、事务控制等服务,并提供系统容错、修赏、迁移、升级扩展等功能。 5. 管理阶段,应用服务器提供图形化界面来管理整个系统的资源,而且系统在运行期间也能动态监控和管理。 三、针对作者实际参与的软件系统开发项目,说明所采用的应用服务器,并描述该应用服务器在开发、部署和运行阶段的实际应用效果。 试题二 论软件系统架构风格 系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式.架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。 请以“软件系统架构风格”论题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.分析软件系统开发中常用的软件系统架构风格有哪些?详细阐述每种风格的具体含义。 3.详细说明在你所参与的软件系统开发项目中,采用了哪种软件系统架构风格,具体实施效果如何。写作要点: 一、简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、分析在软件系统开发中常用的软件系统架构风格,详细阐述每种风格的具体含义。 软件系统开发中常用的软件系统架构风格主要包括: 1.管道和过滤器风格 在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。此风格特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序。 2. 数据抽象和面向对象风格 抽象数据类型概念对软件系统有着重要作用,目前软件界已普遍转向使用面向对象系统。这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。 3. 基于事件的隐式调用风格 基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。 4. 层次系统风格 层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现t由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。 5. 仓库风格 在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行,仓库与构件间的相互作用在系统中会有大的变化。控制原则的选取产生两个主要的子类。若输入流中某类时间触发进程执行的选择,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。 6. C2风格 C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构件网络。C2风格中的系统组织规则如下:系统中的构件和连接件都有一个顶部和一个底部;构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;一个连接件可以和任意数目的其他构件和连接件连接;当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。 三、针对作者实际参与的软件系统开发项目,说明所采用的软件架构风格,并描述该架构风格所产生的实际应用效果。 试题三 论面向服务的架构及其应用 面向服务的架构(Service-Oriented Architecture,SOA)是一种组件模型,把应用程序中的不同功能单元(即服务)通过这些服务之间定义良好的接口和契约联系起来,使得这些系统中的服务能够以-种统一和通用的方式进行交互。从应用角度看,SOA是一种应用框架,它关注企业日常的业务应用,将其划分为单独的业务功能和流程,并抽象为服务,用户和系统开发人员可以构建、部署和整合这些服务,无需依赖特定的应用程序及应用平台,从而提高企业业务流程的灵活性。SOA有助于实现更多的信息资产重用、更轻松地管理和更快地应用开发与部署。 请以“面向服务的架构及其应用”为题,依次从以下三个方面进行论述: 1.概要叙述你参与实施的、基于面向服务架构的软件开发项目以及所担任的主要工作。 2.指出SOA技术参考架构中都包含哪些服务类别,并对每类服务的定义和作用进行简要说明。 3.详细阐述你的项目是如何以面向服务的架构为指导进行实施的,在实施过程中遇到了哪些问题,是如何解决的。写作要点: 一、论文中要具体介绍组织的业务背景、组织结构、现有应用系统的分布、采用的技术等内容和担任的实际工作。 二、SOA技术参考架构主要描述SOA基础技术平台与辅助工具,同时描述这两部分与其他外围相关元素之间的关系。SOA技术参考架构将服务分为6类,具体描述如下: 1. 连接服务 连接服务又称连通服务,是面向服务架构的骨干,在完成服务的接入,服务间的通信和交互基础上,还提供安全性、可靠性、高性能的服务能力保障。连接服务的一个典型实现就是企业服务总线(Enterprise Service Bus,ESB)。 2. 协作服务 协作服务通常由通信代理和Web服务代理两部分组成。通信代理与连通服务中的通信代理实现内部有效的数据通信,Web服务代理与外部的公共注册中心交互,注册本平台对外开放的Web服务以及查找所需要访问的外部Web服务。协作服务既可以实现组织之间(如供应链的合作伙伴之间)的交互通信,也可以实现组织内部(如跨地域的分支机构之间,并有防火墙进行保护的情况)之间的交互通信。 3. 业务服务 业务服务指为新建服务提供的特定运行支持环境。新建服务包括单个服务以及合成服务,不包括流程化的服务。合成服务一般由应用编码实现,它可以调用其他的服务(包括:单个服务、合成服务和流程化的服务)。业务服务与连通服务相联接,其中的新建服务与其他服务的通信和交互通过连通服务来实现。业务服务的运行信息由运行管理服务保存,业务服务也接受并执行运行管理服务的管理和控制命令。 4. 业务流程服务 流程服务是业务流程的运行环境,提供流程驱动、服务调用、事务管理等功能。流程服务是为业务流程的运行提供的一组标准服务。业务流程是一组服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组成,其本身也可视为服务。 5. 交互服务 交互服务实现人与服务之间的交互功能。人可以是服务的消费者,也可以是服务的提供者。人不能直接消费服务,也不能直接提供服务,需要通过相应的程序实现代理操作(即人通过操作程序实现与服务的交互)。交互服务就是需要提供一组完整的功能,以实现人与服务的交互,并能够方便地进行交互。人员需要请求服务时,向连通服务发送消息请求,由连通服务查找服务,并将请求消息传递给服务提供者。 6. 信息服务 信息服务特指为上层应用系统、同层的其他服务等提供数据访问及资源访问服务。其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中的各种分布、异构的数据资源,为实现全局数据访问、加快应用开发、增强网络应用和方便系统管理提供支持。 三、考生需要详细描述所参与的项目是如何以面向服务的架构为指导思想进行实施的,包括如何发现服务、如何对服务进行分类等。可能存在的问题包括如何进行服务规约,包括候选服务的分类与选择,服务编排,服务库的设计等;如何实现服务,包括将服务的实现分配到相应的服务构件中,并决定服务的实现方式。 试题四 论企业集成平台的技术与应用 企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境。它基于各种企业经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持企业信息环境下各特定领域的应用系统的集成。企业集成平台的核心是企业集成架构,包括信息、过程、应用集成的架构。请以“企业集成平台的技术与应用力”为题,依次从以下三个方面进行论述: 1.概要叙述你参与管理和开发的企业集成平台相关的软件项目以及你在其中所担任的主要工作。 2.简要说明企业集成平台昀基本功能及企业集成的关键技术,并结合项目实际情况,阐述该项目所选择的关键技术及其原因。 3.结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成架构设计技术的具体实施方式及过程,并详细分析其实现效果。 写作要点: 一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、企业集成平台的基本功能有: 1. 通信服务 提供分布环境下透明的同步/异步通信服务功能,使用户和应用程序无须关心具体的操作系统和应用程序所处的网络物理位置,而以透明的函数调用或对象服务方式完成它们所需的通信服务要求。 2. 信息集成服务 为应用提供透明的信息访问服务,通过实现异种数据库系统之间数据的交换、互操作、分布数据管理和共享信息模型定义(或共享信息数据库的建立),使集成平台上运行的应用、服务或用户端能够以一致的语义和接口实现对数据(数据库、数据文件、应用交互信息)的访问与控制。 3. 应用集成服务 通过高层应用编程接口来实现对相应应用程序的访问,这些高层应用编程接口包含在不同的适配器或代理中,被用来连接不同的应用程序。这些接口以函数或对象服务的方式向平台的组件模型提供信息,使用户在无需对原有系统进行修改(不会影响原有系统的功能)的情况下,只要在原有系统的基础上加上相应的访问接口就可以将现宵的、用不同的技术实现的系统互联起来,通过为应用提供数据交换和访问操作,使各种不同的系统能够相互协作。 4. 二次开发工具 是集成平台提供的一组帮助用户开发特定应用程序(如实现数据转换的适配器或应用封装服务等)的支持工具,其目的是简化用户在企业集成平台实施过程中(特定应用程序接口)的开发工作。 5. 平台运行管理工具 是企业集成平台的运行管理和控制模块,负责企业集成平台系统的静态和动态配置、集成平台应用运行管理和维护、事件管理和出错管理等。通过命名服务、目录服务、平台的动态静态配置,以及其中的关键数据的定期备份等功能来维护整个服务平台的系统配置及稳定运行。 企业集成的关键技术: 1.数据交换格式 企业业务数据可以分为结构化数据(表单)和非结构化数据(文档),它们一般存储在不同数据库或文档管理系统中。企业数据集成中常用的几种数据交换格式如下。 (1) EDI(电子数据交换)。EDI格式处理的目的是将在功效上与纸介质文件等同的电子表单用统一的(或标准的)的格式进行表示,以保证各个独立开发的计算机应用之间能够实现表单数据共享与集成。 (2) XML。XML是W3C制定的一个面向各类信息的数据存储工具盒可配置载体的开放式标准,其目的是为了更好地使用Web应用的需求,解决HTML在表达能力、可扩展性和交互性等方面的缺陷。 (3) STEP。STEP标准是一个描述如何表达和交换数字化产品信息的ISO标准,其目的是提供一种不依赖于具体系统的中性模型和机制,并将其用来描述整个生命周期内的产品数据。 (4) PDML。PDML的技术目标是提供一种灵活的方法,使得不同应用软件系统中的产品数据能够进行交换。它是在STEP和XML基础上实现不同系统间产品数据交换和集成的一种新模式。 2.分布式应用集成基础框架 比较有影响的主要有: (1) CORBA。CORBA是对象管理组织(OMG)为解决分布式处理环境中硬件和软件系统的互连而提出的一种标准的面向对象应用程序体系规范。 (2) COM+。 (3) JavaEE0 (4) WebService。 (对于实际采用的关键技术,应结合项目实际情况,说明选择这种/这些技术的原因) 三、考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目是如何应用所选择的关键技术进行企业集成架构的设计与实现的,说明具体的实施过程、方式方法和工具,并对实现效果进行分析。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |