软件工程题库答案.docx
《软件工程题库答案.docx》由会员分享,可在线阅读,更多相关《软件工程题库答案.docx(13页珍藏版)》请在冰豆网上搜索。
![软件工程题库答案.docx](https://file1.bdocx.com/fileroot1/2023-2/11/427bca7a-53dc-4f88-b9a2-df0998b3e78a/427bca7a-53dc-4f88-b9a2-df0998b3e78a1.gif)
软件工程题库答案
一、选择题
1.在软件开发的各种资源中,(D)是最重要的资源。
A开发工具B方法C硬件环境D人员
2.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D)。
A.程序、数据B.程序、文档C.程序D.程序、数据、文档
3.软件是一种(B)产品。
A、有形B、逻辑C、物质D、消耗
4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)
A.软件工程B.软件周期C.软件危机D.软件产生
5.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A)
A.软件危机B.软件工程C.程序设计革命
D.结构化程序设计
6.“软件危机”产生的主要原因是(A)。
A.软件日益庞大B.开发方法不当
C.开发人员编写程序能力差D.没有维护好软件
7.软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A固有的B人为的C可消除的D不可降低的
8.软件危机是指在软件开发和(C)过程中遇到的一系列严重问题。
A开发B使用C维护D更新
9.为了解决软件危机人们提出了用(B)的原理来设计软件,这就是软件工程诞生的基础。
(A)运筹学(B)工程学(C)软件学(D)数学
10.在软件工程时期,决定软件质量的主要因素是(A)
A.管理水平B.个人程序技术C.小组技术水平D.硬件的发展
11.以下哪一项不是软件危机的表现形式(C)
(A)成本高(B)生产率低
(C)技术发展快(D)质量得不到保证
12.软件管理工作涉及到的直接对象不包括(B)。
A.软件开发人员B.硬件设备C.项目经费D.软件项目
13.软件工程方法学有三个要素,它们是(A)
A.方法、工具和过程B.质量、进度和成本C.顺序、分支和循环D.入口、过程、出口
14.软件工程中描述生命周期的瀑布模型一般包括计划、(A)、设计、编码、测试、维护等几个阶段。
A.需求分析B.需求调查C.可行性分析D.问题定义
15.瀑布模型把软件生存周期划分为软件计划、软件开发与(C)三个阶段,而每一阶段又可分为若干更小的阶段。
A.详细设计B.可行性分析C.运行与维护D.测试与排错
16.下列哪个模型没有采用迭代的思想(A)
A.瀑布模型B.渐增模型C.螺旋模型D.RUP模型
17.4:
下列关于瀑布模型的描述正确的是(D)。
A.利用瀑布模型,如果发现问题修改的代价很低
B.瀑布模型的核心是按照软件开发的时间顺序将问题简化
C.瀑布模型具有良好的灵活性
D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开
18.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品
19.快速原型模型的主要特点之一是(D)
A.开发完毕才见到产品B.及早提供全部完整的软件产品
C.开发完毕后才见到工作软件D.及早提供工作软件
20.瀑布模型存在的问题是(B)。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
21.软件定义的目的主要是(A)
A.明确系统的目标B.明确系统具体该做什么C.明确系统该如何做D、系统值不值得做。
22.研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。
A.技术可行性B.经济可行性
C.社会可行性D.法律可行性
23.一个项目是否开发,从经济上来说是否可行,归根结底是取决于对(A)
A.成本的估算B.项目计划
C.工程管理D.工程网络图
24.瀑布模型的关键不足在于(B)
(A)过于简单(B)不能适应需求的动态变更
(C)过于灵活(D)各个阶段需要进行评审
25.可行性研究的目标是(B)。
A.开发项目B.项目值得开发否
C.规划项目D.维护项目
26.软件可行性研究一般不考虑(D)
(A)是否有足够的人员和相关的技术来支持系统开发
(B)是否有足够的工具和相关的技术来支持系统开发
(C)待开发软件是否有市场、经济上是否合算
(D)待开发的软件是否会有质量问题
27.软件需求分析的任务不应包括(C)。
A问题分析B信息域分析C结构化程序设计D确定逻辑模型
28.在需求分析中,分析员要从用户那里解决的最重要的问题是(A)。
A要让软件做什么B要给该软件提供哪些信息
C要求软件工作效率如何D要让软件具有什么样的结构
29.软件需求分析应确定的是用户对软件的(A)。
A.功能需求和非功能需求B.性能需求
C.非功能需求D.功能需求
30.软件项目计划一般不包括以下哪项内容(D)
(A)培训计划(B)人员安排
(C)进度安排(D)软件开发标准的选择和制定
31.结构化分析方法(SA)是一种面向(C)的需求分析方法。
A.对象B.数据结构C.数据流D.控制流
32.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。
A数据流图B数据词典C结构化英语D判定表与判定树
33.需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括(D)。
A软件设计的依据B用户和开发人员对软件要“做什么”的共同理解
C软件验收的依据D软件可行性分析的依据
34.进行需求分析可以使用多种工具,但(B)是不适用的。
A、数据流程图B、判定表C、状态转换图D、数据字典
35.在SD方法中全面指导模块划分的最重要的原则是(D)
A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性
36.模块(C),则说明模块的独立性越强。
A.耦合越强B.扇入数越高
C.耦合越弱D.扇人数越低
37.软件需求规格说明书的内容不应当包括(B)。
A对重要功能的描述B对算法的详细过程性描述
C软件确认准则D软件的性能
38.需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出(B)。
(A)模块说明书(B)软件规格说明书(C)项目开发计划(D)合同文档
39.下列工具哪一个是需求分析阶段常用工具?
(D)
A、PADB、PDLC、盒图D、数据流图
40.以下各种耦合按从强到弱排列正确的是(C):
(A).内容耦合,控制耦合,数据耦合,公共环境耦合。
(B).内容耦合,数据耦合,控制耦合,公共环境耦合。
(C).内容耦合,公共环境耦合,控制耦合,数据耦合。
(D).控制耦合,内容耦合,数据耦合,公共环境耦合。
41.进行需求分析可使用多种工具,但(B)是不适用的。
A数据流图BPAD图CE-R图D数据字典
42.模块的内聚性最高的是(D)
A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚
43.模块(A),则说明模块的独立性越强。
A.内聚越强B.扇入数越高
C.内聚越弱D.扇人数越低
44.在SD中,概要设计的结果是提供一份(A)。
A.模块说明书B.框图
C.程序D.数据流图
45.结构化设计在软件开发中用于(B)。
A、测试设计B、概要设计C、程序设计D、详细设计
46.PDL是一种过程设计语言,又叫(C)
(A)系统流程图(B)盒图
(C)伪码(D)功能图
47.在详细设计算法工具中,(C)能够清楚地表现程序的层次结构
(A)系统流程图(B)层次图
(C)PAD图(D)功能图
48.在软件详细设计过程中不采用的描述工具是(D)。
A、判定表B、流程图 C、PAD图 D、DFD图
49.详细设计算法工具中,(A)图是一种历史悠久的图,直观地描述了程序的控制流程。
(A)程序流程图(B)系统流程图
(C)PAD图(D)盒图
50.下列哪一个不是详细设计时使用的工具。
(A)
(A)系统流程图(B)盒图
(C)PAD图(D)判定树
51.以下各种内聚按从强到弱排列正确的是(D):
A.偶然内聚,逻辑内聚,时间内聚,顺序内聚,功能内聚
B.偶然内聚,顺序内聚,逻辑内聚,时间内聚,功能内聚
C.逻辑内聚,时间内聚,顺序内聚,功能内聚,偶然内聚
D.功能内聚,顺序内聚,时间内聚,逻辑内聚,偶然内聚
52.详细设计的方法不包括(D)
A.Jackson数据结构方法B.结构化设计方法C.面向对象设计法D.程序流程图
53.一般来说,详细设计的方法包括结构化设计方法、(C)和Jackson方法。
A.PAD图B.判定树C.面向对象设计法D.程序流程图
54.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是(A)。
A、PAD B、PDL C、IPO D、判定树
55.结构化程序设计的一种基本方法是(D)。
A、筛选法 B、递归法 C、迭代法 D、逐步求精法
56.PDL是软件开发过程中用于(C)阶段的描述工具。
A、需求分析 B、概要设计 C、详细设计 D、编程
57.程序的三种基本控制结构是(B)。
A、过程、子程序和分程序 B、顺序、选择和重复
C、递归、堆栈和队列 D、调用、返回和转移
58.结构化程序设计主要强调的是(C)。
A、程序的效率B、程序的执行速度
C、程序的易读性D、程序的规模
59.详细设计的任务是确定每个模块的( A)。
A、算法B、功能 C、调用关系 D、输入输出数据
60.编程风格又叫程序设计风格,其中最重要的因素是(A)
A.逻辑简明清晰,易读易懂
B.逻辑复杂,以免别人读懂
C.算法复杂,保护自己的编程技术
D.逻辑简明清晰,但不容易读懂
61.程序的三种基本控制结构的共同特点是(D)。
A、不能嵌套使用 B、只能用来写简单程序
C、已经用硬件实现 D、只有一个入口和一个出口
62.软件详细设计主要采用的方法是(C)
A、结构程序设计 B、模型设计 C、结构化设计
D、流程图设计
63.指出PDL是下列哪种语言?
(B)
A、高级程序设计语言B、伪码式
C、中级程序设计语言D、低级程序设计语言
64.软件的三种结构是(B)
(A)过程、子程序、分程序(B)顺序、条件、循环
(C)递归、堆栈、队列(D)调用、返回、转移
65.目前要开发一个人事工资数据库应用系统,一般情况下不选用的开发语言是(D)
(A)JAVA语言(B)C#语言(C)DELPHI语言(D)汇编语言
66.程序中,语句构造应当简单直接,为提高效率,不应该(C)
A.尽量避免使用逻辑‘非’运算
B.尽量避免使用复杂的表件组合表达式
C.为节省空间把多个语句写在同一行
D.使用括号使逻辑表达式的运算次序清晰直观
67.程序算法复杂性,不能度量的是(B)
A.模块内部的复杂性
B.软件效益的多少
C.开发周期及内部潜伏错误的多少
D.软件开发费用的多少
68.(D)这种维护性活动数量较大,占整个维护活动的50%。
A.改正性维护B.适应性维护C.预防性维护D.完善性维护
69.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B)
A.改正性维护B.适应性维护C.完善性维护D.预防性维护
70.影响软件可维护的因素中,(A)描述不正确。
(A)系统功能强大(B)系统结构合理
(C)系统所选用的程序语言合适(D)有充分的经过版本控制的文档
71.软件可维护性,主要表现在(D)
(A)软件容易使用(B)软件文档丰富
(C)软件功能强大(D)软件的可理解性、可测试性、可修改性、可移植性
72.在编程时,要使源程序文档化,其中不包括(D)
A.标识符的命名规范,能正确代表实体
B.做必要的有意义的注释
C.程序清单布局呈阶梯状分布
D.程序不需要写任何注释
73.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B)
A.可用性B.可靠性C.正确性D.完整性
74.根据是否按照工程化原则实行来划分,软件维护分为(B)
A.改正性维护、适应性维护、完善性维护
B.非结构化维护和结构化维护
C.预防性维护和非预防性维护
D.正确维护和错误维护
75.为增加软件功能和性能而进行的软件修改维护过程是(C)。
A、校正性维护B、适应性维护C、完善性维护
D、预防性维护
76.维护中用来指出修改的工作量、工作性质、优先权、修改的事后性质的文档是(B)。
A、软件需求说明B、软件修改报告C、软件问题报告D、测试分析报告
77.维护中,因修改全局或公用数据而引起的错误是(B)。
A、文档副作用B、数据副作用C、编码副作用D、设计副作用
78.生产性维护活动是(A)。
A、修改设计B、理解设计C、解释数据结构D、理解功能
79.测试用例不仅要选用合理的测试输入数据,还需要选用不合理的测试输入数据,这样能更多地(A),提高程序的可靠性。
A、找出未发现的错误B、提高代码测试覆盖率
C、加强代码的规范率D、以上说法都不对
80.黑盒测试依据(A),检查程序是否满足。
A、需求中的功能B、概要设计中的设计
C、详细设计中的设计D、与用户口头约定
二、名词解释
1.软件危机:
是落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
2.软件:
是计算机程序、程序所用的数据以及有关文档资料的集合
3.软件工程:
是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科
4.问题定义:
5.软件测试:
是软件生产过程中的质量管理者,其不但要对软件产品最后的功能、性能负责,而且从软件的“需求分析”、“结构设计”阶段以及文档规范等诸多方面就开始对软件的质量加以保障,使生产出来的软件的功能达到设计之初的要求,让用户用上高质量的软件
6.黑盒测试:
也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用
7.模块深度、广度、扇入、扇出:
深度表示软件结构中控制的层数,广度是软件结构内同一层次上的模块总数的最大值,扇出是一个模块直接控制的模块数目,扇入表明有多少个上级模块直接调用它
8.耦合:
是指两个或两个以上的电路元件或电网络的输入与输出之间存在紧密配合与相互影响,并通过相互作用从一侧向另一侧传输能量的现象;概括的说耦合就是指两个或两个以上的实体相互依赖于对方的一个量度。
9.详细设计:
是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
10.需求分析:
是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么
11.模块独立性:
是指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量
12.软件生命周期:
是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段
13.概要设计:
主要是确定项目的最为适合的实现方案和确定软件的设计结构
14.可行性分析:
是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法
15.内聚:
是一个模块内部各成分之间相关联程度的度量
16.白盒测试:
也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作
三、简答题
1.需求分析的逻辑模型包含哪几部分,通常用什么图形表示?
:
包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。
用数据流图、E-R图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型
2.需求分析阶段的任务是什么?
:
是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求然后在此基础上确定新系统的功能
3.软件实施与软件维护的区别?
4.详细设计阶段的任务是什么?
:
包括业务对象设计、功能逻辑设计、数据库设计和界面设计等工作。
详细设计是系统实现的依据,需要考虑所有的设计细节。
5.结构化程序设计的基本原则?
:
是进行以模块功能和处理过程设计为主的详细设计的基本原则
6.请画出软件瀑布生命周期模型图?
7.请描述一个软件测试的过程?
:
1.需求2.测试计划:
3.用例设计:
4.执行测试:
5.执行结果记录和bug记录:
6.defecttracking:
7.测试报告:
8.用户体验、软件发布等……
8.概要设计阶段的任务是什么?
:
主要任务是把需求分析得到的DFD转换为软件结构和数据结构
9软件工程的基本原则?
:
选取适宜开发范型,采用合适的设计方法,提供高质量的工程支持,重视开发过程的管理
9.问题定义阶段的任务是什么?
10.请画出软件测试的V模型?
11.可行性分析阶段的任务是什么?
:
技术、效益、社会因素等方面分析一个软件项目是否可以开发
四、论述题: