201311架构下午真题
第 1 题
阅读以下关于企业应用系统集成架构设计的说明,在答题纸上回答问题1和问题2。
【说明】
某航空公司希望对构建于上世纪七、八十年代的主要业务系统进行改造与集成,提高企业的竞争力。由于集成过程非常复杂,公司决定首先以Ramp Coordination系统为例进行集成过程的探索与验证。
在航空业中,Ramp Coordination是指飞机从降落到起飞过程中所需要进行的各种业务活动的协调过程。通常每个航班都有一位员工负责Ramp Coordination,称之为Ramp Coordinator由Ramp Coordinator协调的业务活动包括检查机位环境、卸货和装货等。
由于航班类型、机型的不同,Ramp Coordination的流程有很大差异。图1-1 (a)所示的流程主要针对短期中转航班,这类航班在机场稍作停留后就起飞;图1-1(b)所示的流程主要针对到达航班,通常在机场过夜后第二天起飞;图1-1(c)所示的流程主要针对离港航班,这类航班是每天的第一班飞机。这三种类型的航班根据长途/短途、国内/国外等因素还可以进一步细分,每种细分航班类型的Ramp Coordination的流程也略有不同。
图1-1 Ramp Coordination业务流程为了完成上述业务,Ramp Coordination信息系统需要从乘务人员管理系统中提取航班乘务员的信息、从订票系统中提取乘客信息、从机务人员管理系统中提取机务人员信息、接收来自航班调度系统的航班到达事件。其中乘务人员管理系统和航班调度系统运行在大型主机系统中,机务人员管理系统运行在Unix操作系统之上,订票系统基于Java语言,具有Web界面,运行在Linux操作系统之上。
目前Ramp Coordination信息系统主要由人工完成所有协调工作,效率低且容易出错。
公司领导要求集成后的Ramp Coordination信息系统能够针对不同需求迅速开展业务流程,灵活、高效地完成协调任务。
针对上述要求,公司IT部门的架构师经过分析与讨论,最终采用面向服务的架构,以服务为中心进行Ramp Coordination信息系统的集成工作。
【问题1】(10分)
服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两个主要业务服务组件:
(1)Ramp Control:负责Ramp Coordination信息系统中相关各种业务活动的组件;
(2)Flight Management:负责航班相关信息的管理,包括航班日程,乘客信息等。针对上述服务模型,结合题干描述,请为每个业务服务组件提供的服务进行分析与整理,完成表1-1中的空白部分。
【问题2】(15分)
对Ramp Coordination信息系统的集成涉及到对乘务人员管理系统、航班调度系统、机务人员管理系统和订票系统的组织与协调,公司架构师决定采用企业服务总线(Enterprise Service Bus,ESB)技术进行系统集成,请用200字以内的文字对ESB的定义进行描述,给出ESB的五个主要功能,并针对题干描述,将恰当的内容填入图1-2中的(1)~(6)。
图1-2 系统集成框架图 **答案与解析** - 试题难度:较难 - 知识点:案例分析>软件架构风格与架构设计 - 试题答案:【问题1】
(1)检查机位环境、检查卸货、检查装货、检查关门
(2)接收航班信息
【问题2】
ESB是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。
ESB的主要功能:
(1)服务位置透明性;
(2)传输协议转换;
(3)消息格式转换;
(4)消息路由;
(5)消息增强;
(6)安全性;
(7)监控与管理。
- 试题解析:
本案例题的主题是企业应用系统集成,使用的技术主要是SOA中的ESB。所以要求考生对ESB有一定的熟悉程度。试题中问题2的前两问为概念题,在此不作分析,请直接参看答案。
问题1要求指出业务服务组件RampControl和Flight Management分别提供的服务名称。很多考生在看到这类问题时,都觉得自己没有做过面向服务架构设计中的服务设计,觉得题目难度已经超出自己的能力范围,而无法答题。其实不然,因为服务的划分,与传统开发中的功能模块划分一样,只是粒度大一些而已。只要认真看题,并分析系统提供了哪些功能,哪些功能归属于RampControl,哪些应归属于Flight Management,答案是很容易得出的。如题目“通常每个航班都有一位员工负责Ramp Coordination,称之为Ramp Coordinator由Ramp Coordinator协调的业务活动包括检查机位环境、卸货和装货等。”从此就可以看出Ramp Control提供的服务包括:机位环境查询服务、卸货检查服务、装货检查服务。从流程图可以看出此组件还应包括检查关门服务。这样,整个流程图中,只余下接收航班信息服务适合划分至Flight Management组件。
对于问题2中的填图问题,主要是通过题目中给出的信息,以及图中其他同类位置的信息来判断。如:图中中心模块连接了各个分支模块,每个分支模块结构相同,所以可从分支模块表达的信息看出,外框要填写的是“**系统”,而内框是“**信息”,依据这个规则,在题干中很容易得出答案。中心部分,自然就是连接件ESB了。
第 2 题
阅读以下关于某项目开发计划的说明,在答题纸上回答问题1至问题4。
【说明】
某软件公司拟开发一套电子商务系统,王工作为项目组负责人负责编制项目计划。由于该企业业务发展需要,CEO急于启动电子商务系统,要求王工尽快准备一份拟开发系统的时间和成本估算报告。
项目组经过讨论后,确定出与项目相关的任务如表2-1所示。其中,根据项目组开发经验,分别给出了正常工作及加班赶工两种情况下所需的时间和费用。
表2-1 项目开发任务进度及费用
【问题1】(7分)
请用400字以内文字说明王工拟编制的项目计划中应包括哪些内容。
【问题2】(8分)
请根据表2-1,分别给出正常工作和最短工期两种情况下完成此项目所需的时间和费用。
【问题3】(4分)
如果项目在系统调研阶段用了7天时间才完成,公司要求尽量控制成本,王工可在后续任务中采取什么措施来保证项目能按照正常工作进度完成?
【问题4】(6分)
如果企业CEO想在34天后系统上线,王工应该采取什么措施来满足这一要求?这种情况下完成项目所需的费用是多少?
答案与解析
- 试题难度:较难
- 知识点:案例分析>项目管理
- 试题答案:【问题1】
(1)项目背景
(2)项目经理、项目经理的主管领导、客户方联系人、客户方的主管领导,项目领导小组(项目管理团队)和项目实施小组人员
(3)项目的总体技术解决方案
(4)所选择的项目管理过程及执行水平
(5)对这些过程的工具、技术和输入输出的描述
(6)选择的项目的生命周期和相关的项目阶段
(7)项目最终目标和阶段性目标
(8)进度计划
(9)项目预算
(10)变更流程和变更控制委员会
(11)对于内容、范围和时间的关键管理评审,以便于确定悬留问题和未决决策
【问题2】
正常工作成本=74200元。
正常工作工期=41天。
最短工期成本=91600元。
最短工期=27天。
【问题3】
在“B提交项目计划”和“I安装部署”任务中采用加班工作措施,以使得能够按照正常工作进度完成。
【问题4】
标准时长41天的任务,要34天完成,应赶工7天。具体赶工的任务包括:将A、B、H、I四个任务加班完成,这样正好弥补之前延误的7天工期,最终以79700元完成项目。 - 试题解析:正常工作成本=7200元+1600元+9600元+22200元+5100元+8700元+6000元+9800元+4000元=74200元。
正常工作工期=4+2+6+12+6+7+4=41天。
最短工期成本=8400元+1900元+14200元+27600元+5700元+10000元+6000元+12800元+5000元=91600元。
最短工期=3+1+4+8+5+4+2=27天。
要缩短项目的工期,主要有两种方法:
赶工:对成本和进度进行权衡,确定如何尽量少增加费用的前提下最大限度地缩短项目所需要的时间,称为赶进度也称赶工。
快速跟进:调整逻辑关系,通过对各种逻辑关系并行确定来缩短项目周期。在进行项目设计中,当风险不大时,通过精心安排而使项目的前后阶段相互搭接以加快项目进展速度的做法叫快速跟进。
其中快速跟进由于只是将部分工作提前开始,所以不会明显增加成本,在当前的环境中,是比较合适的方法。
第 3 题
阅读以下有关嵌入式软件FMEA方法和相关案例的说明,在答题纸上回答问题1至问题3。
【说明】
故障(失效)模型影响分析FMEA是分析产品所有可能的故障模式及其可能产生的影响,并按每个故障模式产生影响的严重程度及其发生概率予以分类的一种归纳分析方法。近年来,FMEA方法已被广泛用于安全关键系统的嵌入式软件可靠性分析工作。
某软件公司承担了一项通信软件的开发项目。该项目由FC系统、DY系统和GD系统组成,而DY系统(TMS320C25S)软件负责按系统的通信协议完成与FC系统的通信,图3-1给出了该通信软件的约定层次图。公司高层将项目交给王工程师,王工认为此项目是安全关键系统,安全等级应为Ⅱ类(致命的),因此应开展软件的FMEA分析。
图3-1 某设备通信软件的约定层次图
【问题1】(8分)
请阅读以下有关FMEA的描述,将恰当的内容填入(1)~(7)。
FMEA是FMA(故障模式分析)和FEA(故障影响分析)的组合,它对系统各种可能的风险进行评价、分析后,在现有技术的基础上消除这些风险或将这些风险降低到可接受的水平。为达到最佳效益,FMEA必须在产品研制初期进行。
FMEA实际是一组系列化的活动,其主要活动包括:
(1)__;
(2)__;
(3)__。
由于产品故障可能与设计、制造过程、使用、承包商/供应商以及服务有关,因此FMEA又细分为(4)FMEA、(5)FMEA、(6)FMEA和(7)FMEA四类。
【问题2】(10分)
从图3-1可以看出,CSU01信模块是该项目的关键模块,主要功能定义为:总线通信控制器自动完成一帧数据的接收,存入数据缓冲区,并产生中断(INT0)通知CPU从数据缓冲区中读取数据;CPU读完数据后,将准备好的发送数据写至数据缓存区,写完后通知总线通信控制器自动完成一帧数据的发送。CRC校验由外部电路完成判别,其结果通过数据线上的相应位进行标识。针对CSU01通信模块,简要描述实施FMEA的具体内容,填写完成表3-1的(1)~(5)。
表3-1 CSU01通信模块FMEA步骤的主要内容
【问题3】(7分)
表3-2给出针对该项目的CSU01通信模块的软件故障(失效)模型影响分析FMECA表(局部),请根据此题描述情况填写表3-2中的(1)~(7)。
注:表3-2中的SRPN(软件风险优先数)=SESR(软件故障模式的严酷度等级)×SOPR(软件故障模式的发生概率等级)×SDDR(软件故障模式的被检测难度等级)。
表3-2 通信模块INT0-ISR的软件FMECA表(局部)
答案与解析
- 试题难度:较难
- 知识点:案例分析>嵌入式系统设计
- 试题答案:
【问题1】
(1)找出产品/过程中潜在的故障模式
(2)根据相应的评价体系对找出的潜在故障模式进行风险量化评估
(3)列出故障起因/机理,寻找预防或改进措施
(4)设计
(5)过程
(6)使用
(7)服务
【问题2】
(1)根据通信协议,可按接收数据功能和发送数据功能分别确定故障模式
(2)故障原因分为总线通信控制器原因、对方发送的原因和自身程序的原因
(3)针对每个故障模式分析其对本模块直至整个DY系统造成的影响
(4)采用风险优先数RPN方法进行该通信模块的危害性分析
(5)根据以上故障模式、原因、影响及危害性的分析结果,综合考虑故障的影响及SRPN值等情况,对每个故障模式制定了相应的改进措施。
【问题3】
(1)程序写0C300H地址单元不当
(2)无法响应INT0中断
(3)线路误码
(4)通信错误
(5)程序控制错误
(6)210
(7)数据发送始终不成功数据发送始终不成功 - 试题解析:
本题考查考生对软件故障(失效)模型影响分析(FMEA)方法的概念理解和技术掌握程度。FMEA是安全关键系统常用的一种失效分析方法,它可帮助系统设计者找出系统中的薄弱环节,通过预防措施的制定,可及早消除系统可能产生的失效点。
问题1主要考查考生对FMEA的理解程度。在做FMEA分析之前考生必须清楚三种主要活动,其一是分析系统或产品有可能存在故障模式,其二是对每一种故障模式开展风险评估(量化分析),其三对故障机理进行分析,制定出预防和改进措施。风险评估可采用多种方法,对软件而言,严酷度等级(SESR)、发生概率等级(SOPR)和被检测难度等级(SDDR)是评估的主要评价参数,这些等级通常以经验或专家评判方法获取。 考生应该清楚,FMEA方法可适用产品整个生命周期的各类活动,不同活动可采用不同的评估方法。通常存在四种FMEA:设计FMEA、过程FMEA、使用FMEA和服务FMEA。
根据图给出的实例,完成FMEA的分析,重点考查考生灵活使用理论方法对实际问题的分析能力。问题2给出了 CSU01通信模块的工作原理,考生可根据自己原先掌握的嵌入式数据采集的基本工作经验,回答出FMEA分析工作5个步骤中具体内容。回答的要点可以这样考虑:
(1)影响数据交换的主要失效原因不外乎发生在输入(接收)、输出(发送)操作上,因此可从这两方面入手;
(2)故障原因分析可将产生故障的点定位在三方面,即硬件控制器、发送方和自身缺陷;
(3)故障影响分析,按照FMEA的分层思想,根据题目中图的结构,影响范围可以包括对本软件模块(INT0-ISR)的影响、对上一层软件(DY软件)的影响和对最终DY系统的影响;
(4)危害分析和改进措施,软件FMEA通常采用风险优先数RPN方法分析,改进措施通常就是根据危害性分析结果和风险优先数等情况,逐一对故障模式制定改进措施。
如果清楚了问题1和问题2所给出一些分析概念的话,则回答问题3的问题就相对容易,只要有实践经验,可通过表中的相关信息正确判断出相应内容。这里要说明的是故障模式5由于其软件风险优先数(SRPN)很高(336),在设计时应重点关注。
第 4 题
阅读以下有关表现层设计方面的说明,在答题纸上回答问题1至问题3。
【说明】
某商业银行欲开发一套个人银行系统,为用户提供常见的金融服务,包括转账、查询、存款变更和个人信息管理等功能。该软件除了业务需求外,还有一些特殊的表现层需求:
(1)根据用户级别的不同,界面和可用功能是不同的;
(2)支持Web、Windows、手机App等多种不同类型的界面;
(3)考虑到将来功能的扩展,需要系统支持界面的定制以及动态生成等功能,以降低系统维护和新功能发布的成本。
经过对需求的讨论,该银行初步决定采用MVC模式设计该个人银行系统的表现层,采用XML作为GUI的描述语言,并应用XML的界面管理技术来实现灵活的界面配置、界面动态生成和界面定制。
【问题1】(9分)
MVC模式强制性地将一个应用处理流程按照模型、视图、控制的方式进行分离,三者的协作关系如图4-1所示。
图4-1 MVC设计模式
请填写图4-1中的(1)~(3),并简要说明在该个人银行系统中采用MVC模式对界面设计的作用。
【问题2】(4分)
请从设计模式的角度,简要说明设计方案采用XML作为GUI描述语言的机制。
【问题3】(12分)
基于XML的界面管理技术可实现灵活的界面配置、界面动态生成和界面定制,其思路是用XML生成配置文件及界面所需的元数据,按不同需求生成界面元素及软件界面,其技术框图如图4-2所示。
图4-2 基于XML的界面管理技术框架
请将恰当的内容填入图4-2中的(1)~(3),并简要解释说明其含义。
答案与解析
- 试题难度:较难
- 知识点:案例分析>软件架构风格与架构设计
- 试题答案:
【问题l】
(1)选择视图 (2)业务视图 (3)状态查询
MVC模式对该个人银行系统的作用:
(1)允许多种界面的扩展,视图的变更与增加,与模型无关;
(2)易于维护,控制器和视图随着模型的扩展而扩展,只要保持公共接口,控制器和视图的旧版本可以继续使用;
(3)可支持功能强大的用户界面。
【问题2】
从设计模式的角度来说,整个XML表现层解析的机制是一种策略模式。在调用显示GUI时,不是直接调用特定的表现技术的API,而是装载GUI对应的XML配置文件,然后根据特定的表现技术的解析器解析XML,得到GUI视图实例对象。这样,对于GUI开发人员来说,GUI视图只需要维护一套XML文件即可。
【问题3】
(1)界面定制模块
(2)界面动态生成模块
(3)界面配置模块
界面配置是对用户界面的静态定义,通过读取配置文件的初始值对界面配置。由界面配置对软件功能进行裁剪、重组和扩充,以实现特殊需求。
界面定制是对用户界面的动态修改过程,在软件运行过程中,用户可按需求和使用习惯,对界面元素(如菜单、工具栏、键盘命令)的属性(如文字、图标、大小、位置等)进行修改。软件运行结束,界面定制的结果被保存。
系统通过 DOM API 读取XML 配置文件的表示层信息(初始界面大小、位置等),通过数据存取类读取数据库中的数据层信息,运行时由界面元素动态生成界面。界面配置和定制模块在软件运行前后,修改配置文件,更改界面内容。 - 试题解析:
本题考查MVC模式以及XML技术的应用。
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
有了上面的介绍与图示,已经可以解决问题1了。
问题2与问题3属于概念性问题,具体情况请参看参考答案。
第 5 题
阅读以下有关软件与信息安全方面的说明,在答题纸上回答问题1至问题3。
【说明】
某软件公司拟开发一套信息安全支撑平台,为客户的局域网业务环境提供信息安全保护。该支撑平台的主要需求如下:
(1)为局域网业务环境提供用户身份鉴别与资源访问授权功能;
(2)为局域网环境中交换的网络数据提供加密保护;
(3)为服务器和终端机存储的敏感持久数据提供加密保护;
(4)保护的主要实体对象包括局域网内交换的网络数据包、文件服务器中的敏感数据文件、数据库服务器中的敏感关系数据和终端机用户存储的敏感数据文件:
(5)服务器中存储的敏感数据按安全管理员配置的权限访问;
(6)业务系统生成的单个敏感数据文件可能会达到数百兆的规模;
(7)终端机用户存储的敏感数据为用户私有;
(8)局域网业务环境的总用户数在100人以内。
答案与解析
- 试题难度:较难
- 知识点:案例分析>系统的安全性和保密性设计
- 试题答案:
【问题1】
(1)基于口令的认证方式实现简单,但由于口令复杂度及管理方面的原因,易受到认证攻击;而在基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相比更为安全。
(2)按照需求描述,在完成用户身份鉴别后,需依据用户身份进一步对业务数据进行安全保护,且受保护数据中包含用户私有的终端机数据文件,在基于口令的认证方式中,用户口令为用户和认证服务器共享,没有用户独有的直接秘密信息,而在基于公钥的认证方式中,可基于用户私钥对私有数据进行加密保护,实现更加简便。
(3)基于公钥体系的认证方式协议和计算更加复杂,因此其计算复杂度要高于基于口令的认证方式,但业务环境的总用户数据在100人以内,用户规模不大,运行环境又为局域网环境,因此基于公钥体系的认证方式可以满足平台效率要求。
【问题2】
应采用流加密方式。因为需求中提及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率。
数据加密与解密过程如下:
其加密过程为:首先生成一个对称密钥,使用用户公钥加密这个对称密钥后存储在文件头,然后用生成的对称密钥加密文件数据存储。
其解密过程为:用户首先使用自己的私钥解密被加密的对称密钥,再用该对称密钥解密出数据原文。
【问题3】
目前数据库管理系统提供的基本数据加密支持主要有以下两种:
(1)加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。
(2)透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。
加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。 - 试题解析:本题考查的是安全性方面的知识,解决相关的问题,需要对一些基础知识有一定了解。如:对称加密与非对称加密的基本流程,优缺点;口令认证与基于公钥的数字证书认证做法有什么不同;数据库加密中的加解密API与透明加密。具体的情况参看试题答案。