《软件工程试题及答案》由会员分享,可在线阅读,更多相关《软件工程试题及答案(12页珍藏版)》请在金锄头文库上搜索。
1、.4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) -模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作9若有一个计算类型的程序,它的输入量只有一个X,其范围是-1.0, 1.0,现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( c )A条件覆盖法 B等价分类法C边界值分析法 D错误推测法10、详细
2、设计的基本任务是确定每个模块的( d )A功能B.调用关系C.输入输出数据 D.算法11设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)C(P2)显然E(P1)E(P2),则得出结论E(P1+P2)E(P1)+E(P2)就是:( a ) A模块化的根据 B逐步求精的根据 C抽象的根据 D信息隐藏和局部化的根据13面向数据流的设计方法把( D )映射成软件结构。A数据流 B系统结构 C控制结构 D信息流14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间15.确定测试计划是在( D )阶段制定的
3、.A总体设计 B.详细设计 C.编码 D.测试16需求分析的产品是( D ) A数据流程图案 B数据字典 C判定表 D需求规格说明书 17数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )A数据库设计 B数据通信 C数据定义 D数据维护18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A增量模型 B喷泉模型 C原型模型 D螺旋模型( )、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等 测试。( )4、软件需求分析的任务是建立软件模块结构图。( )5、尽可能使用高级语言编写程序( )6、以结构化分析方法建立的系统模型就是数据
4、流图。( )7、进行总体设计时加强模块间的联系。( )8、编码时尽量多用全局变量.( )9、用CASE环境或程序自动生成工具来自动生成一部分程序.( )10、软件测试是要发现软件中的所有错误。1. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性
5、。2、软件重用可以极大地提高软件开发的效率。3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、 自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答:自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。自底而上渐增测试优点与缺点和自顶而下渐增测试相反。 4 、 提高可维护性的方法有哪些?答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨
6、论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件 ,同时也在大力发展软件重用技术。简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。【解答】测试过程按 4 个步骤进行,即单元
7、测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。四、应用题(每题8分,共4
8、0分)1、 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。 答: 2、 将下面给出的伪码转换为N-S图和PAD图。void root ( float root1, float root2 ) i = 1; j = 0; while ( i = 10 ) 输入一元二次方程的系数a, b, c;
9、 p = b*b 4*a*c;if ( p 0 ) 求出根并输出;if ( p = 0 ) 求出重根并输出; j = j + 1; i = i +1; 输出重根的方程的个数j; 【解答】i = 1; j = 0;while ( i = 10 )输入a, b, c; 计算 p = b2 - 4ac; p 0 ?p = 0 ?求出重根并输出; j = j + 1;i = i + 1;输出重根的方程个数iTTTFFF(1)N-S图(2)PAD图i = 1; j = 0;输出重根的方程个数iwhile ( i 0 ?p CA+CBB+CA输出ABC不能构成三角形结束FFFTTT3、:输入三整数,判断是
10、否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”. 要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度; 3.设计路径覆盖的测试用例。答: 路径: 1 2 3 4 程序复杂度=3+1=4 测试用例路径测试用例(A,B,C)结果1A=3,B=4,C=5A=3,B=4,C=52A=5,B=8,C=2不能构成三角形3A=2,B=2,C=5不能构成三角形4A=5,B=2,C=2不能构成三角形4、某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客
11、超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法.答案:5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员和开发人员。软件公司部门名部门开发部门管理部门软件产品开发人员经理开发项目工作人员员工是是有有有有开发参加1+1+1+1+1+1+1+有开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,每位经理可主持多个开发项目,建立该公司的对象模型。答
12、案:1、C 2、B 3、B 4、D 5、C 6、A 7、B 8、D 9、C 10、D 11、A 12、D 13、A 14、A 15、A 16、D 17、C 18、D 19、D 20、DB卷1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,需求分析阶段出错,对软件的影响最大。3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。4、软件工程的出现主要是由于(软件危机的出现)5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。7、UML是软件开发中的一个重要工具,它主要应用于基于对象的面向对象的方法。8、在下