admin 管理员组

文章数量: 887021


2024年2月6日发(作者:inputbox的格式)

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

2013年下半年下午 系统架构设计师 考试试题-

案例分析+论文-答案与解析

试题一(共15分)

阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某航空公司希望对构建于上世纪七八十年代的主要业务系统进行改造与集成,提高企业的竞争力。由于集成过程非常复杂,公司决定首先以Ramp Coordination系统为例进行集成过程的探索与验证。

在航空业中,Ramp Coordination是指飞机从降落到起飞过程中所需要进行的各种业务活动的协调过程。通常每个航班都有一位员工负责Ramp Coordination,称之为Ramp

Coordinatoro由Ramp Coordinator协调的业务活动包括检查机位环境、卸货和装货等。

由于航班类型、机型的不同,RampCoordination的流程有很大差异。图1-1(a)所示的流程主要针对短期中转航班,这类航班在机场稍作停留后就起飞;图1-1(b)所示的流程主要针对到达航班,通常在机场过夜后第二天起飞;图1-1(c)所示的流程主要针对离港航班,这类航班是每天的第一班飞机。这三种类型的航班根据长途/短途、国内/国外等因素还可以进一步细分,每种细分航班类型的Ramp Coordination的流程也咯有不同。

为了完成上述业务,Ramp Coordination信息系统需要从乘务人员管理系统中提取航班乘务员的信息、从订票系统中提取乘客信息、从机务人员管理系统中提取机务人员信息、接2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 1 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

收来自航班调度系统的航班到达事件。其中乘务人员管理系统和航班调度系统运行在大型主机系统中,机务人员管理系统运行在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)。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 2 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过:虑,具备复杂数据的传输能力,并可以提供一系列的标准接口。

ESB的主要功能有:

(1) 服务位置透明性;

(2) 传输协议转换;

(3) 消息格式转换;

(4) 消息路由;

(5) 消息增强;

(6) 安全性;

(7) 监控与管理。

【参考答案】

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 3 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

【答案解析】

本题主要考查企业服务总线(EnterpriseServiceBus,ESB)的基本概念和主要功能。企业服务总线是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。ESB的主要功能有:服务位置透明性;传输协议转换;消息格式转换;消息路由;消息增强;安全性;监控与管理等。在采用ESB进行系统集成时,各个现有系统将会以模块的形式接入ESB中,需要明确与ESB交换的数据,因此考生需要根据题干描述,明确要接入的系统和该系统需要提供或交换的数据。

试题二

阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某软件公司拟开发一套电子商务系统,王工作为项目组负责人负责编制项目计划。由于该企业业务发展需要,CEO急于启动电子商务系统,要求王工尽快准备一份拟开发系统的时间和成本估算报告。

项目组经过讨论后,确定出与项目相关的任务如表2-1所示。其中,根据项目组开发经验,分别给出了正常工作及加班赶工两种情况下所需的时间和费用。

【问题1】

请用400字以内文字说明王工拟编制的项目计划中应包括哪些内容。

王工在接到任务后开始项目计划的编制工作,编制的计划应包括:

【参考答案】

(1) 项目总计划(包括范围计划、工作范围定义、活动定义、资源需求、资源计划、活动排序、费用估算、进度计划及费用计划)》

(2) 项目辅助计划(质量计划、沟通计划、人力资源计划、风险计划、采购计划)。

【答案解析】

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 4 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

项目计划通常包含两个部分:项目总计划包括范围计划、工作范围定义、活动定义、资源需求、资源计划、活动排序、费用估算、进度计划及费用计划;项目辅助计划包括质量计划、沟通计划、人力资源计划、风险计划、采购计划。

【问题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元。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 5 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

【答案解析】

为了满足题目要求,可在【问题3】的基础上,计算任务A每减少一天的成本,再综合计算41-34=7天所增加成本的最小值。计箅后可知,除了任务B和任务I外,任务H的1000元/天和任务A的1200元/天为关键任务的最小值。需要注意的是任务E为600元/天,但其不是关键任务,所以调整该任务对整个项目的开发工期没有影响。所以,在“A系统调研”、“B提交项目计划”、“H测试修改”和“I安装部署”任务中采用加班工作措施。项目所需费用79700元。

试题三

阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

故障(失效)模型影响分析FMEA是分析产品所有可能的故障模式及其可能产生的影响,并按每个故障模式产生影响的严重程度及其发生概率予以分类的一种归约分析方法。近年来,FMEA方法已被广泛用于安全关键系统的嵌入式软件可靠性分析工作。

某软件公司承担了一项通信软件的开发项目。该项目由FC系统、DY系统和GD系统组成,而DY系统(TMS320C25S)软件负责按系统的通信协议完成与FC系统的通信,图3-1给出了该通信软件的约定层次图。公司高层将项目交给王工,王工认为比项目是安全关键系统,安全等级应为II类(致命的),因此应开展软件的FMEA分析。

【问题1】

请阅读以下有关FMEA的描述,将恰当的内容填入(1)〜(7)。

FMEA是FMA(故障模式分析)和FEA(故障影响分析)的组合,它对系统各种可能的风险进行评价、分析后,在现有技术的基础上消除这些风险或将这些风险降低到可接受的水平。为达到最佳效益,FMEA必须在产品研制初期进行。

FMEA实际是一组系列化的活动,其主要活动包括:

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 6 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

(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)、根据通信协议,可按接收数据功能和发送数据功能分别确定故障模式;

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 7 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

(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(软件故障模式的被检测难度等级)。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 8 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

【参考答案】

(1)、程序写0C300H地址单元不当

(2)、无法响应INTO中断

(3)、线路误码

(4)、通信错误

(5)、程序控制错误

(6)、210

(7)、数据发送始终不成功数据发送始终不成功

【答案解析】

只要有实践经验,可通过表3-2中的相关信息正确判断出相应内容。这里要说明的是故障模式5由于其软件风险优先数(SRPN)很高(336),在设计时应重点关注。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 9 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

试题四

阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某商业银行欲开发一套个人银行系统,为用户提供常见的金融服务,包括转账、查询、存款变更和个人信息管理等功能。该软件除了业务需求外,还有一些特殊的表现层需求:

(1) 根据用户级别的不同,界面和可用功能是不同的;

(2) 支持Web、Windows、手机App等多种不同类型的界面;

(3) 考虑到将来功能的扩展,需要系统支持界面的定制以及动态生成等功能,以降低系统维护和新功能发布的成本。

经过对需求的讨论,该银行初步决定采用MVC模式设计该个人银行系统的表现层,采用XML作为GUI的描述语言,并应用XML的界面管理技术来实现灵活的界面配置、界面动态生成和界面定制。

【问题1】

MVC模式强制性地将一个应用处理流程按照模型、视图、控制的方式进行分离,三者的协作关系如图4-1所示。

请填写图4-1中的(1)〜(3),并简要说明在该个人银行系统中采用MVC模式对界面设计的作用。

【参考答案】

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 10 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

(1)、选择视图;

(2)、业务处理;

(3)、状态查询

MVC模式对该个人银行系统的作用:

(1)、允许多种界面的扩展,视图的变更与增加,与模型无关;

(2)、易于维护,控制器和视图随着模型的扩展而扩展,只要保持公共接口,控制器和视图的旧版本可以继续使用;

(3)、可支持功能强大的用户界面。

【答案解析】

软件体系结构设计中,层次设计是一种常见的架构设计方法,使设计的系统结构清晰,便于提高复用能力和产品维护能力。

本问题考查MVC设计模式在表现层设计中的应用。MVC是一种目前广泛流行的软件设计模式。MVC强制性地将一个应用处理流程按照模型、视图、控制的方式进行分离,形成了控制器、模型、视图三个核心模块。

(1)、控制器:接受用户的输入并调用模型和视图去完成用户的请求。一方面接受视图的输入,将其转为对模型特定方法的调用;一方面处理来自模型的事件,调用适当的视图反馈给用户。

(2)、模型:应用程序的主体部分,表示业务数据和业务逻辑,可以为多个视图提供数据。

(3)、见图:用户看到并与之交互的界面。视图可以向模型查询业务状态,接收模型的数据更新事件,同步更新界面。

三者协作关系如图4-3所示。

使用MVC设计表现层,具有以下优点:

(1)、允许多种用户界面的扩展。在MVC模式中,视图与模型没有必然的联系,都是通过控制器发生联系,如果增加新类型的用户界面,只需修改响应的控制器和视图即可,模型无需变动;

(2)、易于维护。控制器和视图随着模型的扩展而扩展,只要保持公共接口,控制器和视图的旧版本可以继续使用;

(3)、支持功能强大的用户界面。用户界面与模型方法调用组合起来,使程序的使用更清晰,可将友好的界面发布给用户。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 11 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

【问题2】

请从设计模式的角度,简要说明设计方案采用XML作为GUI描述语言的机制。

【参考答案】

从设计模式的角度来说,整个XML表现层解柝的机制是一种策略模式。在调用显示GUI时,不是直接调用特定的表现技术的API,而是装载GUI对应的XML配置文件,然后根据特定的表现技术的解析器解析XML,得到GUI视图实例对象。这样,对于GUI开发人员来说,GUI视图只需要维护一套XML文件即可。

【答案解析】

对于应用系统而言,GUI主要是由GUI控件组成。控件本身可以被看作是一个数据对象,包含控件的位置信息、类型和绑定的事件等。因此可以采用XML来描述,将控件作为数据节点保存,控件的相关属性描述为该节点的属性。而XML本身是一种树形结构描述语言,可以很好地支持控件之间的层次结构。而应用程序的表现层仅需要针对该XML语言进行解析,再加上应用系统特有的表现技术,即可以实现应用系统的界面。

从设计模式的角度来说,整个XML表现层解析的机制是一种策略模式。在调用显示GUI时,不是直接调用特定的表现技术的API,而是装载GUI对应的XMLS3置文件,然后根据特定的表现技术的解析器解析XML,得到GUI视图实例对象。这样,对于GUI开发人员来说,GUI视图只需要维护一套XML文件即可。

【问题3】

基于XML的界面管理技术可实现灵活的界面配置、界面动态生成和界面定制,其思路是用XML生成配置文件及界面所需的元数据,按不同需求生成界面元素及软件界面,其技术框图如图4-2所示。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 12 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

请将恰当的内容填入图4-2中的(1)〜(3),并简要解释说明其含义。

【参考答案】

基于XML的界面管理技术可以实现灵活的界面配置、界面动态生成和界面定制。其思路是用XML生成配置文件及界面所需的元数据,按照不同需求生成界面元素和软件界面。基本思路如图4-4所示。

【答案解析】

界面定制是对用户界面的动态修改过程,在软件运行过程中,用户可按照需求和使用习惯,对界面元素的属性进行修改。软件运行结束后,界面定制的结果被保存。

界面动态生成是系统通过DOMAPI读取XML配置文件的表示层信息,通过数据存取类读取数据库中的数据层信息,运行时由界面元素动态生成界面。界面配置和定制模块在软件运行前后修改配置文件、更改界面内容。

界面配置是对用户界面的静态定义,通过读取配置文件的初始值对界面配置。由界面配2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 13 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

置对软件功能进行裁剪、重组和扩充,以实现特殊需求。

基于XML的界面管理技术实现的管理信息系统实现了用户界面描述信息与功能实现代码的分离,可针对不同用户需求进行界面配置和定制,能适应一定程度的数据结构改动。只需要对XML文件稍加修改,即可实现系统的移植。

试题五

阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某软件公司拟开发一套信息安全支撑平台,为客户的局域网业务环境提供信息安全保护。该支撑平台的主要需求如下:

(1) 为局域网业务环境提供用户身份鉴别与资源访问授权功能;

(2) 为局域网环境中交换的网络数据提供加密保护;

(3) 为服务器和终端机存储的敏感持久数据提供加密保护;

(4) 保护的主要实体对象包括局域网内交换的网络数据包、文件服务器中的敏感数据文件、数据库服务器中的敏感关系数据和终端机用户存储的敏感数据文件;

(5) 服务器中存储的敏感数据按安全管理员配置的权限访问;

(6) 业务系统生成的单个敏感数据文件可能会达到数百兆的规模;

(7) 终端机用户存储的敏感数据为用户私有;

(8) 局域网业务环境的总用户数在100人以内。

【问题1】

在确定该支撑平台所采用的用户身份鉴别机制时,王工提出采用基于口令的简单认证机制,而李工则提出采用基于公钥体系的认证机制。项目组经过讨论,确定采用基于公钥体系的机制,请结合上述需求具体分析采用李工方案的原因。

【参考答案】

(1)、基于口令的认证方式实现简单,但由于口令复杂度及管理方面的原因,易受到认证攻击;而在基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相比更为安全。

(2)、按照需求描述,在完成用户身份鉴别后,需依据用户身份进一步对业务数据进行安全保护,且受保护数据中包含用户私有的终端机数据文件,在基于口令的认证方式中,用户口令为用户和认证服务器共享,没有用户独有的直接秘密信息,而在基于公钥的认证方式中,可基于用户私钥对私有数据进行加密保护,实现更加简便。

(3)、基于公钥体系的认证方式协议和计算更加复杂,因此其计算复杂度要高?基于口令的认证方式,但业务环境的总用户数在100人以内,用户规模不大,运行环境又为局域网环境,因此基于公钥体系的认证方式可满足平台效率要求。

【答案解析】

本问题考查身份认证机制的特点及应用范围,基于口令的认证机制实现简单,但其安全性较低,易受认证攻击,而基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 14 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相比更为安全。

【问题2】

针对需求(7),项目组经过讨论,确定了基于数字信封的加密方式,其加密后的文件结构如图5-1所示。请结合需求说明对文件数据进行加密时,应采用对称加密的块加密方式还是流加密方式,为什么?并对该机制中的数据加密与解密过程进行描述。

【参考答案】

应采用流加密方式。因为需求中提及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率。

数据加密与解密过程如下:

其加密过程为:首先生成一个对称密钥,使用用户公钥加密这个对称密钥后存储在文件头,然后用生成的对称密钥加密文件数据存储;

其解密过程为:用户首先使用自己的私钥解密被加密的对称密钥,再用该对称密钥解密出数据原文。

【答案解析】

本问题考查文件数据的加密保护技术。因为【说明】中第(6)条需求•:是及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率,因此应采用流加密方式。该机制中数据加密与解密过程属于常规的基于数字信封的加解密方式,属于基本的信息安全知识。

【问题3】

对数据库服务器中的敏感关系数据进行加密保护时,客户业务系统中的敏感关系数据主2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 15 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

要是特定数据库表中的敏感字段值,客户要求对不同程度的敏感字段采用不同强度的密钥进行防护,且加密方式应尽可能减少安全管理与应用程序的负担。目前数据库管理系统提供的基本数据加密方式主要包括加解密API和透明加密两种,请用300字以内的文字对这两种方式进行解释,并结合需求说明应采用哪种加密方式。

【参考答案】

目前数据库管理系统提供的基本数据加密支持主要有以下两种:

(1) 加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。

(2) 透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。

加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。

【答案解析】

本问题考査数据库持久数据的加密保护技术。目前数据库管理系统提供的基本数据加密方式主要包括加解密API和透明加密两种,典型的如Oracle数据库管理系统中提供的数据加密方式。其中加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。透明加密方式支持对特定敏感字段进行透明加密,且可以根据安全管理需要对不同程度的敏感字段采用不同强度的密钥进行保护,满足题目要求,同时题目中明确给出“用户要求尽可能减少安全管理与应用程序的负担”。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 16 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

2013年下半年下午 系统架构设计师 考试试题-

论文-解析

试题一

软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。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) 进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适应进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 17 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

