软件工程基础(复习题及答案).pdf





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

限制150内