软件工程考试题目汇总.docx
- 文档编号:30278061
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:75
- 大小:118.76KB
软件工程考试题目汇总.docx
《软件工程考试题目汇总.docx》由会员分享,可在线阅读,更多相关《软件工程考试题目汇总.docx(75页珍藏版)》请在冰豆网上搜索。
软件工程考试题目汇总
判断题
1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(对)
2.软件是指用程序设计语言编写的程序,软件开发实际上就是编写程序代码。
(错)
3.过程描述语言可以用于描述软件的系统结构。
(错)
4.数据库设计说明书是一个软件配置项(对)
5.软件模块之间的耦合性越弱越好。
(对)
6.如果通过软件测试没有发现错误,则说明软件是正确的。
(错)
7.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(对)
8.数据流图(DFD)和程序流程图没有区别。
(错)
9.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(对)
10.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(错)
11.软件危机是指在软件开发和维护过程中遇到的一系列严重问题。
(对)
12.结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。
(对)
13.程序设计语言中应绝对禁止使用GOTO语句。
(错)
14.模块越小,模块的优点越大。
(错)
15.集成测试主要由用户来完成。
(错)
16.确认测试计划应该在可行性研究阶段制定(错)
17.快速原型模型可以有效地适应用户需求的动态变化。
(对)
18.需求规格说明书不是一个软件配置项(错)
19.黑盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(对)
20.UML只能应用于软件系统模型的建立。
(错)
名词解释
1.软件工程:
软件工程是一门研究如何将完善的科学与工程原理,先进高效的管理技术以及完整、规范的设计方法应用于经济的开发既可靠,又能在实际计算机上有效运行的软件的一门工程学科。
2.软件宽度:
是软件结构中同一层次上的模块总数的最大值。
3.软件测试:
在精心控制的系统环境下,采用相应的技术手段,利用一组事先构造好的测试实例执行程序以发现程序中存在的问题,并确认系统功能、性能符合需求的一个综合过程。
4.软件维护
5.软件质量保证
6.软件危机:
软件危机就是软件在开发和维护过程中存在的一系列严重问题的总称。
7.软件生存周期
8.白盒法
9.数据字典
10.内聚性:
指模块的功能强度的度量,即一个模块按照设计要求组装成为子系统或系统,进行集成测试。
11.集成测试
12.软件:
是计算机系统中与硬件系统相互依存的另一部份,是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。
13.数据流图
14.黑盒测试:
测试是在软件接口上进行;也叫功能测试、输入/输出驱动测试。
15.软件深度:
表示软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。
16.数据字典:
是结构化分析方法中采用的表达数据元素的工具。
是对数据流图中所有的数据元素、数据结构、数据文件、数据流等的格式与内容进行定义的数据集合。
17.白盒测试:
是对软件实现的过程性细节做认真的运行检查;也叫结构测试、逻辑驱动
测试。
31.经济可行性:
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。
32.社会可行性:
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。
33.投资回收期:
投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。
34.对应关系:
即有直接因果关系在程序中可以同时处理。
[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。
35.结构冲突:
输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
填空题
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:
深度优先策略和(宽度优先策略)。
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。
它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:
如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。
26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
[解析]JSP方法是面向数据结构的设计方法。
它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。
对数据库进行物理设计等。
28.所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。
29.有两类维护技术:
在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。
[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。
而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:
( FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/1、FORTRAN语言都是工程计算中常用的语言。
第1章软件与软件工程
1.计算机软件是与操作系统有关的程序、规则、规程及其有关的文档和数据;由两部分组成:
一、机器可执行的程序及有关数据;二、机器不可执行的,与软件运行、维护有关的相关文档
2.软件是逻辑产品不是物理产品,特点是不会磨损和老化
3.软件分为系统软件与应用软件
4.软件危机:
软件功能要求变得更强、更复杂,代码量大,不仅需要编程人员技艺高超,更需要人员间的组织和合作;在这种情况下,完成软件往往质量差、维护困难、难以重用等等。
软件危机的表现形式是成本高、生产率低、质量难保证
5.软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法
6.软件工程由方法、工具和过程三部分组成
软件工程的目标:
可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性、可互操作性
7.软件工程原则:
抽象、信息隐藏、模块化、局部化、完整性、一致性、可验证性
8.软件生存周期包括:
软件定义、软件开发、软件使用和维护
9.软件定义分为软件系统的可行性研究和需求分析两个阶段
10.可行性研究包括技术可行性、操作可行性和经济可行性
11.软件开发模型:
软件需求完全确定采用瀑布模型;初始阶段只提供基本需求时采用渐进式开发模型,如原型模型和螺旋模型
12.软件开发周期一般步骤:
可行性研究、需求分析、概要设计、详细设计、编码与实现、单元测试、组装测试、确认测试、运行与维护、退役
13.螺旋模型是生存周期模型与原型模型的结合,增加了新的成分——风险分析,有需求定义、风险分析、工程实现、评审四部分组成
14.CASE(计算机辅助软件工程)
第二章软件项目管理
1.软件工程的定量描述离不开度量、测量和估算三个概念
2.度量具有数字特征,测量和估算是简单属性度量的函数
3.测量用于事后或实时状态,可分为直接测量和间接测量
软件工程的产品、过程、资源都具有外部属性和内部属性,外部属性可以说是面向管理者和用户的属性,是由内部属性决定的
4.面向规模的度量,直接(自然直观);面向功能的度量,间接
5.经验估算模型:
CoCoMo模型是静态、单变量模型;Putnam模型是动态多变量模型
6.软件质量的定义是软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。
1978年Walters和McCall提出包括质量要素、准则和度量的三层次软件质量度量模型,
质量要素分为产品修正性、产品转移性和产品运行性
7.T.J把程序看成是有一个入口节点和一个出口节点的有向图
8.程序结构复杂性的度量:
V(G)=e-n+2,e为边数,n为节点数
9.软件工程的风险分析包括风险标识、风险估算、风险评价和风险管理四个部分
10.软件开发人员的组织和分工可按树形结构组织、主程序员和无我程序设计原则建立
11.CMM的能力成熟度共分为5级:
L1初始级、L2可重复级、L3已定义级、L4已管理级、L5优化级
12.软件质量保证活动有8条:
第3章计算机系统工程
1.计算机系统工程包括硬件工程、软件工程、人机工程和数据库工程
第四章需求分析基础
1.需求分析分为问题分析、需求描述和需求评审三个阶段
2.问题分析方法:
问题抽象、问题分解和多视点分析,还有需求建模
3.需求规格说明书衡量标准:
正确性、无歧义性、完全性、可验证性、一致性、可理解性、可修改性和可追踪性
第五章面向数据流的分析方法
1.面向数据流的分析方法是结构化分析方法
2.数据流图有外部实体、转换、数据流和数据源组成
3.数据字典的作用是:
重组数据条目
4.在逐层精化过程中,初始输入流和最终输出流必须严格一致
5.数据字典可以对数据流图中的数据流、数据源及外部实体进行描述、组织和管理
6.数据流图精化的原则是“强内聚,松耦合”
第六章面向对象的需求分析
1.面向对象=对象+类+继承+聚集+消息
2.UML四类视图:
用例图、静态图(类图、对象图、包图)、行为图(交互图、状态图、活动图)、实现图(构件图、部署图)
3.迭代的渐进式软件开发过程,包含初启、细化、构造和移交四个阶段,重点在细化
4.软件顶层架构设计:
流程处理模式、客户/服务器模式、模型-视图-控制器(MVC)模式、分层模式
5.UML的用例和用例之间有:
使用关系和扩展关系
6.UML包含3个部分:
类的名称、属性列表、方法列表
第8章软件设计基础
1.软件设计分为概要设计和详细设计
2.系统的设计过程有总体结构设计、系统的数据设计和系统的过程设计
2.模块化的依据——一个复杂问题分割成若干个可管理的小问题更易于求解
3.信息隐藏——模块信息对于那些不需要这些信息的模块不可访问
4.内聚度:
低级内聚(偶然性内聚、逻辑性内聚、时间性内聚)、中级内聚(过程性内聚、通信性内聚)、高级内聚(顺序性内聚、功能性内聚)
5.设计软件应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合
6.软件总体结构包括层次结构(程序结构)和输入输出数据结构
7.一个软件的深度和宽度分别说明其控制的层数和跨度;一个模块的“扇出率”指其直接控制的模块个数;“扇入率”指直接控制该模块的模块数
8.结构化程序设计是特点是单入口、单出口
9.一个模块控制另一模块,前者为“主控”模块,后者为“从属”模块
10.PDL(过程设计语言)P200
11.设计规格说明与评审中,复审分正式和非正式两种
12.盒图又称N-S图P198
第9章面向数据流的设计方法
1.面向数据流的设计方法通常叫结构设计法。
2.信息流分交换流和事务流两种
3.事务分析有7个步骤:
1、复审基本系统模型。
2、复审并精化软件数据流图。
3、确定数据流图的特性。
4、指出事务中心,确定有事务中心发出的每一动作路径的数据流特性。
5、把数据流图映射为事务处理型的程序结构。
6、分解并精化事务结构以及每条动作路径所对应的结构。
7、使用启发式设计策略,精化所得程序结构雏形,改良软件质量。
4.设计优化原则:
百分之二十规则
第10章面向对象的设计方法
1.UML的消息有简单消息、同步消息、异步消息和返回消息四种
2.类的类型有:
边界类、实体类、控制类
第12章人机界面设计
1.人机界面设计先后涉及四个模型:
设计模型(软件工程师提出)、用户模型(软件工程师提出)、假象模型(终端用户提出)、系统映像模型(系统实现)
2.人机界面风格的演变:
第一代命令和询问方式,易出错、不友善且难以学习
第二代简单的菜单式,必须逐级进行,不能一步到位
第三代面向窗口的点选界面(WIMP界面),窗口、图标、菜单、显示器四位一体,形成桌面的概念,可在不同工作环境中切换
第四代把第三代与超文本、多任务概念结合起来,用户可同时执行多个任务
3.设计人机界面一般要考虑系统响应时间、用户求助机制、错误信息处理和命令方式四个方面
第14章软件测试
1.软件测试是为了发现程序中的错误,用到的数据称为测试用例,其原则是尽可能暴露错误
2.大型软件系统的测试分为单元(模块)测试和综合测试
3.测试只能找出程序中的错误,而不能证明程序无错
4.软件交付使用后,用户继续扮演测试角色
5.黑盒测试:
已知产品的功能,通过测试检验每个功能能否正常使用;测试时不用考虑程序的内部结构和处理过程,仅在程序界面上进行
6.黑盒测试的三种方法:
等价分类、边界值分析、对比测试
7.白盒测试:
已知产品内部工作过程,通过测试检验产品内部动作是否按产品规格说明的规定正确运行
8.白盒测试:
基本路径测试和控制结构测试
9.单元测试的对象是软件设计的最小单位——模块,多采用白盒测试,系统内多个模块可以并行测试
10.模块接口测试是单元测试的基础
11.综合测试分为非增量式集成和增量式集成;增量式集成又分为自顶向下集成和自底向上集成
12.自顶向下集成需要桩模块
13.自底向上集成需要驱动模块
13.排错策略:
原始类、回溯类、排除类
第15章软件维护
1.维护活动起因可分为纠错性维护、适应性维护、改善性维护、预防性维护,其中纠错性维护最为重要
2.结构化的维护:
文档健全,非结构化维护:
文档不健全
3.维护的副作用:
代码副作用、数据副作用、文档副作用
4.软件的可维护性是指:
软件被理解、改正、调整和改进的难易程度
一单项选择
1.软件生命周期一般包括:
软件开发期和软件运行期,下述(D)不是软件开发期所应包含的内容。
A需求分析B结构设计C程序编制D软件维护
2.软件是一种逻辑产品,它的开发主要是(A)。
A研制B拷贝C再生产D复制
3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(C)。
A喷泉模型B增量模型C瀑布模型D螺旋模型
4.在软件生存周期中,(B)阶段必须要回答的问题是“要解决的问题是做什么?
”。
A详细设计B可行性分析和项目开发计划C概要设计D软件测试
5.软件产品与物质产品有很大区别,软件产品是一种(C)产品
A有形B消耗C逻辑D文档
6.(C)把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。
A原型模型B螺旋模型C基于知识的智能模型D喷泉模型
7.(B)阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
A概要设计B详细设计C编码D测试
8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A)。
A原型模型B瀑布模型C基于知识的智能模型D变换模型
9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。
A原型模型B瀑布模型C喷泉模型D螺旋模型
10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D)。
A原型模型B瀑布模型C喷泉模型D螺旋模型
11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C)。
A可修改性B可靠性C可适应性D可重用性
12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B)。
A可移植性B可重用性C容错性D可适应性
13.软件特性中,(A)是指系统具有清晰的结构,能直接反映问题的需求的程度。
A可理解性B可靠性C可适应性D可重用性
14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B)。
A可理解性B可维护性C可适应性D可重用性
15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C).
A可理解性B可修改性C可移植性D可重用性
16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是(D)。
A有效性B可适应性C正确性D可靠性
17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A)。
A可修改性B可适应性C可维护性D可移植性
18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B)。
A可理解性B可互操作性C可维护性D可追踪性
19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是(C)。
A可理解性B可互操作性C可追踪性D可维护性
20.软件的可修改性支持软件的(D)。
A有效性B可互操作性C可追踪性D可维护性
21.软件的可移植性支持软件的(A)。
A可适应性B可互操作性C可追踪性D有效性
22.软件的可理解性支持软件的(B)。
A有效性B可移植性C可追踪性D可靠性
23.在软件工程的原则中,抽象、信息隐藏、模块化和局部化的原则支持软件的(C)。
A有效性B可互操作性C可靠性D可追踪性
24.下列选项中,属于需求分析阶段的任务的是(D)。
A组装测试计划B单元测试计划C软件总体设计D验收测试计划
25.下列选项中,属于概要设计阶段的任务的是(A)。
A组装测试计划B单元测试计划C初步用户手册D验收测试计划
26.下列选项中,属于详细设计阶段的任务的是(B)。
A组装测试计划B单元测试计划C初步用户手册D验收测试计划
27.下列选项中,属于实现阶段的任务的是(C)。
A组装测试计划B绘制程序流程图C单元测试D验收测试计划
28.下列选项中,在验收测试结束时,必须提交给用户的是(D)。
A项目开发总结报告B验收测试计划C需求规格说明书D最终用户手册
二填空
1.计算机软件是指与计算机系统操作有关的程序、数据以及任何与之有关的文档资料。
2.瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。
3.维护阶段是软件生存周期中时间最长的阶段。
4.喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
5.软件生存周期是指一个软件从定义开始直到该软件最终退役为止的整个时期。
6.在软件的生产过程中,总是有大量各种信息要记录,因此,文档在产品的开发过程中起着重要的作用。
7.在软件生存周期中,软件定义过程的基本任务是确定软件系统的工程需求。
8.在软件生存周期中,软件定义过程可以通过软件系统的可行性研究和需求分析两个阶段来完成。
9.在软件生存周期中,软件开发过程可以通过概要设计、详细设计、实现、组装测试、验收测试共5个阶段组成。
10.我们把支持软件项目的开发、管理、维护活动的软件叫做软件开发的工具软件。
11.软件工程由方法、过程和工具三部分组成,称为软件工程的三要素。
三名词解释
1.计算机软件答:
计算机软件是指与计算机系统操作有关的程序、数据以及任何与之有关的文档资料。
2.软件危机答:
软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
3.软件工程
答:
软件工程是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法
4.软件工程过程
答:
软件工程过程指在定义、开发、使用和维护软件时,要实施的过程、活动和任务。
5.软件生存周期
答:
软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。
6.软件生存周期模型
答:
软件开发模型(又称为软件生存周期模型)是指软件项目开发和维护的总体过程思路的框架。
7.计算机辅助软件工程
答:
在软件工程活动中,人们按照软件工程的原则和方法,利用计算机及其集成的软件开发环境,辅助软件项目的开发、维护及管理的过程,称为计算机辅助软件工程(即CASE)。
四简答题
1.软件产品的特点是什么
答:
①软件开发与硬件研制相比,更
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 考试 题目 汇总