(4) 物理视图。物理视图在UML中被称为部署视图,主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。

(5)场景。场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来。场景对应UML中的用例视图。

2. 结合实际项目,详细说明项目软件架构的内容。这部分内容应包括:在设计软件架构时,分别使用了“4+1”视图中的哪些视图,每个视图中包含的模型有哪些等。

三、说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。

试题二

软件架构风格是描述一类特定应用领域中系统组织方式的惯用模式,反映了领域中诸多系统所共有的结构特征和语义特征,并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常见的软件架构风格,能够有效简化设计,使得设计的系统结构清晰,便于提高复用能力和产品维护能力。

由于大量企业应用系统都由界面呈现、业务逻辑、数据存储三类功能构成,E3此广泛采用分层架构风格进行系统设计。

请围绕“企业应用系统的分层架构风格”论题,依次从以下三个方面进行论述。

1. 概要叙述你参与管理和开发的企业应用系统建设项目以及你在其中所承担的主要工作。

2. 请结合项目实际情况,指出应用系统都有哪些层次以及每个层次的主要功能。

3. 请结合项目实际情况,指出设计每个层次时需要注意的问题及相应的解决方案。

一、简要描述所参与管理和开发的企业应用系统建设项目,并明确指出在其中承担的主要任务和开展的主要工作。

