软件工程复习试题及答案
- 格式:docx
- 大小:66.19 KB
- 文档页数:14
软件工程复习题及答案一、选择题软件工程复习题(一)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、程序流程图(框图)中的箭头代表()。
2006-2007-2软件工程复习一、单项选择题(20选10)1. 结构化分析的主要描述手段有( B )。
A. 系统流程图和模块图B. DFD图、数据词典、加工说明C. 软件结构图、加工说明D. 功能结构图、加工说明2. 用于表示模块间的调用关系的图叫( D )。
A.PAD B.SC C.N-S D.HIPO3. 在( B )模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。
A.快速原型 B. 统一过程 C.瀑布模型 D. 螺旋模型4. 常用的软件开发方法有面向对象方法、面向( A )方法和面向数据方法。
A. 过程B. 内容C. 用户D. 流程5 从工程管理的角度来看,软件设计分两步完成( D )。
A. ①系统分析②模块设计B. ①详细设计②概要设计C. ①模块设计②详细设计D. ①概要设计②详细设计6. 程序的三种基本结构是( B )。
A. 过程、子程序、分程序 B.顺序、条件、循环C.递归、堆栈、队列 D.调用、返回、转移7. 程序的三种基本结构是( B )。
A. 过程、子程序、分程序 B.顺序、条件、循环C.递归、堆栈、队列 D.调用、返回、转移8. SD方法衡量模块结构质量的目标是( C )。
A. 模块间联系紧密,模块内联系紧密B. 模块间联系紧密,模块内联系松散C. 模块间联系松散,模块内联系紧密D. 模块间联系松散,模块内联系松散9.为提高软件测试的效率,应该( C )。
A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据C.在完成编码后制定软件测试计划 D.选择发现错误可能性大的数据作为测试数据10.( D )测试用例发现错误的能力较大。
A.路径覆盖B.条件覆盖C.判断覆盖D.条件组合覆盖11.软件需求分析应确定的是用户对软件的( A )。
A. 功能需求和非功能需求B. 性能需求C. 非功能需求D. 功能需求12.下列各种图可用于动态建模的有( C )。
二、填空题1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。
3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__内聚性_____。
5.数据流图(DFD)一般可分为变换型和__事务性_____两类。
6.软件维护的内容包括校正性维护、适应性维护、__完善性维护__和预防性维护。
7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。
8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。
9.状态图反映了_事件与状态____的关系。
10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。
11.组成软件的两个部分是:____程序和文档________。
14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。
15.Jackson方法是一种面向___数据结构_____的开发方法。
16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。
17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。
18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。
19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。
21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。
22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。
23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。
24.数据流图描绘数据在系统中___流动和处理___的过程。
25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。
软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。
A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。
A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。
A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。
A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
软件工程试卷及答案篇一:《软件工程》复习题及答案软件工程复习题第一部份(第 1~6 章)一、选择题:1.开辟软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B)。
A.用户容易参预开辟 B.缺乏灵便性 C.用户与开辟者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开辟模型。
A.增量模型 B.专家系统 C.喷泉模型 D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,合用于( A) 系统。
A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时6.下列有关软件工程的标准,属于国际标准的是(C)A.GBB.ANSIC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。
A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次(A)需求分析、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开辟系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开辟系统10.设年利率为 i,现存入 p 元, n 年后可得钱数为(C)。
A、P×(1+i*n)B、P×(i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开辟B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,普通来说,可行性研究的成本只是预期总成本的(C)。
A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定? BA、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开辟人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
《软件工程》试题参考答案(1)卷一、单向选择题(四选一、每小题3分,共18分)1、需求分析的任务不包括(B)。
A.问题分析B.系统设计C.需求描述D.需求评审。
2、当模块中包含复杂的条件组合,只有( A)能够清晰地表达出各种动作之间的对应关系。
0802A.判定表和判定树C.流程图3、以下不属于逻辑覆盖的是(D)。
1402A.语句覆盖C.条件覆盖B.盒图D 关系图B.判定覆盖D.基本路径4、为适应软件运行环境的变化而修改软件的活动称为( B)。
1501A.纠错性维护B.适应性维护C.改善性维护 D 预防性维护二、填空题(每空2分,共18分)1. 软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
01012. 高级语言:独立于机器,面向过程或面向(对象)01013. 软件项目管理的范围主要集中于 3 个P 上,即:People 人员、Problem 问题和(过程)。
02014. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。
15045. 在公式V(G) = E – N + 2 中: E 为程序图G 中边的总数;N 为程序图中结点的总数。
V(G)又称为图 G 的环形(复杂度)0204。
6. 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。
03037. 为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。
12048. 文档是一种数据媒体和其上所记录的(数据)。
0101三、判断题(每小题2分,共24分,错误打X、正确打√)1. 用户对软件需求的描述不准确,往往是产生软件危机的原因之一。
(√)01022. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
(√)02063. 目前的绝大多数软件都不适合于快速原型技术。
第一章1,与计算机硬件相比,计算机软件有哪些特点?软件的特点如下。
1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、特性和质量等。
2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动。
3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问题。
4)软件的开发和运行必须依赖于特定的计算机系统环境。
5)具有可复用性。
3,什么是软件危机?什么原因导致了软件危机?软件危机的现象如下。
1)经费超出预算,项目一再拖延。
2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。
3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。
4)开发工具落后,手工方式,开发效率低。
所有导致软件危机的原因,都与软件本身的产品特点相关。
1)软件是一个复杂的逻辑产品。
如果没有解决复杂问题的有效方法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。
2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。
3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制。
4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。
5,请简述软件工程研究的内容。
软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。
软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。
常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。
软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer 和Rational Rose等。
7,请简述软件工程的目标、过程和原则。
《软件工程作业》考试复习题库(含答案)一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:B2. 下列哪种编程范式主要用于软件工程中的面向对象编程?A. 命令式编程B. 函数式编程C. 面向对象编程D. 逻辑编程答案:C3. 在软件开发过程中,以下哪个阶段产生的文档最多?A. 需求分析B. 设计C. 编码D. 测试答案:A4. 以下哪个软件工程方法学强调在软件开发过程中使用迭代和增量开发?A. 敏捷开发B. 水晶方法C. 瀑布模型D. 敏捷开发与水晶方法的结合答案:A5. 以下哪个工具常用于软件需求分析阶段的模型建立?A. UML图B. 数据流程图C. 状态转换图D. 时序图答案:B二、填空题1. 软件工程的目的是提高软件的______、______和______。
答案:可用性、可靠性、可维护性2. 软件开发生命周期包括______、______、______、______和______。
答案:需求分析、设计、编码、测试、维护3. 在软件需求分析阶段,常用的方法有______、______和______。
答案:数据流程图、实体关系图、状态转换图4. 软件设计分为______设计和______设计。
答案:架构设计、详细设计5. 软件测试的目的不包括以下哪项______。
答案:找出软件的错误三、判断题1. 软件工程是计算机科学的一个分支。
()答案:正确2. 软件工程适用于所有类型的软件开发项目。
()答案:错误3. 敏捷开发方法适用于所有类型的软件开发项目。
()答案:错误4. 软件测试是软件开发过程中的最后一个阶段。
()答案:错误5. 软件维护是软件开发过程中的重要环节。
()答案:正确四、简答题1. 简述软件工程的定义及目标。
答案:软件工程是应用计算机科学、数学原理和方法来设计、开发、测试和维护软件的一门学科。
其目标包括提高软件的可用性、可靠性和可维护性,降低软件开发成本,提高软件开发效率。
一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件。
对2、在需求解析过程中,解析员要从用户那处解决的最重要的问题是给该软件供应哪些信息。
3、需求规格说明书在软件开发中拥有重要的作用,它也能够作为软件可行性解析的依照。
错错4、成立用例模型的步骤包括确定角色、确定用例和绘制用例图。
错5、数据流图成立系统的功能模型,它由数据流、加工和数据存贮组成。
错6、软件配置管理是一组表记、组织和控制改正源程序的活动。
错7、UML 是一种直观化、明确化、成立和文档化软件产物的通用语言。
错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
对9、界线值解析方法是取输入 / 输出等价类的界线值作为测试用例。
对10、面向对象的解析是面向计算机系统成立软件系统的对象模型。
错11、(D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和保护的过程,它包括方法、工具和过程三个要素。
A 软件过程B 软件测试C 软件生计周期D 软件工程12、 ISO9000 是由 ISO/TC176 拟定的关于( B )和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改进13、 CMM 供应了一个框架,将软件过程改进的进化步骤组织成 5 个成熟度等级。
除第 1 级外,每个等级都包括了实现该成熟度等级目标的若干(B )。
A要点实践 B 要点过程域 C 软件过程能力 D 软件过程14、在软件开发的各种资源中,( D )是最重要的资源。
A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是( A ),它引起人员通信困难、开发开销超支、开发时间超时等问题。
A 固有的B 人为的C 可除掉的D 不能降低的16、在各种不同样的软件需求中,( D )描述了用户使用产品必定要完成的任务,能够在用例模型或方案脚本中予以说明。
A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。
软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是( C )。
A 低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3. 试判断下列叙述中,哪个些是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D )A、PASCALB、VISUAL BASICC、C++D、汇编语言6. 软件测试的目的是?( D )A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是( C )。
A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是( B )语言。
A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。
A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表( B )A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的( D )。
A、规模B、测试方案C、费用D、功能及模块结构13. 检查软件产品是否符合需求定义的过程称为( A )。
软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.软件测试D.软件维护11.第一个体现结构化编程思想的程序设计语言是()A.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程复习试题及答案 Revised by BETTY on December 25,2020一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。
2.数据流图和数据字典共同构成了系统的逻辑模型。
3.盒图也称为 N-S图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
.数据流图有四种基本成分:源、终点,处理,存储,数据流。
78SA是一种面向数据流的分析方法。
9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。
10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。
2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。
3.软件测试的步骤:单元、集成、系统、验收。
4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。
5.IPO图由输入、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。
7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。
8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。
9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。
10.常用的测试方法有黑盒测试和白盒测试。
1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。
2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。
3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段。
复习题填空题1.在信息处理和计算机领域内,一般认为软件是_程序____、_文档____ 和_数据____ 。
2.数据流图的基本组成部分有_数据的源点与终点____、数据流_____、加工_____、数据文件_____。
3.数据流图和数据字典共同构成了系统的_逻辑____模型,是需求规格说明书的主要组成部分。
4.划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。
5.类的实例化是_对象_______。
6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7.靠性的两个指标是_成功地运行的概率_______和_平均故障时间_______。
8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,9.将得到软件的总开发量。
这种成本估算方法称为_自底向上_______。
10.如果一个模块被n 个模块调用,其中直接的上级模块的个数是m 个(m<=n )那么该模块的扇入数是____N_______ 个。
11.结构化设计以__数据流图_________ 为基础,按一定的步骤映射成软件结构。
12.软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。
13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。
14.软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。
15.面向对象分析的目的是对客观世界的系统进行___建模_______________ 。
16.软件维护工作的生产性活动包括分析评价、修改设计和____编写程序代码_______ 等。
17.为了使应用软件适应计算机环境的变化而___修改软件_______________ 的过程称为适应性维护。
18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是__________顺序内聚________ 。
软件工程试题及答案一、选择题1. 下列哪项不是软件工程的目标?A. 提高软件质量B. 减少开发成本C. 缩短开发周期D. 增加硬件依赖答案:D2. 软件生命周期模型是用来描述软件开发过程中的不同阶段和活动。
下列哪个不是常见的软件生命周期模型?A. 瀑布模型B. 原型模型C. 敏捷模型D. 瀑布-原型混合模型答案:D3. 如果一个软件开发项目处于需求分析阶段,以下哪项工作不应该进行?A. 进行用户需求调研B. 评估项目的风险C. 设计软件架构D. 编写需求规格说明书答案:C4. 软件测试的目的是什么?A. 发现软件中的缺陷B. 测试软件的性能C. 测试软件的安全性D. 评估软件的可用性答案:A5. 下列哪项不是软件维护的类型?A. 纠错性维护B. 改进性维护C. 适应性维护D. 构造性维护答案:D二、填空题1. 软件工程的核心活动是________________。
答案:软件开发2. 软件需求定义了软件要做什么,________________定义了如何构建软件。
答案:软件设计3. 软件开发中的一项常见风险是________________。
答案:进度延迟4. 软件测试可以分为________________、系统测试和验收测试。
答案:单元测试5. 软件维护的目标是________________软件的可靠性和可用性。
答案:提高三、简答题1. 请解释什么是软件需求工程?答:软件需求工程是软件工程中的一个关键过程,旨在识别、分析和定义系统或产品的用户需求。
它涉及与利益相关者合作,了解他们对软件的期望和需求,然后将这些需求转化为明确、一致和可验证的规格说明。
软件需求工程包括需求获取、需求分析、需求规格说明等活动。
2. 请解释什么是软件架构?答:软件架构是指软件系统的基本结构和组织方式,包括系统中的组件、模块、接口以及它们之间的关系。
软件架构定义了软件系统的整体框架,决定了软件的组织结构、性能、可扩展性等特性。
软件工程试卷(附答案)一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节 3.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统C.目标系统B.当前逻辑模型D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。
A.数据流B.数据储备C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、经由过程(B)可以完成数据流图的细化。
A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。
A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块内部最好是(C)。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。
A.非单一功能模块的扇入数大比较好,申明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除掌握耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,申明该模块过分复杂,缺少中央层11、在软件开发过程中,以下说法正确的是(B)。
软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。
答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。
答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。
答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。
答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。
答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。
答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。
其优点包括:- 易于管理:模块化使得软件更容易理解和维护。
- 可重用性:模块可以在不同的项目中重复使用。
- 并行开发:模块化允许多个团队并行开发不同的模块。
- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。
12. 解释什么是软件的可维护性,并说明其重要性。
一、填空题(在下划线上填写正确的答案,每题2分,共20分)1. _等价划分________ 是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。
2•—数据流图_________ 和数据字典共同构成了系统的逻辑模型。
3•盒图也称为 _ N-S图 ________ 。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
4. ___________________________________ 软件有效性,指软件系统的时间和空间效率。
5. IPO图的中文意思是结构化设计中变换型结构的输入(In put )、加工(Processing )、输出(Output )__________________ 。
6. ___________________________ 数据流图有四种基本成分:_______________________________ 源、终点,处理,存储,数据流________________________ 。
7 .数据字典有以下四种条目:数据流、数据项、数据存储、基本加工,其中数据项是组成数据流和数据存储的最小元素。
&软件工程中的结构化分析SA是一种面向—数据流___________ 的分析方法。
9 .软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个_由下而上的过程。
10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、_低 _________ 耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
1. 常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型2. 软件生存周期一般可分为—问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。
3. 软件测试的步骤:单元、集成、系统、验收。
4. 数据流图的基本符号包括―加工、数据流、数据存储文件、汇点—。
5. IPO图由—输入_________ 、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
6. 面向对象方法是一种运用—类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。
7•分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的_逆向工程________ 。
&程序测试是对编码阶段的语法错、语义错和运行错____________ 进行查找的编码执行活动。
9. 为了获得较高的模块独立性,尽量设计出具有_高内聚和低藕合性能的模块。
10. 常用的测试方法有—黑盒测试和白盒测试。
1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。
2. 构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。
3. 软件生存周期中时间最长、花费精力和费用最多的一个阶段是_________ 维护_阶段。
4. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是______ 功能需求 _。
7•分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程_。
&程序测试是对编码阶段的语法错、语义错和运行错__________ 进行查找的编码执行活动进行查找的编码执行活动。
9 •为了获得较高的模块独立性,尽量设计出具有低耦合和高内聚—性能的模块。
1若年利率为i, n年后可得钱数为F则现在的价值—F/(1+N*i) ______ 。
2•在结构化分析中用来描述加工逻辑的主要工具是结构化语言、判定表、判U定树。
3 •软件测试的步骤:制定测试计划、设计测试用例、实施测试、测试后调试、做测试报告4.自顶向下结合的渐增测试法,在组合模块时有两种组合策略:深度优先策落和 _____ 宽度优先策略]。
7 •结构化方法总的指导思想是—自顶向下—逐层分解。
1.软件工程的三要素包括方法、 ______ 工具____ 和过程。
2 •面向对象方法用_____ :寸象行为和属性的 _________ 分解取代了传统方法的功能分解。
3. HIPO图是由一组IPO图和一张______ H _______ 图组成。
4•在前期需求明确、资料完整的情况下尽量采用—瀑布—模型。
5•用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用—扩展________ 关系来表示。
6・UML中用一端为空心三角形的连接表示—泛化 _______ 关系。
7•类是类图的主要的主要部件,由类名、 ____ 属性 _、操作3部分组成。
& UML中的泛化关系就是通常所说的________ 继承—关系。
9•部署图用连接实线______ 关系表示各节点之间的通信路径。
10•选择____ 关系命令,可以看到Rose中对应图形的分类。
1 •软件危机具有下列表现( D )。
1、对软件开发成本估计不准确2、软件产品的质量往往靠不住3、软件常常不可维护4、软件成本逐年上升A、1、2和3B、1、3和4C、2、3和4D、以上都正确2 •软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是(A )。
3.下列属于软件的特点的是( D )。
A、软件是一种逻辑实体,具有抽象性B 、软件在使用过程中没有磨损、老化C、软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高D 、以上都正确4.软件开发技术不包含(D )。
A、软件开发方法学B、软件工程环境C、软件工具D、软件质量度度量5.需求分析阶段最重要的技术文档是( B )。
A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册6.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )A、数据库设计B、数据通信C、数据定义D、数据维护7.需求分析阶段的研究对象是( C )。
A、系统分析员要求B、用户要求C、软硬件要求D、系统要求8.结构化方法的基本原则是( B )。
A、模块化B、抽象与分解C、信息隐藏D、逐步求精9.耦合度最高的是(B )耦合。
A、环境耦合B、内容耦合C、控制耦合D、数据耦合10.画软件结构图时应注意调用关系只能是( B )A 、从下到上B 、从上到下C、从左到右D、从右到左11.软件设计中划分模块的一个准则是(C)A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D高内聚高耦合12. Jackson设计方法是由英国的M.Jackson提出的,它是一种面向(C)的软件设计方法。
A、对象B、数据流C、数据结构D、控制结构13. 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A、程序内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能14. 软件维护工作的最主要的部分是(A)。
A、校正性维护B、适应性维护C、完善性维护D、预防性维护15. PDL 是(B)语言。
A、高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言16. 下列哪个阶段不属于软件生存期的三大阶段( C )。
A、定义阶段B、开发阶段A运行和维护阶段B、设计阶段C、代码实现阶段D、测试阶段C、编码阶段D、维护阶段17. 可维护性的特性中相互促进的是( A )A、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好18. 软件测试的目标是(B)A、证明软件是正确的B、发现错误、降低错误带来的风险C 、排除软件中所有的错误D 、与软件调试相同19•软件生命周期中所花费用最多的阶段是(D )A 、详细设计B 、软件编码C 、软件测试D 、软件维护 20.详细设计的基本任务是确定每个模块的( D )设计。
A 、功能B 、调用关系C 、输入输出数据D 、算法22.下列哪个图不是 N-S 图的构件( C )。
24. 下列哪种方法不是度量效益的方法(A 、货币的时间价值 C 、投资回收期25. 下列描述错误的是( D )。
A 、 数据流图将各种信息流抽象成数据流的形式B 、 数据流图不反映控制关系、调用关系C 、 数据流图不反映处理逻辑的先后顺序D 、 数据流图不反映数据的流向26. 软件是(C )A 、 处理对象和处理规则的描述B 、程序23 .对于下列各图,有关描述中正确的是(A )。
A 、数据A 和B 同时输入变成 CC 、数据A 或数据B (不能同时)输入,变换成 CCD 、数据A 变换成B 和CB )。
B 、算法模型估计 D 、纯收入C、程序及文档D、计算机系统27.软件需求规格说明的不应包括(B)。
A 、主要功能B 算法的详细描述C、用户界面及运行环境D、软件性能28.程序的三种基本控制结构是(B)。
A、过程、子程序和分程序B、顺序、选择和循环C、递归、迭代和回溯D、调用、返回和转移29.面向对象的分析方法主要是建立三类模型,即(D)。
A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型B、ER模型、对象模型、功能模型D、动态模型、功能模型、对象模型30. ER模型中,包含以下基本成分(C)。
A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作1. 快速原型模型的主要特点之一是B)A. 开发完毕才见到产品B. 及早提供工作软件C. 及早提供全部完整软件D. 开发完毕才见到工作软件2. 软件工程学的一个重要目标是D)A. 提高程序的执行效率B.降低程序对存储空间的要求C. 定义各种软件开发过程模型D. 提高软件的可维护性3. 需求分析最终结果是产生B)A. 项目开发计划 B .需求规格说明书C. 设计说明书 D .可行性分析报告4. 数据存储和数据流都是处于不同状态的D)A. 分析结果B. 事件C. 动作 D . 数据5. 数据字典是对数据定义信息的集合,它所定义的对象都包含于A)A.数据流图B.程序框图C.软件结构 D .方框图6、结构化设计是一种面向(A) 的设计方法。
A. 数据流B.数据库C. 数据结构 D .程序7. 下列可哪个组件不是用例图的基本组件D)A. 参与者 B •用例C.系统D. 文档8. 用例图中用例之间存在各种关系,但不包括(B)A. 包含 B •关联C.泛化D. 扩展9. 常用动词或动词词组来表示( C )A. 对象 B .类C.关联D. 属性10.组件图中通常不包括下列哪个元素(A)A. 对象 B .组件C.接口D. 依赖11.好的软件结构应该是( B )A. 高耦合、高内聚B.低耦合、高内聚C. 高耦合、低内聚D.低耦合、低内聚12.静态模型不包括( C )A. 类图 B •组件图C.状态图D. 部署图13.动态模型不包括(D)A. 交组图 B •活动图C.状态图D. 部署图14. Rose 模型文件的扩展名为(A)三、判断题(正确的在括号内打上,错误的打上“X”。
每小题 2分,共20 分)1 软件开发的主要任务是写程序。