第1题:
阅读以下关于软件架构风格的说明,在答题纸上回答问题1和问题2。 【说明】 某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求: (1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。 (2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖拽和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。 (3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。 针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道-过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。
【问题1】(12分) 请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。 【问题2】(13分) 在对软件系统架构进行设计时,要对架构需求进行分析,针对特定需求选择最为合适的架构风格,因此实际的软件系统通常会混合多种软件架构风格。请对核心需求进行分析,说明为了满足需求(2)和(3),分别应采用何种架构风格,并概要说明采用相应架构风格后的架构设计过程。
【问题1】
软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道-过滤器架构风格则对用户的交互式数据处理支持有限。
从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。管道-过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。
从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式转换提供各种支持。管道-过滤器架构风格通常只能支持有限度的数据格式,并且在数据格式转换方面的灵活性较差。
【问题2】
为了满足需求(2),应该采用解释器架构风格。具体来说,需要:① 为可视化编程元素及其拖拽关系定义某种语言,并描述其语法与语义;② 编写解释器对该语言进行解释;③ 生成对应的脚本语言程序。
为了满足需求(3),应该采用隐式调用架构风格。具体来说,首先需要定义“断点在调试过程中命中”这一事件,并实现当断点命中后的屏幕定位函数。集成开发环境维护一个事件注册表结构,将该事件与屏幕定位函数关联起来形成注册表中的一个记录项。在调试过程中,集成开发环境负责监听各种事件,当“断点在调试过程中命中”这一事件发生时,集成开发环境查找事件注册表,找到并调用屏幕定位函数,从而实现脚本语言编辑界面与调试代码的自动定位。
第2题:
阅读以下说明,回答问题1至问题4,将解答填入对应栏内。
【说明】
某软件开发商通过招标承接了一个企业的电子商务网站的建设任务。目前,编码工作已完成,开始进行测试和调试阶段。
在电子商务系统的测试中,软件测试总体上分成4步:单元测试、集成测试、系统测试和验收测试。以上哪些测试步骤需要企业用户参加?
第3题:
阅读以下说明,回答问题1至问题4。
[说明]
某软件销售公司计划建立商务网站,建立该网站的目的是宣传公司;代理销售各类软件产品、游戏点卡;通过网上调查了解客户的需求;通过会员制度建立稳定的销售群体。请根据以上的描述回答下列问题。
某系统开发商接受任务为该公司开发电子商务网站。该开发商结合销售公司人员成立了项目组,包括:项目经理、系统分析师、程序员、测试员。请在表7-4中空(1)~(4)处填写合适的角色名称。

第4题:
阅读以下关于软件架构的叙述,回答问题1至问题3。
软件架构是指大型、复杂软件的系统结构的设计、规格说明和实施。它以规范的形式装配若干结构元素,从而描述出系统的主要功能和性能需求,同时表述其他非功能性需求(如可靠性、可扩展性、可移植性和可用性等)。软件架构为软件系统提供了一个结构、行为和属性的高级抽象模式,可以使用一个公式来表达:
软件架构={构成系统的元素,指导元素集成的形式,关系和约束}
“4+1”视图模型用五个视图组成的模型来描述软件架构。该模型包含五个主要的视图。
.逻辑视图(Logical View),描述了设计的对象模型,支持系统的功能需求。
.进程视图(Process View),描述了设计的并发和同步特征,支持系统的运行特性。
.物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性,支持系统的拓扑、安装和通信需求。
.开发视图(Development View),描述了在开发环境中软件的静态组织结构,支持软件开发的内部需求。
.场景(Scenario),用来说明重要的系统活动,是其他四个视图在用例(Use Case)驱动下的综合。
软件架构在软件需求与设计之间架起一座桥梁,也是风险承担者进行交流的手段,允许不同的风险承担者找出他们所关心的软件架构问题。假设采用面向对象的设计方法,各个视图涉及的组件(元素)包括:任务、类、模块、节点、步骤等,风险承担者包括最终用户、系统设计师、程序员、经理、项目管理师等。请在下表中的(1)到(7)处填入恰当的内容(空白处不用填)。


第5题:
阅读以下关于嵌入式多核程序设计技术的描述,回答问题 1至问题 3。 【说明】 近年来,多核技术己被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。
【问题1】(12分) 请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么? 【问题2】(6 分) 在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。 【问题3】(7 分) 请根据自己所掌握的多核、多线程的知识,判别表 3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。
第6题:
试题三(共25分)
阅读以下关于汽车电子基础软件架构的说明,在答题纸上回答问题1至问题 3。
【说明】
某软件公司承担了某项国家重点项目的研制工作,任务重点是参考国外汽车电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企业未来技术发展规划。
该软件公司接收此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的AUTOSAR规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图 3-1给出了 AUTOSAR规范所定义的工作包,图中灰色部分代表本项目工作所包含的内容,即软件架构和基础软件。

【问题1】 (7分)
AUTOSAR规范中要求,汽车电子软件开发流程应尽量满足并发、可多次迭代的特性。 为了定义汽车电子的软件开发过程,公司李工和王工分别提出了两种软件开发流程,其开发流程见图 3-2 和 3-3(图中 ECU 是指汽车电子中的电子控制单元)。请说明李工和王工谁定义的流程更符合AUTOSAR的规定,并说明理由。


【问题2】 (10分)
图3-1中的II-1.1.1项中定义了软件架构和操作系统的要求, 图3-4是满足AUTOSAR定义的操作系统各功能模块的层次结构,请说明(1)~(5)箭头所标的具体操作含义。

【问题3】 (8分)
AUTOSAR是一种开放式架构,用150字以内的文字,说明采用 AUTOSAR架构的主要优点,并说明汽车电子ECU覆盖汽车的哪三个领域。
第7题:
阅读下列说明,回答问题1至问题4。
【说明】
某软件销售公司计划建立商务网站,建立该网站的目的是宣传公司;代理销售各类软件产品、游戏点卡;通过网上调查了解客户的需求;通过会员制度建立稳定的销售群体。请根据以上的描述回答下列问题。
某系统开发商接受任务为该公司开发电子商务网站。该开发商结合销售公司人员成立了项目组,包括项目经理、系统分析师、程序员和测试员。请在表14-2中空(1)~(4)处填写合适的角色名称。
表14-2

第8题:
第9题:
第10题:
第11题:
第12题:
第13题:
A公司决定采用基于架构的软件开发方法,以架构为核心对近期所承接的某电子商务企业的在线交易平台进行设计与实现。该电子商务企业要求在线交易平台必须在800 ms内完成客户的交易请求。该电子商务企业所提要求主要对应于()这一软件质量属性,实现并提高该质量属性的架构设计策略不包括()。()A.可用性 B.易用性 C.安全性 D.性能()A.采用优先级调度队列 B.引入并发处理 C.优化相关进程的CPU占用率 D.设置进程监视器
第14题:
阅读以下信息系统项目开发模型的说明,根据要求回答问题1~问题3。
[说明]
在实施一个信息系统项目时,不仅需要管理过程组,也需要工程技术过程组和支持过程组。V模型是在快速应用开发模型基础上演变而来的,由于将开发过程构造成一个V字型而得名,V模型强调软件开发的协作和速度,将软件的实现和验证有机结合起来,在保证较高的软件质量的情况下缩短开发周期。图 2-4为V模型的示意图。

请将图2-4中(1)~(4)空缺处的内容填写完整。

第15题:
阅读以下有关软件工程开发的叙述,回答问题1至问题3,将答案填入对应栏内。
【说明】
V模型是在快速应用开发模型基础上演变而来的,由于将开发过程构造成一个V字型而得名,V模型强调软件开发的协作和速度,将软件实现和验证有机结合起来,在保证较高的软件质量情况下缩短开发周期,下图为V模型的完整诠释。

上图所示的V模型中,与开发阶段中概要设计对应测试阶段称为(1)。在系统或配置项测试阶段处应采用(2)方法。请将(1)和(2)处的内容填入相应位置。
第16题:
阅读以下软件架构设计的问题。
某软件开发公司欲为某电子商务企业开发一个交易平台,支持客户完成网上购物活动中的交易。在系统开发之初,企业对该平台提出了如下要求:
(1) 交易平台必须在1s内完成客户的交易请求。
(2) 该平台必须保证客户个人信息和交易信息的安全。
(3) 当发生故障时,该平台的平均故障恢复时间必须小于l0s。
(4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行交易平台的设计与实现。
[问题1]
软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
[问题2]
请对该交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。
第17题:
阅读以下说明,回答问题 1至问题3,将解答填入答题纸的对应栏内。 【说明】 某IT企业承接了为用户开发 ERP软件系统的项目,并向用户单位派驻了工程师小张负责业务沟通。请围绕小张在工作期间遇到的情况进行分析,并回答相关问题。 情况1: 项目开始后,用户对软件系统的管理流程、业务功能、软件可操作性进行了 调整。经过测算,调整工作会增加 5%的开发成本,并导致软件的实际交付时间推后 40天。 因此小张坚持以双方签订软件合同为准,避免调整工作内容。 情况2: 小张认为软件开发工作需要软件企业和用户双方共同合作完成,希望用户能 参与一部分软件测试工作。而用户认为软件测试工作是软件企业的事情,在软件系统交付前不需要参与测试工作。
【问题 1】(4 分) (1)在情况 1 中小张的处理方式是否合适,并说明理由。 (2) 该案例中,软件企业如何应对用户需求变更。 【问题 2】 (6 分) (1)在情况2 中用户的观点是否合适,并说明理由。 (2) 请选择正确的测试方法并将其与下列软件测试内容连线。
【问题3】 (5 分) (1)软件测试实际上分成如下四个步骤,请给出正确的测试顺序。 ①系统测试 ②组装测试 ③单元测试 ④确认测试 (2) 请简单说明系统测试主要包括哪些部分。
第18题:
阅读下列说明,回答问题1至问题3。
【说明】
某公司希望开展电子商务业务,委托其技术开发部进行网站规划与开发。张工是项目负责人,他在进行项目规划、需求分析、开发与设计过程中,要制定相应的软件测试计划并实施测试。
软件测试步骤的关系关联图如图14-5所示,请将图中的步骤(1)、(2)补充完整。
第19题:
PH系统集成开发公司决定采用基于架构的软件开发方法,以架构为核心对近期所承接的某电子商务企业的交易平台进行设计与实现。该电子商务企业要求交易平台必须保证客户个人信息和交易信息的安全;当发生故障时,该平台的平均故障恢复时间(MTBF)必须小于5分钟。该电子商务企业所提的两个要求分别对应于__________软件质量属性。 A.健壮性、可测试性 B.安全性、可用性 C.可靠性、可变性 D.功能性、性能
第20题:
第21题:
第22题:
阅读下列说明,回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统,该系统准备利用B/S架构,用户通过网上注册、登录,登录成功后,可进行在线学习辅导。目前常用的系统架构有B/S架构和C/S架构,请说明这两个架构的含义和原理。
第23题: