说明:多张试卷的综合,标#代表要考应用
单选(15题,30分)
多选(5题,10分)
判断(10题,20)
老师的出卷形式:题库里抽取
一:概述
1.1计算机软件
1. 软件简单的说就是程序和相关的数据及文档。 T
1、开发软件就是编写程序。 F
1.2软件危机
1.软件危机出现于60年代末,为了解决软件危机,人们提出了用的原理来设计软件,这是软件工程诞生的基础。
A.运筹学 B.工程学 C.软件学 D.软件学
2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。
A.软件投机 B.软件危机 C.软件工程 D.软件产生
3.产生软件危机的原因有如下几点,除了__。
A.软件开发过程未经审查
B.软件开发不分阶段,开发人员没有明确的分工
C.所开发的软件,除了程序清单外,没有其他文档
D.采用工程设计的方法开发软件,不符合软件本身的特点
1.3软件的生命周期
6. 软件生命周期可分为三个阶段:定义、开发、运行与维护
30.软件生命周期中所花费用最多的阶段是( )
A.详细设计 B.软件编码 C.软件测试 D.软件维护
7.划分软件生存周期的阶段时所应遵循的基本原则是_。
A.各阶段的任务尽可能相关性 B.各阶段的任务尽可能相对独立
C.各阶段的任务在时间上连续 D.各阶段的任务在时间上相对独立
1 软件生存周期是从软件开始开发到开发结束的整个时期 .( F )
软件产品从策划、定义、开发、使用与维护直到最后废弃所经过的一个漫长时期。
1.4软件工程
4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是_ _。
A.引入新技术提高空间利用率 B.用较少的投资获得高质量的软件
C.缩短研制周期扩大软件功能 D.硬软件结合使系统面向应用
软件工程包括三要素:方法,工具和过程
8.软件工程定义
IEEE:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程;即将工程化方法应用于软件开发和维护过程中;(2)对(1)中所述方法的研究
- 快速原型模型
- 使用原型(样本)思想获取用户需求,一旦原型完全符合用户需求,开发人员根据其写说明书
- 适用于:需求不确切
6.瀑布模型把软件生存周期划分为软件定义、软件开发和__三个阶段,而每一阶段又可细分为若干个更小的阶段。
A.详细设计 B.可行性分析 C.运行及维护 D.测试与排错
28.瀑布模型的存在问题是( )
A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求
- 瀑布模型
- 顺序性:前一阶段完成后才能开始后一阶段的工作
- 依赖性:前一阶段的输出文档是下一阶段的输入文档
- 缺点:用户只能通过文档了解产品
- 适用场景:需求明确的,软件实现方法成熟的,项目周期较短
- 螺旋模型
- 增加风险分析过程的瀑布和快速原型混合
- 适用场景:庞大、复杂并具有高风险的系统,或内部开发的大规模软件项目
- 瀑布模型的最大优点是将软件开发的各个阶段分得十分清晰( F )
2. 结构化方法的工作模型是使用螺旋模型进行开发( F )二.传统软件工程
2.1可行性研究(老师说的重点)
8.一个软件项目是否进行开发的结论是在__文档中作出的。
A.软件开发计划 B.可行性报告 C.需求分析说明书 D.测试报告
38.经济可行性研究的范围包括( )
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
39.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( )的回答。
A.确定 B.行或不行 C.正确 D.无二义
- 系统可行性研究目标:研究软件项目是否值得去开发其中的关键和技术难点是什么,问题能否得到解决,怎样达到目的等。
- 行性研究主要内容:对问题定义,初步确定问题的规模和目标;导出系统的逻辑模型;从逻辑模型出发,选择若干供选择的主要系统
- 可行性分析四个主要方面:经济可行性、技术可行性、法律可行性、对不同方案进行评估抉择
2.2需求分析
35.需求分析中开发人员要从用户那里了解( )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模
40.需求分析阶段的任务是确定( )
A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能
14.需求分析说明书不能作为__。
A. 可行性研究的依据 B. 用户和开发人员之间的合同
C.系统概要设计的依据 D. 软件验收测试的依据
4、软件需求分析的任务是建立软件模块结构图。 F
5. 在进行需求分析时需同时考虑维护性问题。 T
3. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案 F
结构化分析模型
11.使用结构化分析方法时,采用的基本手段是。
A.分解和抽象 B.分解和综合 C.归纳与推导 D.试探与回溯
12.结构化系统分析主要是通过进行分析的。
A.算法分解 B.控制结构分解 C.数据结构分解 D.处理功能分解
15.结构化分析方法以数据流图、__和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图 B.PAD图 C.IPO图 D.数据字典
19.结构化设计方法采用变换分析和事务分析技术实现__。
A.从数据结构导出程序结构 B.从模块结构导出程序结构
C.从模块结构导出数据结构 D.从数据流图导出初始化结构图
6、以结构化分析方法建立的系统模型就是数据流图。 F (功能模型)
3.HIPO 法既是需求分析方法,又是软件设计方法。 ( T
#数据流图DFD(老师说的重点)
13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的 。
A.总貌 B.细节 C.抽象 D.软件的作者
16.不适于作为数据流图处理(加工)框名称的是__。
A.人工校核工资数据 B.工资支票数据
C.打印工资支票 D.计算职工工资
- 分层的 DFD 图常用于概要设计阶段。描述系统的逻辑结构( T
#数据字典DD(老师所说的重点)
10.下列叙述中,_不属于数据字典的作用。
A.作为编码阶段的描述工具 B.为用户与开发人员之间统一认识
C.作为概要设计的依据 D.为需求分析阶段定义各类条目
3.数据流图和数据字典共同构成系统的逻辑模型 .( T )
#结构化语言
#判定树
#判定表
2.3结构化软件总体设计
17.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在__阶段进行的。
A.需求分析 B.总体设计 C.详细设计 D.编码阶段
18.软件的__设计又称为总体设计,其主要任务是建立软件系统的总体结构。
A.概要 B.抽象 C.逻辑 D.规划
36.结构化程序设计主要强调的是( )
A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性
模块独立性与耦合性
41.结构化设计采用模块化方法的主要出发点是__。
A.增加内聚性 B.减少耦合度 C.提高有效性 D.降低复杂度
42.下列_不是模块化设计的目的。
A.可采用结构化设计方法 B.降低复杂度
C.有利于信息隐蔽 D.描述系统的功能与性能
43.一个模块直接控制(调用)的下层模块的数目称为模块的_。
A.扇入数 B.扇出数 C.宽度 D.作用域
44.某个模块的作用域是指__。
A.被该模块调用的所用模块 B.调用该模块的所有模块
C.与该模块相关联的所有模块 D.受该模块内的判定影响的所有模块
45.模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是。
A.顺序性内聚 B.过程性内聚 C.逻辑性内聚 D.功能性内聚
46.如果模块中所有成分引用共同的数据,该模块内的联系类型是。
A.顺序内聚 B.功能内聚 C.通信内聚 D.过程内聚
47.初始化模块和结束模块从块内联系看,被称为模块。
A.过程内聚 B.功能内聚 C.时间内聚 D.逻辑内聚
48.若一模块内部的处理动作为:成分A的输出是成分B的输入,则该模块的聚合性称为__。
A、顺序内聚 B、功能内聚 C、过程内聚 D、通信内聚
49.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为 。
A.数据耦合 B.混合耦合 C.公共耦合 D.控制耦合
50.要减少两个模块之间的耦合,则必须__。
A.两个模块间的调用次数要少
B.模块间传递的参数要少
C.模块间传递的参数要少且布传递开关型参数
D.模块间传递参数要少且不传递开关型参数以及两模块不引用同样全局变量
51.下列耦合度表示中,最弱的耦合形式是__。
A.特征耦合 B.公共耦合 C.数据耦合 D.数据结构
52.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于__耦合。
A. 数据型 B.复合型 C.内容型 D.公共型
- 模块越小,模块化的优点越明显。一般来说,模块的大小都在 10 行以下。 F
9. 模块间的联系越紧密越好。 F
7、进行总体设计时加强模块间的联系。 F
2. 发现错误多的程序模块,残留在模块中的错误也多。 ( √ )
5. 划分模块可以降低软件的复杂度和工作量, 所以应该将模块分得越小越好 ( F
4.扇出是一个模块直接调用的模块数目,一般推荐的扇出为 3 或 4.( T )
8. 信息隐蔽原则有利于提高模块的内聚性 T
5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度 .( F
耦合性:度量软件结构内部不同模块间联系紧密程度
面向数据流的体系结构设计方法
20.结构化设计方法是面向__的设计方法。
A.过程 B.对象 C.数据流 D.数据结构
详细设计的任务、工具和原则
#详细设计的工具
56.程序流程图、N-S图和PAD图是使用的表达工具。
A.设计阶段的概要设计 B.设计阶段的详细设计
C.编码阶段 D.测试阶段
57.模块内部的算法设计在结构化方法的__阶段进行。
A.系统分析 B.概要设计 C.详细设计 D.编码(实现)
33.在详细设计阶段,经常采用的工具有( )
A.PAD B.SA C.SC D.DFD
34.详细设计的结果基本决定了最终程序的( )
A.代码的规模 B.运行速度 C.质量 D.可维护性
程序流程图
N-S图
PAD图
PDL语言
面向数据流的详细设计方法
面向数据结构的设计方法
5. Jackson程序设计方法是一种面向_ 的设计方法。
A. 数据结构 B. 数据流图 C. IPO图 D. 系统流程图
2.4软件编码
选择程序设计语言
31.第一个体现结构化编程思想的程序设计语言是( )
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言
32.程序的三种基本控制结构是( )
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移
55.采用且编写程序,可提高程序的可移植性;
A.机器语言 B.宏指令 C.汇编语言 D.高级语言
58.源程序的版面文档要求应有变量说明、适当注释和。
A.框图 B.统一书写格式 C.修改记录 D.编程日期
59.提高程序可读性的有力手段是__。
A.选好一种程序设计语言 B.显式说明一切变量
C.使用三种标准控制语句 D.给程序加注释
编码是尽可能采用局部变量。 T
8、编码时尽量多用全局变量 . F
10. 程序设计风格指导原则提出,尽量多使用临时变量。 ( × )应尽可能多用 GOTO语句。 F
7 在代码的编写中要尽量避免 ELSE GOTO 或者 ELSE RETURN 结构.( T
9. 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等 F
3、编程序时应尽可能利用硬件特点以提高程序效率 F
5、尽可能使用高级语言编写程序 T
9、用 CASE环境或程序自动生成工具来自动生成一部分程序 T2.5软件测试
29.软件测试方法中的静态测试方法之一为( )
A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析测试只能证明程序有错误 , 不能证明程序没有错误。 ( √ )
2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等 测试。 F
3. 软件工程的集成测试都是自顶向下的。 F
•软件测试:自顶向下和自底向上两种集成测试方法
10、软件测试是要发现软件中的所有错误 F
9. 有效性测试是在模拟环境(成开发环境)下运用黑盒法,验证软件特性是否与需求符合。 ( T白盒测试
1、语句覆盖 2、判定覆盖(也称分支覆盖)3、条件覆盖: 4、判定/条件覆盖:
5、条件组合覆盖:6、路径覆盖:7、点覆盖:8、边覆盖:
9 语句覆盖的含义是使被测试程序中的每个语句都至少被执行一次 .( T )
6.判定覆盖不一定包括条件覆盖,但是条件覆盖一定包括判定覆盖 .( F
• 判定覆盖(也称分支覆盖):选择足够的测试用例,使得被测程序的每个判定框的真假分支都至少执行一次。
• 条件覆盖: 选择足够的测试用例,使得被测程序的每个判定中的每个条件的所有可能取值都至少执行一次。
• 条件覆盖不一定包含判定覆盖 判定覆盖也不一定包含条件覆盖黑盒测试
10. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 F(白盒才是)
测试策略
#测试用例设计
2. 测试用例由一系列输入和实际的输出组成。 F
12. 一组测试用例是判定覆盖,则一定是语句覆盖。 T
三.面向对象工程
3.1面向对象方法学
面向对象的基本概念
26.对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。
A.结合 B.隐藏 C.封装 D.抽象
- 顺序图描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。 T
13. 面向对象软件工程方法就是至上而下、逐步求精的方法。 F#面向对象建模
对象模型、动态模型、功能模型
• 对象模型:描述系统的数据结构,是目标系统中最关键、最基本、最核心的模型;
四.项目管理
4.2软件度量
23.在McCall软件质量度量模型中,( )属于面向软件产品修改。
A.可靠性 B.可重用性 C.适应性 D.可移植性
24.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( )
A.SQIC B.SQMC C.SQRC D.SQDC
25.软件复杂性度量的参数包括( )
A.效率 B.规模 C.完整性 D.容错性