太原理工大学软件工程复习题
- 格式:doc
- 大小:92.00 KB
- 文档页数:13
软件工程复习题及答案一、选择题软件工程复习题(一)1、瀑布模型本质上是一种()A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型2、使用程序设计的控制结构导出测试用例的测试方法是()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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法8、软件详细设计主要采用的方法是()A、模块设计B、结构化设计C、PDL 语言D、结构化程序设计9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 () A、.软件工程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、CASE 工具的支持B、如何开发演化型模型C、项目主管的支持D、开发人员的素质16、程序流程图(框图)中的箭头代表()。
软件工程复习资料软件工程单元一一单项选择1.软件是一种逻辑产品,它的开发主要是〔A 〕。
A研制B拷贝C再生产D复制2.软件生命周期一般包括:软件开发期和软件运行期,下述〔D 〕不是软件开发期所应包含的内容。
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 〕是指系统具有清晰的结构,能直接反映问题的需求的程度。
一、单项选择(每题2分,共20分)1.Java中的int型变量在内存中占几个字节?A.2B.4C.6D.82.下面几条代码执行后,变量i,j,k的值分别是int i = 10;int j = 10;boolean k = ((i++)>4 || (j--)>5);A.10,10,trueB.11,9,trueC.9,11,trueD.11,10,true3.有一个类Student,有一个成员方法public String info(String name)将下面哪条代码添加到Student类中会产生错误4.A.public String info (int name){}B.public int info (String name){}C.public String info (String name, String age){}D.public String info (String age){}5.下面的代码中哪条语句是错误的class A{private int i;int f;protected j;public int p;}class B{public static void main(String[] args){A a = new A();a.i = 10;………………………………………………Aa.f = 100; ……………………………………………Ba.j = 1000;……………………………………………Ca.p = 10000; …………………………………………D}}5.下面关于类成员和实例成员叙述错误的是A.类成员可以通过类名.类成员名的语法来进行访问B.当一个类的对象没有被创建时,也可以使用类成员C.JVM为类成员和实例成员分配内存的时机是一样的D.实例成员必须要创建这个类的对象之后,才能访问6.如果想要对两个String按字典顺序排序,要用到String类的哪一个方法A.equalsB.equalsIgnoreCaseC.sortStringpareTo7.关于JAVA的GUI编程,下面叙述错误的是A.java.awt包中的组件大部分是重量级的,javax.swing包中的组件大部分是轻量级的B.JAVA中的布局是用来控制容器中的组件如何排列的C.JAVA中绝大多数组件都能触发事件D.JAVA中的组件触发一个事件后,会创建一个事件对象,这个事件对象需要我们在编写事件处理代码的时候手工创建8.使用JDBC访问数据库时首先需要建立和数据库的连接,当连接成功建立后会返回下面哪种类型的对象A.ConnectionB.StatementC.PreparedStatementD.ResultSet9.如果要启动一个线程,需要调用下面的哪一个方法A.run()B.start()C.notify()D.notifyAll()10.下面关于线程叙述正确的是A.JAVA中的线程类只能通过继承Tread类的方式建立B.在程序运行过程中,我们可以通过代码调度线程的执行顺序C.当run()方法执行结束后,线程也结束D.sleep方法和wait方法都可以使线程停止运行,他们的作用是一样的二、填空(每空2分,共20分)1.面向对象的编程语言都有三个特性,分别是、和2.在JAVA程序中要得到当前的系统时间语句是:3.在一个类中要声明一个常量需要用的关键字是4.StringBuffer和String的区别在与5.请写出JAVA中任意两种布局的类名、6.子类和父类不在同一个包下时,子类能够从父类继承到的成员三、判断(每题1分,共10分)1.JAVA程序使用构造方法来初始化对象的成员,使用析构方法销毁对象2.JAVA程序中的异常处理语句try-catch,一个try只能有一个catch子句3.JAVA中的抽象类中只能声明抽象方法,不能定义普通方法4.Java的AWT中一个监视器只能监视一个组件5.当两个线程访问同一个对象的同一个成员变量的时候,可能会产生线程同步的问题6.JAVA中没有指针的概念,所以函数调用时,参数的传递都是按值传递,形式参数如果发生改变,不会影响到实际参数7.Java中创建对象的方法只有使用new关键字一种方式8.在一个类的类体中,只能声明成员变量、成员方法和构造方法,绝不能有其他的内容了9.Java中的class中默认的成员访问权限是public的10.使用super关键字可以在一个类的构造方法中调用其父类的构造方法四、综合题(每题5分,共25分)1.阅读以下程序,输出结果为public class B4_01 {public static void main(String[] args){int sum = 0;for(int i = 1; i <= 10; i = i + 2){sum = sum + i * i;}System.out.println(sum);}}2.阅读以下程序,输出结果为public class B4_02 {public static void main(String[] args){ int i = 1;int j = 2;int k = 3;String str = null;try{i = 123;j = str.length();k = 100;}catch(NullPointerException e){j = 200;}finally{k = 300;}System.out.println(i+","+j+","+k);}}3.阅读以下程序,输出结果为public class B4_03 {public static void main(String[] args){ int arr[] = {1,2,3,4,5,6,7,8,9,10};C c = new C();c.f(arr);for(int i = 0; i < arr.length; i++){System.out.print(arr[i]+" ");}}}class C{public void f(int arr[]){for(int i = 0 ; i < arr.length; i++){ arr[i] = 11 - arr[i];}}}4.阅读以下程序,输出结果为public class B4_04 {public static void main(String[] args){ String str = "ab45dc361jgh78rt";StringBuffer sb = new StringBuffer();char c[] = str.toCharArray();for(int i = 0; i < c.length; i ++){if(c[i]>='0'&&c[i]<='9'){sb.append(c[i]);}}System.out.println(sb.toString());}}五、编程题(10,15,共25)1.编写应用程序,定义一个班级类Classes,再定义一个学生类Student。
太原理工复试题《软件工程》题库及答案1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的(B )研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统( B )A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是( D )A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是( D )A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是( D )A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究( A )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是( C )A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是( C )A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是( D )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为( B )A.较正性维护B.适应性维护C.完善性维D.预防性维护14.类库这种机制是( D )级别的信息共享。
一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A.风险产生的原因B.风险监控技术C.风险能否消除D风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。
A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。
A.程序段或语句的功能B.模块的接口C.数据的名称和用途D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A.角色B.活动C.制品D.工作流&功能性注释嵌入在源程序内部,它是用来说明(A)。
A.程序段或语句的功能B模块的接口C.数据的名称和用途D模块的功能9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有(C)。
A.只有结构化语言.B有结构化语言和判定树C.有结构化语言、判定树和判定表D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。
A.正确性B适应性C完善性D预防性11、软件危机的主要原因是(A)。
A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。
A.输入、输出、外部实体和加工B.变换、加工、数据流和存储C.加工、数据流、数据存储和外部实体D•变换、数据存储、加工和数据流13、软件工程管理是对软件项目的开发管理。
太原理工大学软件测试技术适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟一、判断题1. 测试是调试的一个部分(╳)2. 软件测试的目的是尽可能多的找出软件的缺陷。
(√)3. 程序中隐藏错误的概率与其已发现的错误数成正比(√)4. Beta 测试是验收测试的一种。
(√)5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。
(√)6. 项目立项前测试人员不需要提交任何工件。
(╳)7. 单元测试能发现约80%的软件缺陷。
(√)8. 测试的目的是发现软件中的错误。
(√)9. 代码评审是检查源代码是否达到模块设计的要求。
(√)10. 自底向上集成需要测试员编写驱动程序。
(√)11. 测试是证明软件正确的方法。
(╳)12. 负载测试是验证要检验的系统的能力最高能达到什么程度。
(√)13. 测试中应该对有效和无效、期望和不期望的输入都要测试。
(√)验收测试是由最终用户来实施的。
(√)14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。
(√)黑盒测试也称为结构测试。
(╳)集成测试计划在需求分析阶段末提交。
(╳)15. 软件测试的目的是尽可能多的找出软件的缺陷。
(√)16. 自底向上集成需要测试员编写驱动程序。
(√)17. 负载测试是验证要检验的系统的能力最高能达到什么程度。
(╳)18. 测试程序仅仅按预期方式运行就行了。
(╳)19. 不存在质量很高但可靠性很差的产品。
(╳)20. 软件测试员可以对产品说明书进行白盒测试。
(╳)21. 静态白盒测试可以找出遗漏之处和问题。
(√)22. 总是首先设计白盒测试用例。
(╳)23. 可以发布具有配置缺陷的软件产品。
(√)24. 所有软件必须进行某种程度的兼容性测试。
(√)25. 所有软件都有一个用户界面,因此必须测试易用性。
(╳)26. 测试组负责软件质量。
(╳)27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。
(√)28. 好的测试员不懈追求完美。
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1.软件质量因素不包括。
A.正确性B.高性能C.可测试性D.可理解性2.软件可行性研究实质上是要进行一次需求分析、设计过程。
A.简化、压缩的B.详细的C.彻底的D.深入的3.以下哪个软件生存周期模型是一种风险驱动的模型。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型4.可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统5.结构化分析建立功能模型的工具是。
A.DFDB.判定树/判定表C.SCD.结构化语言6.检查软件产品是否符合需求定义的过程称为。
A.确认测试B.集成测试C.系统测试D.单元测试7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。
A.校正性维护B.适应性维护C.完善性维护D.预防性维护8.通信内聚是指。
A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可9.一个只有顺序结构的程序,其环形复杂度是。
A.0B.1C.3D.510.下述四个能力成熟度等级,级别最高的是。
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.关于软件维护的说法错误的是。
软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚B模块低耦合C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机B质量保证C开发效率D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标B软件的性能C软件的功能D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系D属性12、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小13、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法14、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码15、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
太原理工大学·Java语言程序设计第1章习题解答1.Java语言有那些特点?答:Java语言的特点包括:平台无关性、面向对象、简单性、安全性、分布式、健壮性、解释型、多线程。
2.为什么说Java是结构中立的,具有跨平台特性?答:无论哪种编程语言编写的程序最终都需要操作系统和处理器来完成程序的运行,平台无关性是指软件的运行不因操作系统、处理器的变化导致程序无法运行或出现运行错误。
以C++程序为例,C++编译器针对源程序所在平台进行编译、连接,然后生成机器指令,这样就无法保证C++编译器产生的可执行文件在所有平台上都被正确执行。
如果更换了平台,可能需要修改源程序,并针对新的平台重新编译源程序。
相反,Java源代码不会针对一个特定平台进行编译,而是生成一种字节码中间文件(class 文件),这种文件是平台无关且体系结构中立的。
也就是说,无论一个Java程序是在Windows、Solaris、Linux还是其他具有Java编译器的操作系统下编译,作为编译结果的字节码文件都是相同的,都可以在任何具有Java虚拟机(JVM)的计算机上运行。
JVM能够识别这些字节码文件,JVM将字节码文件进行转换,使之能够在不同平台上运行。
任何操作系统只要安装了JVM,就可以解释并执行这种与体系结构无关的字节码文件,实现了跨平台。
跨平台特性保证了Java的可移植性,任何Java源程序都可以移植到其他平台上。
除此之外,Java的数据类型与机器无关,原始数据类型存储方式是固定的,避开了移植时可能产生的问题。
例如,在任何机器上,Java的整型都是32位的,而C++中整型的存储依赖于目标计算机。
另外Java的字符串采用标准的Unicode格式保存,也保证了Java的可移植性。
3.简述Java的3种主要平台,这些适合开发那种应用?答:Java的开发平台(JDK)是开发人员用来构建Java应用程序的软件包,它包括:Java 虚拟机(JVM)、Java编译器(javac)、Java归档(jar)实用程序、Java文档(javadoc)实用程序等。
一、选择题2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。
A)应用范围B)内部逻辑C)功能D)输入数据3.黑盒法是根据程序的( C )来设计测试用例的。
A)应用范围B)内部逻辑C)功能D)输入数据5.与设计测试用例无关的文档是( A )。
A)项目开发计划B)需求规格说明书C)设计说明书D)源程序6.测试的关键问题是( B )。
A)如何组织软件评审B)如何选择测试用例C)如何验证程序的正确性D)如何采用综合策略7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法B)边界值分析法C)错误推测法D)因果图法11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。
A)系统功能B)局部数据结构C)重要的执行路径D)错误处理12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。
A)需求分析B)概要设计C)详细设计D)编码14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以( A )文档作为测试的基础。
A)需求规格说明书B)设计说明书C)源程序D)开发计划16.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能18.结构化程序设计的一种基本方法是( D )A)筛选法B)递归法C)归纳法D)逐步求精法20.程序三种基本结构的共同特点是( D )A)不能嵌套使用B)只能用来写简单程序C)已经用硬件实现D)只有一个入口和一个出口22.覆盖准则最强的是( D )。
A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖23.发现错误能力最弱的是( A )。
A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖24.实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。
A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。
A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。
A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。
A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。
A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。
A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。
A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。
A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。
软件工程复习题库带答案完整版1、白盒测试法是通过分析程序的内部逻辑来设计测试用例的。
2、风险预测从两个方面评估风险,即风险发生的可能性以及风险发生所产生的后果。
3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和反馈和勇气。
4、等价分类法的关键是划分等价类。
5、下列不属于黑盒测试的技术是程序段或语句的功能。
6、为了提高模块的独立性,模块之间最好是数据耦合。
7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用角色来表述“谁做”。
8、功能性注释嵌入在源程序内部,它是用来说明程序段或语句的功能。
9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有有结构化语言、判定树和判定表。
10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行适应性维护。
11、软件危机的主要原因是软件本身特点与开发方法。
12、DFD是常用的进行软件需求分析的图形工具,其基本符号是加工、数据流、数据存储和外部实体。
13、软件工程管理是对软件项目的开发管理。
具体地说,就是对整个软件生存期的一切活动进行管理。
14、在面向数据流的软件设计方法中,一般将信息流分为输入、输出、外部实体和加工。
A.白盒测试B.黑盒测试C.灰盒测试D.集成测试15、参与人员之间的通信困难是不随参与人数增加而使软件生产率增加的主要原因。
因为通信困难会导致信息不畅通,任务分配不明确,进度无法掌握等问题,从而影响软件开发效率。
16、有形性与可控性不是软件的特征。
软件的特征包括系统性与复制性、抽象性与智能性、依附性与泛域性。
17、面向对象的设计是面向对象分析进一步的细化和更高的抽象,不是另一种思维方式。
18、在软件的可行性分析中,可以从经济可行性、技术可行性、操作可行性、法律可行性等角度对软件进行研究。
一、单项选择题1.软件开发旳瀑布模型最经典地刻画了软件生命周期旳阶段划分, 而与其最相适应旳软件开发措施是( C )A 构件化措施B 面向对象措施C 构造化措施D 原型化措施2.与软件开发措施亲密有关旳应是支持该措施实行旳软件工具, 将它们有机地集成起来则构成一种( A )A 软件工程环境B 软件开发规范C 软件生产线D 软件开发工具3.软件生命周期一般可以分为两个大旳阶段, 它们分别是( B )A 分析和设计B 开发和运行C 编码和测试D 规划和设计4.软件构造图能描述软件系统旳总体构造, 它应在软件开发旳哪一种阶段提出?( B )A 需求分析B 总体(概要)设计C 详细设计D 代码编写5.软件需求阐明书中应包括多方面旳内容, 下述哪个不是软件需求阐明书中应包括旳内容?( D )A 数据描述B 功能描述C 性能描述D 构造描述6.软件测试措施一般有黑盒测试和白盒测试, 而黑盒测试重要是根据程序旳( C )旳测试。
A 构造B 流程C 功能D 逻辑7、在面向对象中, 为了实现信息隐蔽而把对象旳所有属性内容和服务旳实现过程结合成为一种独立旳实体。
这种数据组织旳构造方式属于( B )。
A 继承B 封装C 构造与连接D 消息8、在软件旳使用过程中, 根据顾客提出旳新增系统功能和改善性能旳规定而对软件进行修改或再开发, 以扩充软件功能、增强软件性能、改善加工效率、提高软件质量旳工作属于( D )。
A 适应性维护B 防止性维护C 改正性维护D 完善性维护9、耦合性用来度量模块之间联络旳次数和强度, 模块之间旳耦合性越低越好, 内聚性越高越好。
下面哪个属于中度耦合( A )。
P191A 数据耦合B 控制耦合C 外部耦合D 内容耦合10、程序测试是一项复杂旳工作, 一般测试者在进行测试中都需要设计( B )。
A 数据构造B 测试实例C 测试阶段D 测试措施1.软件是一种( B )产品。
A 有形B 逻辑C 物质D 消耗2.软件危机旳重要原因有( C )。
软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚B模块低耦合C模块独立性D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机B质量保证C开发效率D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A)A软件系统目标B软件的性能C软件的功能D软件的质量4、软件需求分析一般应确定的是用户对软件的( D)A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D)A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系D属性12、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小13、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A)A.黑盒法B.白盒法C.灰盒法D.综合法14、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C)A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码15、结构化程序设计思想的核心是要求程序只由顺序、循环和( A)三种结构组成。
A.分支B.单人口C.单出口D.有规则GOTO16、确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明称为结构化方法中的( D)A.需求分析B.可行性研究C.总体设计D.问题定义17、.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?( A)A.总体设计B.需求分析C.详细设计D.编程调试18、在软件结构化设计中,好的软件结构设计应该力求做到(B)A.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高,中间扇出较少,底层模块高扇入C顶层扇入较少,中间扇出较高,底层模块高扇入D.顶层扇入较少,中间扇入较高,底层模块低扇入19、在软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要是用于测试( B)A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑20、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(C)A.数据库设计B.数据通讯C.数据定义D.数据维护21、软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而在测试过程的多种环节中最基础的是(B)A.集成测试B.单元测试C.系统测试D.验收测试22、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于(A)A.软件系统目标B.软件的可测试性C.软件的功能D.软件的质量23、结构化程序设计理论认为,实现良好的程序结构要应用( A )的分析方法。
A.自顶向下B.自底向上C.面向对象D.基于组件24、在下面列出的基本成分中,哪个不是数据流程图的基本成分?.( D)A.信息处理B.信息存储C.外部实体D.系统状态25、PAD(Problm hmlysis Diagam)图是一种( B)工具。
A.系统描述B.详细设计C.测试D.编程辅助26、耦合是软件中各模块间相互联系的一种度量,耦合的强弱取决于模块间的复杂程度。
耦合的若干种类中,耦合度最高的是.( A)A.内容耦合B.非直接耦合C.数据耦合D.控制耦合'27、在软件工程中,软件测试的目的是( B)A.试验性运行软件B.发现软件错误C.证明软件是正确的D.找出软件中全部错误28、下面哪一项不是软件设计规格说明中模块的内容?( C)A.接口描述B.数据的组织C.外部文件结构D.处理过程描述29、需求分析的主要任务是( B)A.确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明B.分析用户要求,将软件功能和性能描述为具体的规格说明书C.对问题定义阶段所确定的问题实现的可能性和必要性做出研究D.建立软件系统的总体结构,子系统划分,并提出软件结构图30、软件结构中,由一模块直接调用的其他模块数称为( C)A.深度B.宽度C.扇入数D.扇出数31、在数据字典中,( B)给出了某个文件的定义,文件的定义通常也是列出其记录的组成。
A加工 B.数据存储 C.数据流 D.数据项32、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为什么样的两种流,再将数据流图映射为软件结构?( B)A.数据流与事务流B.变换流与事务流C.信息流与控制流D.变换流与数据流33、软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( B)A.设计人员和用户B.分析人员和用户C.分析人员和设计人员D.编码人员和用户34、数据字典是对数据定义信息的集合,它所定义的对象都包含于( A)A数据流图 B.程序框图 C.软件结构 D.方框图35、判定树和判定表是用于描述结构化分析方法中( B)环节的工具。
A.功能说明B.数据加工C.流程描述D.性能说明36、在结构图这种概念模式中,矩形框代表( B)A.处理过程B.模块C.外部实体D.内部实体37、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A )A.总貌B.细节C.抽象D.软件的作用38、为了提高测试的效率,应该(D)A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码后制订软件的测试计划D.选择发现错误可能性大的数据作为测试数据39、软件维护是指( C)A维护软件的正常进行 B.软件的配置更新C.对软件的改进、适应和完善D.软件开发期的一个阶段40、下列哪一项不是软件危机的表现形式?( D)A.软件需求定义不明确,易偏离用户需求B.软件生产高成本,价格昂贵C.软件的可维护性差D.系统软件与应用软件的联系越来越困难41、数据流图是描绘信息在软件系统中流动和处理情况的图形工具,下列哪一个图形符号代表数据存储?( D)A.箭头B.圆框C.直线D.开口方框42、软件设计中,可应用于详细设计的工具有( A)A.程序流程图、PAD图、N-S图和伪码B.数据流程图、PAD图、结构图和伪码C.业务流程图、N-S图和伪码D.数据流程图、PAD图、N-S图和伪码43、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意(C)A支持逐步求精B考虑控制流程 C.遵守结构化程序设计原则 D.数据结构表示44、在软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立( A )A.软件结构B.软件流程C.软件模型D.软件45、瀑布模型把软件生存周期划分为软件定义、软件开发与(C)三个阶段,而每个阶段又可分为若干更小的阶段。
A.详细设计阶段B.可行性研究阶段C.运行及维护D.问题定义46、软件工程的结构化生命周期方法中将软件生命周期分为若干阶段,软件详细设计是属于( B)阶段。
A.计划阶段B.开发阶段C.运行阶段D.维护阶段47、在软件的分析阶段,常用( C)来描述业务处理系统的信息来源、存储、处理和去向。
A.E-R图B.框图C.DFDD.时序网络48、与设计测试数据无关的文档是( D )A.需求说明书B.设计说明书C.源程序D.项目开发设计49、模块的内聚是从功能的角度来度量模块内的联系,内聚度最强的是(B)A.通信内聚B.功能内聚C.顺序内聚D.逻辑内容50、结构化分析方法以数据流图、( D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图B.PAD图C.IPO图D.数据字典51、在软件工程中,高质量的文档标准是完整性、一致性和( C)A.统一性B.安全性C无二义性 D.组合性52、结构图中,带有注释的小箭头表示( B)A.模块B.调用C.数据D.模块间判断53、下列叙述中不是关于有利于软件可维护性的描述是( C)A.在进行需求分析时应考虑维护问题B.使用维护工具和支撑环境C.在进行总体设计时,应加强模块之间的联系D.重视程序结构的设计,使程序具有较好的层次结构54、软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?(B)A软件结构B模块算法C制定测试计划D数据库设计55、由事务型数据流图映射为软件结构的设计首先应设计一个(A),它有两个功能,接收事务数据,另一个是根据事务类型调度相应的处理模块。
总控模块B事务中心C变换中心D接收分支56、软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是()A.减少测试工作量B.避免后期付出高代价C.保证软件质量D.缩短软件开发周期57、软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于( C )A.开发阶段B.计划阶段C.分析阶段D.设计阶段二、填空题1、在结构化分析中,_____________用于详细地定义数据流图中的成分。
(数据字典)2、耦合性和内聚性是衡量_________________的两个定性的标准。
(模块独立性)3、提高程序的可理解、可修改、可测试的程度,就意味着增强软件件的___________。
(可维护性)4、从数据流图导出初始模块结构图,主要是通过_____________两项技术。
(变换和事务)5、结构化程序设计是一种程序设计技术,它采用________________的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。
(自顶向下、逐步求精)6、结构化分析方法中,数据流图的四种基本成分为:加工、源点或终点__________。
(数据流和文件)7、从模块内外的联系来看,结构化设计的要求是____________________。