软件工程笔试题及答案.docx
- 文档编号:28142286
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:13
- 大小:28.06KB
软件工程笔试题及答案.docx
《软件工程笔试题及答案.docx》由会员分享,可在线阅读,更多相关《软件工程笔试题及答案.docx(13页珍藏版)》请在冰豆网上搜索。
软件工程笔试题及答案
软件工程笔试题及答案
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.软件工程管理的具体内容不包括对_________管理。
()A.开发人员B.组织机构C.控制D.设备2.在McCall软件质量度量模型中,_________属于面向软件产品操作。
()A.正确性B.可维护性C.适应性D.互操作性3.在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是_________模型。
()A.探索型原型B.演化型原型C.实验型原型D.增量型原型4.维护中因删除一个标识符而引起的错识是_________副作用。
()A.文档B.数据C.编码D.设计5.软件维护的困难主要原因是()A.费用低B.人员少C.开发方法的缺陷D.维护难6.用白盒法技术设计测试用例的方法包括()A.错误推测B.因果图C.基本路径测试D.边界值分析7.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们()A.前者属于静态测试,后者属于动态测试B.前者属于动态测试,后者属于静态测试C.都属于静态测试D.都属于动态测试8.程序设计语言的心理特性在语言中表现不应包括()A.歧义性B.简洁性C.保密性D.传统性9.程序的三种基本控制结构的共同特点是()A.只能用来描述简单程序B.不能嵌套使用C.单入口,单出口D.仅用于自动控制系统10.JSP方法是一种面向_________的设计方法。
()A.控制结构B.对象C.数据流D.数据结构11.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合B.公共耦合C.标记耦合D.内容耦合12.软件设计的方法有多种,_________方法不属于面向数据流的设计方法。
()A.基于Jackson图的设计B.基于IDEF0图的设计C.交换分析设计D.事务分析设计13.为高质量地开发软件项目,在软件结构设计时,必须遵循_________原则。
()A.信息隐蔽B.质量控制C.程序优化D.数据共享14.设在一个模块内有2个判定,若受其中一个判定影响到的模块集合为A,而受另一个判定影响到的模块集合为B,则该模块的作用范围是()A.B.C.()—()D.()()15.数据流图(DFD)是_________方法中用于表示系统的逻辑模型的一种图形工具。
()A.SAB.SDC.SPD.SC16.螺旋模型是一种将瀑布模型和_________结合起来的软件开发模型。
()A.增量模型B.专家系统C.喷泉模型D.变换模型17.需求规格说明书的作用不包括()A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据18.数据字典是用来定义_________中的各个成份的具体含义的。
()A.流程图B.功能结构图C.系统结构图D.数据流图19.设年利率为i,现存入p元,不计复利,n年后可得钱数为()A.p﹡(1+i﹡n)B.p﹡(i+1)nC.p﹡(1+i)﹡nD.p﹡(i+n)20.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()A.软件危机B.软件工程C.程序设计革命D.结构化程序设计二、填空题(本大题共10小题,每空2分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
21.第二代CASE工具的特点是支持图形表示的____________。
如数据流图与结构图。
22.在面向对象方法中,对象实现了数据和操作的结合,使数据和操作________于对象的统一体中。
23.面向对象分析的目的是对客观世界的系统进行__________________。
24.软件维护工作的生产性活动包括分析评价、修改设计和__________________等。
25.为了使应用软件适应计算机环境的变化而__________________的过程称为适应性维护。
26.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是__________________。
27.基于IDEF0图的设计是以系统的功能模型和__________________为基础设计系统的软件结构。
28.软件结构图的宽度是指一层中__________________的模块个数。
29.投资回收期就是使累计的经济效益等于__________________所需的时间。
30.软件生存周期是指一个软件从提出开发要求开始直到__________________为止的整个时期。
三、词语解释题(本大题共5小题,每小题3分,共15分)31.增量开发32.渐增式测试33.详细设计34.模块的控制范围35.父图与子图的平衡四、简答题(本大题共4小题,每小题5分,共20分)36.何谓软件开发方法请列举四种主要方法。
37.从开发者角度进行程序质量的评审时,软件的结构包括哪些主要内容38.说明软件文档的作用。
39.简述详细设计的基本任务。
五、综合应用题(第一小题7分,第二小题8分,第三小题10分,共25分)40.试利用McCabe的程序复杂性计算方法计算如下程序图的复杂性。
41.根据下列条件使用边界值分析法设计测试用例。
某一8位微机,其八进制常数定义为:
以零开头的数是八进制整数,其值的范围是-177~177。
如05,0127,-06542.工资计算系统中的一个子系统有如下功能:
(1)计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;
(2)计算奖金部分—根据职工的出勤情况计算出奖励金;(3)计算工资总额部分—根据输入的扣除额及奖金计算出总额;(4)计算税金部分—由工资总额中计算出应扣除各种税金;(5)生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。
试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
全国2008年10月高等教育自学考试软件工程试题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.软件工程的概念是为解决软件危机而提出的这句话的意思是()A.强调软件工程成功解决了软件危机的问题B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D.说明软件工程的概念,即:
工程的原则、思想、方法可解决当时软件开发和维护存在的问题2.瀑布模型的主要特点是()A.将开发过程严格地划分为一系列有序的活动B.将开发过程分解为阶段C.提供了有效的管理模式D.缺乏灵活性3.在软件工程的需求分析阶段,不属于问题识别内容的是()A.功能需求B.性能需求C.环境需求D.输入/输出需求4.画某系统的数据流图时,顶层图有()A.0张B.1张C.2张D.3张及其以上5.软件模块内聚性最强的是()A.功能内聚B.通信内聚C.偶然内聚D.逻辑内聚6.最早提出软件系统维护问题的阶段是()A.可行性分析B.需求分析C.概要设计D.详细设计7.SD(结构化设计)方法设计的结果是()A.模块B.模块结构图C.模块的算法D.数据流图8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试()A.单元测试B.系统测试C.集成测试D.确认测试9.软件详细设计阶段的任务是()A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计10.下列属于静态测试方法的是()A.黑盒法B.路径覆盖C.白盒法D.人工检测11.Fortran语言主要作为以下哪个方面的语言()A.科学工程计算B.系统软件C.事务处理D.人工智能12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是()A.顺序结构B.选择结构C.嵌套结构D.重复结构l3.可维护软件的主要特性包括()A.可理解性、可修改性、可移植性B.可使用性C.可维护性、可使用性、可靠性D.可测试性14.程序设计语言不具有的特性是()A.心理特性B.工程特性C.应用特性D.技术特性15.下列不属于项目进度安排主要方法的是()A.工程网络图B.Gantt图C.进度结构图D.任务资源表16.下列不属于通常冗余技术的是()A.结构冗余B.信息冗余C.时间冗余D.代码冗余17.下列工具中,属于需求追踪工具的是()A.在DBMS上的应用运行工具B.追踪和状态报告C.访问和版本控制机构D.文件和修改管理18.关于软件测试的目的,下面观点错误的是()A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试19.在制定项目开发计划文档时,不包含的内容是()A.项目概述B.实施计划C.测试计划D.交付期限20.面向对象的开发方法中,以下哪种方法原是面向Ada语言的,并处于面向对象开发方法的奠基性地位()A.Booch方法B.Coad方法C.UML语言D.OMT方法二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
21.可行性研究从技术可行性、经济可行性、________三方面进行分析。
22.IDEF0方法用来描述系统的功能活动及其联系,建立系统的_______模型。
23.结构化方法总的指导思想是_______逐层分解。
24.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为________。
25.软件部件的内部实现与外部可访问性分离,这是指软件的______。
26.用来模拟被测模块的上级调用模块的模块称为_______。
27.软件复杂性度量的参数很多,主要有规模、_______、结构、智能度。
28.软件开发环境中最主要的组成部分是______。
29.软件工程管理的具体内容包括对开发人员、组织机构、用户和______等方面的管理。
30.增量模型根据增量方式和形式的不同,分为_____和原型模型。
三、名词解释题(本大题共5小题,每小题3分,共15分)31.过程设计语言(PDL)32.可移植性33.渐增式测试34.详细设计35.条件覆盖四、简答题(本大题共4小题,每小题5分,共20分)36.软件生存周期可以分为几个阶段,每个阶段的提交物是什么?
37.结构化分析的描述工具有哪些?
简述结构化分析的步骤。
38.什么是黑盒测试法?
常用的黑盒测试方法有哪些?
39.简述面向对象的特征。
五、应用题(本大题共2小题,第40小题10分,第41小题15分,共25分)40.下面是一段伪码程序(代码前的数字只作标号用,不参与程序执行):
START1:
INPUT(A,B,C,D)2:
IF(A>0)AND(B>0)THEN3:
X=A+BELSE4:
X=A-B5:
END6:
IF(C>A)OR(DTHEN7:
Y=C-DELSE8:
Y=C+D9:
END10:
PRINT(X,Y)STOP根据以上的描述
(1)画出对应的流程图和程序图。
(2)计算程序图的环形复杂度。
41.某个学生成绩管理系统的部分功能如下:
(1)基本信息管理:
教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;
(2)学生选课:
学生根据教学执行计划进行选课;(3)分配任课教师:
教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;(4)成绩管理:
每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。
请根据要求画出该问题的分层数据流图(要求画出顶层和0层数据流图)。
软件工程导论预测题一,单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。
1.可行性研究要进行一次_____需求分析。
A.详细的B.全面的C.简化的、压缩的D.彻底的[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。
因此答案为C。
2.系统流程图用于可行性分析中的_____的描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。
描述的对象是当前正在运行的系统,因此选择A。
3.系统流程图是描述_____的工具。
A.逻辑系统B.程序系统C.体系结构D.物理系统[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。
是描绘物理系统的传统工具。
4._______工具在软件详细设计过程中不采用。
A.判定表B.IPO图C.PDLD.DFD图[解析]详细描述处理过程常用三种工具:
图形、表格和语言。
其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。
IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。
PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。
5.程序的三种基本控制结构是A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。
子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。
6.程序的三种基本控制结构的共同特点是A.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。
三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。
7.产生软件维护的副作用,是指A.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时误操作[解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。
只有答案C是正确的表述。
8.维护中,因误删除一个标识符而引起的错误是_________副作用。
A.文档B.数据C.编码D.设计[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。
因此本题答案为C。
9.可维护性的特性中相互促进的是A.可理解性和可测试性B.效率和可移植性C.效率和可修改性D.效率和结构好[解析]软件的可维护性可用七个质量特性来衡量,分别是:
可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。
至于D中的结构好则不属于可维护性的特征。
10.汽车有一个发动机。
汽车和发动机之间的关系是_____关系。
A.一般具体B.整体部分C.分类关系D.主从关系[解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。
前者称为分类结构,用来描述现实世界中的一般化的抽象关系。
后者称为组装结构,用来描述现实世界中的类的组成的抽象关系。
汽车和发动机的关系很明显,应该属于整体——部分关系。
11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。
A.异步控制B.同步控制C.存取控制D.基线控制[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的检出和登入处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。
12.变更控制是一项最重要的软件配置任务,其中检出和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。
A.登入B.管理C.填写变更要求D.审查[解析]检出和登入处理实现了两个重要的变更控制要素。
具体说明见上题。
13.提高软件质量和可靠的技术大致可分为两大类:
其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要A.消除错误B.检测错误C.避开错误D.容错[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。
14._____是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。
15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A.开发过程基于功能分析和功能分解B.强调需求分析重要性C.把对象划分成类,每个对象类都定义一组数据和方法D.对既存类进行调整[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。
其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。
16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫A.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。
因此本题答案为D。
17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。
18.原型化方法是一种_______型的设计过程。
A.自外向内B.自顶向下C.自内向外D.自底向上[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。
如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。
它是一种自外向内的设计过程。
19.为了提高测试的效率,应该A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。
在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。
20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。
A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。
二,填空题(本大题共10小题,每小题2分,共20分)21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:
深度优先策略和(宽度优先策略)。
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。
它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:
如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。
26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
[解析]JSP方法是面向数据结构的设计方法。
它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 笔试 答案