试题一 软件架构(质量属性效用树、架构风险、敏感点、权衡点)
【问题2】(13分)
在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的隹义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。
系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。
权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
题干描述中,(k)描述的是系统架构风险;(c)描述的是敏感点;(g)描述的是权衡点。
试题二 数据库(反规范化技术优缺点、具体技术)
规范化设计后,数据库设计者希望牺牲部分规范化来提高性能,这种从规范化设计的回退方法叫做反规范化技术。反规范化设计允许保留或者新增一些冗余数据,从而减少数据查询中表连接的数目或简化计算过程,提高数据访问效率。
采用反规范化技术的益处:能够减少数据库查询时SQL连接的数目,从而减少磁盘I/O数据量,提高查询效率。
可能带来的问题:数据的重复存储,浪费了磁盘空间;为了保障数据的一致性,增加了数据维护的复杂性。
【问题2】(8分)
请简要叙述常见的反规范化技术有哪些。
常见的反规范化技术包括:
(1) 增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作;
(2) 增加派生列:在表中增加可以由本表或其他表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数;
(3) 表水平分割:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用;
(4) 表垂直分割:对表进行分割,将主键与部分列放到一个表中,主键与其他列放到另一个表中,在查询时减少I/O次数。
【问题3】(8分)
请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。
在教职工信息管理系统的需求中:
(1) 能够根据编制内或外聘教职工的工资编号分别查询其相关信息;
(2) 数据查询要求有很高的处理效率。
李工所设计的数据模型中采用了三种反规范化技术:
(1) 增加冗余列:增加“部门名称”列,消除了数据查询中“教职工信息”表和“部门信息”表之间的连接;
(2) 增加派生列:增加“实发工资”列,消除了实发工资的计算过程;
(3) 表水平分割:将教职工信息表分割为“编制内教职工信息”表和“外聘教职工信息”表,减少了数据查询的范围。
试题三 嵌入式(VME和FC 技术特点、ARINC653 标准、内核隔离保护)
1. VME总线采用存储映射方式,多主仲裁机制,同一时刻由单一主机控制,同时仲裁机制为菊花链方式。
针对本系统要求,采用VME方案存在如下问题:
a) 当多主机设备仲裁时,按菊花链的连接次序一个主机处理完成后,才能将控制权交给另一主机控制总线,导致任务执行延时大,不能满足“系统通讯延迟小”以及“支 持多模块上的应用任务同步”的要求;
b) 与FC相比,VME总线实时性差,带宽低;
c) VME总线方式限制了可扩展性。
2. FC采用消息包交换机制,支持广播和组播。
针对本系统要求,采用FC方案有以下优点:
a) 由于釆用消息包交换机制,支持广播和组播,任务执行并发性好,能满足“系统通讯延迟小”以及“支持多模块上的应用任务同步”的要求。
b) 与VME比较,FC实时性好,带宽高;
c) FC的误码率低,所以可靠性高;
d) 允许在同一接口上传输多种不同的协议,对上层应用实现提供了便利;
e) FC采用消息机制,FC可扩展性好,如模块较多可采用多个FC网络交换模块级联;
f) 传输距离远,当与外部其他设备相连时,比较方便;
g) 系统采用统一的FC网络代替了VME底板总线,降低总线驱动的功耗,简化了底板。
【问题3】(6分)
为了实现满足ARINC653标准的操作系统的时空分区隔离机制,项目组选择了PowerPC作为数据处理模块的处理器(CPU)。这样,当一个分区出现故障时,不会蔓延到模块中同一处理器的其他分区。请用500字以内的文字,说明如何采用PowerPC实现应用与内核以及诸应用之间的隔离和保护。
采用PowerPC实现系统隔离和保护的两种机制是:
第一种是内存管理机制(MMU)» MMU能够实现逻辑地址到物理地址的转化,并且对访问权进行控制,既可以保护系统内核不受应用软件有意或无意的破坏,也可有效防止各软件之间的互相破坏。
第二种是TRAP系统调用机制。操作系统为实现对内核以及应用之间的保护,提供了用户态和系统态两种运行形态。操作系统内核在系统态运行,因此用户态的应用不能直接调用系统内核提供的功能接口,必须通过TRAP系统调用的方式进行。因此可以实现应用与内核之间的隔离与保护。
试题四 web应用(根据描述填表、数据建模、REST)
【问题2】(12分)
请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。
从数据获取方式看,王工的方案需要将现有的多个系统和异构的数据源包装为服务,采用Web服务暴露数据接口,客户端需要通过服务调用获取数据,这种方法工作量大,复杂度较高。李工的方案则绕开了复杂的功能封装,只需要明确数据的位置与标识, 通过特定的网络协议直接使用标识定位并获取数据,与王工的方案相比工作量小,实现简单。
从数据交互方式看,王工的方案采用远程过程调用和异步XML消息等模式实现数据交互,这种方式适合于系统之间功能调用时进行的少量数据传输,而在进行单纯的数据访问时效率不高,稳定性也较差。李工的方案则以数据资源为核心,在对数据资源进行标识的基础上,通过标识符直接对数据资源进行访问与交互,实现简单且效率较高。
从数据访问的上下文无关性看,王工的方案中数据访问是与上下文有关的,具体表现在每次客户端进行数据请求都需要附加唯一的请求标识,并且服务端需要区分不同的客户端请求,效率较低。李工的方案中数据访问是与上下文无关的,客户端通过全局唯一的统一资源标识符(URI)请求对应的数据资源,服务端不需要区分不同的客户端请求。
【问题3】(6分)
表现层状态转换(REST)是面向资源架构的核心思想,请用200字以内的文字解释什么是REST,并指出在REST中将哪三种关注点进行分离。
REST从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过URI获取资源的表现,并通过获得资源表现使得其状态发生改变。
REST中将资源、资源的表现和获取资源的动作三者进行分离。
试题五 信息安全(加密技术、授权访问、XACML)
【问题1】(8分)
请用400字以内的文字,分别针对采用对称加密策略与公钥加密策略,说明如何利用加密技术为在网络中传输的数据提供机密性与完整性保障。
对称加密策略:
机密性:发送者利用对称密钥对要发送的数据进行加密,只有拥有正确相同密钥的接收者才能将数据正确解密,从而提供机密性。
完整性:发送者根据要发送的数据生成消息认证码(或消息摘要),利用对称密钥对消息认证码进行加密并附加到数据上发送;接收者使用相同密钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据的完整性。
公钥加密策略:
机密性:发送者利用接收者的公钥对要发送的数据进行加密,只有拥有对应私钥的接收者才能将数据正确解密,从而提供机密性。
完整性:发送者根据要发送的数据生成消息认证码(或消息摘要),利用自己的私钥对消息认证码进行加密并附加到数据上发送;接收者利用对方的公钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据的完整性。
【问题2】(9分)
请用300字以内的文字,从授权的可管理性、细粒度访问控制的支持和对分布式环境的支持三个方面指出项目组采用王工方案的原因。
采用王工方案是因为基于角色的访问控制与XACML相结合的机制具有以下优势:
授权的可管理性:RBAC将用户与权限分离,相比MAC减小了授权管理的复杂性, 更适合于大型企业级系统的安全管理:
细粒度访问控制的支持:XACML提供了统一的访问控制策略描述语言,策略表达能力强,可用来描述各种复杂的和细粒度的访问控制安全需求,更适合企业复杂业务功能的访问控制要求;
分布式环境的支持:XACML的标准性便于各子系统的协作交互,各子系统或企业业务部门可以分布管理访问控制权限,而MAC则通常需要对访问控制权限集中管理, 不太适合企业基于SOA集成后的分布式系统。