《软件工程基础(复习题及答案).docx》由会员分享,可在线阅读,更多相关《软件工程基础(复习题及答案).docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、复习题一、判断题(每题2分,共0分) 1螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对)2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错).A语言编译器是一个CASE工具。(对)。.软件是指用程序设计语言(如PASCAL ,C,VISUALBASC 等)编写的程序,软件开发实际上就是编写程序代码。(错)5.软件模块之间的耦合性越弱越好。(对).数据库设计说明书是一个软件配置项(对)7在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8.过程描述语言可以用于描述软件的系统结构。(错) 9如果通过软
2、件测试没有发现错误,则说明软件是正确的。(错) 1.快速原型模型可以有效地适应用户需求的动态变化。(对)11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对)2.集成测试主要由用户来完成。(错)13确认测试计划应该在可行性研究阶段制定(错) 14白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对)16.在可行性研究中最难决断和最关键的问题是经济可行性。( )17.耦合是指一个模块内各个元素彼此结合的紧密程度。( )18. 一笔交易、一个动作、甚至操作人员按一个
3、按钮都可以看做是一次事物。( )1概要设计阶段完成的主要文档是概要设计说明书。( )2.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。( ).程序设计语言中应绝对禁止使用GOO语句。( )22类是关于对象性质的描述,由方法和数据组成。( )3.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。( )5.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。( )2如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。( )名词解释1. 数据词典是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工
4、具。2. 数据流图他以图形的方式反映系统的数据流程3. 白盒测试按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法4. 黑盒测试按照程序的功能测试程序,检验及程序功能有关的输入、输出及程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法5. 完善性维护为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大6. 软件可靠性指在给定的时间
5、内,程序按照规定的条件成功地运行的概率7. 软件配置是一个软件在生存周期内,他的各种形式、各种版本的文档及程序的总称8. 软件再工程运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。9. 测试是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。10. 测试是由软件的最终用户(多个)在一个或多个用户场所来进行。由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。11.
6、聚集关系表示类或对象之间的整体及部分的关系12. 泛化关系表示类或对象之间的一般及特殊的关系13. 内聚一个模块内部各个元素彼此结合的紧密程度的度量。14. 耦合一一个软件结构内不同模块之间互连程度的度量。填空题1. 在信息处理和计算机领域内,一般认为软件是 _程序_、_文档_ 和_数据_。2. 数据流图的基本组成部分有 _数据的源点及终点_、 数据流_、 加工_、 数据文件_。3. 数据流图和数据字典共同构成了系统的 _逻辑_模型,是需求规格说明书的主要组成部分。4. 划分模块时尽量做到_高内聚、低耦合_,保持模块的独立性,尽量使用公共模块。5. 类的实例化是_对象_。 6. 人们常用硬件可
7、靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7. 靠性的两个指标是_成功地运行的概率_和_平均故障时间_。8. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,9. 将得到软件的总开发量。这种成本估算方法称为_自底向上_。10. 如果一个模块被 n个模块调用,其中直接的上级模块的个数是 个( m1,0或A1,B=0或A1,B0=2,=1或A=1,B=0或A1,=1执行2条件覆盖以下四种情况各出现一次A1B=2,B=0执行1A1A=1,B=执行S2条件组合覆盖A1,0A=,B=0执行1A,B0A=2,B1执行S1,B=0A=1,=0执行S21,B0
8、A=,B=1执行S28.某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非或的三位数字; 后 缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 划分等价类输入条件有效等价类无效等价类地区码1.空白;2.三位数;1. 有非数字字符;2.少于三位数字;.多于三位数字。前缀3.从20到99之间的三位4.有非数字字符;5.起始位为0;6.起始位为1; .少于三位数字;8.多于三位数字。后 缀4四位数字。9.有非数字字符;1.少于四位数字;1.多于四位数字。设计测试方
9、案方案内容输 入预期输出地区码前缀后缀1空白2999之间的三位数字四位数字( )276-2345有效2三位数字四位数字(635)8-9321有效3有非数字字符(20A)7-7无效4少于三位数字(33)23-567无效5多于三位数字(55)345-79无效有非数字字符(345)5A2-34无效起始位为0(45)012-346无效8起始位为1(345)123456无效少于三位数字(35) 92-3456无效多于三位数字(345)56256无效11有非数字字符(345)34-3A56无效1少于四位数字(345)42- 36无效1多于四位数字(345)52-346无效.为什么说软件的维护是不可避免的?
10、因为软件的开发过程中,一般很难检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。2.试由程序流程图导出程序图1入口2A1 F38B=0 T TX=X/A 4 FA=25 TX1 96X=X+1 T7出口 F(a)程序流程图 (b)导出程序图3.软件的维护一般分为哪几类? 完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作; 适应性维护:是软件适应新的运行环境而进行的工作;纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发
11、现的程序错误进行诊断和改正的过程; 预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。31.决定软件可维护性的因素? (1) 软件的可理解性、可测试性、可修改性; (2) 文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。2分析软件危机产生的主要原因有哪些? 答:导致软件危机的主要原因有: (1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加 1 个要点分,只要答上5个要点得5分!33说明结构化程序设计的主要思想是什么? 答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制
12、结构、单入口、单出口来构造程序。(3分) 4、软件测试的基本任务是什么?测试及纠错有什么区别?答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。35软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么? 答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否及系统的其余部分协调运行,并且
13、完成SRS对他的要求。6.需求分析及软件设计二个阶段任务的主要区别是什么? 答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.分) 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分)37.说明软件测试和调试的目的有何区别? 答:测试的目的是判断和发现软件是否有错误(2。分)调试的目的是定位软件错误并纠3 根据以下被测试的流程图,选择相应的答案。(8分) (1) =2, B=0, X= ()A,B=,X= (3)2, B=0, X= , B, X1 A=,B=,X=3 A=, B=,X2 在-3的答案中满足判定覆盖的测试用例是_1_ (2分)在的答案中满足条件
14、覆盖的测试用例是_3_(2分) 在1的答案中满足判定/条件覆盖的测试用例是_2_ (2分) 39工资计算系统中的一个子系统有如下功能: ( 1 )计算扣除部分由基本工资计算出应扣除(比如水电费、缺勤)的部分; ( 2 )计算奖金部分根据职工的出勤情况计算出奖励金; ( )计算工资总额部分根据输入的扣除额及奖金计算出总额;( )计算税金部分由工资总额中计算出应扣除各种税金;( 5)生成工资表根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。 试根据要求画出该问题的数据流程图。40用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的程序。要求保持良好的程序风格,加上必要
15、的注释()。用C语言编写:/*程序名称:直接选择排序;*/*作者 */*完成日期:2006年月9日;*/*过程头:etsor(it ;itN)*/输入参数:N为元素个数(N=1000);A整型数组,从1到N存放待排序元素;*/返回结果:数组A为指针,由它返回排序结果;*/vod selcsor(it*A;i )inti,j,k,x;fo (=1;i;i+) /求第I个最小值* ki; *先假设I位置上的值最小*for(+=i;j=;j+) /*求I到N位置上的最小值*/ if (A(j)A(k)) k=;if(k) *需要交换A()和A(I)的值/ *交换A(K)和A(I)*/ x=(i);
16、()A();A(k)=x /*结束交换/ /*求出了第个最小值*/ /*SELCTSOR41. 把事务型数据流图映射成软件结构图:A B C + f1 f2 f4 f5 f3 主模块 Read f1 A B C Write f4 Write f5主模块 f1 f2 f1 f3 f4 f5 42.把变换型数据流图映射成软件结构图:B A C f1 f2 f3 f4 主模块 Get f2 B Get f3 Read f1主模块 Read f1主模块 A C Write f4主模块 f1 f1 f2 f2 f3 f3 f4 f4 4、什么是软件复用?简述软件复用和软件共享、软件移植的差别。答:软件复
17、用是指在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。如果是在一个系统中多次使用一个相同的软件成分,这叫软件共享;对一个软件进行修改,使它能运行于新的软、硬件平台这称作软件移植。、什么是软件再工程?软件再工程的主要活动有哪些?答:软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合,并重新构建软件,用以提高软件的可理解性、可维护性、可复用性或演化性。主要活动:信息库分析、文档重构、逆向工程、代码重构、数据重构、正向工程。选择题1. 软件工程的概念是哪年提出的()。A 8 B. 16 . 18 1928. 瀑布模型的关键不足在于(D )。 . 过于简单
18、.各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更3以下哪一项不是软件危机的表现形式( C)。A. 开发的软件不满足用户需要 B 开发的软件可维护性差 . 开发的软件价格便宜 . 开发的软件可靠性差4. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。. 简化、压缩的 B 详细的 彻底的 D深入的 结构化设计是一种面向(A)的设计方法。 数据流 B模块 . 数据结构 D. 程序. 及确认测试阶段有关的文档是( A)。A. 需求规格说明书 B. 概要设计说明书 C.详细设计说明书 D. 源程序7.软件开发的需求活动,其主要任务是(D)。A 给出软件解决方案 给出系统
19、模块结构C 定义模块算法 D.定义需求并建立系统模型8. 以下说法错误的是( )。 文档仅仅描述和规定了软件的使用范围及相关的操作命令B. 文档也是软件产品的一部分,没有文档的软件就不成软件 . 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D.高质量文档对于发挥软件产品的效益有着重要的意义. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。 . 成本估算 B. 项目计划 . 工程管理 D. 工程网络图 10在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( B)。 A.隐藏复杂性 B. 信息隐蔽. 经常类的复用 .类的开发 11
20、. 面向对象的主要特征除对象惟一性、封装、继承外,还有( A)。 A. 多态性 完整性 C 可移植性 D兼容性 12.在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B )。 A. 数据流图 B 状态图 C 系统结构图 D. 用例图13. 面说法正确的是( C)。A. 经过测试没有发现错误说明程序正确 . 测试的目标是为了证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试 14. (D )能够有效地检测输入条件的各种组合可能会引起的错误。 A. 等价类划分 B
21、. 边界值分析 C 错误推测 D. 因果图 15火车是一种陆上交通工具。火车和陆上交通工具之间的关系是( )关系。A组装 . 整体部分C. a a . 一般特殊6、软件维护产生的副作用,是指( C)、开发时的错误 、隐含的错误C、因修改软件而造成的错误 D、运行时误操作 17、使用程序设计的控制结构导出测试用例的测试方法是( B )A、黑盒测试 B、白盒测试 C、边界测试 、系统测试 18、软件详细设计的主要任务是确定每个模块的( )A、算法和使用的数据结构 B、外部接口 C、功能 D、编程9、软件结构图的形态特征能反映程序重用率的是( C)A、深度 B、宽度 C、扇入 D、扇出0、为了提高模
22、块的独立性,模块内部最好是( C )A、逻辑内聚 、时间内聚 C、功能内聚 D、通信内聚2、软件是一种(C )A、程序 B、数据C、逻辑产品 D、物理产品22、需求分析最终结果是产生( B )A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B ) 、纠正性维护、适应性维护 C、完善性维护D、预防性维护2、下列属于维护阶段的文档是( C ) 、软件规格说明、用户操作手册 C、软件问题报告 D、软件测试分析报告25、若有一个计算类型的程序,它的输入量只有一个,其范围是-.0,1,现从输入的角度考虑一组测试用例
23、:-1.00,-1.0,10,1.001。设计这组测试用例的方法是( C ) A、条件覆盖法B、等价分类法 C、边界值分析法D、错误推测法、研究开发所需要的成本和资源是属于可行性研究中的( B)研究的一方面。 A. 技术可行性B 经济可行性 C. 社会可行性D 法律可行性27、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作(A)A、需求分析 B、程序设计 C、详细设计 D、软件维护 8、经过严密的软件测试后所提交给用户的软件产品中(B )、软件不再包含任何错误 B、还可能包含少量软件错误 C、所提交给用户的可执行文件不会含有错误 、文档中不会含有错误。 29、等价划分测试
24、方法属于(A) A、黑盒测试 B、白盒测试C、边界测试 D、系统测试 0、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B ) .可用性.可靠性C正确性D.完整性1、确认软件的功能是否及需求规格说明书中所要求的功能相符的测试属于( )A、集成测试 B、恢复测试 C、确认测试 D、单元测试3、要显示描绘软件开发项目各作业的依赖关系,应选择(B )。A.Gant图 B.工程网络 CCOCO模型 D.数据流图33、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。( )A、31 B、2、51 、182、结构化程序设计主要强调的是( D )
25、、程序的规模 、程序的效率、程序设计语言的先进性 、程序易读性5、在用户界面层次上对软件进行测试属于哪种测试方法( A ) 、黑盒测试 B、白盒测试 、边界测试 D、系统测试 36、对象实现了数据和操作的结合, 使数据和操作( C )于对象的统一体中。 A、结合 B、隐藏 C、封装 D、抽象3、()是比较理想的可重用软构件。A.子程序库 B.源代码包含文件 C.对象 .类38、下列模型属于成本估算方法的有( A ) 、COM模型 B、McCal模型C、cab度量法 D、时间估算法3、软件生存周期中时间最长的是( )阶段。、总体设计 B、需求分析 C、软件测试 D、软件维护 40、为了提高模块的独立性,模块之间的联系最好的是( )。、公共耦合 B、控制耦合 C、内容耦合 D、数据耦合41、软件概要设计结束后得到(B )A、初始化的软件结构图 B、优化后的软件结构图 、模块的接口图和详细算法 、程序编码 4、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。A、需求说明