系统架构设计师 模拟试题 系统架构设计师模拟题5_第1页
系统架构设计师 模拟试题 系统架构设计师模拟题5_第2页
系统架构设计师 模拟试题 系统架构设计师模拟题5_第3页
系统架构设计师 模拟试题 系统架构设计师模拟题5_第4页
系统架构设计师 模拟试题 系统架构设计师模拟题5_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

系统架构设计师模拟题5

【简答题】A公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组最终决定采用Java企业版平台作为系统开发运行的基础平台。<br/>【问题1】<br/>请在以下平台特点(1)~(9)中,选择出.NET平台与Java企业版平台各自具备的优势填入表5-1的(a)~(f)项中,选择出两个平台共有的特点填入表5-1的(g)~(i)项中。<br/>(1)良好跨平台可移植性支持<br/>(2)易于部署与配置<br/>(3)多程序设计语言支持<br/>(4)良好的Web多层应用开发支持<br/>(5)丰富的多厂商外部支持<br/>(6)良好的O/R(对象/关系)映射支持<br/>(7)针对特定平台的优化支持<br/>(8)良好的源代码以外的可定制性支持<br/>(9)良好的Web服务支持<br/>表5-1.NET平台与Java平台的优势对比<br/>【问题2】<br/>MVC(Model-View-Controller)模式是Web应用系统开发中常用的一种软件架构模式。请分别针对基于EJB的重量级框架和基于Struts等的轻量级框架,说明MVC模式中的各组件应采用何种构件实现。<br/>项目组在进行需求调研时,发现用户界面部分的变动可能会比较频繁,因此需要降低系统界面与业务逻辑之间的耦合度。MVP(Model-View-Presenter)模式是由MVC模式派生出的一种设计模式,其主要目的是降低MVC模式中模型(Model)与视图(View)的耦合度,请用300字以内文字,从组件耦合度、组件分工及对开发工程化支持等三方面说明MVP模式与MVC模式的主要区别。<br/>【问题3】<br/>因为系统中大量业务逻辑涉及企业的核心商业数据,为保证系统数据一致性,完善的事务(Transaction)控制是系统实现时必需考虑重要因素之一。请用200字以内文字说明事务的基本特征,并简单描述EJB规范中提供的两种事务控制的基本方法。

