软件工程复习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习题及答案
一、选择题软件工程复习题(一)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、程序流程图(框图)中的箭头代表()。
A、数据流B、控制流C、调用关系D、组成关系17、一个只有顺序结构的程序,其
环形复杂度是()。
A、0B、1C、3D、不确定的18、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发
的决策依据,因此必须给出什么样的回答。
()A、确定B、行或不行C、正确D、无二义19、结构化程序设计主要强调的是()A、程序的规模
B、程序的效率
C、程序设计语言的先进性
D、程序易读性20、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A、结合B
、隐藏C、封装D、抽象21、软件概要设计结束后得到()A、初始化的软件结构图B、优化后的软件结构图C、模块的接口图和详细算法D、程
序编码22、软件需求是度量软件质量的基础,不符合需求的软件就不具备()A、软件的特点B、质量C、软件产品D、功能23、软件特性中,
程序能够满足规格说明和完成用户业务目标的程度,称作()A、正确性B、移植性C、可靠性D、完整性24、为使得开发人员对软件产品的各
个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。
A、需求说明B、概要说明C、软件文档D、测试计划 25、系统因
错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为()。
A、软件容错B、系统软件C、测试软件D、恢复测试二、填空
1、软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、()、可使用性和效率。
2、在结构化分析中,用于描
述加工逻辑的主要工具有三种,即:结构化语言、判定表、 ()3、为了便于对照检查,测试用例应由输入数据和()预期的两部分组成。
4、
若年利率为i,不计复利,n 年后可得钱数为F,则现在的价值P=()5、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有
屏蔽能力,则称此软件具有()的软件。
三、简答题1、简述软件测试的任务、目的与类型。
2、简述软件工程目标和面临的主要问题。
3、简述软
件开发过程、每个里程碑的提交物。
4、简述软件工程的七条基本原理。
四、论述题1、试论面向对象方法较之结构化方法的先进性。
2、试述软件
开发工具对软件开发的影响。
3、试论文档在软件开发过程中的重要性。
五、应用设计题1、一个软件公司有许多部门,分为开发部门和管理部门两
种。
每个开发部门开发多个软件产品。
每个部门由部门名字唯一确定。
该公司有许多员工,员工分为经理、工作人员和开发人员。
开发部门有
经理和开发人员,管理部门有经理和工作人员。
每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项
目。
每位经理可主持多个开发项目。
请建立该软件公司的对象模型。
一、选择题软件工程导论复习题(一)答案1、C6、D11、A16、A
21、B2、B7、C12、C17、B22、B3、C8、C13、A18、B23、A4、A9、B14、C19、D24、C5、B10、C
15、D20、C25、A二、填空题1、可移植性2、判断树3、输出结果4、F/(1+(ni))5、容错功能三、简答题1、答:软件
测试是一个为了寻找软件错误而运行程序的过程。
目的就是为了发现软件中的错误。
一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用
例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件测试主要分为白盒测试和黑盒测试两大类。
2、答:软件工程的目标就是建
造高质量的软件。
但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户常对“已完成的”软
件系统不满意。
(3)软件产品的质量往往靠不住。
(4)软件常常很难维护。
(5)软件常常缺乏适当的文档资料。
(6)软件开发生
产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
(7)软件成本在计算机系统总成本中所占的比例逐年上升。
3、答:软件开发
的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否(2)软件需求分析,软件工程师必须了解软件的信息领域,以
及需求的功能、行为、性能和接口。
系统需求和软件需求均需文档化,并与用户一起复审。
并提交需求分析报告。
( 3)设计,包括
概要设
计和详细设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计。
设计过程将需求转换
为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要组成部分,经复审后提交相应的概要设计和详细设计报告。
(4)编码,把设计转化为机器可执行的程序。
提交源程序清单。
( 5)测试,提交测试报告。
( 6)维护,提交维护报告。
4、答:(1)用分阶段的生命的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组
的人员应该少而精;承认不断改进软件工程实践的必要性。
四、论述题1、答:( 1)面向对象方法更符合人的思维方式,更容易抓住问题的主干。
所开发出的软件更符合“高内聚、松耦合”的原则。
所设计出的类模块独立性更强。
更适合于开发大型的软件,更适合于快速原型法开发方法。
使
软件生产率大大提高。
使用面向对象技术开发出的软件的可测试性和可维护性都较强。
面向对象方法和技术能够贯彻软件开发的全过程。
从分析、设
计、编码到测试维护,采用面向对象的方法不存在语义断层,使人的思维连续,减少各阶段之间所采用方法的不向融性。
使得软件的可重用性大幅
度提高。
2、答:软件开发工具应用于软件开发可以大幅度地提高软件生产率,提高软件质量。
方便软件管理,便于软件重用,减少低级重复劳
动,支持快速原型设计,便于用户和开发人员的交流。
降低大型复杂软件的开发难度。
3、答:论述要点:在软件的生产过程中,总是伴随着大量
的信息要记录、要使用。
因此,软件文档在软件产品的开发过程中起着举足轻重的作用。
(1)提高软件开发过程的能见度。
把开发过程中发生
的事件以某种可阅读的形式记录在文档中,管理人员可把这些记录下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。
(2)提高开发效率。
软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。
并且可在开发早期发现
错误和不一致性,便于及时纠正。
(3)作为软件开发人员在一定阶段的工作成果和结束标志。
(4)记录开发过程中的有关信息,便于协调
以后的软件、开发、使用和维护。
(5)提供对软件的运行、维护和培训的有关信息,便于开发人员之间的协作、交流和了解,使软件开发活动更科
学、更有成效。
便于潜在用户了解软件的功能、性能等各项指标。
五、应用设计题解:一个软件公司许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品。
每个部门由部门名字唯一确定。
该公司有许多员工,员工分为经理,工作人员和开发人员每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。
每位经理可主持多个开发项目。
建立该软件公司的对象模型。
软件公司部门名有1+部门有1+软件产品1+ 开发开发部门管理部门员工有1+有1+开发人员1+经理工作人员1+语言开发部门。