1、高级系统分析师 2010 下半年下午试题 1 及答案解析(总分:124.95,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)阅读以下关于软件系统架构选择的说明,根据要求回答下问题。 说明 某公司欲针对 Linux 操作系统开发一个 KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对 KWIC 系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前的需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档
2、内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对 KWIC 系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序子程序的架构风格,而李工则主张采用管道过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。(分数:24.99)(1).在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用 200 字以内的文字说明什么是软件架构风格,并对主程序子程序和管道过滤器这两种架构风格的特点进行描述。(分数:8.33)_(2).请完成表中的空白部分(用“+”表示优、“-”表示差),对王工和李工提出
3、的架构风格进行评价,并指出采用李工方案的原因。 (分数:8.33)_(3).下图是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)(4)。 (分数:8.33)_二、试题二(总题数:1,分数:25.00)阅读以下关于软件系统数据架构建模的说明,根据要求回答下面问题。 说明 RMO 是一家运动服装制造销售公司,计划在 5 年的时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统 CRSS。RMO 公司决定由其技术部成立专门的项目组负责 CRSS 的开
4、发和维护工作。 项目组在仔细调研和分析系统需求的基础上,确定了基于互联网的 CRSS 系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读写分离结构实现,具有较好的运行性能和可扩展性。 项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。(分数:24.99)(1).请用 300 字以内的文字,说明张工和刘工提出的数据架构的基本思想。(分数:8.33)_(2).在刘工建议的基础上,为了避免 CRSS 系统的单点故障,请用 200 字以内的文字简
5、要说明如何建立CRSS 的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。(分数:8.33)_(3).RMO 公司的销售区域将在未来 5 年大面积扩展,其潜在客户数量也会因此大幅度增加,所以良好的可扩展性是 CRSS 系统所必需的质量属性。请分别说明在集中式和分布式数据架构下,可以采用哪些方法提升系统的可扩展性。(分数:8.33)_三、试题三(总题数:1,分数:25.00)阅读以下关于汽车电子基础软件架构的说明,根据要求回答下面问题。 说明 某软件公司承担了某项国家重点项目的研制工作,任务重点是参考国外汽车的电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企
6、业未来技术发展规划。 该软件公司接受此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的 AUTOSAR 规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图 1 给出了 AUTOSAR 规范所定义的工作包,图中灰色部分代表本项目工作所包含的内容,即软件架构和基础软件。 (分数:24.99)(1).AUTOSAR 规范中要求,汽车电子软件开发流程应尽量满足并发、可多次迭代的特性。为了定义汽车电子的软件开发过程,公司李工和王工分别提出了两种软件开发流程,其开发流程如图 2 和图 3 所示(图中ECU 是指汽车电子中的电子控制单
7、元)。请说明李工和王工谁定义的流程更符合 AUTOSAR 的规定,并说明理由。 图 2 李工设计的流程(分数:8.33)_(2).图 1 中的-1.1.1 项中定义了软件架构和操作系统的要求,图 4 是满足 AUTOSAR 定义的操作系统各功能模块的层次结构,请说明(1)(5)箭头所标的具体操作含义。 (分数:8.33)_(3).AUTOSAR 是一种开放式架构,请用 150 字以内的文字说明采用 AUTOSAR 架构的主要优点,并说明汽车电子 ECU 覆盖汽车的哪三个领域。(分数:8.33)_四、试题四(总题数:1,分数:25.00)阅读以下关于系统设计与开发工具集成的说明,根据要求回答下面
8、问题。 说明 TeleDev 是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统的设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求: (1)目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能。 (2)目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换。 (3)集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系。 (4)
9、集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等。 集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB)作为集成框架的基础架构。(分数:24.99)(1).ESB 是目前企业级应用集成常用的基础架构。请列举出 ESB 的 4 个主要功能,并从集成系统的部署方式、待集成系统之间的耦合程度、集成系统的可扩展性 3 个方面说明为何采用 ESB 作为集成框架的基础架构。(分数:8.33)_(2).在 ESB 基础架构的基础上,请根据题干描述中的 4 个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。(分数:8.33)_(3).请指出在实现工具之间数据格式的
10、灵活转换时,通常采用的设计模式是什么,并对实现过程进行简要描述。(分数:8.33)_五、试题五(总题数:1,分数:25.00)阅读以下信息系统可靠性问题的说明,根据要求回答下面问题。 说明 某软件公司开发一项基于数据流的软件,其系统的主要功能是对输入数据进行多次分析、处理和加工,生成需要的输出数据。需求方对该系统的软件可靠性要求很高,要求系统能够长时间无故障运行。该公司将系统设计交给王工负责。王工给出该系统的模块示意图如图 1 所示。王工解释:只要各个模块的可靠度足够高,失效率足够低,则整个软件系统的可靠性是有保证的。 图 1 王工建议的软件系统模块示意图李工对王工的方案提出了异议。李工认为王
11、工的说法有两个问题:第一,即使每个模块的可靠度足够高,但是整个软件系统模块之间全部采用串联,则整个软件系统的可靠度明显下降。假设各个模块的可靠度均为 0.99,则整个软件系统的可靠度为 0.99 4 0.96;第二,软件系统模块全部采用串联结构时,一旦某个模块失效,则意味着整个软件系统失效。 李工认为,应该在软件系统中采用冗余技术中的动态冗余或者软件容错的 N 版本程序设计技术,对容易失效或者非常重要的模块进行冗余设计,将模块之间的串联结构部分变为并联结构,以此提高整个软件系统的可靠性。同时,李工给出了采用动态冗余技术后的软件系统模块示意图,如图 2 所示。 (分数:24.99)(1).在系统
12、可靠性中,可靠度和失效率是两个非常关键的指标,请分别解释其含义。(分数:8.33)_(2).请解释李工提出的动态冗余和 N 版本程序设计技术,给出图 1 中模块 M2 采用图 2 动态冗余技术后的可靠度。 请给出采用李工设计方案后整个系统可靠度的计算方法,并计算结果。(分数:8.33)_(3).请给出检错技术的优缺点,并说明检测技术常见的实现方式和处理方式。(分数:8.33)_高级系统分析师 2010 下半年下午试题 1 答案解析(总分:124.95,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)阅读以下关于软件系统架构选择的说明,根据要求回答下问题。 说明 某公司欲针对 L
13、inux 操作系统开发一个 KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对 KWIC 系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前的需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对 KWIC 系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序子程序的架构风格,而李工则主张采用管道过滤器的架构风格。在架构评估会议上,大家从系统的算法
14、变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。(分数:24.99)(1).在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用 200 字以内的文字说明什么是软件架构风格,并对主程序子程序和管道过滤器这两种架构风格的特点进行描述。(分数:8.33)_正确答案:()解析:软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。 在主程序子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。 在管道过滤器
15、架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道 根据卡内基梅隆大学软件工程研究所等权威机构的定义,软件架构风格是描述某一类特定应用领域中软件系统的组织方式和惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。 主程序子程序架构风格是一种调用/返回风格,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。该架构风格由单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。子程序通常可合成为模块。过
16、程调用作为交互机制,即充当连接件。调用关系具有层次性,其语义逻辑表现为子程序的正确性取决于它调用的子程序的正确性。 管道过滤器架构风格是一种数据流风格,每个构件都有一组输入和输出,构件接收数据输入,经过内部处理,然后产生数据输出。这个过程通常通过对输入流的变换及增量计算来完成,包括通过计算和增加信息丰富数据,通过浓缩和删除精炼数据,通过改变记录方式转化数据,递增地转化数据等。在输入被完全消耗之前,输出便产生了。这里的构件称为过滤器;构件之间的连接件称为数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。(2).请完成表中的空白部分(用“+”表示优、“-”表示差),对王工和李工提出的架构
17、风格进行评价,并指出采用李工方案的原因。 (分数:8.33)_正确答案:()解析:(1)+ (2)- (3)- (4)- (5)+ (6)- 理由: 根据题干描述“用户后续还有可能采用其他方式展示帮助内容”,说明该 KWIC 系统对功能变更要求较高。 根据题干描述“后续还将采用其他的方法实现这一功能”,说明该 KWIC 系统对实现某一个功能的算法变更要求较高。 该 KWIC 系统是一个支持用户交互的窗口界面程序,因此对性能要求并不高。 该 KWIC 系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高 共享数据的主程序子程序在算法变更方面灵活性较差,算法变更时一般需要重新编
18、译整个系统;在功能变更方面也比较差;在数据表示变更方面也表现比较差,当需要变更时,意味着程序传递参数的变化以及整个程序的调整;在性能方面,由于整个程序处在一个紧耦合的状态下,因此性能较高。 管道过滤器架构风格在算法变更方面实现比较简单,只需要修改过滤器的实现即可;在功能变更方面也比较简单;在数据表示变更方面相对比较复杂,需要同时改变数据格式和过滤器的结构;在性能方面,由于整个系统是松耦合连接在一起的,因此性能不高。 结合题干描述信息“后续还将采用其他的方法实现这一功能”,说明 KWIC 系统对实现某一个功能的算法变更要求较高。通读整个案例,结合常识可知,KWIC 是一个支持用户交互的窗口界面程
19、序,因此对性能要求并不高;KWIC 系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高。综合这些考虑,该公司采用了管道-过滤器的架构风格。(3).下图是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)(4)。 (分数:8.33)_正确答案:()解析:(1)文档检索 (2)查询结果按字母表排序 (3)剪切行首单词 (4)单词插入行尾 根据题干给出的关键信息“该系统接收用户 输入 的 查询 关键字, 依据字母顺序给出相关帮助文档 并根据帮助内容进行循环滚动阅读”和“公司的技术人员决定通过重复 剪切帮助文档中的第一个单词 并将其 插入到行尾 的方式实现帮助文档内容的
20、循环滚动”,结合管道过滤器架构风格的基本框架,该 KWIC 检索系统的流程是:输入文档检索查询结果按字母表排序剪切行首单词单词插入行尾输出。二、试题二(总题数:1,分数:25.00)阅读以下关于软件系统数据架构建模的说明,根据要求回答下面问题。 说明 RMO 是一家运动服装制造销售公司,计划在 5 年的时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统 CRSS。RMO 公司决定由其技术部成立专门的项目组负责 CRSS 的开发和维护工作。 项目组在仔细调研
21、和分析系统需求的基础上,确定了基于互联网的 CRSS 系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读写分离结构实现,具有较好的运行性能和可扩展性。 项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。(分数:24.99)(1).请用 300 字以内的文字,说明张工和刘工提出的数据架构的基本思想。(分数:8.33)_正确答案:()解析:(1)张工提出的集中式数据架构是由一个处理器、与它相关联的数据存储设备以及其他外围设备组成,它被物理地定
22、义到单个位置。系统提供数据处理能力,用户可以在同样的站点上操作,也可以在地理位置隔开的其他站点上通过远程终端来操作。系统及其数据管理被某个或中心站点集中控制。 (2)刘工提出的分布式数据架构使用多个计算机系统上的多个局部数据库系统构成,数据可以在多个不同的局部数据库中进行传送,由不同的数据库管理系统软件进行管理,运行在多种不同的计算机上,支持多种不同的操作系统。这些机器位于(或分布在)不同的地理位置并通过多种通信网络连接在一起。企业数据可以分布在不同的计算机上,一个应用程序可以操作位于不同地理位置的机器上的数据 数据架构定义了信息系统中文件和数据库的分布结构。数据架构建模是以数据为中心,建模业
23、务数据类型和结构,以及设计满足应用需求的数据库系统。传统集中式数据架构是以主机为中心,利用单个的数据库系统来实现数据的集中式存储,物理上所有的数据位于同一个位置。系统提供数据处理能力,用户可以在同样的站点上操作,也可以在地理位置隔开的其他站点上通过远程终端来操作。系统及其数据管理被某个站点或中心站点集中控制。单个数据库服务器结构的主要优点是简单、易维护开发及运行成本低。但由于所有的客户直接请求服务器,容易发生性能瓶颈,如果服务失败,单个服务器不能提供备份和恢复,所有依赖的应用程序都将不能工作。 在现代基于网络的分布式数据架构中,使用多个计算机系统,用户能够访问远程系统的数据,数据可以在多个不同
24、的数据库中进行传送,由不同的数据库管理系统软件进行管理,运行在多种不同的计算机上,支持多种不同的操作系统。这些机器位于(或分布在)不同的地理位置并通过多种通信网络连接在一起。企业数据可以分布在不同的计算机上,一个应用程序可以操作位于不同地理位置的机器上的数据。多个数据库服务器结构的主要优点是系统的容错能力和对广域网容量的需求有所降低,可以采用多种策略提升整个系统的服务质量。由于多个数据库系统分布在不同的网络节点上,位于不同位置的数据之间需要同步和协作,因此系统结构复杂、运行成本高并且维护困难。 在实际应用系统的数据架构建模中,应根据不同的应用需求选择集中式或分布式的数据架构。由于 RMO 要扩
25、展其销售区域,其潜在客户数量也会因此大幅度增加,因此良好的可扩展性是 CRSS 系统所必需的质量属性,并且因为其销售区域扩大后,系统中的数据会存储于不同的地理位置,所以采用分布式数据架构最为合理。(2).在刘工建议的基础上,为了避免 CRSS 系统的单点故障,请用 200 字以内的文字简要说明如何建立CRSS 的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。(分数:8.33)_正确答案:()解析:CRSS 的分布式数据库系统需要由多个局部数据库系统、多个热备份数据库系统和多个数据缓存组成。局部数据库负责数据的写入,多个热备份数拥库系统用以解决单点故障的问题,数据缓存负责为应用提
26、供所读取的数据。 (1)读取数据:应用访问缓存,如果命中则返回,否则从局部数据库系统中读取数据并将数据加载到缓存后返回。 (2)添加数据:采用延迟加载策略,应用将数据直接写入局部数据库。 (3)更改数据:应用更改局部数据库中的数据,将缓存中的数据标记为失效。 (4)删除数据:应用删除局部数据库中的数据,将缓存中的数据标记为失效。 依题意,刘工建议采用分布式的数据架构,并在开发中通过“局部数据库+缓存”的读写分离结构实现。通过缓存层来承载大量的读访问,例如广泛采用的 Mencached,其自身往往不具备持久层存储的功能,通常和数据库一起组成分布式的数据架构,由数据库负责数据持久化存储和写入功能,
27、缓存负责承载大量的并发访问,从而提高了系统的数据处理效率。要避免数据访问的单点故障,通常采用主数据库热备份的方式来实现。因此,该 CRSS的分布式数据库系统需要由多个局部数据库系统、多个热备份数据库系统和多个数据缓存组成。局部数据库负责数据的写入,多个热备份数据库系统用以解决单点故障的问题,数据缓存负责为应用提供所读取的数据。 在读写分离结构中,读取数据时,应用访问缓存,若命中则返回,若没有命中所需数据,则从局部数据库中读取数据并将数据加载到缓存后返回。对于新增、修改和删除操作,需要采用延迟加载的策略。新增数据时,应用将数据直接写入局部数据库;修改和删除数据时,除了修改局部数据库中的内容,还需
28、要将缓存中的数据标记为失效。(3).RMO 公司的销售区域将在未来 5 年大面积扩展,其潜在客户数量也会因此大幅度增加,所以良好的可扩展性是 CRSS 系统所必需的质量属性。请分别说明在集中式和分布式数据架构下,可以采用哪些方法提升系统的可扩展性。(分数:8.33)_正确答案:()解析:集中式数据架构提升系统可扩展性的实现方式包括(但不限于):硬件扩容(增加 CPU 数量、内存容量和磁盘数量);硬件升级(更换高端主机或高速磁盘等)。 分布式数据架构提升系统可扩展性的实现方式包括(但不限于):数据复制、数据垂直切分和水平切分、缓存、全文搜索 在传统的集中式数据架构中,由于只有单个的数据库系统,因
29、此要满足可扩展性的要求,通常是通过硬件的方式来实现,即通过向上扩展(Scale Up)提升系统的可扩展性。具体的实现方式包括(但不限于):硬件扩容(增加 CPU 数量、内存容量和磁盘数量);硬件升级(更换高端主机或高速磁盘等)。 在基于网络的分布式数据架构中,由多个数据库系统共同组成,可以通过更改和优化数据分布来满足系统可扩展性的要求,即通过向外扩展(Scale Out)提升系统的可扩展性。具体的实现方式包括(但不限于):数据复制、数据垂直切分和水平切分、缓存、全文搜索。三、试题三(总题数:1,分数:25.00)阅读以下关于汽车电子基础软件架构的说明,根据要求回答下面问题。 说明 某软件公司承
30、担了某项国家重点项目的研制工作,任务重点是参考国外汽车的电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企业未来技术发展规划。 该软件公司接受此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的 AUTOSAR 规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图 1 给出了 AUTOSAR 规范所定义的工作包,图中灰色部分代表本项目工作所包含的内容,即软件架构和基础软件。 (分数:24.99)(1).AUTOSAR 规范中要求,汽车电子软件开发流程应尽量满足并发、可多次迭代的特性。为了定义汽车电子的软
31、件开发过程,公司李工和王工分别提出了两种软件开发流程,其开发流程如图 2 和图 3 所示(图中ECU 是指汽车电子中的电子控制单元)。请说明李工和王工谁定义的流程更符合 AUTOSAR 的规定,并说明理由。 图 2 李工设计的流程(分数:8.33)_正确答案:()解析:李工设计的流程符合 AUTOSAR 要求,理由是: 李工定义的流程是将软件组件描述、系统描述和 ECU 资源描述同时定义,而王工定义的流程仅仅只做系统描述。 王工定义的流程没有考虑软件组件的描述,只是简单地将软件组件作为第 4 步被集成。 李工定义的 ECU 软件开发流程的优势是明确了项层定义阶段,并行度高,迭代清晰。 汽车开放
32、系统架构(AUTOSAR)是一家致力于制定汽车电子软件标准的联盟,由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自 2003 年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件架构。该架构有利于车辆电子系统软件的交换与更新,并为高效管理愈来愈复杂的车辆电子、软件系统提供了一个基础。此外,AUTOSAR 在确保产品及服务质量的同时,提高了成本效率。 依题意,根据 AUTOSAR 规范对系统设计流程方面的要求,对李工和王工定义的流程进行评价。 在李工提出如图 2 所示的软件开发流程中,将软件组件描述、系统描述和 ECU 资源描
33、述同时定义。该 ECU软件开发流程的优势是明确了项层定义阶段,并行度高,迭代清晰。 在王工提出如图 3 所示的软件开发流程中,仅仅只做系统描述,没有 ECU 资源描述,也没有考虑软件组件的描述,只是简单地将软件组件作为第 4 步被集成。 综上所述,李工定义的流程更符合 AUTOSAR 规范。(2).图 1 中的-1.1.1 项中定义了软件架构和操作系统的要求,图 4 是满足 AUTOSAR 定义的操作系统各功能模块的层次结构,请说明(1)(5)箭头所标的具体操作含义。 (分数:8.33)_正确答案:()解析:(1)操作系统的警报管理发现 ECU 系统出错时,启动错误处理程序。 (2)错误处理程
34、序将具体动作交由进程管理对发生错误的任务进行处理。 (3)错误处理程序产生一个错误事件。 (4)任务控制块处理程序调用资源管理功能,实现硬件资源的重分配。 (5)任务控制块处理程序通知事件管理,对错误事件进行应答。 依题意,在如图 4 所示的操作系统各功能模块的层次结构中,从上至下依次分为资源管理、进程管理和调度、警报管理、事件管理、中断管理 5 个部分。根据图 4 中各模块之间的关系可知,(1)处主要表示当操作系统的警报管理发现 ECU 系统出错时,启动错误处理程序;(2)处表示错误处理程序将具体动作交由进程管理对发生错误的任务进行处理;(3)处表示错误处理程序产生一个错误事件;(4)处表示
35、任务控制块处理程序调用资源管理功能,实现硬件资源的重分配;(5)处表示任务控制块处理程序通知事件管理,对错误事件进行应答。(3).AUTOSAR 是一种开放式架构,请用 150 字以内的文字说明采用 AUTOSAR 架构的主要优点,并说明汽车电子 ECU 覆盖汽车的哪三个领域。(分数:8.33)_正确答案:()解析:采用 AUTOSAR 架构的主要优点: (1)可以有效支持多厂家汽车电子基础软件的研制。 (2)有利于软件的重用,可根据不同的 ECU 结构,通过数据配置,自动生成各种 ECU 软件组件。 (3)AUTOSAR 定义的软件框架支持了汽车电子软件的全生存周期,包括构架、开发、测试、验
36、证、授权、版本和接口。 AUTOSAR 规范覆盖整个汽车电子的三大领域:动力、底盘、车身 采用 AUTOSAR 开放式架构的主要优点包括(但不限于): 具有厂商独立性,可以有效支持多厂家汽车电子基础软件的研制。 有利于软件的重用,可根据不同的 ECU 结构,通过数据配置,自动生成各种 ECU 软件组件。 支持了汽车电子软件的全生存周期,包括构架、开发、测试、验证、授权、版本和接口。 AUTOSAR 规范覆盖整个汽车电子的三大领域:动力、底盘和车身。四、试题四(总题数:1,分数:25.00)阅读以下关于系统设计与开发工具集成的说明,根据要求回答下面问题。 说明 TeleDev 是一个大型的电信软
37、件开发公司,公司内部采用多种商业/开源的工具进行软件系统的设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求: (1)目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能。 (2)目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换。 (3)集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系。 (4)集成框架应能集成一些常用的第三方实用工具,如即时
38、通信、邮件系统等。 集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB)作为集成框架的基础架构。(分数:24.99)(1).ESB 是目前企业级应用集成常用的基础架构。请列举出 ESB 的 4 个主要功能,并从集成系统的部署方式、待集成系统之间的耦合程度、集成系统的可扩展性 3 个方面说明为何采用 ESB 作为集成框架的基础架构。(分数:8.33)_正确答案:()解析:ESB 的主要功能包括: 应用程序的位置透明性; 传输协议转换; 消息格式转换; 消息路由; 消息增强; 安全支持; 监控和管理 理由: 从集成系统的部署方式来看,它能够实现灵活的部署结构,包括 C/S 结构、P2
39、P 结构等。 从待集成系统之间的耦合程度来看,待集成系统只需要和总线进行联系,彼此之间不需要互相通信,从而大大降低了系统的耦合程度。 从集成系统的可扩展性来看,在加入新的待集成系统时,只需要采用插件的方式实现传输协议和数据格式的适配即可,系统的可扩展性较强。 企业服务总线(ESB)是由中间件技术实现的支持面向服务架构(SOA)的基础软件平台,支持异构环境中的服务以基于消息和事件驱动模式的交互,并且具有适当的服务质量和可管理性。ESB 技术的基本思想是:提供一种标准的软件底层架构,各种程序组件能够以服务单元的方式“插入”到该平台上运行,并且组件之间能够以标准的消息通信方式来进行交互。ESB 的基
40、本核心功能包括:应用程序的位置透明性;传输协议转换,即支持多种可以广泛使用的传输协议;消息格式转换,即支持多种数据格式及其相互转换(即多种平台下多种集成方式的支持);提供位置透明性的消息路由和寻址服务;消息增强,即支持多种消息传递模型(如请求/响应、发布/订阅等);安全支持;监控和管理。 采用 ESB 作为集成框架的基础架构,从集成系统的部署方式来看,它能够实现灵活的部署结构,包括 C/S结构、P2P 结构等;从待集成系统之间的耦合程度来看,待集成系统只需要和总线进行联系,彼此之间不需要互相通信,从而大大降低了系统的耦合程度;从集成系统的可扩展性来看,在加入新的待集成系统时,只需要采用插件的方
41、式实现传输协议和数据格式的适配即可,系统的可扩展性较强。(2).在 ESB 基础架构的基础上,请根据题干描述中的 4 个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。(分数:8.33)_正确答案:()解析:需求(1):由于需要共享系统的功能,且系统的运行平台与语言差异较大,应采用面向服务的方式进行功能集成,可将工具的功能包装为服务,实现跨语言与跨平台的访问。 需求(2):工具所支持的通信协议和数据格式各不相同,且需要实现工具之间的灵活通信协议和数据格式交换,因此应基于消息总线,以协议及数据适配器的方式实现灵活的通信协议和数据格式转换。 需求(3):集成框架需要根据实际的软件系
42、统开发流程,灵活、动态地定义系统设计与开发工具之间的协作关系,因此应引入工作流定义语言及其引擎来动态描述工具之间的协作关系。 需求(4):应采用界面集成的方法对第三方工具进行集成,绕过工具内部的复杂处理逻辑 面向服务的企业应用集成是一种基于面向服务体系结构(SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务功能暴露为服务,实现资源共享和系统之间的互操作性,并支持快速地将新的应用以服务的形式加入到已有的集成环境中,增强企业 IT 环境的灵活性。依题意,对于需求(1)“目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能”而言,由于需要共享系统的功能,并且系统的运行平台与语言差