二、需要结合项目实际情况指出所开发的应用系统的总体架构,特别是架构的层次关系。分层架构设计是一种常见的架构设计方法,能够有效简化设计,使设计fit系统结构清晰,便于提高复用能力和产品维护能力。一般来说,企业应用系统的架构可以分为表现层、中间层和持久层三个层次。

1. 表现层。表现层主要负责接收用户的请求,对用户的输入、输出进行检查与控制,处理客户端的一些动作,包括控制页面跳转等,并向用户呈现最终的结果信息。表现层主要采用MVC结构来实现。控制器负责接收用户的请求,并决定应该调用哪个模型来处理;然后,模型根据用户请求调用中间层进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

2. 中间层。中间层主要包括业务逻辑层组件、业务逻辑层工作流、业务逻辑层实体和业务逻辑层框架四个方面。业务逻辑层组件分为接U和实现类两个部分,接U用于定义业务逻辑组件,定义业务逻辑组件必须实现的方法。通常按模块来设计业务逻辑组件,每个模块设计为一个业务逻辑组件,并且每个业务逻辑组件以多个DAO组件作为基础,从而实现对外提供系统的业务逻辑服务。业务逻辑层工作流能够实现在多个参与者之间按照某种预定义的规则2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 18 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促进此目标的实现。业务逻辑层实体提供对业务数据及相关功能的状态编程访问,业务逻辑层实体数据可以使用具有复杂架构的数据来构建,这种数据通常来自数据库中的多个相关表。业务逻辑层实体数据可以作为业务过程的部分I/O参数传递,业务逻辑层的实体是可序列化的,以保持它们的当前状态。业务逻辑层是实现系统功能的核心组件,采用容器的形式,便于系统功能的幵发、代码重用和管理。

3. 持久层。持久层主要负责数据的持久化存储,主要负责将业务数据存储在文件、数据库等持久化存储介质中。持久层的主要功能是为业务逻辑提供透明的数据访问、持久化、加载等能力。

三、考生需要结合项目实际情况,举例说明在设计表现层、中间层和持久层时需要考虑的主要问题,例如:在持久层设计时需要考虑MVC模型中的模型、视图和控制器分别对应哪些组件;在中间层设计时需要考虑框架与业务组件之间的关系;在持久层设计时需要考虑如何支持对多种类型数据的透明访问。

试题三

随着软件的日益普及,系统中软件成分不断增加,使得系统对软件的依赖越来越强。软件的可靠性对系统可靠性的影响越来越大。而实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设汁阶段采取措施进行可靠性控制,为此提出了软件可靠性设计的概念。

软件可靠性设计就是在常规的软件设计中,应用各种方法和技术,使软'牛设计在兼顾用户功能和性能需求的同时,全面满足软件的可靠性要求。软件可靠性设计应和软件的常规设计紧密结合,贯穿于软件设计过程的始终。

请围绕“论软件可靠性设计技术的应用”论题,依次从以下三个方面进行论述。

1. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。

2. 结合项目实际,论述你在项目开发过程中,进行软件可靠性设计时遵循的基本原则;论述你在该项目中所采用的具体可靠性设计技术。

