1、信息系统工程技术知识(三)及答案解析(总分:101.00,做题时间:90 分钟)一、单项选择题(总题数:48,分数:101.00)1.下列关于软件测试技术的叙述,不正确的是_。A用黑盒测试的结论分辨数据库或系统层面的错误B要满足较高的覆盖准则,路径数量有可能非常庞大。C搭建测试环境时必须尽可能地于真实环境一致。D兼容性验证测试和用户环境模拟测试可以不同。(分数:2.00)A.B.C.D.2.在会议上,由参与人员阅读程序,利用测试数据人工进行程序,对输出结果进行审查,以达到测试的目的,这种测试方法是_。A软件审查 B代码走查 C技术评审 D代码审查(分数:2.00)A.B.C.D.3.在信息系统
2、工程建设过程中,_不属于配置管理工具。A文档版本信息表 B系统变更流程C系统用用户权限表 D基线(分数:2.00)A.B.C.D.4.下列选项中不适用于判断和评价程序复杂度的是_。A执行路径数 B算法的难易程度C系统用户数 D程序有无注释(分数:2.00)A.B.C.D.5.软件错误产生的原因很多,_不是导致软件错误的主要原因。A测试错误 B设计错误C编码错误 D软件需求规格说明错误(分数:2.00)A.B.C.D.6.SOA应用体系架构主要优点是_。A提高整体性能 B有利于应用集成C提高安全性 D有利于硬件集成(分数:2.00)A.B.C.D.7.非常明确地标明了软件开发测试过程中存在的不同
3、级别,且清楚地描述了这些测试阶段和开发过程各阶段的对应关系_。A螺旋模型 B喷泉模型C瀑布模型 DV 模型(分数:2.00)A.B.C.D.8.软件生存周期一般划分为六个阶段,包括软件项目计划、软件需求分析和定义、软件设计、程序编码、软件测试以及_。A部署实施 B调整完善 C运行维护 D结项验收(分数:2.00)A.B.C.D.9.软件可行性研究一般不考虑_。A是否有足够的人员和资金来支持系统开发B是否有足够的工具和相关的技术来支持C待开发软件是否有市场、经济上是否合算D待开发的软件是否会有质量问题(分数:2.00)A.B.C.D.10.软件测试的目的是_。A评价软件的质量 B发现软件的错误C
4、找出软件的所有错误 D证明软件是正确的(分数:2.00)A.B.C.D.11._属于软件详细设计阶段的任务。A算法设计 B功能设计 C调用关系设计 D输入/输出设计(分数:2.00)A.B.C.D.12.需求分析中开发人员应该主要从用户那里了解_。A软件做什么 B使用界面 C输入的信息 D软件的规模(分数:2.00)A.B.C.D.13.下述 CMM四个能力成熟度等级,级别最高的是_。A已定义级 B优化级 C可重复级 D已管理级(分数:2.00)A.B.C.D.14.软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的_。A接口 B软件环境 C信息项 D版本(分数:2.00)A.B.C
5、.D.15.好的软件结构应该是_。A高耦合、高内聚 B低耦合、高内聚C高耦合、低内聚 D低耦合、低内聚(分数:2.00)A.B.C.D.16.下列选项中,影响软件可维护性最直接的因素是_。A文档 B资金 C程序代码 DMTTF(分数:2.00)A.B.C.D.17.软件质量因素不包括_。A正确性 B高性能 C可测试性 D可理解性(分数:2.00)A.B.C.D.在 UML提供的图中,_一用于描述系统与外部系统及用户之间的交互;_用于按时间顺序描述对象之间的相互。(分数:4.00)(1).A用例图 B类图 C对象图 D部署图(分数:2.00)A.B.C.D.(2).A网络图 B状态图 C协作图
6、D序列图(分数:2.00)A.B.C.D.18.面向对象分析与设计技术中,_是类的一个实例。A对象 B接口 C构件 D设计模式(分数:2.00)A.B.C.D.19.以下关于软件需求分析的说法中,不正确的是_。A需求分析需要进行软件功能和性能的技术实现方法的描述B需求分析文档可用于指导后续的开发过程C软件需求包括业务需求、用户需求、功能需求和非功能需求等D软件需求一般应由用户方组织进行确认(分数:2.00)A.B.C.D.20.软件的_反映了组织机构或客户对系统、产品高层次的目标要求。A业务需求 B技术先进性 C功能需求 D性能需求(分数:2.00)A.B.C.D.21.统一建模语言 UML中
7、用来反映代码的物理结构的是_。A用例图 B协作图 C组件图 D状态图(分数:2.00)A.B.C.D.22.在面向对象软件开发方法中,一个对象一般由_组成。A名称、消息、函数 B名称、属性C对象名、属性、消息 D属性、方法(分数:2.00)A.B.C.D.配置管理是软件质量保证的重要一环。软件配置管理的基本任务包括配置标识、版本管理、变更管理、_和配置报告。在配置管理库中,受控库(CL)通常以_为单位建立并维护。(分数:4.00)(1).A配置组管理 B配置对象管理 C配置审核 D配置库管理(分数:2.00)A.B.C.D.(2).A开发项目 B配置管理项 C子系统 D软件产品(分数:2.00
8、)A.B.C.D.23.因为 JAVA平台_,所以具有较强的可移植性。A具有强大的数据操作和事务处理能力B采用 JAVA虚拟机技术C可用的组件较多,功能丰富D适用于分布式系统,支持多层架构应用(分数:2.00)A.B.C.D.24.在面向对象编程及分布式对象技术中,_是类和接口的集合。A对象 B组件 C实例 D属性(分数:2.00)A.B.C.D.ISO/IEC 9126定义的软件质量特性,包括功能性、可靠性、_、效率、可维护性和可移植性。成熟性子特性属于软件的_质量特性。(分数:4.00)(1).A稳定性 B适合性 C易用性 D准确性(分数:2.00)A.B.C.D.(2).A功能性 B可靠
9、性 C可维护性 D可移植性(分数:2.00)A.B.C.D.25._是系统建模的替代方法,是可选的系统设计方法,经常用于系统开发项目中,特别是用户难以陈述或者可视化业务需求时。A设计用例 B数据建模 C结构化功能需求 D建立原型(分数:2.00)A.B.C.D.26.面向对象开发技术中,对象定义为系统中用来描述客观事物的一个实体,对象之间通过_执行有关操作。A信息共享 B调用 C继承 D消息(分数:2.00)A.B.C.D.27._基准程序规范用于评价计算机在事务处理、数据处理、企业管理等方面的性能。ALinpack BSPEC CTPC DMFLOPS(分数:2.00)A.B.C.D.28.
10、数据字典应在_阶段建立。A前期规划 B需求分析 C概要设计 D详细设计(分数:2.00)A.B.C.D.29.软件质量保证活动应贯穿软件开发的全过程,下列有关叙述中不正确的是_。A必须及时将软件质量保证工作及结果通知给相关组织和个人B软件质量保证是 CMMI 1级的一个关键过程域C应对软件质量进行阶段性评审,并形成完整的评审记录D软件质量保证工作需要企业最高领导者参与(分数:2.00)A.B.C.D.数据流程图(DFD)是一种能全面地描述信息系统逻辑模型的主要工具,在数据流程图中方框表示_,_不属于数据流程图的基本成分。(分数:4.00)(1).A数据流 B数据的源点或终点C数据存储 D加工(
11、分数:2.00)A.B.C.D.(2).A外部实体 B处理过程C数据结构 D数据流(分数:2.00)A.B.C.D.30._不是 Web性能测试的基本指标。A响应时间 B吞吐量 C登录系统用户数 D资源利用率(分数:2.00)A.B.C.D.31.常用的设计模式可分为_等三类。A对象型、实现型和结构型 B创建型、结构型和行为型C抽象型、过程型和实现型 D创建型、接口型和行为型(分数:2.00)A.B.C.D.32._不是基于组件的开发模型的特点。A使软件的版本控制更为简单B支持可重用组件的开发C与面向对象技术相结合将获得更好的应用效果D提高了项目开发效率,增加了项目开发成本(分数:2.00)A
12、.B.C.D.33.为扩充功能或改善性能而进行的修改,属于_。A纠错性维护 B适应性维护 C预防性维护 D完善性维护(分数:2.00)A.B.C.D.34._一般不作为需求分析阶段所使用的工具或方法。A头脑风暴法 BU/C 矩阵 C数据流程图 D需求跟踪表(分数:2.00)A.B.C.D.35.原型法是面向用户需求而开发的一个或多个工作模型,以下关于原型法的叙述不正确的是_。A可以减少文档的数量 B可以逐步明确系统的特征C开发人员可以从实践中快速获得需求 D可以改善开发人员与用户的交流(分数:2.00)A.B.C.D.36.软件需求分析方法中不属于模型驱动法的是_。ASA(结构化分析) BIE
13、(信息工程建模)COOA(面向对象分析) DRAA(快速架构分析)(分数:2.00)A.B.C.D.37.下列关于软件质量保证活动要素的叙述中,不正确的是_。A质量保证人员不能是兼职的B软件开发必须严格按照软件开发规范进行C验证和确认软件质量所用的方法有评审、审查、审计、分析、演示、测试等D应在软件开发过程中及时记录与质量保证有关的活动(分数:2.00)A.B.C.D.38.在软件需求调研过程中,用户要求承建单位搭建的业务系统采用 SOA架构实现,且须遵循用户内部的数据维护与管理规范、信息分类编码规范等制度进行数据库设计,这类需求属于_。A目标需求 B业务需求 C功能需求 D非功能性需求(分数
14、:2.00)A.B.C.D.39.UML提供了几种不同的图用于组成不同的视图,下列不属于静态图的是_。A用例图 B类图 C序列图 D配置图(分数:2.00)A.B.C.D.40.黑盒测试是将被测试程序看成一个黑盒子,不考虑程序内部结构的情况,而只考虑程序的输入与输出之间的关系,下列属于典型黑盒测试方法的是_。A等价类划分法 B静态结构分析法C代码检查法 D代码覆盖率分析法(分数:2.00)A.B.C.D.41.根据程序流程图所示,满足条件覆盖的用例是_。(分数:2.00)A.B.C.D.42.在软件产品交付后产品仍然需要不断进行修改,其中用来检测和纠正软件产品中的潜在故障,使其不成为有效故障的
15、行为是_。A完善性维护 B适应性维护 C改正性维护 D预防性维护(分数:1.00)A.B.C.D.43.构件设计的原则是_。A低内聚高耦合 B高内聚低耦合C低内聚低耦合 D高内聚高耦合(分数:1.00)A.B.C.D.44.下列关于 GB/T 85672006计算机软件文档编制规范的叙述,不正确的是_。A该标准规定了软件开发过程中文档编制的布局B该标准规定了何种信息对于文档管理者是可用的C该标准是软件开发过程中文档编写质量的检验准则D该标准规定了软件开发过程中文档编制的内容(分数:1.00)A.B.C.D.信息系统工程技术知识(三)答案解析(总分:101.00,做题时间:90 分钟)一、单项选
16、择题(总题数:48,分数:101.00)1.下列关于软件测试技术的叙述,不正确的是_。A用黑盒测试的结论分辨数据库或系统层面的错误B要满足较高的覆盖准则,路径数量有可能非常庞大。C搭建测试环境时必须尽可能地于真实环境一致。D兼容性验证测试和用户环境模拟测试可以不同。(分数:2.00)A. B.C.D.解析:软件测试按使用的测试技术不同可以将测试分为静态测试和动态测试,进一步地可以将静态测试分成静态分析和代码审查,将动态测试分成白盒测试和黑盒测试。代码审查(包括代码评审和走查)主要依靠有经验的程序设计人员根据软件设计文档,通过阅读程序,发现软件错误和缺陷。代码审查一般按代码审查单阅读程序,查找错
17、误。代码审查的内容包括:检查代码和设计的一致性;检查代码的标准性、可读性;检查代码逻辑表达的正确性和完整性;检查代码结构的合现性等。代码审查虽然在发现程序错误上有一定的局限性,但它不需要专门的测试工具和设备,且有一旦发现错误就能定位错误和一次发现一批错误等优点。静态分析主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。静态分析一般由计算机辅助完成。静态分析的对象是计算机程序,程序设计语言不同,相应的静态分析工具也应不同。目前具备静态分析功能的软件测试工具有很多,如 Purify、Macabe 等。白盒测试是一种按照程序内部的逻辑结构和编码结构设计并执行测试用例的测试方法。采用这种测
18、试方法,测试者需要掌握被测程序的内部结构。白盒测试通常根据覆盖准则设计测试用例,使程序中的每个语句、每个条件分支、每个控制路径都在程序测试中受到检验。白盒测试需要运行程序,并能在运行过程中跟踪程序的执行路径。黑盒测试是一种从软件需求出发,根据软件需求规格说明设计测试用例,并按照测试用例的要求运行被测程序的测试方法。它较少关心程序内部的实现过程,侧重于程序的执行结果,将被测程序看成是不可见的黑盒子,因此被称为黑盒测试。黑盒测试着重于验证软件功能和性能的正确性,它的典型测试项目包括功能测试、性能测试、边界测试、余量测试和强度测试等。2.在会议上,由参与人员阅读程序,利用测试数据人工进行程序,对输出
19、结果进行审查,以达到测试的目的,这种测试方法是_。A软件审查 B代码走查 C技术评审 D代码审查(分数:2.00)A.B. C.D.解析:代码审查(包括代码评审和走查)主要依靠有经验的程序设计人员根据软件设计文档,通过阅读程序,发现软件错误和缺陷。代码审查一般按代码审查单阅读程序,查找错误。代码审查的内容包括:检查代码和设计的一致性;检查代码的标准性、可读性;检查代码逻辑表达的正确性和完整性;检查代码结构的合理性等。代码审查虽然在发现程序错误上有一定的局限性,但它不需要专门的测试工具和设备,且有一旦发现错误就能定位错误和一次发现一批错误等优点。3.在信息系统工程建设过程中,_不属于配置管理工具
20、。A文档版本信息表 B系统变更流程C系统用用户权限表 D基线(分数:2.00)A.B.C. D.解析:软件配置管理包括 4个主要活动:配型识别、变更控制、状态报告和配置审计。软件配置管理工具包括追踪工具、版本管理工具和发布工具。其中选项 A属于版本管理,选项 B系统变更流程属于追踪工具,选项 D基线属于发布工具。选项 C系统用户权限表不属于配置管理工具,它应该在建立配置管理系统时考虑的。4.下列选项中不适用于判断和评价程序复杂度的是_。A执行路径数 B算法的难易程度C系统用户数 D程序有无注释(分数:2.00)A.B.C. D.解析:复杂度的种类分为模块、类和程序三种复杂度。模块复杂度包含了关
21、于模块的复杂度信息,类复杂度是针对那些面向对象特性的程序,它包含了关于类的复杂度信息;程序复杂度包含了关于程序的复杂度信息。而判断一个程序复杂度,从程序设计中的路径执行数和数据结构与算法和在编码时是否遵循的标准的编码规范与否都可以影响到在程序设计时,如果路径设计越复杂,执行路径的效率就会越受到相应的影响,程序的易读性也会受到影响。同一问题可以用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适的算法和改进算法,一个算法的评价主要从时间复杂度和空间复杂度来考虑。软件开放是工程性的工作,所以要有规范,在进行程序设计时要遵循标准的规范进行编码,这样能增加软件的可
22、靠性、易读性和易维护性。5.软件错误产生的原因很多,_不是导致软件错误的主要原因。A测试错误 B设计错误C编码错误 D软件需求规格说明错误(分数:2.00)A. B.C.D.解析:在软件开发过程中,造成错误的原因有很多,比如程序员的大意造成的编码错误,语法错误等。测试是为了评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试不是导致软件错误的原因,软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为,需要选取适当的测试用例。测试不仅是检查预防措施是否有效的主要手段,而且是识别由于某种原因预防措施无效而产生的错误的主要手段。需要注意的是,在广泛的测试活动成功完
23、成后,软件可能仍有错误,交付后出现的软件失效的补救措施是通过软件维护来达成的。6.SOA应用体系架构主要优点是_。A提高整体性能 B有利于应用集成C提高安全性 D有利于硬件集成(分数:2.00)A.B. C.D.解析:SOA,即面向服务的架构,是一种在计算机环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法。在 SOa模型中,所有的功能都定义成独立的服务。服务之间通过交互和协调完成业务的整体逻辑。所有的服务通过服务总线或流程管理器来连接。SOA 为企业的现有自查或投资带来了更好的复用性,SOA能够在最新的和现有的系统之上创建应用,借助现有应用产生新服务,为企业提供更好的灵活性来构建系统
24、和业务流程,有利于应用集成。与 SOA紧密相关的技术主要有 UDDI、WSDL、SOAP 等,这些技术都是以 XML为基础发展起来的。7.非常明确地标明了软件开发测试过程中存在的不同级别,且清楚地描述了这些测试阶段和开发过程各阶段的对应关系_。A螺旋模型 B喷泉模型C瀑布模型 DV 模型(分数:2.00)A.B.C.D. 解析:V 模型是软件开发测试中最重要的一种模型。V模型大体可以划分为下面几个不同的阶段步骤,既需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试。需求分析:即你首先要明确客户需要的是什么,需要软件做成什么样子,需要有哪几项功能,这一点上比较关键的是分析
25、师和客户沟通时的理解能力与交互性。要求分析师能准确地把客户所需要达到的功能,实现方式等表述出来,给出分析结果,写出规格文档说明书。概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。详细设计:对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能、现象等描述出来。编码:按照详细设计好的模块功能表,编程人员编写出实际的代码。单元测试:按照设定好的最小测试单元进行按单元测试,主要是测试程序代码,为的是确保各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试
26、,也有具体到类、函数的测试等。集成测试:经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,以及模块接口连接的成功与否,数据传递的正确性等。是软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。系统测试:经过了单元测试和集成测试以后,我们要把软件系统搭建起来,按照软件规格说明书中所要求的,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。验收测试:主要就是用户在拿到软件的时候,会根据前边所提到
27、的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。对于软件测试过程来说,所有的测试都应追溯到用户需求。软件测试的目标在于揭示错误。而最严重的错误(从用户角度来看)是那些导致程序无法满足需求的错误,所以,V 模式要求在测试工作真正开始前的较长时间内就进行测试计划。测试计划可以在需求模型一完成就开始或者说应该和需求分析一起进行,在进行需求分析的时候就把系统测试用例根据需求文档说明书而作出来,详细的测试用例定义可以在概要设计模型被确定后立即开始。因此,所有测试应该在任何代码被产生前就进行计划和设计。这其实是 V模型占软件开发测试模型中重要地位的原因。8.软件生存周期一般划分为六个阶段,包
28、括软件项目计划、软件需求分析和定义、软件设计、程序编码、软件测试以及_。A部署实施 B调整完善 C运行维护 D结项验收(分数:2.00)A.B.C. D.解析:正如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。我们称其为计算机软件的生周期。根据这一思想,把上述基本的过程活动进一步展开,可以得到软件生存周期的六个阶段:软件项目计划、软件需求分析和定义、软件设计、程序编码、软件测试以及运行维护。9.软件可行性研究一般不考虑_。A是否有足够的人员和资金来支持系统开发B是否有足够的工具和相关的技术来支持C待开发软件是否有市场、经济上是否合算D待开发的软件是否会有质量问题(分数:2
29、.00)A.B.C.D. 解析:可行性研究包括在四个方面的研究。(1)经济可行性:进行成本/效益分析。从经济角度判断系统开发是否“合算”。(2)技术可行性:进行技术风险评价。从建设基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。(3)法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。(4)方案的选择:评价系统或产品开发的几个可能的候选方案。最后给出结论意见。10.软件测试的目的是_。A评价软件的质量 B发现软件的错误C找出软件的所有错误 D证明软件是正确的(分数:2.00)A.B. C.D.解析:软件测试的目的:(1)测试是程序的执行过程,目的在于发现错误;(
30、2)一个好的测试在于发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试。11._属于软件详细设计阶段的任务。A算法设计 B功能设计 C调用关系设计 D输入/输出设计(分数:2.00)A. B.C.D.解析:详细设计阶段的任务有很多,但显然功能设计、调用关系设计、输入/输出设计都是概要设计阶段的任务。12.需求分析中开发人员应该主要从用户那里了解_。A软件做什么 B使用界面 C输入的信息 D软件的规模(分数:2.00)A. B.C.D.解析:需求分析是在可行性研究的基础上,将用户对系统的描述,通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。可行性研究旨
31、在评估目标系统是否值得去开发,问题是否能够解决,而需求分析旨在回答“系统做什么”的问题,确保将来开发出来的软件产品能够真正满足用户的需要。13.下述 CMM四个能力成熟度等级,级别最高的是_。A已定义级 B优化级 C可重复级 D已管理级(分数:2.00)A.B. C.D.解析:CMMI(Capability Maturity Model Integration),即软件能力成熟度模型集成,是由美国国防部与卡内基一梅隆大学和美国国防工业协会共同开发和研制的,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。1)初始级软件过程是无序的
32、,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。2)可重复级建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。3)已定义级已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。4)量化管理级分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。5)优化管理级过程的量化反馈和先进的新思想、新技术促使过程持续
33、不断改进。14.软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的_。A接口 B软件环境 C信息项 D版本(分数:2.00)A.B.C. D.解析:CSCI(Computer Software Configuration Item)即计算机软件配置项,在软件设计文档中经常用到。在配置管理中,“配置”和“配置项”是重要的概念,“配置”是在技术文档中明确说明并最终组成软件产品的功能或物理属性。因此“配置”包括了即将受控的所有产品特性,其内容及相关文档,软件版本,变更文档,软件运行的支持数据,以及其他一切保证软件一致性的组成要素,相对与硬件类配置,软件产品的“配置”包括更多的内容并具有易变
34、性。受控软件经常被划分为各类配置项(Configuraion items,CIs),这类划分是进行软件配置管理的基础和前提,CIs 是逻辑上组成软件系统的各组成部分。比如一个软件产品包括几个程序模块,每个程序模块及其相关文档和 f支撑数据可能被命名为一个 CI。一个系统包括的 CIs的数目是一个与设计密切相关的问题,关于怎样将一个软件系统划分为不同的 CIs将在以下有关章节中阐述,注意如果一个产品同时包括硬件和软件部分,一般一个 CI也同时包括软件和硬件部分,一个纯软件的 CI通常也称之为软件配置项(CSCI)。本规范的 CI一般指 CSCI,软硬件的配置管理有一些相通的地方,但因为软件更易于
35、修改,所以软件配置管理是一个更应该系统化的过程。15.好的软件结构应该是_。A高耦合、高内聚 B低耦合、高内聚C高耦合、低内聚 D低耦合、低内聚(分数:2.00)A.B. C.D.解析:耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。一般模块之间可能的连接方式有七种,构成耦合性的七种类型。它们之间的关系为(1)非直接耦合(Nondirect coupling)。如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。(2)数据耦合(Data Couplin
36、g)。如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。由于限制了只通过参数表传递数据,按数据耦合开发的程序界面简单、安全可靠。因此,数据耦合是松散的耦合,模块之间的独立性比较强。在软件程序结构中至少必须有这类耦合。(3)标记耦合(Stamp Coupling)。如果一组模块通过参数表传递记录信息,就是标记耦合。事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量。这要求这些模块都必须清楚该记录的结构,并按结构要求对此记录进行操作。在设计中应尽量避免这种耦合,它使在数据结构上的操作复杂
37、化了。如果采取“信息隐蔽”的方法,把在数据结构上的操作全部集中在一个模块中,就可以消除这种耦合。(4)控制耦合(control (Coupling)。如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。这种耦合的实质是在单一接口上选择多功能模块中的某项功能。因此,对所控制模块的任何修改,都会影响控制模块。另外,控制耦合也意味着控制模块必须知道所控制模块内部的一些逻辑关系,这些都会降低模块的独立性。(5)外部耦合(External Coupling)。一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部
38、耦合。例如 C语言程序中各个模块都访问被说明为extern类型的外部变量。外部耦合引起的问题类似于公共耦合,区别在于在外部耦合中不存在依赖于一个数据结构内部各项的物理安排。(6)公共耦合(Common Coupling)。若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。内聚按强度从低到高有以下几种类型:(1)偶然内聚。如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。(2)
39、逻辑内聚。几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。(3)时间内聚。如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。(4)通信内聚。如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。(5)顺序内聚如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。(6)功能内聚。模块的所有成
40、分对于完成单一的功能都是必需的,则称为功能内聚。(7)信息内聚。模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该模块执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。程序由许多个逻辑上相对独立的模块组成。模块(module)是程序中逻辑上相对独立的单元;好的软件设计模块大小要适中、高内聚、低耦合。16.下列选项中,影响软件可维护性最直接的因素是_。A文档 B资金 C程序代码 DMTTF(分数:2.00)A. B.C.D.解析:软件可维护性定义:软件能够被理解、校正、适应及增强功能
41、的容易程度。软件的可维护性、可使用性、可靠性是衡量软件质量的几个主要特性,也是用户十分关心的几个问题。软件的可维护性是软件开发阶段的关键目标。影响软件可维护性的因素较多,设计、编码及测试中的疏忽和低劣的软件配置,缺少文档等都对软件的可维护性产生不良影响。软件可维护性可用下面七个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可用性和效率。对于不同类型的维护,这七个特性的侧重点也是有所不同。本题答案为 A不是 C。因为即使代码的可读性再好,也难以通过大量的阅读代码来得到该软件的功能、设计等方面的有效信息。17.软件质量因素不包括_。A正确性 B高性能 C可测试性 D可理解性(分
42、数:2.00)A.B. C.D.解析:软件质量反映实体满足明确和隐含需要能力的特性综合。(1)明确需要,指合同中用户明确提出的要求与需要。(2)隐含需要,指由生产企业通过市场调研进行识别与探明的要求或需要。(3)特性,实体所特有的性质,反映了实体满足需要的能力。软件的质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面,每个方面都包含若干个子特性:功能性:适合性、准确性、互操作性、依从性、安全性;可靠性:成熟性、容错性、易恢复性;易用性:易理解性、易学性、易操作性:效率:时间特性、资源特性;可维护性:易分析性、易改变性、稳定性、易测试性;可移植性:适应性、易安装性、遵循性、易
43、替换性。在 UML提供的图中,_一用于描述系统与外部系统及用户之间的交互;_用于按时间顺序描述对象之间的相互。(分数:4.00)(1).A用例图 B类图 C对象图 D部署图(分数:2.00)A. B.C.D.解析:(2).A网络图 B状态图 C协作图 D序列图(分数:2.00)A.B.C.D. 解析:UML 中包括九种图:用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、配置图。(1)用例图(UseCaseDiagram)。描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。(2)类图(ClassDiagram)。是最常用的一种图,类图可以帮
44、助我们更直观地了解一个系统的体系结构。通过关系和类表示的类图,可以图形化的方式描述一个系统的设计部分。(3)对象图。对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。(4)状态图。描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。(5)时序图。又称顺序图,描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。(6)协作图。协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图
45、显示了交互中各个对象之间的组织交互关系以及对象彼此之间的链接。协作图用途:通过描绘对象之间消息的移动情况来反映具体的方案:显示对象及其交互关系的空间组织结构,而非交互的顺序。(7)活动图(ActivityDiagram)。UML 活动图记录了单个操作或方法的逻辑,单个用户案例,或者单个业务流程的逻辑。描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程。活动图由一些活动组成,图中同时包括了对这些活动的说明。当一个活动执行完毕之后,控制将沿着控制转移箭头转向下一个活动。活动图中还可以方便地描述控制转移的条件以
46、及并行执行等要求。(8)组件图(ComponentDiagram)。组件图是用来反映代码的物理结构。从组件图中,可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。(9)配置图。配置图描述系统中硬件和软件的物理配置情况和系统体系结构。在配置图中,用节点表示实际的物理设备,如计算机和各种外部设备等,并根据它们之间的连接关系,将相应的节点连接起来,并说明其连接方式。在节点里面,说明分配给该节点上运行的可执行构件或对象,从而说明哪些软件单元被分配在哪些节点上运行。18.面向对象分析与设计技术中,_是类的一个实例。A对象 B接口 C构件 D设计模式(分数:2.00)A. B.C
47、.D.解析:一个类定义了一组对象。类具有行为(be-havoir),它描述一个对象能够做什么以及做的方法(method),它们是可以对这个对象进行操作的程序和过程。一个对象是一个类的一个实例,它代表一个现实物理“事件”,例如在一个财物系统数据库中的一个顾客或一个库存部分。类的继承(class inheritance)是一个重要的概念,它为一个子类继承它的父类的内置描述提供了途径。在父类中使用的代码被向下传给这个类指定的一个类(子类)。19.以下关于软件需求分析的说法中,不正确的是_。A需求分析需要进行软件功能和性能的技术实现方法的描述B需求分析文档可用于指导后续的开发过程C软件需求包括业务需求、用户需求、功能需求和非功能需求等D软件需求一般应由用户方组织进行确认(分数:2.00)A. B.C.D.解析:软件需求分析是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。但不涉及具体实现方法的描述,因此选项 A错误。20.软件的_反映了组织机构或客户对系统、产品高层次的目标要求。A业务需求