1、【问题1】<br/>(a)~(c):(2)、(3)、(7),以上三个答案顺序可调换;<br/>(d)~(f):(1)、(5)、(8),以上三个答案顺序可调换;<br/> (g)~(i):(4)、(6)、(9),以上三个答案顺序可调换;<br/>【问题2】<br/>在基于EJB的重量级框架中,实现的构件分别为:<br/>模型(Model):由EJB构件实现<br/>视图(View):由JSP构件实现<br/>控制器(Controller):由Servlet构件实现<br/>在基于Struts等的轻量级框架中,实现的构件分别为:<br/>模型(Model):由JavaBean构件实现<br/>视图(View):由JSP构件实现<br/>控制器(Controller):由Servlet构件实现<br/>MVP模式与MVC模式的主要区别为:<br/>(1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离,而在MVC模式中,视图直接与模型交互。<br/>(2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件,而在MVC模式中这通常是由控制器完成的工作;在MVP模式中,系统核心业务逻辑组织集中在Presenter中,而在MVC模式中,相应的控制器通常只完成事件的分发。<br/>(3)在开发工程化支持方面:MVP模式可更好地支持单元测试,而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试;在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。<br/>【问题3】<br/>事务的基本特征包括:<br/>原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。<br/>一致性:在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。<br/>隔离性:两个事务的执行是互不干扰的,两个事务时间不会互相影响。<br/>持久性:在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。<br/>EJB规范支持的两种事务控制方法为:<br/>容器维护的事务(ContainerManagedTransaction,CMT):由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。<br/>Bean维护的事务(BeanManagedTransaction,BMT):由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(JavaTransactionAPI,JTA)进行控制,Bean维护的事务可以跨越方法的边界。

答案:

解析:【简答题】某公司要在现场开发一个网站应用系统,该系统的特点是:规模不大;工期短;用户需求不明确;没有大的技术风险;系统中的一些模块可以外包给其他的公司开发。在选择开发过程时,项目组内产生了分歧。<br/>王工提出采用XP(eXtremeProgramming,极限编程),理由是XP方法简洁,能减轻开发人员的负担、快速适应市场、缩短投资回收期。<br/>李工认为采用XP在项目开发中存在一些问题,建议考虑原型开发方法。<br/>双方就上述的问题展开了激烈的争论。项目组最后决定采用XP,但同时针对李工提出的XP中存在的问题采取了相应的措施。<br/>【问题1】<br/>小规模发布(smallrelease)是XP的基本元素之一。请用200字以内文字分别阐明:<br/>(1)原型系统和XP小规模发布的系统的主要差别?<br/>(2)为什么该项目组没有采用原型开发方法?<br/>【问题2】<br/>请用200字以内文字,简要说明采用XP方法可能会存在哪些问题。<br/>【问题3】<br/>在项目组的后续讨论中,李工提出,如果项目规模扩大,XP将不再适用。王工对此表示赞同,但同时提出可以将XP方法和传统软件开发过程相结合。请用200字以内的文字简要地说明如何将XP方法和传统软件开发过程相结合。

1、【问题1】<br/>(1)原型系统和XP小型发布的系统的主要差别是功能。采用原型系统主要是让用户确认需求,或者用来测试关键的技术,但是它展示的功能并不是实际系统的功能,不能用来评价实际的系统;XP小型发布的系统考试时不包括足够的功能,但是每个功能和可发布的产品的定义是一样的。在完整性上,它配备了一系列实用的功能集;在质量上,它可以健壮地运行。<br/>(2)在该项目中,不需要开发原型系统。<br/>由于项目没有大的技术风险,所以不需要用原型系统来测试关键技术。<br/>网站系统的开发和原型系统的开发在工作量上是相当的,在时间要求短的情况下,直接开发系统可以节省时间。<br/>对于用户需求经常发生变化的情况,可以采用XP开发方法的代码重构、持续集成和小型发布等技术。<br/>【问题2】<br/>(1)开发团队、管理层,以及客户的不理解,阻碍XP方法论实施。<br/>(2)导致开发团队忽视文档,以XP为借口拒绝编写甚至是必须的文档。<br/>(3)XP是针对单一团队设计的,外包方的参与将会为有效的组织带来很大的困难。<br/>(4)缺乏客户的参与,导致用户故事编写、优先级确认等工作遇到困难。<br/>(5)项目规模扩大后,XP方法论将不适应。<br/>(6)对客户、开发人员和管理者的素质要求较高。<br/>【问题3】<br/>(1)可以将XP和传统软件开发过程中的增量式开发过程相结合。<br/>(2)将大规模项目划分为若干个具有共同目标的小规模项目,用XP方法论组织小项目开发,用传统软件过程方法论监控全局。<br/>(3)在此基础上,建立面向目标的项目管理。

答案:

解析:【简答题】某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:<br/>(1)小张提出先构建系统流程图(SystemFlowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出;<br/>(2)小李提出先构建系统数据流图(DataFlowDiagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图2-1所示。<br/>项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图2-1的数据流图中存在的错误。<br/>【问题1】<br/>流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。<br/>【问题2】<br/>请分析指出图2-1所示的数据流图中存在的错误及其原因,并针对图2-1的1层数据流图绘制出情报分类子系统的0层数据流图。<br/>【问题3】<br/>高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。

1、【问题1】<br/>数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。<br/>流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。<br/>两者的区别主要包括:<br/>(1)数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。<br/>(2)数据流图展现系统的数据流;流程图展现系统的控制流。<br/>(3)数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。<br/>(4)数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理模阶段。<br/>【问题2】<br/>如图所示的数据流图中存在的错误有以下4种:<br/>(1)"分类训练"加工:只有输入没有输出,产生数据黑洞;<br/>(2)"分类处理"加工:有输出没有输入,无中生有;<br/>(3)"规则文件"数据流:外部实体没有经过加工处理,直接到数据存储;<br/>(4)"配置信息"数据流:外部实体之间没有加工处理,存在直接数据流。<br/><imgsrc="//test/tk/view/upload/ueditor/20210521/1621564677989-93d705ec-07a8-46da-a080-b5e4c88340ef.png"title="256.png"alt="256.png"/>【问题3】<br/>高质量数据流图设计时应考虑的三个原则:<br/>(1)复杂性最小化原则。DFD分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个DFD。如果要了解某个过程更加详的信息,可以跳转到该过程的下一层;如果要知道一个DFD如何与其他DFD相关联,可以跳转到上一层的DFD进行考查。<br/>(2)接口最小化原则。接口最小化是复杂性最小化的一种具体规则。在设计模式时,应使得模型中各个元素之间的接口数或连接数最小化。<br/>(3)数据流一致性原则。一个过程和它的过程分解在数据流内容中是否有差别?是否存在有数据流出但没有相应的数据流入的加工?是否存在有数据流入但没有相应的数据流出的加工?

答案:

解析:【简答题】A公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。<br/>系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下:<br/>(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms(称为5ms任务)。<br/>(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令(称为20ms任务)。<br/>(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据(称为60ms任务);<br/>(4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms(称为1s任务)。<br/>A公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工提出为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。<br/>【问题1】<br/>请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?<br/>【问题2】<br/>李工和王工通过认真地对需求进行分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。<br/>【问题3】<br/>根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。

、【问题1】<br/>采用嵌入式实时操作系统的主要理由及优点:<br/>操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。<br/>采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。<br/>选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:<br/>(1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。<br/>(2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。<br/>(3)操作系统对可靠性有较强的保障支持能力。<br/>(4)使用简单,支撑环境配套好,可配置、可剪裁能力强。<br/>【问题2】<br/>嵌入式实时系统中时间性能评估主要考虑以下几个因素:<br/>(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。<br/>(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。<br/>(3)任务的上下文切换时间和中断响应时间。<br/>针对本题的具体数据,系统的工作时序关系应该是:<br/>系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。<br/>【问题3】<br/>优先级策略:小周期优先策略。<br/>数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。

答案:

解析:本题主要考查嵌入式系统的操作系统设计或选型要求,考查在保证完成各个实时任务的前提下,如何设计任务调度方案。<br/>【问题1】<br/>实时系统是指系统计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统错误,严重情况下会产生灾难性后果。实时系统在经济、航天、军事、科学等多个领域中起着重要的作用。<br/>实时操作系统主要负责实时系统的任务调度、资源分配、系统检测、可靠性保证等,并提供简单、易用的使用开发接口,为保证实时性,其内核应该是"短小精干",执行时占用CPU时间和其他开销很少。根据情况,实时操作系统可以直接在裸机上开发,也可直接应用商用嵌入式实时操作系统。<br/>李工认为在裸机上直接开发实时性好,王工认为采用嵌入式实时操作系统可靠性好。系统并没有给出拟采用的操作系统的具体性能指标,但题目中指出"课题组最后采用了王工的建议",可以判断该操作系统既有好的可靠性,又能满足实时性要求。<br/>【问题2】<br/>系统的任务按照执行的周期进行了分类,包括5ms任务(即在5ms、10ms、15ms等时刻,该任务需要被唤醒执行)、20ms任务、60ms任务和1s任务(系统软硬件测试)。<br/>系统的最小时间节拍定义为5ms,系统最大工作周期(或称主时间框架)为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。工作流程如图8-1所示。<br/>【问题3】<br/>根据图8-1,可知需要采用小周期优先策略,即任务优先级排序从低到高为1s任务→60ms任务→20ms任务→5ms任务。<br/>因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。所以,422接口适合采用中断方式。<br/>双口存储器和离散量接口由于是直接访问存储器,所以采用查询方式比较合适。<br/>A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。【简答题】某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。图4-1给出了该系统的简化示意图。表4-1描述了各种系统输入的含义。<br/>表4-1定速巡航控制系统输入说明<br/>公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。<br/>在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。<br/>【问题1】<br/>在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。<br/>【问题2】<br/>用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。<br/>【问题3】<br/>实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。

1、【问题1】<br/>软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。<br/>面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此

温馨提示

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

评论

0/150

提交评论