(一)需求分析小测验
一、单选题
1、需求分析最终结果是产生( )。
A、 项目开发计划
B、 需求规格说明书
C、 设计说明书
D、 可行性分析报告
正确答案: B
2、数据词典是用来定义( )中的各个成分的具体含义。
A、 流程图
B、 功能结构图
C、 结构图
D、 数据流图
正确答案: D
3、在数据词典中,以下哪一项表示允许重复0至任意次( )。
A、 {}
B、 0{ }
C、 0{ }n
D、 { }n
正确答案: A
4、需求分析的任务是( )。
A、 正确说明让软件“做什么”
B、 用DFD建模
C、 用DD建立数学模型
D、 给出需求规格说明书
正确答案: A
5、需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出( )的过程。
A、 模块说明书
B、 软件规格说明书
C、 项目开发计划
D、 合同文档
正确答案: B
6、DFD的每个加工都必须有( )。
A、 一个输入和输出数据流
B、 一个输入数据流
C、 一个输出数据流
D、 一个输入或输出数据流
正确答案: A
7、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及( )。
A、 阶段性报告
B、 需求评估
C、 总结
D、 都不正确
正确答案: B
8、DFD用于描述系统的( )。
A、 数据结构
B、 控制流程
C、 基本加工
D、 软件功能
正确答案: D
二、判断题
1、____软件需求规格说明书可作为可行性研究的依据。
正确答案: 错误
2、____画数据流图时可以加少量的控制流,使加工之间有时序的关系。
正确答案: 错误
3、____在数据流图中,带有箭头的线段表示的是控制流。
正确答案: 错误
4、____需求分析阶段的任务是确定软件的功能。
正确答案: 正确
5、____软件需求分析阶段要确定软件系统要“做什么”。
正确答案: 正确
三、简答题
1、需求分析的任务是什么?怎样理解“做什么”和“怎么做”?
正确答案:
**需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、清晰、具体的要求。 具体任务是:明确问题定义、导出软件的逻辑模型、编写软件需求规格说明书。
“做什么”,即深入描述软件的功能和性能,确定软件设计的限制和软件与其他系统元素的接口细节,定义软件的其他有效性需求。 “怎么做”,即着手软件需求的实现:用比较抽象概括的方式确定目标系统如何完成预定的任务,确定系统的物理模型。**
2、数据流图的作用是什么?它有哪些基本成分?
正确答案:
数据流图是用于表示系统逻辑模型的一种工具。它从数据传递和加工的角度,以图形的方式描述数据在系统中流动和处理过程。它表示了系统内部信息的流向以及系统的逻辑处理功能。
数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。
画法:
〇:圆或椭圆,表示加工;
= :双杠,表示数据存储;
□:方框,表示数据的源点或终点。
(二) 可行性研究小测验
1、系统流程图是一种传统工具,用于描绘( )。
A、 逻辑模型
B、 程序结构
C、 体系结构
D、 物理系统
正确答案: D
解析:
2、软件可行性研究的目的是( )。
A、 证明软件开发项目可行
B、 证明软件开发项目不可行
C、 阐述软件开发项目值得或不值得做
D、 为了确定软件开发项目要不要做
正确答案: C
解析:
3、技术可行性研究要解决的问题是( )。
A、 从技术方面说明项目是否可行
B、 从技术上定义项目要解决的问题
C、 给出项目开发可行的技术路线
D、 给出精简的项目需求设计报告
正确答案: A
解析:
4、可行性研究的步骤首先是( )。
A、 确定项目目标,即对要解决的问题进行定义
B、 研究项目要求
C、 对项目目标进行可行性分析
D、 给出可行的解决方案
正确答案: A
解析:
5、可行性研究的任务不包括( )。
A、 技术可行性
B、 经济可行性
C、 法律可行性
D、 政治可行性
正确答案: D
6、可行性研究实质上是要进行一次( )需求分析,设计过程
A、 简化、压缩的
B、 详细的
C、 彻底的
D、 深入的
正确答案: A
二、简答题
1、软件开发的早期,为什么要进行可行性研究?目标的可行性研究有几个方面?
正确答案:
许多软件开发问题都不能在预期的时间范围内或资源限制下得到解决。如果开发人员没有尽早停止没有可行解决方案的开发项目,就会造成时间、资金、人力、物力的浪费。为了降低软件开发失败的可能性,需要进行软件可行性研究。可行性研究要从经济可行性、技术可行性、运行可行性和法律可行性四方面进行。
(三)总体设计测验
一、单选题
1、衡量模块独立性的标准是( )。
A、 耦合的类型
B、 内聚的类型
C、 模块信息的隐藏性
D、 耦合性和内聚性
正确答案: D
2、概要设计的目的是确定整个系统的( )。
A、 规模
B、 功能及模块结构
C、 费用
D、 测试方案
正确答案: B
3、软件设计是把( )转换为软件表示的过程。
A、 软件需要
B、 系统分析
C、 数据库
D、 软件代码
正确答案: A
4、概要设计的主要成果是( )。
A、 用户的界面需求
B、 用户的分析方案
C、 概要设计说明书
D、 系统总体方案
正确答案: C
5、数据结构设计也是概要设计的重要内容,主要是进行数据的( )设计。
A、 逻辑
B、 存取
C、 用户视图
D、 索引
正确答案: A
6、下面不属于软件设计原则的是( )。
A、 抽象
B、 模块化
C、 自底向下
D、 信息隐藏
正确答案: C
7、概要设计与详细设计衔接的图形工具是( )。
A、 DFD图
B、 SC图
C、 程序流程图PFD
D、 PAD图
正确答案: B
二、判断题
1、____一个模块的作用范围应该大于该模块的控制范围。
正确答案: 错误
2、____模块间的耦合性越强,则模块的独立性越弱。
正确答案: 正确
3、____在设计模块时,应使一个模块尽量包括多个功能。
正确答案: 错误
4、____软件结构图可以利用数据流图映射出来。
正确答案: 正确
5、____在结构化设计过程中首先要确认DFD。
正确答案: 正确
三、简答题
1、软件设计应遵循的原则是什么?
正确答案:
软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可验证性。
2、启发设计规则有哪些?
(四)详细设计测验
一、判断题
1、在数据代码设计时,应尽量让一条代码代表多个信息。
正确答案: 错误
解析:
2、在输出界面设计时,要尽可能使用代码或缩写,以求简洁。
正确答案: 错误
解析:
3、详细设计评审应尽可能和概要设计评审一同进行。
正确答案: 错误
解析:
二、单选题
1、软件详细设计的主要任务是确定每个模块的( )。
A、 算法和使用的数据结构
B、 外部接口
C、 功能
D、 程序
正确答案: A
解析:
2、不属于详细设计工具的是( )。
A、 DFD图
B、 PAD图
C、 PDl
D、 N-S图
正确答案: A
解析:
3、下面描述中,符合结构化程序设计风格的是( )。
A、 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B、 模块只有一个入口,可以有多个出口
C、 注重提高程序的执行效率
D、 不使用goto语句
正确答案: A
三、简答题
1、软件的详细设计阶段完成的主要任务是什么?
过程化设计工具
判定表
1) 定义: 判定表
清晰地表示
复杂的条件组合
与
应做的动作之间的对应关系。
尤其是算法中包含多重嵌套的条件选择时,
比较清楚地描绘。
判定树
2、代码设计的原则有哪些?
(五)软件编码测验
一、单选题
1、不属于序言性注释内容的是( )。
A、 模块设计者
B、 修改日期
C、 程序的整体说明
D、 语句功能
正确答案: D
2、如果编写系统软件,可选用的语言是( )。
A、 FoxPro
B、 COBOL
C、 C
D、 FORTRAN
正确答案: C
3、与编程风格有关的因素不包括( )。
A、 源程序文档化
B、 语句构造
C、 输入输出
D、 程序的编译效率
正确答案: D
4、功能性注释的主要内容不包括( )。
A、 程序段的功能
B、 模块的功能
C、 数据的状态
D、 语句的功能
正确答案: B
5、对建立良好的编程风格,下面描述正确的是( )。
A、 程序应简单、清晰、可读性好
B、 符号名的命名只要符合语法即可
C、 充分考虑程序的执行效率
D、 程序的注释可有可无
正确答案: A
6、源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括合适的标识符、注释和( )。
A、 程序的布局组织
B、 尽量不使用或少用goto语句
C、 检查输入数据的有效性
D、 设计良好的输出报表
正确答案: A
7、编制一个好的程序应强调良好的编程风格,例如,选择标识符的名字时应考虑( )。
A、 名字长度越短越好,以减少源程序的输入量
B、 多个变量共用一个名字,以减少变量名的数目
C、 选择含义明确的名字,以正确提示所代表的实体
D、 尽量用关键字作名字,以使名字标准化
正确答案: C
8、以下关于编程风格的叙述中,不应提倡的是( )。
A、 使用括号以改善表达式的清晰性
B、 用计数方法而不是用文件结束符判断输入的结束
C、 一般情况下,不要直接进行浮点数的相等比较
D、 使用有清晰含义的标识符
正确答案: B
9、在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视程序的( )性。
A、 技巧性
B、 保密性
C、 一致性
D、 可理解性
正确答案: D
10、为了提高易读性,源程序内部应加功能性注释,用于说明( )。
A、 模块总的功能
B、 程序段或语句的功能
C、 模块参数的用途
D、 数据的用途
正确答案: B
二、判断题
1、对递归定义的数据结构不要使用递归定义的过程。
正确答案: 错误
2、不要修改不好的程序,要重新编写。
正确答案: 正确
3、应尽可能多地使用临时变量。
正确答案: 错误
4、用计数方法而不是用文件结束符判别批量数据输入的结束。
正确答案: 错误
5、程序中的注释是可有可无的。
正确答案: 错误
解析:
6、使用有意义的标识符。
正确答案: 正确
7、应尽量把程序编写的短一些。
正确答案: 错误
8、应尽量使用goto语句。
正确答案: 错误
三、简答题
1、良好的编码风格包括哪几方面?
正确答案:
1)源程序文档化
2)数据说明
3)语句构造
4)输入与输出
5)效率。
2、在软件开发时,应根据哪些因素选择程序设计语言?
正确答案:
(1)项目的应用领域。
(2)用户的要求。
(3)软件开发工具。
(4)算法和数据结构的复杂性。
(5) 软件开发人员的知识。
(6) 系统的可移植性要求。
(六) 软件测试测验
逻辑覆盖
1.语句覆盖
2.判定覆盖
略略
条件组合覆盖
等价类划分
一、单选题
1、测试和调试最大的不同在于( )。
A、 操作者的心理状态不同
B、 它们的行为取向不同
C、 使用的工具不同
D、 运用的方法不同
正确答案: A
2、白盒法和黑盒法最大的不同在于( )。
A、 测试用例设计方法不同
B、 测试的任务不同
C、 应用的测试阶段不同
D、 基于的知识集不同
正确答案: A
3、检查软件产品是否符合需求定义的过程称为( )。
A、 确认测试
B、 集成测试
C、 验证测试
D、 验收测试
正确答案: A
4、进行软件测试的目的是( )。
A、 尽可能多地找出软件中的错误
B、 缩短软件的开发时间
C、 减少软件的维护成本
D、 证明程序没有缺陷
正确答案: A
5、在进行单元测试时,常用的方法是( )。
A、 采用白盒测试,辅之以黑盒测试
B、 采用黑盒测试,辅之以白盒测试
C、 只使用白盒测试
D、 只使用黑盒测试
正确答案: A
6、为了提高测试的效率,应该( )。
A、 随机地选取测试数据
B、 取一切可能的输入数据作为测试数据
C、 在完成编码以后制定软件的测试计划
D、 选择发现错误可能性大的数据作为测试数据
正确答案: D
7、下列逻辑覆盖标准中,差错能力最强的是( )。
A、 语句覆盖
B、 判定覆盖
C、 条件覆盖
D、 条件组合覆盖
正确答案: D
8、白盒测试方法一般适合于( )测试。
A、 单元
B、 系统
C、 集成
D、 确认
正确答案: A
二、判断题
1、发现错误多的程序模块,残留在模块中的错误也多。
正确答案: 正确
2、黑盒法是根据程序的内部逻辑来设计测试用例的。
正确答案: 错误
3、集成测试计划是在概要设计阶段制定的。
正确答案: 正确
4、集成测试工作最好由不属于该软件开发组的软件设计人员承担。
正确答案: 正确
5、为了提高软件的测试效率,测试工作需要有测试工具的支持。
正确答案: 正确
三、简答题
1、为什么要进行软件测试?软件测试要以什么目标和原则?
正确答案:
软件测试的目的是为了发现软件产品中存在的软件缺陷,进而保证软件产品的质量。软件测试是软件开发过程中的一个重要阶段,是软件产品正式投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试的结果也是分析软件可靠性的重要依据。
在软件测试中,应注意以下指导原则: (1)所有测试都应追溯到需求 (2)坚持尽早地和不断地进行软件测试. (3)测试用例应由输入数据和预期的输出结果两部分组成。 (4)程序员应避免测试自己的程序。 (5)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。 (6)充分注意测试中的群集现象。 (7)严格执行测试计划,排除测试的随意性。 (8)应当对每个测试结果做全面检查。 (9)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。 (10)应长期保留所有测试用例。保留测试用例有助于以后修改程序后的回归测试。
2、软件测试包括哪几个过程?测试过程中包括哪些数据源?
正确答案: 测试过程分为4个步骤,即单元测试、组装测试、确认测试和系统测试。
数据源有:
(1)软件配置:包括软件需求规格说明、软件设计规格说明、源代码等。 (2)测试配置:包括测试计划、测试用例、测试驱动程序等。 (3)测试工具:测试工具为测试的实施提供某种服务,以减轻测试过程中的手工劳动,提高测试效率。
3、黑盒测试法与白盒测试法的本质区别是什么?它们的使用场合有何不同。
正确答案: 黑盒测试法与白盒测试法的根本区别是设计测试用例的方法不同。前者是测试产品的功能,后者是测试产品的内部结构和处理过程。 通过黑盒测试主要发现以下错误: (1)是否有不正确或遗漏了的功能。 (2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。 (3)是否有数据结构或外部数据库访问错误。 (4)性能是否满足要求。 (5)是否有初始化或终止性错误。
白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系统的测试,主要用于很小单元的测试,以及从事软件底层工作、生产构件的测试人员使用。
维护