2023年职业考证软考系统架构设计师考试高频考点参考题库带答案_第1页
2023年职业考证软考系统架构设计师考试高频考点参考题库带答案_第2页
2023年职业考证软考系统架构设计师考试高频考点参考题库带答案_第3页
2023年职业考证软考系统架构设计师考试高频考点参考题库带答案_第4页
2023年职业考证软考系统架构设计师考试高频考点参考题库带答案_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023年职业考证软考系统架构设计师考试高频考点参考题库带答案(图片大小可自由调整)答案解析附后第1卷一.综合题(共20题)1.单选题某项目包括A~G七个作业,各作业之间的衔接关系和所需时间如下表:其中,作业C所需的时间,乐观估计为5天,最可能为14天,保守估计为17天。假设其他作业都按计划进度实施,为使该项目按进度计划如期全部完成。作业C()。问题1选项A.必须在期望时间内完成B.必须在14天内完成C.比期望时间最多可拖延1天D.比期望时间最多可拖延2天2.单选题某厂生产的某种电视机,销售价为每台2500元,去年的总销售量为25000台,固定成本总额为250万元,可变成本总额为4000万元,税率为16%,则该产品年销售量的盈亏平衡点为()台(只有在年销售量超过它时才能盈利)。问题1选项A.5000B.10000C.15000D.200003.单选题(

)是由中间件技术实现并支持SOA的一组基础架构,它提供了一种基础设施,其优势在于(

)。问题1选项A.ESBB.微服务C.云计算D.Multi-AgentSystem问题2选项A.支持了服务请求者与服务提供者之间的直接链接B.支持了服务请求者与服务提供者之间的紧密耦合C.消除了服务请求者与服务提供者之间的直接链接D.消除了服务请求者与服务提供者之间的关系4.案例题阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。【说明】某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程,采用自助方式进行智能应用设计、实现与部署,并可以开发新算法组件加入平台中。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:(a)平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同;(b)平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问;(c)平台支持分布式部署,当主站点断电后,应在20秒内将请求重定向到备用站点;(d)平台支持初学者和高级用户两种界面操作模式,用户可以根据自己的情况灵活选择合适的模式;(e)平台主站点宕机后,需要在15秒内发现错误并启用备用系统;(f)在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;(g)平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;(h)平台需要对用户的所有操作过程进行详细记录,便于审计工作;(i)平台部署后,针对界面风格的修改需要在3人天内完成;(j)在正常负载情况下,平台应在0.5秒内对用户的界面操作请求进行响应;(k)平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;(l)平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试。在对平台需求、质量属性描述和架构特性进行分析的基础上,公司的架构师给出了三种候选的架构设计方案,公司目前正在组织相关专家对平台架构进行评估。【问题1】(9分)在架构评估过程中,质量属性效用树(utilitytree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并从题干中的(a)-(i)中选择合适的质量属性描述,填入(3)-(6)空白处,完成该平台的效用树。【问题2】(16分)针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道过滤器(pipe-and-filter)的架构风格,王工则建议采用隐式调用(implicitinvocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格。5.单选题ABSDM(Architecture-BasedSoftwareDesignModel)把整个基于体系结构的软件过程划分为体系结构需求、体系结构设计、体系结构文档化、(

)、(

)和体系结构演化等6个子过程。其中,(

)过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书。问题1选项A.体系结构复审B.体系结构测试C.体系结构变更D.体系结构管理问题2选项A.体系结构实现B.体系结构测试C.体系结构建模D.体系结构管理问题3选项A.体系结构设计B.体系结构需求C.体系结构文档化D.体系结构测试6.单选题下列关于著作权归属的表述,正确的是()。问题1选项A.改编作品的著作权归属于改编人B.职务作品的著作权都归属于企业法人C.委托作品的著作权都归属于委托人D.合作作品的著作权归属于所有参与和组织创作的人7.单选题结构化设计是一种面向数据流的设计方法,以下不属于结构化设计工具的是(

)问题1选项A.盒图B.HIPO图C.顺序图D.程序流程图8.单选题进程P有8个页面,页号分别为0~7,页面大小为4K,假设系统给进程P分配了4个存储块,进程P的页面变换表如下所示。表中状态位等于1和0分别表示页面在内存和不在内存。若进程P要访问的逻辑地址为十六进制5148H,则该地址经过变换后,其物理地址应为十六进制(

);如果进程P要访问的页面6不在内存,那么应该淘汰页号为(

)的页面。问题1选项A.3148HB.5148HC.7148HD.9148H问题2选项A.1B.2C.5D.99.单选题SDN(SoftwareDefinedNetwok)的网络架构中不包含(

)。问题1选项A.逻辑层B.控制层C.转发层D.应用层10.单选题为了加强软件产品管理,促进我国软件产业的发展,原信息产业部颁布了《软件产品管理办法》,“办法”规定,软件产品的开发,生产,销售,进出口等活动遵守我国有关法律,法规和标准规范,任何单位和个人不得开发,生产,销售,进出口含有以下内容的软件产品(

)①侵犯他人的知识产权②含有计算机病毒③可能危害计算机系统安全④含有国家规定禁止传播的内容⑤不符合我国软件标准规范⑥未经国家正式批准问题1选项A.1236B.12345C.12346D.12345611.单选题构件组装是指将库中的构件经适当修改后相互连接构成新的目标软件。(

)不属于构件组装技术。问题1选项A.基于功能的构件组装技术B.基于数据的构件组装技术C.基于实现的构件组装技术D.面向对象的构件组装技术12.单选题Web页面访问过程中,在浏览器发出HTTP请求报文之前不可能执行的操作是()。问题1选项A.查询本机DNS缓存,获取主机名对应的IP地址B.发起DNS请求,获取主机名对应的IP地址C.发送请求信息,获取将要访问的Web应用D.发送ARP协议广播数据包,请求网关的MAC地址13.单选题需求管理的主要活动包括(

)问题1选项A.变更控制、版本控制、需求跟踪、需求状态跟踪B.需求获取、变更控制、版本控制、需求跟踪C.需求获取、需求建模、变更控制、版本控制D.需求获取、需求建模、需求评审、需求跟踪14.单选题一个完整的软件系统需从不同视角进行描述,下图属于软件架构设计中的(

),用于(

)视图来描述软件系统。问题1选项A.对象图B.时序图C.构件图D.类图问题2选项A.进程B.开发C.物理D.用户15.案例题某企业委托软件公司开发一套包裹信息管理系统,以便于对该企业通过快递收发的包裹信息进行统一管理,在系统设计阶段,需要对不同快递信息的包裹单信息进行建模,其中,邮政包裹单如图2-1所示:图2-1包裹详情单【问题1】(13分)请说明关系型数据库开发中,逻辑数据模型设计过程包含哪些任务?根据图2-1包裹详情单应该设计出哪些关系模式的名称,并指出每个关系模式的主键属性。【问题2】(6分)请说明什么是超类实体?结合图中包裹单信息,试设计一种超类实体,给出完整的属性列表。【问题3】(6分)请说明什么是派生属性?结合图2-1中包裹单信息说明哪个属性是派生属性。16.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某软件企业为快餐店开发一套在线订餐管理系统,主要功能包括:(1)在线订餐:已注册客户通过网络在线选择快餐店所提供的餐品种类和数量后提交订单,系统显示订单费用供客户确认,客户确认后支付订单所列各项费用。(2)厨房备餐:厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工。(3)食材采购:当快餐店某类食材低于特定数量时自动向供应商发起采购信息,包括食材类型和数量。供应商接收到采购信息后按照要求将食材送至快餐店并提交已采购的食材信息。系统自动更新食材库存。(4)生成报表:每个周末和月末,快餐店经理会自动收到系统生成的统计报表,报表中详细列出了本周或本月订单的统计信息以及库存食材的统计信息。现采用数据流图对上述订餐管理系统进行分析与设计,系统未完成的0层数据流图。如图2-1所示。图2-1【问题1】(8分)根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1~E4和加工P1~P4的具体名称。【问题2】(8分)根据数据流图规范和订餐管理系统功能说明,请说明在图2-1中需要补充哪些数据流可以构造出完整的0层数据流图。【问题3】(9分)根据数据流图的含义,请说明数据流图和系统流程图之间有哪些方面的区别。17.单选题软件需求开发的最终文档,通过评审后定义了开发工作的(

),它在客户和开发者之间构筑了产品功能需求和非功能需求的一个(

),是需求开发和需求管理之间的桥梁。问题1选项A.需求基线B.需求标准C.需求用例D.需求分析问题2选项A.需求用例B.需求管理标准C.需求约定D.需求变更18.单选题数学模型常带有多个参数,而参数会随环境因素而变化。根据数学模型求出最优解或满意解后,还需要进行(

),对计算结果进行检验,分析计算结果对参数变化的反应程度。问题1选项A.一致性分析B.准确性分析C.灵敏性分析D.似然性分析19.单选题软件活动主要包括软件描述、(

)、软件有效性验证和(

),(

)定义了软件功能及使用限制。问题1选项A.软件模型B.软件需求C.软件分析D.软件开发问题2选项A.软件分析B.软件测试C.软件演义D.软件进化问题3选项A.软件分析B.软件测试C.软件描述D.软件开发20.单选题系统应用集成构建统一标准的基础平台,在各个应用系统的接口之间共享数据和功能,基本原则是保证应用程序的(

)。系统应用集成提供了4个不同层次的服务,最上层服务是(

)服务。问题1选项A.独立性B.相关性C.互操作性D.排他性问题2选项A.通信B.信息传递与转化C.应用连接D.流程控制第1卷参考答案一.综合题1.【答案】D【解析】首先使用3点估算法计算出C的所需天数:(5+14*4+17)/6=13。然后构造网络图,计算关键路径,关键路径为:ABDEG,长度27,C不在关键路径上。进一步计算C的总时差,会发现C的总时差为2,所以C可以比期望时间最多拖延2天。2.【答案】A【解析】本题考查的是盈亏平衡点计算问题。盈亏平衡点也称为零利润点或保本点,是全部销售收入等于全部成本时的产量。当销售收入高于盈亏平衡点时,表示企业是盈利的状态;当销售收入低于盈亏平衡点时,表示企业是亏损的状态。去年卖了25000台电脑,每台售价2500元,固定成本250万,可变成本4000万,税率16%。总营收:25000*2500=6250万固定成本:250万可变成本:4000万,占营收比例:64%。税不属于成本,但与可变成本性质相似,会随销量变化。设盈亏平衡时的销售量为X台。则有:2500000+X*2500*64%+X*2500*16%=X*2500500X=2500000解得:X=50003.【答案】第1题:A第2题:C【解析】第1题:本题考查的是SOA相关知识。SOA常用的设计模式是服务注册表模式和企业服务总线ESB模式。微服务是SOA技术的一种变体,云计算是网络云服务的一种技术,Multi-AgentSystem多智能系统是人工智能技术的一种应用。本题第一空选择A选项。企业服务总线(EnterpriseServiceBus,EBS)技术,其思想是提供一种标准的软件底层架构,各种程序组件能够以服务单元的方式“插入”到该平台上运行,并且组件之间能够以标准的消息通信方式来进行交互。ESB的定义通常如下:企业服务总线是由中间件技术实现的支持面向服务架构的基础软件平台,支持异构环境中的服务以基于消息和事件驱动模式的交互,并且具有适当的服务质量和可管理性。这种交互过程不再是点对点的直接交互模式,而是由事件驱动的消息交互模式。通过这种方式,ESB最大限度上解耦了组件之间的依赖关系,降低了软件系统互连的复杂性。ESB不支持服务请求者与服务提供者直接的直接链接,二者之间仍然存在关系,只是这种关系是松耦合的。本题第二空选择C选项,其他选项的说法都是错误的。第2题:4.【答案】【问题1】(1)性能(2)可修改性(3)(e)可用性(4)(j)性能(5)(h)安全性(6)(i)可修改【问题2】本题系统中有多个应用场景提到了系统分角色有不同的操作流程与界面,以及在修改扩充系统时,需要能够在限定时间内快速完成任务。基于这样的情况,我们从两方面进行分析:解释器:机器学习流程定义的灵活性高,可扩展能力强,因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。管道过滤器:机器学习流程定义的灵活性较低,可扩展能力较弱,因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要对过滤器进行修改调整,或是流程在程序层面重建,此时必须修改代码完成任务。隐式调用:机器学习流程定义的灵活性一般,可扩展能力一般,隐式调用强调的是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,以提升灵活度,本题中可把角色执行业务的流程用事件触发。这种做法比管道过滤器强,但弱于完全自定义的解释器。【解析】本题是架构案例中的经典题型,问题1难度低,出现的频度高,是要求必须掌握的。【问题1】首先我们需要注意的是:在架构评估中,质量效用树,默认有4大质量属性,分别为:性能、可用性、安全性和可修改性,这个条件题目一般不直接给出,需要考生掌握这个知识背景。所以(1)和(2)只能在性能和可修改性中选择。由于(f)是性能要求,所以(1)填性能,(2)为可修改性。(e)强调了系统出故障限定多长时间切换到备用系统,是典型的系统修复时间限定,属于可用性。(j)强调响应时间,应为性能。(h)强调记录操作并审计,属于安全性。(i)强调做系统修改时,时限要求,为可修改性。【问题2】此问考查架构风格的应用,给出3种备选风格供我们选择,其中特别强调了流程定义的灵活性和可扩展性,这里面流程定义符合我们课程中强调的“自定义”的特性,最合适的解决方案是解释器,它是自定义流程,所以最为灵活。有了结论,便可按“顺势而为”的技巧组织答题内容了。同时本题一定注意在回答时,按题目要求把场景加进来。答题描述层面可参看以下说法:解释器:机器学习流程定义的灵活性高,可扩展能力强,因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。管道过滤器:机器学习流程定义的灵活性较低,可扩展能力较弱,因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要对过滤器进行修改调整,或是流程在程序层面重建,此时必须修改代码完成任务。隐式调用:机器学习流程定义的灵活性一般,可扩展能力一般,隐式调用强调的是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,以提升灵活度,本题中可把角色执行业务的流程用事件触发。这种做法比管道过滤器强,但弱于完全自定义的解释器。5.【答案】第1题:A第2题:A第3题:C【解析】本题考查的是基于体系结构的开发模型ABSDM相关知识。ABSDM模型把整个基于体系结构的软件过程划分为:体系结构需求、设计、文档化、复审、实现和演化等6个过程。因此第一空选择A选项体系结构复审,第二空选择A选项体系结构实现。体系结构需求:需求过程主要是获取用户需求,标识系统中所要用到的构件。体系结构设计:体系结构设计是一个迭代过程,如果要开发的系统能够从已有的系统中导出大部分,则可以使用已有系统的设计过程。体系结构文档化:绝大多数的体系结构都是抽象的,由一些概念上的构件组成,因此要去实现体系结构,还必须得把体系结构文档化。体系结构文档化过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书这2个文档。本题第三空选择C选项。体系结构复审:体系结构设计、文档化和复审是一个迭代过程。复审的目的是表示潜在的风险,及早发现体系结构设计中的缺陷和错误,包括体系结构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件划分是否合理、文档表达是否明确、构件设计是否满足功能与性能的要求等。体系结构实现:所谓“实现”就是要用实体显示出一个软件体系结构,即要符合体系结构描述的结构性设计决策,分割成规定的构件,按规定的方式互相交互。整个实现过程是以复审后的文档化的体系结构说明书为基础的,每个构件必须满足软件体系结构中说明的对其他构件的责任。最后一步是测试,包括单个构件的功能性测试和被组装应用的整体功能和性能测试。体系结构演化:在构件开发过程中,用户的需求可能还有变动。在软件开发完毕,正常运行后,由一个单位移植到另一个单位,需求也会发生变化。在这两种情况下,就必须相应地修改软件体系结构,以适应新的变化了的软件需求。体系结构演化是使用系统演化步骤去修改应用,以满足新的需求。6.【答案】A【解析】本题A选项正确,改编、翻译、注释、整理已有作品而产生的作品,其著作权由改编、翻译、注释、整理人享有,但行使著作权时不得侵犯原作品的著作权。B选项职务作品的著作权不一定归属于企业法人,有可能归属于个人,企业有优先使用权。C选项委托作品的著作权可以由合同约定归属人,不一定都归属于委托人。D选项合作作品的著作权归属于所有参与人不含组织创作的人。7.【答案】C【解析】顺序图属于面向对象分析与设计工具,而非结构化设计工具。8.【答案】第1题:A第2题:B【解析】本题考查操作系统存储管理方面的基础知识。

试题第一空的正确选项为A。根据题意,页面大小为4K,逻辑地址为十六进制5148H其页号为5,页内地址为148H,查页表后可知页帧号(物理块号)为3,该地址经过变换后,其物理地址应为页帧号3拼上页内地址148H,即十六进制3148H。

试题第二空的正确选项为B。根据题意,页面变换表中状态位等于1和0分别表示页面在内存或不在内存,所以1、2、5和7号页面在内存。当访问的页面6不在内存时,系统应该首先淘汰未被访问的页面,因为根据程序的局部性原理最近未被访问的页面下次被访问的概率更小;如果页面最近都被访问过,应该先淘汰未修改过的页面。因为未修改过的页面内存与辅存一致,故淘汰时无须写回辅存,使系统页面置换代价小。经上述分析,1、5和7号页面都是最近被访问过的,但2号页面最近未被访问过,故应该淘汰2号页面。9.【答案】A【解析】SDN(SoftwareDefinedNetwok)的网络架构中包含:控制层、转发层和应用层。10.【答案】B【解析】根据软件产品管理办法第一章第四条:软件产品的开发、生产、销售、进出口等活动应遵守我国有关法律、法规和标准规范。任何单位和个人不得开发、生产、销售、进出口含有以下内容的软件产品:(一)侵犯他人知识产权的;(二)含有计算机病毒的;(三)可能危害计算机系统安全的;(四)含有国家规定禁止传播的内容的;(五)不符合我国软件标准规范的。可以开发未经国家正式批准的软件。其中进口软件,是指在我国境外开发,以各种形式在我国生产、经营的软件产品。11.【答案】C【解析】本题考查的是构件相关知识。构件组装是指将构件库中的构件经过适当修改后相互连接,或者将它们与当前开发项目中的构件元素相连接,最终构成新的目标软件。构件组装技术大致可分为基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。本题C选项不属于构件组装技术。12.【答案】C【解析】本题考查的是计算网络知识。题目中提到了在浏览器发出HTTP请求报文【之前】不可能执行的操作是什么。而C选项是已经发送请求信息了,所以选择C选项。其中A、B、D选项都是在浏览器发出HTTP请求报文之前可以执行的操作。13.【答案】A【解析】需求工程包括需求开发和需求管理两大类活动。其中,需求开发包括:需求获取,需求分析,需求定义,需求验证这些主要活动;而需求管理包括:变更控制、版本控制、需求跟踪和需求状态跟踪这些活动。14.【答案】第1题:D第2题:B【解析】第1题:本题第一空选择D选项。图示展示的是类图的结构。注意区分类图和对象图。对象图标记的是对象名,命名形式对象名:类名,或者:类名。这里没有出现冒号,表示的是类图。对象图(objectdiagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。类图(classdiagram)。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。本题第二空选择B选项。“4+1”视图模型从五个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,五个视图结合在一起才能反映软件架构的全部内容。(1)逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,在设计中要注意保持一个单一的、内聚的对象模型贯穿整个系统。(2)开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,例如,软件开发的容易性、软件的复用性和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统I/O关系的模型图和子系统图来描述。其中类图属于开发视图。(3)进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求,例如,系统的性能和可用性等。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。(4)物理视图。物理视图在UML中被称为部署视图,它主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。当软件运行于不同的物理节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小化。(5)场景视图。场景视图可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景视图是最重要的需求抽象。场景视图对应UML中的用例视图。在开发软件架构时,它可以帮助架构设计师找到构件及其相互关系。同时,架构设计师也可以用场景来分析一个特定的视图,或描述不同视图的构件之间是如何相互作用的。场景视图可以用文本表示,也可以用图形表示。第2题:15.【答案】【问题1】逻辑数据模型设计过程包含的任务:(1)构建系统上下文数据模型,包含实体及实体之间的联系:(2)绘制基于主键的数据模型,为每个实体添加主键属性;(3)构建全属性数据模型,为每个实体添加非主键属性:(4)利用规范化技术建立系统规范化数据模型。包裹单的逻辑数据模型中包含的实体:(1)收件人(主键:电话);(2)寄件人(主键:电话);(3)包裹单(主键:编号)。【问题2】超类实体是将多个实体中相同的属性组合起来构造出的新实体。用户(姓名、电话、单位名称、详细地址)【问题3】派生属性是指某个实体的非主键属性由该实体其他非主键属性决定。包裹单中的总计是由资费、挂号费、保价费、回执费计算得出,所以是派生属性。【解析】【问题1】数据库设计分为概念结构设计、逻辑结构设计物理结构设计:概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS的数据模型,即概念模型。概念模型的表现形式即ER模型。逻辑设计也称为逻辑结构设计,其主要任务是将概念设计阶段设计好的E-R图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(如:关系模式)。物理设计也称为物理结构设计,其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构,所谓数据库的物理结构,主要是指数据库在物理设备上的存储结构和存取方法。【问题2】当较低层次上实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较高层次上实体类型为超类型,反之为子类型。子类到超类的过程为概化,超类到子类的过程为特化。①子类与超类之间具有继承特点,即子类包含了超类的所有属性,并且可以比超类拥有更多的属性。②这种继承性是通过子类实体和超类实体有相同的实体标识符实现的。【问题3】可以从其它属性得来的属性就叫派生属性。包裹图中的“总计”属性是派生属性。可以从资费、挂号费、保价费、回执费累加计算出来。16.【答案】【问题1】E1:客户E2:厨房E3:经理E4:供应商P1:在线订餐P2:厨房备餐P3:生成报表P4:食材采购【问题2】(1)增加E1到P1数据流“餐品订单”;(2)增加P1到P2数据流“餐品订单”;(3)增加D1到P3数据流“订单汇总”;(4)增加P3到E3数据流“统计报表”。【问题3】(1)数据流图中的处理过程可并行;系统流程图在某个时间点只能处于一个处理过程。(2)数据流图展现系统的数据流;系统流程图展现系统的控制流。(3)数据流图展现全局的处理过程,过程之间遵循不同的计时标准;系统流程图中处理过程遵循一致的计时标准。【解析】暂无解析。17.【答案】第1题:A第2题:C【解析】本题考查的是需求管理方面的概念知识内容。软件需求开发的最终文档经过评审批准后,则定义了开发工作的需求基线(baseline)。这个基线在用户和开发人员之间就构筑了计划产品功能需求和非功能需求的一个约定(agreement),它是需求开发和需求管理之间的桥梁。18.【答案】C【解析】本题是对数学建模相关知识的考查。灵敏度分析:通常在决策模型中,自然状态的概率和损益值往往由估计或预测得到,不可能十分准确,此外实际情况也是在不断发生变化的,因此需要分析为决策所用的数据可在多大范围内变动,原最优决策方案继续有效,这就是灵敏度分析。即变量数据是否敏感,在最优方案不变的条件下,这些变量允许变化的范围。本题选择C选项。其他选项与参数变化无关。19.【答案】第1题:D第2题:D第3题:C【解析】本题考查的是系统开发基础的知识。软件生命周期模型又称软件开发模型(softwaredevelopmodel)或软件过程模型(softwareprocessmodel),它是从某一个特定角度提出的软件过程的简化描述。软件过程模型是软件开发实际过程的抽象与概括,它应该包括构成软件过程的各种活动,也就是对软件开发过程各阶段之间关系的一个描述和表示。软件过程模型的基本概念:软件过程是制作软件产品的一组活动以及结果,这些活动主要由软件人员来完成,软件活动主要有如下一些:1、软件描述。必须定义软件功能以及使用的限制。2、软件开发。也就是软件的设计和实现,软件工程人员制作出能满足描述的软件。3、软件有效性验证。软件必须经过严格的验证,以保证能够满足客户的需求。4、软件进化。软件随着客户的需求不断改进。20.【答案】第1题:A第2题:D【解析】第1题:本题考查的是EAI(EnterpriseApplicationIntegration,系统应用集成)相关概念。EAI构建统一标准的基础平台,将进程、软件、标准和硬件联合起来,连接具有不同功能和目的而又独自运行的企业内部的应用系统,以达到信息和流程的共享,使企业相关应用整合在一起。EAI就是在各个应用系统的接口之间共享数据和功能。EAI的基本原则就是集成多个系统并保证系统互不干扰,也就是独立性。因此第一空选择A选项独立性。排他性一般理解为不能共存,因此在这里并不合适。EAI的终极目标就是将多个企业和企业内部的多个应用集成到一个虚拟的、统一的应用系统中。因此实施EAI必须遵循如下原则:应用程序的独立性;面向商业流程;独立于技术;平台无关。EAI提供4个层次的服务,从下至上依次为通讯服务、信息传递与转化服务、应用连接服务、流程控制服务,最上层是流程控制服务,第二空选择D选项。第2题:第2卷一.综合题(共20题)1.单选题(

)是在逆向工程所获取信息的基础上修改或重构已有的系统,产生系统的一个新版本。问题1选项A.逆向分析(ReverseAnalysis)B.重组(Restructuring)C.设计恢复(DesignRecovery)D.重构工程(Re-engineering)2.单选题产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的(

)的集合。问题1选项A.需求规格说明、设计说明、测试报告B.需求规格说明、设计说明、计算机程序C.设计说明、用户手册、计算机程序D.文档、计算机程序、部件及数据3.单选题中间件是提供平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。中间件的基本功能包括:为客户端和服务器之间提供();提供()保证交易的一致性:提供应用的()。问题1选项A.连接和通信B.应用程序接口C.通信协议支持D.数据交换标准问题2选项A.安全控制机制B.交易管理机制C.标准消息格式D.数据映射机制问题3选项A.基础硬件平台B.操作系统服务C.网络和数据库D.负载均衡和高可用性4.单选题SYNFlooding攻击的原理是()。问题1选项A.利用TCP三次握手,恶意造成大量TCP半连接,耗尽服务器资源,导致系统拒绝服务B.操作系统在实现TCP/IP协议栈时,不能很好地处理TCP报文的序列号紊乱问题,导致系统崩溃C.操作系统在实现TCP/IP协议栈时,不能很好地处理IP分片包的重叠情况,导致系统崩溃D.操作系统协议栈在处理IP分片时,对于重组后超大的IP数据包不能很好地处理,导致缓存溢出而系统崩溃5.单选题关于网络延迟正确的是(

)。问题1选项A.对等网络中网络的延迟大小与终端数是无关B.使用路由器进行数据转发,带来的延迟小于交换机C.internet服务能最大限度减小延迟D.服务器延迟主要即r向因素是队列延迟和ID延迟6.单选题软件概要设计将软件需求转化为软件设计的(

)和软件的(

)。

问题1选项A.算法流程B.数据结构C.交互原型D.操作接口问题2选项A.系统结构B.算法流程C.内部接口D.程序流程7.单选题以下关于计算机内存管理的描述中,(

)属于段页式存储管理的描述。问题1选项A.一个程序就是一段,使用基址极限对来进行管理B.一个程序分为需要固定大小的页面,使用页表来进行管理C.程序按逻辑分为多段,每一段内又进行分页,使用段页表来进行管理D.程序按逻辑分为多段,用一组基址极限对来进行管理,基址极限对存放在段表里8.单选题如果A公司购买了一个软件的源程序,A公司将该软件源程序中的所有标识符做了全面修改后,作为该公司的产品销售,这种行为(

)。问题1选项A.尚不构成侵权B.侵犯了著作权C.侵犯了专利权D.属于不正当竞争9.单选题进行系统监视通常有三种方式:一是通过(),如UNIX/Linux系统中的ps、last等;二是通过系统记录文件查阅系统在特定时间内的运行状态;三是集成命令、文件记录和可视化技术的监控工具,如()。问题1选项A.系统命令B.系统调用C.系统接口D.系统功能问题2选项A.Windows的netstatB.Linux的iptablesC.Windows的PerfmonD.Linux的top10.单选题4+1视图模型可以从多个视图或视角来描述软件架构。其中,(

)用于捕捉设计的并发和同步特征;(

)描述了在开发环境中软件的静态组织结构。问题1选项A.逻辑视图B.开发视图C.过程视图D.物理视图问题2选项A.类视图B.开发视图C.过程视图D.用例视图11.单选题以下关于DHCP服务的说法中,正确的是()。

问题1选项A.在一个园区网中可以存在多台DHCP服务器B.默认情况下,客户端要使用DHCP服务需指定DHCP服务器地址C.默认情况下,DHCP客户端选择本网段内的IP地址作为本地地址D.在DHCP服务器上,DHCP服务功能默认开启12.案例题阅读以下关于开放式嵌入式软件架构设计的相关描述,回答问题1至问题3。【说明】某公司一直从事宇航系统研制任务,随着宇航产品综合化、网络化技术发展的需要,公司的业务量急剧增加,研制新的软件架构已迫在眉睫。公司架构师王工广泛调研了多种现代架构的基础,建议采用基于FACE(FutureAirborneCapabilityEnvironment)的字航系统开放式软件架构,以实现字航系统的跨平台复用,实现字航软件高质量、低成本的开发。公司领导肯定了王工的提案,并指出公司要全面实施基于FACE的开放式软件架构,应注意每个具体项目在实施中如何有效实现从需求到架构设计的关系,掌握基于软件需求的软件架构设计方法,并做好开放式软件架构中各段间的接口标准化设计工作。【问题1】(9分)王工指出,软件开发中需求分析是根本,架构设计是核心,不考虑软件需求便进行软件架构设计很可能导致架构设计的失败,因此,如何把软件需求映射到软件架构至关重要。请从描述语言、非功能性需求描述、需求和架构的一致性等三个方面,用300字以内的文字说明软件需求到架构的映射存在哪些难点。【问题2】(10分)图3-1是王工给出的FACE架构布局,包括操作系统、I/O服务、平台服务、传输服务和可移植组件等5个段;操作系统、I0和传输等3个标准接口。请分析图3-1给出的FACE架构的相关信息,用300字以内的文字简要说明FACE5个段的含义。【问题3】(6分)FACE架构的核心能力是可支持应用程序的跨平台执行和可移植性,要达到可移植能力,必须解决应用程序的紧耦合和封装的障碍。请用200字以内的文字简要说明在可移植性上,应用程序的紧耦合和封装问题的主要表现分别是什么,并给出解决方案。13.单选题嵌入式实时操作系统与一般操作系统相比,具备许多特点。以下不属于嵌入式实时操作系统特点的是()问题1选项A.可剪裁性B.实时性C.通用性D.可固化性14.单选题针对二层C/S软件架构的缺点,三层CIS架构应运而生。在三层CIS架构中,增加了一个()。三层CS架构是将应用功能分成表示层、功能层和()三个部分。其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。问题1选项A.应用服务器B.分布式数据库C.内容分发D.镜像问题2选项A.硬件层B.数据层C.设备层D.通信层问题3选项A.表示层B.数据层C.应用层D.功能层15.单选题关于敏捷开发方法的特点,不正确的是()。问题1选项A.敏捷开发方法是适应性而非预设性B.敏捷开发方法是面向过程的而非面向人的C.采用迭代增量式的开发过程,发行版本小型化D.敏捷开发中强调开发过程中相关人员之间的信息交流16.单选题以下关于网络冗余设计的叙述中,错误的是()。问题1选项A.网络冗余设计避免网络组件单点失效造成应用失效B.备用路径与主路径同时投入使用,分担主路径流量C.负载分担是通过并行链路提供流量分担来提高性能的D.网络中存在备用链路时,可以考虑加入负载分担设计17.单选题软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,按照软件架构风格,物联网系统属于(

)软件架构风格。问题1选项A.层次型B.事件系统C.数据线D.C218.单选题假设系统中互斥资源R的可用数为25。T0时刻进程P1、P2、p3、P4对资源R的最大需求数、已分配资源数和尚需资源数的情况如表a所示,若P1和P3分别申请资源R数为1和2,则系统(

)。表aT0时刻进程对资源的需求情况问题1选项A.只能先给P1进行分配,因为分配后系统状态是安全的B.只能先给P3进行分配,因为分配后系统状态是安全的C.可以时后P1、P3.进行分配,因为分配后系统状态是安全的D.不能给P3进行分配,因为分配后系统状态是不安全的19.案例题阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。【说明】某电子商务公司为了更好地管理用户,提升企业销售业绩,拟开发一套用户管理系统。该系统的基本功能是根据用户的消费级别、消费历史、信用情况等指标将用户划分为不同的等级,并针对不同等级的用户提供相应的折扣方案。在需求分析与架构设计阶段,电子商务公司提出的需求、质量属性描述和架构特性如下:(a)用户目前分为普通用户、银卡用户、金卡用户和白金用户四个等级,后续需要能够根据消费情况进行动态调整;(b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;(c)在正常负载情况下,系统应在0.5秒内对用户的商品查询请求进行响应;(d)在各种节假日或公司活动中,针对所有级别用户,系统均能够根据用户实时的消费情况动态调整折扣力度;(e)系统主站点断电后,应在5秒内将请求重定向到备用站点;(f)系统支持中文昵称,但用户名要求必须以字母开头,长度不少于8个字符;(g)当系统发生网络失效后,需要在15秒内发现错误并启用备用网络;(h)系统在展示商品的实时视频时,需要保证视频画面具有1024×768像素的分辨率,40帧/秒的速率;(i)系统要扩容时,应保证在10人•月内完成所有的部署与测试工作;(j)系统应对用户信息数据库的所有操作都进行完整记录:(k)更改系统的Web界面接口必须在4人•周内完成;(l)系统必须提供远程调试接口,并支持远程调试。在对系统需求、质量属性描述和架构特性进行分析的基础上,该系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。【问题1】(13分)针对用户级别与折扣规则管理功能的架构设计问题,李工建议采用面向对象的架构风格,而王工则建议采用基于规则的架构风格。请指出该系统更适合采用哪种架构风格,并从用户级别、折扣规则定义的灵活性、可扩展性和性能三个方面对这两种架构风格进行比较与分析,填写表1-1中的(1)~(3)空白处。【问题2】(12分)在架构评估过程中,质量属性效用树(utilitytree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并选择题干描述的(a)~(1)填入(3)~(6)空白处,完成该系统的效用树。Normal0false7.8磅02falsefalsefalseEN-USZH-CNX-NONENormal0false7.8磅02falsefalsefalseEN-USZH-CNX-NONE20.单选题以下关于计算机软件著作权的叙述中,正确的是(

)。问题1选项A.软件著作权自软件开发完成之日生效B.非法进行拷贝、发布或更改软件的人被称为软件盗版者C.开发者在单位或组织中任职期间所开发软件的著作权应归个人所有D.用户购买了具有版权的软件,则具有对该软件的使用权和复制权第2卷参考答案一.综合题1.【答案】D【解析】所谓软件的逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内将软件某种形式的描述转换成更为抽象形式的活动都可称为逆向工程。与之相关的概念是:重构(restructuring),指在同一抽象级别上转换系统描述形式;设计恢复(designrecovery),指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计的信息(不一定是原设计)。重构/再工程(re-engineering),也称修复和改造工程,它是在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本。本题描述的是重构工程,选择D选项。2.【答案】D【解析】本题考查产品配置的概念。产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、计算机程序、部件及数据的集合。该集合中的每一个元素称为该产品配置的一个配置项。注意选项中的需求规格说明、设计说明等均可归属于文档。3.【答案】第1题:A第2题:B第3题:D【解析】第1题:本题考查的是构件与中间件相关知识。中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源。中间件可以:1、负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。2、提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性。3、提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。4、提供多层架构的应用开发和运行的平台,以及应用开发框架,支持模块化的应用开发。5、屏蔽硬件、操作系统、网络和数据库的差异。6、提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。第2题:第3题:4.【答案】A【解析】本题考查的是SYNFlooding攻击原理相关内容。SYNFlood攻击利用TCP三次握手的一个漏洞向目标计算机发动攻击。攻击者向目标计算机发送TCP连接请求(SYN报文),然后对于目标返回的SYN-ACK报文不作回应。目标计算机如果没有收到攻击者的ACK回应,就会一直等待,形成半连接,直到连接超时才释放。攻击者利用这种方式发送大量TCPSYN报文,让目标计算机上生成大量的半连接,迫使其大量资源浪费在这些半连接上。目标计算机一旦资源耗尽,就会出现速度极慢、正常的用户不能接入等情况。攻击者还可以伪造SYN报文,其源地址是伪造的或者不存在的地址,向目标计算机发起攻击。SYNFlooding攻击与TCP报文的处理过程没有很大的关系。BCD选项错误,A选项正确。5.【答案】D6.【答案】第1题:B第2题:A【解析】第1题:传统软件工程方法学采用结构化设计方法(SD),从工程管理角度结构化设计分为两步:①概要设计:将软件需求转化为数据结构和软件系统结构。②详细设计:过程设计,通过对结构细化,得到软件详细数据结构和算法。第2题:7.【答案】C【解析】段页式存储管理方式即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。8.【答案】B【解析】暂无解析。9.【答案】第1题:A第2题:C【解析】第1题:本题考查的是系统安全相关知识。系统监视的目标是为了评估系统性能。要监视系统性能,需要收集某个时间段内的3种不同类型的性能数据:(1)常规性能数据。该信息可帮助识别短期趋势(如内存泄漏)。经过一两个月的数据收集后,可以求出结果的平均值并用更紧凑的格式保存这些结果。这种存档数据可帮助人们在业务增长时作出容量规划,并有助于在日后评估上述规划的效果。(2)比较基准的性能数据。该信息可帮助人们发现缓慢、历经长时间才发生的变化。通过将系统的当前状态与历史记录数据相比较,可以排除系统问题并调整系统。由于该信息只是定期收集的,所以不必对其进行压缩存储。(3)服务水平报告数据。该信息可帮助人们确保系统能满足一定的服务或性能水平,也可能会将该信息提供给并不是性能分析人员的决策者。收集和维护该数据的频率取决于特定的业务需要。进行系统监视通常有3种方式。一是通过系统本身提供的命令,如UNIX/Liunx中的w、ps、last,Windows中的netstat等,第一空选择A选项。二是通过系统记录文件查阅系统在特定时间内的运行状态;三是集成命令、文件记录和可视化技术,提供直观的界面,操作人员只需要进行一些可视化的设置,而不需要记忆繁杂的命令行参数,即可完成监视操作,如Windows的Perfmon应用程序。第一空选择C选项。Linux的top是基于命令行的,Linux的iptables是基于包过滤的防火墙工具。目前,已经有些厂商提供专业化的监视平台,将上面3种方式集成到一个统一的监控平台,进行统一监控,并提供各类分析数据和分析报表,帮助用户进行性能的评估和诊断。第2题:10.【答案】第1题:C第2题:B【解析】4+1视图中各个部分的情况如下:(1)逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。一般用类图和对象图描述。(2)开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。该视图可描述源代码,系统文件结构。(3)过程视图。过程视图侧重于系统的运行特性,主要关注一些非功能性需求,例如,系统的性能和可用性等。过程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适合进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。(4)物理视图。物理视图在UML中被称为部署视图,它主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。当软件运行于不同的物理节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小化。(5)场景。场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。场景视图对应UML中的用例视图。11.【答案】A【解析】因为客户端要自动获取IP,此时并不知道DHCP服务器在哪,所以B选项有误。DHCP服务可以服务于一个网段,也可以通过DHCP中继服务多个子网,所以C选项有误。在DHCP服务器上,DHCP服务功能需要主动开启,不是默认开启的,所以D选项错误。在一个网段中可以配置多台DHCP服务器,答案选A。12.【答案】【问题1】(1)需求和架构描述语言存在差异:软件需求是频繁获取的非正规的自然语言,而软件架构常用的是一种正式语言。(2)非功能属性难于在架构中描述:系统属性中描述的非功能性需求通常很难在架构模型中形成规约。(3)需求和架构的一致性难以保障:从软件需求映射到软件架构的过程中,保持一致性和可追溯性很难,且复杂程度很高,因为单--的软件需求可能定位到多个软件架构的关注点。反之,架构元素也可能有多个软件需求。【问题2】操作系统服务段:为FACE架构其他段提供操作系统、运行时和操作系统级健康监控等服务。通过开放式OSGi框架为上层功能提供OS标准接口,并可实现上层组件的即插即用能力。I/O服务段:主要针对专用IO设备进行抽象,屏蔽平台服务段软件与硬件设备的关系。由于图形服务软件和GPU处理器紧密相关,因此I/0服务段不对GPU驱动进行抽象。平台服务段:主要是指用户需要的共性软件,如:系统级健康监控(HM).配置、日志和流媒体等服务。本段可包括平台公共服务、平台设备服务和平台图像服务等三类。传输服务段:主要为上层可移植组件段提供平台性的数据交换服务。可移植组件将通过传输服务段提供的服务实现交换,禁止组件间直接调用。可移植组件段:提供了多组件使用能力和功能服务。主要包括公共服务和可移植组件两类。【问题3】紧耦合问题主要表现在:I/O问题、业务逻辑问题和表现问题。解决方案:可采用分离原则,通过隔离实现硬件特定信息和少数模块的代码,减少耦合性。封装问题主要表现在:ICD硬编码问题、组件的紧耦合问题、直接调用问题。解决方案:可以通过提供数据源或槽的软件服务的方法,将紧耦合组件分解出应用程序,并将平台相关部分加入计算环境中,在计算平台内提供数据源或槽的软件服务,并实现接口标准化。【解析】【问题1】软件需求是指为用户解决某一问题或达到某一目标所需的软件功能;系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。软件需求包括三个不同的层次:业务需求、用户需求和功能需求;软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。通常在软件开发过程中,需求会随着开发深入而有所变化,而架构又不能完全地将需求全部反映出来,因此,如何把软件需求映射到软件架构是至关重要一个问题。(1)从描述语言方面来讲:软件需求是频繁获取的非正规的自然语言,而软件架构常用的是一种正式语言。(2)从非功能性需求描述方面来讲:系统属性中描述的非功能性需求通常很难在架构模型中形成规约。(3)从需求和架构的一致性方面来讲:从软件需求映射到软件架构的过程中,保持一致性和可追溯性很难,且复杂程度很高,因为单一的软件需求可能定位到多个软件架构的关注点。反之,架构元素也可能有多个软件需求。【问题2】FACE软件架构是建立在操作系统上的一个三维架构,该架构由操作系统、I/O服务、平台服务(PSS)、传输服务(TSS)、可移植组件五部分组成。该软件架构能够更好的将关注点分离,软件功能能够重用,旨在实现FACE的目标——降低研发和集成的成本。(1)操作系统服务段:为FACE架构其他段提供操作系统、运行时和操作系统级健康监控等服务。通过开放式OSGi框架为上层功能提供OS标准接口,并可实现上层组件的即插即用能力。本段是FACE架构的基本服务段。(2)I/O服务段:主要针对专用I/O设备进行抽象,屏蔽平台服务段软件与硬件设备的关系,形成一种虚拟设备,这里隐含着对系统中的所有硬件I/O的虚拟化。由于图形服务软件和GPU处理器紧密相关,因此I/O服务段不对GPU驱动进行抽象。(3)平台服务段:主要是指平台/用户需要的共性服务软件,主要涵盖跨平台的系统管理、共享设备服务,以及健康管理等。如:系统级健康监控(HM)、配置、日志和流媒体等服务。本段主要包括平台公共服务、平台设备服务和平台图像服务等三类。(4)传输服务段:通过使用传统跨平台中间件软件(如CORBA、DDA等),为平台上层可移植组件段提供平台性的数据交换服务,可移植组件将通过传输服务段提供的服务实现交换,禁止组件间直接调用。本段应具备QoS质量特征服务、配置能力服务以及分布式传输服务等。(5)可移植组件段:为用户软件段,提供了多组件使用能力和功能服务。主要包括公共服务和可移植组件两类。【问题3】可移植性是软件质量之一,良好的可移植性可以提高软件的生命周期。可移植性是指软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。紧耦合就是模块或者系统之间关系太紧密,存在相互调用。紧耦合系统的缺点在于更新一个模块的结果导致其它模块的结果变化,难以重用特定的关联模块。封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。紧耦合问题主要表现在:I/O问题、业务逻辑问题和表现问题。解决方案:可采用分离原则,通过隔离实现硬件特定信息和少数模块的代码,减少耦合性。封装问题主要表现在:

ICD硬编码问题、组件的紧耦合问题、直接调用问题。解决方案:可以通过提供数据源或槽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论