3. 阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。

一、概要论述你参与管理和开发的信息系统项目以及你在其中所承担的主要工作。

二、结合项目实际,论述你在进行软件可靠性设计时遵循的基本原则,你所采用的具体可靠性设计技术的基本内容。

可靠性设计需要遵循的原则有:

1. 软件可靠性设计是软件设计的一部分,必须在软件的总体设计框架中使用,并且不能与其他设计原则相冲突。

2. 软件可靠性设计在满足提高软件质量要求的前提下,以提高和保障软件可靠性为最终目标。

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 19 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

3. 软件可靠性设计应确定软件的可靠性y标,不能无限扩大,并且排在功能、用户需求、开发费用之后考虑。

常见的可靠性设计技术有容错设计、检错设计、降低复杂度设计等技术。

容错设计技术:对于软件失效后果特别严重的场合,如飞机的飞行控制系统、空中交通管制系统等,采用容错设计技术。常见的容错设计技术有三种:恢复块设计、N版本程序设计和冗余设计。

恢复块设计:选择一组软件操作作为容错设计单元,把普通的程序块变成恢飪块。一个恢复块包含有若干个功能相同、设计差异的程序块文本,一个运行文本,多〃、备份文本,构成“动态冗余”,一旦运行文本出现故障,则用备份文本替换。软件容错的恢复块方法就是使软件包含有一系列恢复块。

N版本程序设计:N版本程序的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实现多数表决,防止其中某一软件模块/版本的故障提供错误的服务,以实现软件容错。

冗余设计:在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方法的模块或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。缺点是费用和资源的消耗会有所增加。

检错技术:在软件系统中,无需在线容错的地方,或不能采用冗余设计技术的部分,如果对可靠性要求较高,故障有可能导致严重的后果时,一般采用检错技术,在软件出现故障后能及时发现并报警,其缺点是不能自动解决故障。

降低复杂度设计:软件复杂性与软件可靠性有着密切的关系,是产生软件缺陷的重要根源。在设计时考虑降低软件的复杂性,是提高软件可靠性的有效方法。降低复杂度设计的思想是在保证实现软件功能的基础上,简化软件结构,缩短程序代码,优化软件数据流向,降低软件复杂度,从而提高软件可靠性。

(结合实际工作,具体解释遵循的原则和采用的一种或多种可靠性设计技术)

三、阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。

在软件可靠性设计之前和软件可靠性设计过程中,都需要采用软件可靠性分析和预测方法,来确定当前系统中的主要可靠性因素和目标。常见的软件可靠性分析方法包括故障树分析方法、失效模式与效应分析方法等。

故障树分析方法:一种自顶向下的软件可靠性分析方法,即从软件系统不希望发生的事件(顶事件),特别是对人员和设备的安全及可靠性产生重大影响的事件开始,向下逐步追査导致顶事件发生的原因,直至基本事件(底事件),从而确定软件故障原因的各种可能组合方式和(或)发生概率。基本的步骤是软件故障树的建立、定性分析和定量分析。

失效模式与效应分析方法:在软件开发阶段的早期,通过识别软件失效模弍,分析造成的后果,研究分析各种失效模式产生的原因,寻找消除和减少其有害后果的方法,以便尽早发现潜在的问题,并采取相应的措施,从而提高软件的可靠性和安全性.SFMEA的分析对象可以是开发早期阶段的高层次的子系统、部件,也可以是详细设计阶段的单元、模块。对于不同的分析对象,其软件失效模式是不同的,采用的SFMEA分析方法也不同,前者采用2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 20 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

