软件工程习题-5-软件测试-参考答案
软件工程习题及参考答案
通过软件测试,可以发现软件中所有潜伏的错误.(X)
非结构化维护用于软件的配置中只有源代码维护.(√)
系统规格说明是系统分析和定义阶段生成的一种文档.(√)
数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)
聚度标志一个模块部各成分彼此结合的紧密程度,按其高低程度可分为七级,聚度越低越好.(X)
软件工程习题及部分参考答案
判断题
软件也会磨损和老化。(X)
完善性维护是提高或完善软件的性能。(√)
数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(X)
软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X)
信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是
E-R图。(√)
用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整
性、现实性和有效性。(√)
PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X)
白盒测试无需考虑模块部的执行过程和程序结构,只要了解模块的功能即可。(X)
软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)
软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√)
系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)
结构化维护用于待维护的软件的配置是完整的维护.(√)
软件工程练习题&答案
软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
《软件工程》试题及参考答案(第5套)
厦门理工软件学院2011 –2012 学年度下期《软件工程》试题(第5套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性 C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
《软件工程》题库及参考答案
《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
软件工程课后习题答案第五版
软件工程课后习题答案第五版《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程(第五版)--习题及答案
《软件工程》(第五版)习题参考答案第1章一、判断题1、(×)软件的维护与硬件维护本质上是相同的。
2、(√)软件在运行和使用中也存在退化问题。
3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。
4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。
5、(×)文字处理软件Word属于系统软件。
应用软件6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
8、(×)快速原型模型对软件开发人员的水平要求不高。
9、(√)喷泉模型适合于面向对象的软件开发。
10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题1、软件是一种(C)。
A、程序B、数据C、逻辑产品D、物理产品2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定B、软件开发的步骤C、软件开发的技术D、软件开发的思想3、软件生存周期中花费最多的阶段是(D)。
A、详细设计B、软件编码(最少)C、软件测试D、软件维护4、软件工程的三要素不包括(D)。
A、工具B、过程C、方法D、环境5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。
A、总体设计B、详细设计(怎么做)C、可行性研究(能不能做)D、需求分析6、瀑布模型本质上是一种(A)模型。
A、线性顺序B、顺序迭代C、线性迭代D、能及早见到产品的7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法B、程序语言C、平台D、用户需求8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。
A、瀑布模型B、喷泉模型C、快速原型模型D、螺旋模型9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清B、用户不能参与开发C、用户对计算机不了解D、开发人员对业务知识不熟悉10、快速原型的主要优点不包括(D)。
软件工程测验题(附答案)
B、需求说明书 C、系统分析说明书D、系统操作手册
2系统功能和边界的描述有用例图和()
A、类图
B、上下文图(或系统关联图)C、部署图
D、业务流程图
3[IEEE1990]对性能的定义:一个系统或者其组成部分在限定的约束下,完成其指定() 的程度。
A、功能
B、性能C、需求
D、目标
多选
13【多选题】软件需求开发包括()阶段。
C、面向问题域分析(PDOA)
D、原型分析
5【多选题】常见的结构化分析技术包括()方法。
A、数据建模(ER图)
B、过程建模(DFD)
C、行为建模(状态图)
D、过程/数据关系建模(功能实体矩阵)
E、信息工程(战略数据规划)我的答案:ABCDE
6【多选题】反映需求分析结果,用于为行为分析建模,描述用户与系统协同工作的细节,
B、用户对软件开发需求的描述不精确,可能有遗漏、有二义性、甚至有错误
C、在软件开发过程中,用户还提出修改软件开发功能、界面、支撑环境等方面的要求
D、软件开发人员对用户需求的理解与用户本来愿望有差异我的答案:ABCD
6【多选题】软件需求可分为(功能需求和非功能需求)
7【多选题】以下属于功能需求的有()
B、接口的命令格式
C、接口标准
D、接口用途
E、接口的输入输出
F、接口的实现算法我的答案:ABCDE
12【多选题】需求获取要获取的内容包括()
A、需求本身
B、业务描述
C、环境
D、约束
我的答案:ABCD
13【多选题】需求获取方法中传统的有
A、面谈法
B、原型法
C、模型驱动法
D、基于上下文的方法
《软件工程》试题与参考答案(第5套)
第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量2.在McCall软件质量度量模型中,()属于面向软件产品修改。
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.需求分析阶段的任务是确定()A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能8.为了提高测试的效率,应该( )A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据9.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能10.结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于( )A.它强调编程风格 B.选择良好的数据结构和算法C.有限制地使用GOTO语句 D.只有三种基本结构11. 在结构化分析方法中,()表达系统内部数据运动的图形化技术。
A 数据字典B 实体关系图C 数据流图D 状态转换图12、()意味着一个操作在不同的类中可以有不同的实现方式。
A 多态性B 多继承C 类的复用D 封装13.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为( )A.有形实体 B.作用 C.事件 D.性能说明14.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A.软件工程B.软件周期C.软件危机D.软件产生15. COCOMO模型可用来()A 度量程序复杂程度B 计算软件开发成本C 估计程序的故障总数D 估计软件开发所需时间16.软件结构使用的图形工具,一般采用()图。
《软件工程》期末考试复习题及参考答案
软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
软件工程习题及答案解析
软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8. PAD(Problem Analysis Diagram)图是一种工具。
A、系统描述B、详细设计C、测试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. 结构化程序设计主要强调程序的。
软件工程习题 答案
一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A) 可行性研究,问题定义,需求分析。
B) 问题定义,可行性研究,需求分析。
C) 可行性研究,需求分析,问题定义。
D) 以上顺序都不对。
(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3.耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(C)A) 内容耦合,控制耦合,数据耦合,公共环境耦合。
B) 内容耦合,控制耦合,公共环境耦合,数据耦合。
C) 内容耦合,公共环境耦合,控制耦合,数据耦合。
(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D) 控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:(C)A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。
C) 判定表,判定树,PDL,程序流程图,PAD图,N-S图。
D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD图、N-S图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
国开期末考试《软件工程》机考试题及答案(第5套)
国开期末考试《软件工程》机考试题及答案(第5套)一、单选题1. 软件工程是一门关于软件开发的学科,它主要关注的是()。
- [ ] A. 软件产品的测试和维护- [ ] B. 软件产品的销售和推广- [x] C. 软件产品的开发和管理- [ ] D. 软件产品的设计和美化2. 下列哪个不是软件工程的基本原则?- [ ] A. 风险管理- [ ] B. 进程管理- [ ] C. 质量管理- [x] D. 个人主义3. 软件需求分析过程中,下列哪个活动是错误的?- [ ] A. 确定用户需求- [ ] B. 定义软件系统的边界- [x] C. 编写详细设计文档- [ ] D. 分析用户需求的可行性4. 下列哪个不是软件开发生命周期模型?- [ ] A. 瀑布模型- [ ] B. 敏捷模型- [ ] C. 增量模型- [x] D. 塔式模型5. 下列哪个不是软件测试的主要类型?- [ ] A. 单元测试- [ ] B. 集成测试- [ ] C. 系统测试- [x] D. 数据库测试二、多选题1. 下列哪些是软件工程的关键特征?(多选)- [x] A. 复用性- [x] B. 可维护性- [ ] C. 可销售性- [x] D. 可靠性2. 软件开发生命周期模型的主要目的是(多选)- [x] A. 规划和控制软件项目- [x] B. 保证软件质量- [ ] C. 提高软件开发效率- [ ] D. 减少软件开发成本3. 下列哪些是软件需求文档的主要内容?(多选)- [x] A. 用户需求描述- [x] B. 功能需求描述- [ ] C. 软件开发计划- [x] D. 非功能需求描述三、简答题1. 请简要解释软件工程的定义和目标。
软件工程是一门关于软件开发的学科,主要关注软件产品的开发和管理。
其目标是通过系统化的方法和工具,确保软件开发过程的高质量、高效率和可维护性。
2. 请简要介绍瀑布模型和敏捷模型两种常见的软件开发生命周期模型。
软件工程考试试题及答案
软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。
(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。
(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。
(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。
答案:瀑布模型是软件生命周期模型中最早的模型之一。
它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。
软件工程习题5
习题5【5-1】从供选择的答案中选出正确的答案填入下列叙述中的()内。
模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。
(1) 一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是( A )的。
(2) 将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。
该模块的内聚性是( B )的。
(3) 模块中所有成分引用共同的数据,该模块的内聚性是( C )的。
(4) 模块内的某成份的输出是另一些成份的输入,该模块的内聚性是( D )的。
(5) 模块中所有成份结合起来完全一项任务,该模块的内聚性是( E )的。
它具有简明的外部界面,由它构成的软件易于理解、测试和维护。
供选择的答案:A ~ E:①功能内聚②信息内聚③通信内聚④过程内聚⑤巧合内聚⑥时间内聚⑦逻辑内聚【解答】A. ⑤,B. ⑦,C. ③,D.④,E. ①【5-2】从供选择的答案中选出正确的答案填入下面的()中。
块间联系和块内联系是评价程序模块结构质量的重要标准。
联系的方式、共用信息的作用、共用信息的数量和接口的( A )等因素决定了块间联系的大小。
在块内联系中,( B )的块内联系最强。
SD方法的总的原则是使每个模块执行( C )功能,模块间传送( D )参数,模块通过( E )语句调用其它模块,而且模块间传送的参数应尽量( F )。
此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。
SD方法认为,(G )应该是(H )的子集。
供选择的答案:A:①友好性②健壮性③简单性④安全性B:①巧合内聚②功能内聚③通信内聚④信息内聚C:①一个②多个D:①数据型②控制型③混合型E:①直接引用②标准调用③中断④宏调用F:①少②多G ~ H:①作用范围②控制范围【解答】A 3,B 2 ,C 1,D 1,E 2 ,F 1,G 1 ,H 2【5-3】举例说明你对概要设计与详细设计的理解。
有不需要概要设计的情况吗?【解答】概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。
软件工程测试题+参考答案
软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。
截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。
A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。
A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。
A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。
A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。
A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。
软件工程(习题及参考答案)
第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。
(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。
(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。
(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。
(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。
(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。
(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。
软件工程(第五版)--习题及答案--第五章
软件⼯程(第五版)--习题及答案--第五章⼀、判断题1、(√)详细设计也称模块设计。
2、(×)在数据代码设计时,应尽量让⼀条代码代表多个信息。
3、(×)在数据代码设计时,应可能设计字母和数字混合代码。
4、(×)在输出界⾯设计时,要尽可能使⽤代码或缩写,以求简洁。
5、(×)详细设计评审应尽可能和概要设计评审⼀同进⾏。
⼆、选择题1、软件详细设计的主要任务是确定每个模块的(A)。
A、算法和使⽤的数据结构B、外部接⼝C、功能D、程序2、借助于软件⼯具,可将(C)容易地转换为⾼级语⾔源程序。
A、程序流程图B、N-S图C、PAD图D、判定表3、不属于详细设计⼯具的是(A)。
A、DFD图B、PAD图C、PDlD、N-S图4、程序的三种基本结构是(C)。
A、过程、⼦过程和⼦程序B、递归、堆栈和队列C、顺序、选择和重复D、调⽤、返回和转移5、下⾯描述中,符合结构化程序设计风格的是(A)。
A、使⽤顺序、选择和重复(循环)三种基本控制结构表⽰程序的控制逻辑B、模块只有⼀个⼊⼝,可以有多个出⼝C、注重提⾼程序的执⾏效率D、不使⽤goto语句三、简答题1、软件的详细设计阶段完成的主要任务是什么?答:(1)算法设计;(2)数据结构设计;(3)模块接⼝细节设计;(4)测试⽤例设计;(5)数据库物理设计;(6)数据代码设计;(7)其他设计;(8)编写详细设计说明书并进⾏评审。
2、数据输⼊界⾯设计的主要原则有哪些?答:在设计数据输⼊界⾯时应做到:尽量简化⽤户的⼯作、减少输⼊的出错率;减轻⽤户的记忆负担、尽可能减少输⼊量并实现⾃动输⼊;对共同的输⼊设置默认值;使⽤代码或缩写;⾃动填⼊已输⼊过的内容;列表式输⼊; 数据分组输⼊。
3、代码设计的原则有哪些?答:代码设计的原则是标准化、唯⼀性、可扩充性、简单性、规范性和适应性。
四、应⽤题1、请分别使⽤程序流程图、PAD图和N-S图描述下列程序的算法。
软件工程习题及详细答案
软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37.变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8. PAD(Problem Analysis Diagram)图是一种工具。
A、系统描述B、详细设计C、测试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. 结构化程序设计主要强调程序的。
软件测试习题参考答案
本书习题参考答案第1章软件测试概述1. 软件具有几个特点,请详细说明。
软件具有8个特点:(1) 软件是一种逻辑实体,而不是具体的物理实体。
因而它具有抽象性。
(2) 软件的生产与硬件不同,它没有明显的制造过程。
对软件的质量控制,必须着重在软件开发方面下功夫。
(3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
然而它存在退化问题,必须要对其进行多次的修改与维护。
(4) 软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。
为了解除这种依赖性,在软件开发中提出了软件移植的问题。
(5) 软件的开发至今尚未完全摆脱人工艺的开发方式。
(6) 软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7) 软件成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。
(8) 相当多的软件工作涉及到社会因素。
许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。
2.软件的分类方法都有哪些?软件的分类方法有如下 4种:(1)按软件的功能分类(系统软件,支撑软件,应用软件)(2)按软件服务对象的范围分类(项目软件,市场软件)(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。
(大型,小型,中型,微型)(4)按软件工作方式分类按软件的工作方式分为:实时处理软件、分时软件、交互式软件、批处理软件。
3. 软件测试的概念软件测试是软件工程中的一个环节,是开发项目整体的一部分。
软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。
因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。
4. 软件测试的方法有哪些?软件的测试方法有3种,即用试题测试、用新旧两个系统作平行处理测试和软件测试自动化工具测试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Begin
(A=3)OR(B>1) F
T
X:=A×B
(A>2)AND(B=0) F End
语句覆盖: A=3 ,B=0 判定覆盖: A=2,B=1 条件覆盖: A=3,B=1 A=4,B=0 判定条件覆盖: A=3,B=2 A=2,B=0 A=3,B=0
T
X:=A-3
条件组合覆盖: A=3,B=3 A=1,B=2 A=4,B=0 A=3,B=0 A=1,B=3 2、 软件测试分几个步骤进行?每个步骤解决什么问题? 答:略。 3、 在进行单元测试的时候, 我们应该先要采用哪种测试方法, 是黑盒还是白盒?为什么? 答:略。 4、 根据软件测试的过程和方法找出一段以往自己开发的代码,对其进行测试,并记录测试 结果?讨论其是否有缺陷? 答:略。
第五章习题参考答案
选择题 AACD(1)C(2)A AABAA 问答题 1、 对以下程序进行测试: PROCEDURE EX(A,B:REAL;VAR X:REAL) ; BEGIN IF(A=3)OR(B> 1)THEN X:=A×B IF(A>2)AND(B=0)THEN X:=A-3 END 先画出程序流程图。 再按不同逻辑覆盖法设计(写出名称)测试数据。 答: 程序流程图: