1.
解析:
A:模块是结构图的基本成分之一,用矩形表示
B:调用表示模块之间的调用关系,通过箭头等符号在结构图中体现
C:数据用于表示模块之间的传递的信息,在结构图中会涉及数据的流向等表示
D:控制不属于结构图的基本成分。结构图主要关注软件模块的组成和模块间的调用及数据传递关系
2.
解析:
C:加工逻辑描述了数据流图中各个处理过程的具体操作和方法,是结构化分析过程中的对处理功能的详细说明,属于结构化分析的输出
D:结构图是结构化设计阶段的产物,用于描述构成软件系统的模块以及模块之间的调用关系,不属于结构化分析的输出
3.
解析:B正确的是模块的作用范围应在其控制范围内。如果模块的作用范围超出控制范围,会导致模块间的调用关系混乱,不利于模块的维护和扩展。
4.
解析:
A:外部实体是指系统之外与系统进行交互的人、组织或其他系统,它不是数据字典的条目。数据字典用于定义系统内部的数据相关元素
B:数据流在数据字典中会被详细定义,包括数据流的名称、来源、去向、组成等信息,属于数据字典的条目
C:数据项是数据的最小组成单位,在数据字典中会对其名称、类型、取值范围等进行定义,是数据字典的条目
D:基本加工在数据字典中会描述其输入、输出、加工逻辑等内容,属于数据字典的条目
5.
解析:
A:体系结构设计主要关注软件系统的整体架构,包括确定系统的模块划分、模块间的通信和控制关系等,并非侧重于数据结构与算法设计
B:数据设计主要是对数据的表示、组织和存储等进行设计,重点在数据相关方面,不是算法设计
C:接口设计主要处理系统内部模块之间以及系统与外部环境之间的接口定义,与数据结构和算法设计关系不大
D:过程设计在结构化开发方法中主要包含对数据结构和算法的设计。它关注如何实现系统的功能,通过选择合适的数据结构和设计有效的算法来完成具体的处理过程。
6.
解析:
A:数据库系统中,数据库相当于数据仓库,其他应用程序等构件对于数据库中的增删改查等操作,符合仓库风格
B:超文本系统中,超文本文件存储的数据类似数据仓库,浏览器等构件对超文本数据进行访问和操作,属于仓库风格
C:黑板系统中,黑板作为数据仓库,知识源等构件对黑板上的数据进行操作和处理,是仓库风格的典型应用
D:编译器主要功能是将源程序翻译为目标代码,它的工作过程不是围绕一个数据仓库进行数据操作,不属于仓库风格
7.
解析:
A:流程图主要用于描述程序或系统的执行流程,侧重于步骤的顺序和控制流,对于复杂条件组合与动作的对应关系表示不够直观清晰
B:NS盒图是一种结构化的流程图形式,主要用于表示程序的逻辑结构,在表达复杂条件组合与动作对应关系方面并非其优势
C:形式语言是一种基于数学符号和规则的语言,用于精确描述系统的语法和语义,不适合直观展示条件组合与动作的对应关系
D:决策树以树状结构展示不同条件及其组合下应采取的动作,能够清晰地表示复杂的条件组合与应做的动作之间的对应关系,在数据流图中,当某个加工的动作依赖多个逻辑条件取值时,决策树是很好的表示工具
8.
解析:
A:对每一个基本加工,都必须有一个加工规格说明,用于清晰定义加工的功能和要求
B:加工规格说明的重要内容是描述把输入数据流变换为输出数据流的加工规则,明确数据的处理逻辑
C:加工规格说明主要描述的是加工的逻辑功能,即输入到输出的转换规则,而不是实现加工的具体流程,具体实现流程是在程序设计阶段考虑的内容
D:决策表可以用来表示加工规格说明,尤其适用于处理复杂的条件组合与动作对应关系
9.
解析:模块提供的功能数主要体现模块自身的功能丰富度,与模块之间的相对独立性和互相连接的紧密程度并无直接关联,不取决于此
10.
解析:C将具有相似功能的模块合并可能导致模块功能不单一,违反高内聚原则,使模块难以理解、维护和复用,不能改进设计质量
11.
解析:
A:巧合内聚(也叫偶然内聚)是指模块内各语句之间没有什么联系,仅仅是因为偶然的原因,例如相同的代码片段被抽取出来形成模块。
B:逻辑内聚是指模块内执行若干个逻辑上相似的功能,通过参数确定执行哪个功能
C:时间内聚是指模块内的操作是在同一时间内完成,比如初始化模块
D:过程内聚是指模块内的操作是相关的,且必须以特定次序执行。
12.
解析:B每个子系统采用何种数据结构和核心算法属于模块内部的详细设计内容,在子系统结构设计阶段,重点是确定模块结构和模块间的关系,而非深入到具体的数据结构和算法细节,不需要考虑
13.
解析:D将父模块下移会缩小控制范围,更无法使作用范围处于控制范围内,不是适当的处理方法
14.
解析:D内容耦合是指一个模块直接访问另一个模块的内部数据,或一个模块不通过正常入库转到另一个模块内部等情况。
15.
解析:D项目范围主要在项目规划阶段确定,包括项目的目标、可交付成果、工作内容等,不属于软件设计模型所直接关注的范畴
16.
解析:
A:版本控制工具用于记录软件版本的变化,方便开发人员对不同版本进行管理、回溯和比较等,是阮继去年维护中常用的工具
B:配置管理是对软件配置项进行标识、控制、状态记录和审计等一系列活动,配置管理本身是软件维护的重要活动,但它不是一种独立的工具类型,部署软件维护工具
C:文档分析工具可帮助维护人员理解软件的结构、功能等,通过对文档的分析辅助软件维护工作,属于软件维护工具
D:逆向工程工具能从已有的软件系统中提取出设计信息,在软件维护中可用于理解现有系统,进行功能拓展、修改等工作,属于软件维护工具
16.
解析:判定分支指的是程序中每个判定的取真分支和取假分支至少经理一次。
17.
解析:
A:试探法是调试人员通过在程序中插入调试语句,试探着寻找错误位置,并非从测试暴露问题出发收集数据进行分析
B:回溯法是从程序产生错误的地方出发,人工沿程序的控制流程往回追踪,直至找到错误根源
C:归纳法是从测试所暴露的问题出发,收集所有正确或不正确的数据,分析他们之间的关系,提出假想的错误原因,再用这些数据来证明或反驳,从而查出错误所在
D:演绎法是从一般性的前提出发,通过推导即“演绎”,得出具体陈述或个别结论
18.
解析:
A:自底向上集成测试是从最底层模块开始,逐步向上集成。主要设计问题通常在高层模块体现,早期集中在底层模块测试,难以发现主要涉及问题
B:自底向上集成测试中,需要编写驱动程序来调用底层模块进行测试
C:自底向上集成测试从底层模块开始,底层模块逐步集成后可直接为上层模块提供服务,不需要像自顶向下集成测试那样编写桩程序(桩程序用于模拟被调用模块)
D:自底向上集成测试中,当对模块进行修改或添加新功能时,同样需要进行回归测试来确保原有功能不受影响
19.
解析:A需求分析阶段明确了软件的功能需求、性能需求等,系统测试是对整个系统进行全面测试,验证系统是否满足需求规格说明书中的要求,所以系统测试阶段的测试目标来自需求分析阶段
20.
解析:
A:正确性维护是为了纠正软件中存在的错误或缺陷
B:适应性维护是使软件适应新的环境(如硬件、软件平台变化等)
C:完善性维护是为了增加软件的功能、提高软件性能等,以满足用户日益增长的需求。
D:预防性维护是为了提高软件的可维护性、可靠性等。
21.
解析:C可移植性是指软件从一个环境(如硬件平台、操作系统等)转移到另一个环境的难易程度,主要关注软件在不同环境下的适应性,域系统本身的可维护性并无直接关联
22.
解析:C全局数据结构涉及多个模块的交互和共享,其正确性和完整性更多在集成测试等阶段检查,单元测试主要关注单个模块内部相关内容,全局数据结构不是单元测试主要检查内容
23.
解析:B逻辑覆盖是白盒测试技术,它是通过对程序内部逻辑结构的分析来设计测试用例,关注程序内部的执行路径等,不属于黑盒测试