《软件工程导论试题 .pdf》由会员分享,可在线阅读,更多相关《软件工程导论试题 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程导论试题(老师给的)软件工程导论试题(老师给的)一选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和()。A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大()。A、详细设计阶段 B、概要设计阶段C、需求分析阶段 D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标()。A、需求分析阶段 B、详细设计阶段
2、 C、概要设计阶段 D、可行性研究阶段4、软件工程的出现主要是由于()。A.程序设计方法学的影响B.其它工程科学的影响 C.软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为()A、相互排斥B、相互补充C、独立使用D、交替使用7、UML 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法()A、基于瀑布模型的结构化方法C、基于对象的面向对象的方法
3、A、结构化方法A、控制流B、原型化方法B、数据流B、基于需求动态定义的原型化方法D、基于数据的数据流开发方法D、控制流方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高()C、面向对象的方法C、程序流9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的()D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成()A、计划阶段、开发阶段、运行阶段C、总体设计、详细设计、编程调试A、瀑布模型B、对象模型B、计划阶段、编程阶段、测试阶段D、需求分析、功能定义、系统设计D、层次模型11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为
4、()C、螺旋模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是()A、分析阶段二.填空21系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()情况。22成本效益分析的目的是从()角度评价开发一个项目是否可行。B、设计阶段C、编码阶段D、测试阶段23自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。24独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。25汇编语言是面向()的,可以完成高级语言无法完成
5、的特殊功能,如与外部设备之间的一些接口工作。26在 JSP 方法中解决结构冲突的具体办法是()。27详细设计的任务是确定每个模块的内部特性,即模块的算法、()。28所有软件维护申请报告要按规定方式提出,该报告也称()报告。29有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。30科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL 语言、C 语言和 PL/1 语言。三判断1软件的开发与运行经常受到硬件的限制和制约。()2模块内的高内聚往往意味着模块间的松耦合。()3Jackson
6、图只能表达程序结构,不能表达数据结构。()上述数据流图表示数据A 和 B 同时输入变换成 C。()5软件的质量好坏主要由验收人员负责,其他开发人员不必关心。()6判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。()7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。()8UML 只能应用于软件系统模型的建立。()9容错就是每个程序采用两种不同的算法编写。()10软件测试的目的是为了无一遗漏的找出所有的错误。()四、名词解释题四、名词解释题(本大题共本大题共 5 5 小题,每小题小题,每小题 3 3 分,共分,共 1515 分分)31.软件开发环境 32.错误推测
7、法 33.黑盒测试法 34.软件质量保证 35.瀑布模型五、图五、图 a a 中,模块中,模块 G G 为判定,判断涉及到模块为判定,判断涉及到模块 B B、F F、G G,请指出设计中的错误,再根据改进模块,请指出设计中的错误,再根据改进模块图的基本原则,画出图的基本原则,画出 1 12 2 个改进方案个改进方案(不改变模块不改变模块 G G 的判断关系的判断关系),并说明是按照哪条基本原则进,并说明是按照哪条基本原则进行改进的。行改进的。40请使用 PAD 图和 PDL 语言描述在数组 A(1)A(10)中找最大数的算法。41根据下列条件使用等价类划分法设计测试用例。某一 8 位微机,其八
8、进制常数定义为:以零开头的数是八进制整数,其值的范围是-177177,如 05,0127,-06542某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报表调整月生产计划(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生(2)根据组装计划
9、进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件外购需求计划给供应科,并产生产品自制物料清单。厂。试写出以上系统中生产科和技术科处理的软件结构图。20092009 20102010学年第二学期期末考试试题学年第二学期期末考试试题1.软件危机具有下列表现()。I.对软件开发成本估计不准确 II.软件产品的质量往往靠不住III.软件常常不可维护IV.软件成本逐年上升A.I、II 和 IIIB.I、III 和 IVC.II、III 和 IVD.以上都正确2.软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是()。A.运行和维护阶段B.设计阶段 C.代码实现阶段D
10、.测试阶段3.下列属于软件的特点的是()。A.软件是一种逻辑实体,具有抽象性 B.软件在使用过程中没有磨损、老化的问题C.软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D.以上都正确4.软件工程的出现是由于()。A.软件危机的出现B.计算机硬件技术的发展C.软件社会化的需要 D.计算机软件技术的发展5.软件开发技术不包含()。A.软件开发方法学B.软件工程环境 C.软件工具D.软件质量度度量6.软件工程的课程特点()。I.学科理论及其知识应用的多维性 II.工程化 III.浓厚的方法学色彩 IV.实践性、指导性强A.I、II 和 IIIB.I、III 和 IVC.II、III 和
11、 IVD.以上都正确7.下列属于应用软件的是()。I.计算机辅助教学软件 II.软件测试工具 III.办公自动化软件 IV.工程与科学计算软件A.I、II 和 IIIB.I、III 和 IVC.II、III 和 IVD.以上都正确8.需求分析阶段最重要的技术文档是()。A.设计说明书B.需求规格说明书 C.可行性分析报告 D.用户手册9.以下关于数据流图的说法错误的是()。A.数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储B.数据流图是用作结构化分析的一种工具C.传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成D.数据流图的绘制采用自上向下、逐层分解的方法1
12、0.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()。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
13、.从左到右D.从右到左17.程序流程图中的“”代表()。A.数据流B.控制流C.顺序流D.调用18.DFD 中的“”代表()。A.数据流B.文件C.处理D.控制流19.DFD 中的“”代表()。A.数据流B.文件C.处理D.控制流20.DFD 中的“”代表()。A.数据流B.文件C.处理D.控制流1.计算机软件不仅仅是程序,还应该有一整套。2.传统的软件生存期模型是。3.软 件 按 照 功 能 的 不 同 可 以 划 分 为3大 类 型、和。4.DFD 在软件工程中表示。5.与是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到内聚、耦合,提高模块的,为设计高质量的软件结构奠定基础。6.
14、数据流图有四种基本成分:、。7.12.数据字典有以下四类条目:、。是组成数据流和数据存储的最小元素。8.某厂对部分职工重新分配工作的政策是:年龄有 20 岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有 20 岁至 40 岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40 岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。一、单项选择题一、单项选择题1.D 2.A 3.D4.D5.D6.D 7.B 8.B 9.C 10.C11.B12.B13.B14.A15.C16.B17.B18.A.B二、填空
15、题1.文档 2.瀑布模型 3.系统软件支持软件应用软件 4.数据流图5.耦合性内聚性高低独立性6.数据流加工(又称为数据处理)文件数据的源点或终点7.数据流数据项文件基本加工数据项三、简答题答:(1)结构化语言。IF年龄C(P2)显然E(P1)E(P2),则得出结论E(P1+P2)E(P1)+E(P2)就是:()A模块化的根据B逐步求精的根据C抽象的根据D信息隐藏和局部化的根据12下面几种白箱测试技术,哪种是最强的覆盖准则()A语句覆盖B条件覆盖C判定覆盖D条件组合覆盖13面向数据流的设计方法把()映射成软件结构。A数据流B系统结构C控制结构D信息流14.内聚程度最低的是()内聚A.偶然B.过
16、程C.顺序D.时间15.确定测试计划是在()阶段制定的.A总体设计B.详细设计C.编码D.测试16需求分析的产品是()A数据流程图案B数据字典C判定表D需求规格说明书17数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()A数据库设计B数据通信C数据定义D数据维护18.()引入了“风险驱动”的思想,适用于大规模的内部开发项目。A增量模型B喷泉模型C原型模型D螺旋模型19模块的内聚性最高的是()A逻辑内聚B时间内聚C偶然内聚D功能内聚20.提高测试的有效性非常重要,成功的测试是指()A.证明了被测试程序正确无误B.说明了被测试程序符合相应的要求C.未发现被测程序的错误D.发现了至今为
17、止尚未发现的错误_答案:4.简述软件测试的任务、目的与类型。简述软件测试的任务、目的与类型。答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。简述软件工程目标和面临的主要问题。简述软件工程目标和面临的主要问题。答:软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。它采用经过实践验证的工程的原则、方法,以提高质量,降低成本。但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常
18、很不准确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。(4)软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。(7)软件成本在计算机系统总成本中所占的比例逐年上升。简述软件开发过程、每个里程碑的提交物。简述软件开发过程、每个里程碑的提交物。答:软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、性能和接口。系统需求和软件需求均需文档化,并与用户一起复审。并提交需求分析报告。(3)设计,包括总体
19、设计和详细设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计。设计过程将需求转换为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要组成部分,经复审后提交相应的概要设计和详细设计报告。(4)编码,把设计转化为机器可执行的程序。提交源程序清单。(5)测试,提交测试报告。(6)维护,提交维护报告。软件生命周期模型瀑布模型快速原型模型软件生命周期模型瀑布模型快速原型模型答;概括的说,软件生命周期模型由软件定义、软件开发和运行维护3 个时期组成,每个时期又进一步划分成若干个阶段。软件生命周期模型有问题定义,可行性研究,需求分析,总
20、体详细设计,总体编码和单元测试,综合测试,软件维护组瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段。快速原型模型是在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。软件软件产
21、品具有哪些特性软件软件产品具有哪些特性答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。软件产品具有以下特性:1、非常复杂;2、成本高;3、风险大;4、维护困难;可行性分析的目的和主要任务是什么可行性分析的目的和主要任务是什么答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行性,社会可行性,抉择可行性。需求分析的目的和主要任务是什么需求分析的目的和主要任务是什么答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什么。需求分析的主要任务是描述
22、系统的功能需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、接口需求、约束条件、其他需求。总体设计的目的和主要任务是什么总体设计的目的和主要任务是什么答:总体设计的目的是用比较抽象的方法确定系统概要地是如何实现的(How to dogenerally!)。从初步的数据流图导出(设计出)软件结构;根据数据需求设计数据结构(数据库结构、文件结构设计)。主要任务是概括地说,如何解决这些问题,系统怎样实现划分系统的构成成分(黑盒子),如程序、文件、数据库、人工操作等。设计系统的软件结构,即构成模块。详细设计的目的和主要任务是什么详细设计的目的和主要任务是什么答:在总体设计的基础上,进一步确定
23、软件怎样具体实现,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。主要任务包括人机界面设计、模块过程设计。编码的目的和主要任务是什么编码的目的和主要任务是什么答:把软件设计结果翻译成用某种程序设计语言书写的程序答:发现程序中的错误软件维护的目的和主要任务是什么维护的类型有哪些软件维护的目的和主要任务是什么维护的类型有哪些答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误
24、)、适应性(环境)、完善性(功能)、预防性(新产品)什么是耦合模块的耦合包括哪些类型什么是耦合模块的耦合包括哪些类型答:耦合是对一个软件结构内不同模块之间互连程度的度量。模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容耦合,标记耦合,无耦合/非直接耦合什么是内聚模块的内聚包括哪些类型什么是内聚模块的内聚包括哪些类型答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展模块的内聚包括以下几种类型:低内聚偶然内聚,逻辑内聚,时间内聚中内聚过程内聚,通信内聚;高内聚顺序内聚,功能内聚如何选择程序设计语言的工程特性如何选择程序设计语言的工程特
25、性答:1.系统用户的要求 2.可以使用的编译程序3.可以得到的软件工具 4.工程规模 5.程序员的知识6.软件可移植性的要求 7.软件的应用领域什么是编码风格为什么要强调编码风格什么是编码风格为什么要强调编码风格答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输出和效率保障等。因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风格。一、单选题1 在软件危机中表现出来的软件质量差的问题,其原因是_c_。A 软件研发人员素质太差C 没有软件质量标准B 用户经常干预软件系统的研发工作D 软件开发人员不遵守软件质量标准2 在软件质量因素中,软件在异
26、常条件下仍能运行的能力成为软件的_b_。A 安全性C 可用性B 健壮性D 可靠性3 在下列测试技术中,_d_不属于黑盒测试技术。A 等价划分C 错误推测B 边界值分析D 逻辑覆盖4 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指_b_。A 原型化方法C 功能化方法B 结构化方法D 面向对象方法5 _c_是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A 多态C 封装B 继承D 消息6 Jackson 方法是在软件开发过程中常用的方法,使用Jackson 方法时可以实现_a_。A 从数据结构导出程序结构C
27、从模块结构导出数据结构B 从数据流图导出初始结构图D 从模块结构导出程序结构7 软件测试时为了_B_而执行程序的过程。A 纠正错误C 避免错误B 发现错误D 证明错误8 在软件系统中,一个模块应具有什么样的功能,这是由_B_决定的。A 总体设计C 详细设计B 需求分析D 程序设计9 面向对象分析是对系统进行_A_的一种方法。A 需求分析C 设计评审B 程序设计D 测试验收10软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的_B_。A 可理解性C 可扩展性B 可维护性D 可移植11模块内聚度越高,说明模块内各成分彼此结合的程序越_B_。A 松散C 无法判断B
28、紧密D 相等12软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_C_。A 分析阶段C 维护阶段B 设计阶段D 测试阶段13常用的面向对象的软件过程模型是_B_。A 瀑布模型C 原型模型B 喷泉模型D 增量模型14面向对象的分析阶段建立的系统模型不包括_D_。A 对象模型C 功能模型B 动态模型D 数据模型15提高软件的可维护性可采用很多措施,下列哪个不在措施之列 AA 提供没有错误的程序C 改进程序文档质量B 建立质量保证制度D 明确软件质量标准二、填空题1 软件工程中的结构化分析SA 是一种面向_的分析方法。2 软件模块独立性
29、的两个定性度量标准是_。3 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个_的过程。4 _和数据字典共同构成了系统的逻辑模型5 _是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。三、判断题1 软件工程学只有理论意义,没有实际用途。(F)2 软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。(F)3 可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。(T)4 代码审查方法没有计算机测试方法好。(F)5 验证软件需求的方法主要靠人工审查的方法。(T)6 并发系统中遇到的一个主要问题是定时问题。(T)7 编码风格由个人喜好决定,没
30、有固定格式。(F)8 面向对象建模得到的模型包含系统的3 个要素,即静态结构、交互次序和数据变换(T)9 软 件 重 用 是 提 高 软 件 开 发 生 产 率 和 目 标 系 统 质 量 的 重 要 途 径。(T)10判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(T)11PowerDesigner是一个CASE工具。(T)12软件是指用程序设计语言(如Pascal,C,Visual Basic 等)编写的程序,软件开发实际上就是编写程序代码。(F)13在进行需求分析时需同时考虑维护问题。(F)14UML 是一种面向对象的分析设计方法,即OOA/OOD 方法。(F)15在面向对象
31、的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。(T)四、名词解释1 白盒测试2 模块化3 对象五、简答题1 简述软件测试的任务、目的与类型。2 简述结构化程序设计方法的基本要点答案:一、单选题1.C 14.D 15.A二、填空题1 数据流3 由下而上5 等价划分2 内聚性、耦合性4 数据流图三、判断题1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、四、名词解释1 白盒测试又叫做结构测试,把程序看成装在一个透明的白盒子里,按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。2 模块化把程序划分成独立运行且可以独
32、立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。3 对象描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。五、简答题1 答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。2 答:(1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。(4)采用单入口单出口的模块形式。