系统级分析方法(system FMEA),后者为详细级分析方法〔detailed FMEA)。其基本的步骤是系统定义、软件失效模式分析、软件失效原因分析、软件失效影响分析、改进措施分析。

(结合实际工作,具体阐述自己所采用的一种或多种可靠性分析方法)

试题四

分布式存储系统(Distributed Storage System)通常将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

请围绕“论分布式存储系统架构设计”论题,依次从以下三个方面进行论述。

1. 概要叙述你参与分析和开发的分布式存储系统项目以及你所承担的主要工作。

2. 简要说明在分布式存储系统架构设计中所使用的分布式存储技术及其实现机制,详细叙述你在具体项目中选用了哪种分布式存储技术,说明其原因和实施效果。

3. 冗余是提高分布式存储系统可靠性的主要方法,通常在分布式存储系统设计中可采用哪些冗余技术来提升系统的可靠性?你在具体项目中选用了哪种冗余技术?说明其原因和实施效果。

一、简要描述所参与分析和开发的分布式存储系统项目,并明确指出在其中承担的主要任务和开展的主要工作。

二、说明在分布式存储系统架构设计中所使用的四种主要分布式存储技术,并根据考生所参与的实际项目,详细叙述所选用的一种分布式存储技术,并说明选择该技术的原因和实施效果。

在分布式存储系统架构设计中所使用的分布式存储技术主要包括四类:

1. 集群存储技术。集群存储系统是指架构在一个可扩充服务器集群中的文件系统,用户不需要考虑文件是存储在集群中什么位置,仅仅需要使用统一的界面就可以访问文件资源。当负载增加时,只需在服务器集群中增加新的服务器就可以提高文件系统的性能。集群存储系统能够保留传统的文件存储系统的语义,增加了集群存储系统必须的机制,可以向用户提供高可靠性、高性能、可扩充的文件存储服务。

2. 分布式文件系统。分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。分布式文件系统以透明方式链接文件服务器和共享文件夹,然后将其映射到单个层次结构,以便可以从一个位置对其进行访问,而实际上数据却分布在不同的位置。用户不必再转至网络上的多个位置以查找所需的信息。

3. 网络存储技术。网络存储系统就是将“存储”和“网络”结合起来,通过网络连接各存2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 21 / 22

全国计算机技术与软件专业技术资格(水平)、考试

china_nejcer

储设备,实现存储设备之间、存储设备和服务器之间的数据在网络上的高性能传输。为了充分利用资源,减少投资,存储作为构成计算机系统的主要架构之一,就不再仅仅担负附加设备的角色,逐步成为独立的系统。利用网络将此独立的系统和传统的用户设备连接,使其以高速、稳定的数据存储单元存在。用户可以方便地使用浏览器等客户端进行访问和管理。

4. P2P网络存储技术。P2P网络存储技术的应用使得内容不是存在几个主要的服务器上,而是存在所有用户的个人电脑上。这就为网络存储提供了可能性,可以将网络中的剩余存储空间利用起来,实现网络存储。人们对存储容量的需求是无止境的,提高存储能力的方法有更换能力更强的存储器,另外就是把多个存储器用某种方式连接在一起,实现网络并行存储。相对于现有的网络存储系统而言,应用P2P技术将会有更大的优势。P2P技术的主体就是网络中Peer,也就是各个客户机,数量是很大的,这些客户机的空闲存储空间是很多的,把这些空间利用起来实现网络存储。

三、冗余是提高分布式存储系统可靠性的主要方法,冗余的存储结构可以保旺部分服务器失效时,数据服务仍可正常访问。常用的冗余技术包括:数据备份,数据分割,门限方案,纠错编码和纠删编码等。考生根据所参与的实际项目指出采用了何种冗余技术,并说明其原因和实施效果。(完)

2013年下半年下午-系统架构设计师-下午试题及答案与解析(软考真题-案例分析)、 22 / 22


本文标签: 系统 软件 数据 设计 视图