软件工程复习题答案
软件工程复习题(带答案)

一、填空题1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个入口和一个出口。
2.程序的三种基本控制结构的共同特点是。
(单入口单出口)3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构)4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。
5.计算机程序及其说明程序的各种文档称为。
(软件)6.软件是、和(程序、数据、相关文档)的完整集合。
7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。
8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文档)的编制是很重要的。
9.软件工程方法学有3大要素、工具、。
(方法、过程)10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。
11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。
(软件应当做什么)12.软件开发活动的顺序是_________。
(问题定义、可行性研究、需求分析、设计、编码和测试)13.软件需求分析的任务包括_________。
(问题分析、信息域分析、确定程序结构)14.最早提出软件系统维护问题的阶段是_________。
(需求分析)15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。
16.“软件危机”是指________ 。
(软件开发和维护中出现的一系列问题)17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。
18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产生的。
19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。
20.瀑布模型本质上是一种________ 模型。
(线性顺序)21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发方法。
软件工程复习题库带答案完整版

软件工程复习题库带答案完整版一、选择题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)是从软件的功能可行性角度考虑的。
软件工程复习试题及答案

一、填空题在下划线上填写正确的答案,每题2分,共20分1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数;2.数据流图和数据字典共同构成了系统的逻辑模型;3.盒图也称为 N-S图 ;这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题;4.软件有效性,指软件系统的时间和空间效率;6.数据流图有四种基本成分:源、终点,处理,存储,数据流 ;7其中数据项是组成数据流和数据存储的最小元素;8.软件工程中的结构化分析SA是一种面向数据流的分析方法;9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程; 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础;1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型 ;2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段;3.软件测试的步骤:单元、集成、系统、验收 ;4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点 ;5.IPO图由输入、处理和输出三个框组成;这个图的特点是能够直观的显示三者之间的关系;6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法;7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程 ;8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动;9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块;10.常用的测试方法有黑盒测试和白盒测试 ;1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究;2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构;3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段;4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求 ;7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程 ;8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动进行查找的编码执行活动;9.为了获得较高的模块独立性,尽量设计出具有低耦合和高内聚性能的模块;1.若年利率为i,n年后可得钱数为F则现在的价值 F/1+Ni ;2.在结构化分析中用来描述加工逻辑的主要工具是结构化语言、判定表、判定树 ;3.软件测试的步骤:制定、设计、实施测试、测试后调试、做4.自顶向下结合的渐增测试法,在组合模块时有两种组合策略:7;1;2;3.HIPO图是由一组IPO图和一张H 图组成;4.在前期需求明确、资料完整的情况下尽量采用瀑布模型;5.用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用扩展关系来表示;6.UML;7.类是类图的主要的主要部件,由类名、属性、操作3部分组成;8.UML中的泛化关系就是通常所说的继承关系;9;10Rose中对应图形的分类;1.软件危机具有下列表现 D ;1、对软件开发成本估计不准确2、软件产品的质量往往靠不住3、软件常常不可维护4、软件成本逐年上升A、 1、2和3B、 1、3 和4C、 2、3和4D、以上都正确2.软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是 A ;A 运行和维护阶段 B、设计阶段 C、代码实现阶段 D、测试阶段3.下列属于软件的特点的是 D ;A、软件是一种逻辑实体,具有抽象性B、软件在使用过程中没有磨损、老化C、软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高D、以上都正确4.软件开发技术不包含 D ;A、软件开发方法学B、软件工程环境C、软件工具D、软件质量度度量5.需求分析阶段最重要的技术文档是 B ;A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册6.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是 CA、数据库设计B、数据通信C、数据定义D、数据维护7.需求分析阶段的研究对象是 C ;A、系统分析员要求B、用户要求C、软硬件要求D、系统要求8.结构化方法的基本原则是B ;A 、模块化B、抽象与分解 C、信息隐藏 D、逐步求精9.耦合度最高的是B 耦合;A、环境耦合B、内容耦合C、控制耦合D、数据耦合10.画软件结构图时应注意调用关系只能是 BA、从下到上B、从上到下C、从左到右D、从右到左11.软件设计中划分模块的一个准则是CA、低内聚低耦合B、低内聚高耦合C、高内聚低耦合 D高内聚高耦合12.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、开发阶段C、编码阶段D、维护阶段17.可维护性的特性中相互促进的是 AA、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好18.软件测试的目标是BA、证明软件是正确的B、发现错误、降低错误带来的风险C、排除软件中所有的错误D、与软件调试相同19.软件生命周期中所花费用最多的阶段是 DA、详细设计B、软件编码C、软件测试D、软件维护20.详细设计的基本任务是确定每个模块的D设计;A、功能B、调用关系C、输入输出数据D、算法22.下列哪个图不是N-S图的构件 C ;23.对于下列各图,有关描述中正确的是 A ;A、数据A和B同时输入变成CB、数据A变换成B和CC、数据A或数据B不能同时输入,变换成CD、数据A变换成B和C24.下列哪种方法不是度量效益的方法 B ;A、货币的时间价值B、算法模型估计C、投资回收期D、纯收入25.下列描述错误的是 D ;A、数据流图将各种信息流抽象成数据流的形式B、数据流图不反映控制关系、调用关系C、数据流图不反映处理逻辑的先后顺序D、数据流图不反映数据的流向26.软件是CA、处理对象和处理规则的描述B、程序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.用例图中用例之间存在各种关系,但不包括 BA.包含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模型文件的扩展名为 AA.mdl B.vsd C.pdf D.swf15.逆向工程是什么过程 CA.模型到代码B.设计到实现C.代码到模型 D.类图到包图三、判断题正确的在括号内打上“√”,错误的打上“×”;每小题2分,共20分1软件开发的主要任务是写程序; F2测试只能证明程序有错误,不能证明程序没有错误; T3模块化程序设计中,模块越小,模块化的优点越明显;一般来说,模块的大小都在10行以下; F4在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等; F5程序设计风格指导原则提出,尽量多使用临时变量; F6用黑盒法测试时,测试用例是根据程序内部逻辑设计的; F7发现错误多的程序模块,残留在模块中的错误也多; T8为了加快软件维护作业的进度,应尽可能增加维护人员的数目; F9软件维护就是改正软件中的错误; F10质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动; T11螺旋模型是利用笛卡尔坐标的四个象限分别代表四个方面的活动来表示; F12模块越多,开发成本越小; F13内聚是指一个软件结构内各个模块之间互连程序的度量; F14结构化设计属于面向数据流的设计方法; T15详细设计是在概要设计之后进行的;它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述; T16程序运行过程中出现错误叫做容错; F17软件测试的目的是证明程序没有错误; F18白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程;F19 PAD图在设置了五种基本的控制结构后,还允许递归调用; T20独立编译是指一个大程序的不同程序单元分别编译,然后重新连接整个程序段;T31开发软件就是编写程序F32 系统测试的主要方法是白盒测试法,主要进行功能、性能测试、安全性测试及可靠性测试等F33编程时应尽可能利用硬件特点以提高程序效率F;34软件需求分析的任务是建立软件模块结构图F;35尽可能使用高级语言编写程序T;36以结构化方法建立的系统模型就是数据流图F;37进行总体设计时加强模块间的联系F;38编码时尽量多用全局变量F;39用CASE环境或程序自动化生成工具来自动生成一部分程序T40软件测试是要发现软件中所有错误FT 41、软件开发、设计几乎都是从头开始,成本和进度很难估计;F 42、VG值越高的程序往往是越不复杂、越不容易出问题的程序;F 43、适应性维护是改进软件未来的可维护性和可靠性;F 44、软件是逻辑产品,软件质量较容易直接度量;T 45、随着软件复杂性的不断提高,软件的维护难度越来越大;F 46、软件也会磨损和老化;F 47、用穷举法测试是较现实的测试方法;T 48、面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和循环三种基本形式表示数据等步骤;F 49、测试计划、测试用例,出错统计和有关的分析报告一般不用长期保存;F 50、McCabe建议模块规模应满足:VG≤20;T 61.总体设计阶段要设计软件体系结构;F 62、软件即程序;T 63.采用对象设计系统时,首先建立系统的物理模型;T 64.用例图中,扩展关系表示为虚线箭头加“extend”;T 65.实现关系指定两个实体之间的一个合同;T 66.状态图通常作为对类图的补充;F 67.聚集关系是关联的一种形式,表示两个类之间的一般与特殊关系;T 68.一个完整的模型必然描述系统的静态和动态两个方面;F 69.状态图是对多个对象建模;T 70.在UML中,组件是指系统中可替换的物理部分;四简述题每小题5分,共10分1.测试用例测试用例Test Case是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个路径或核实是否满足某个特定需求;2.模块化模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性;3.对象指行动或思考时作为目标的事物4.软件生命周期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行;5.软件重用的效益是什么答:1、软件重用可以显着地改善软件的质量和可靠性;2、软件重用可以极大地提高软件开发的效率;3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费;6.结构化程序设计方法的基本要点;1.采用自顶向下、逐步求精的程序设计方法:在需求分析、概要设计中,都采用了自定向下、逐层细化的方法;2.使用三种基本控制结构构造程序,分别是顺序、选择和循环,这三种基本结构的共同点是、单入口、单出口,为自顶向下、逐步求精的设计方法提供了具体的实施手段;3.采用主程序员的组织形式:指开发程序的人员组织方式应用由一个主程序员、一个后备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组;7.什么是软件生命周期8.简述什么是回归测试回归测试-----在集成测试过程中每当一个新模块结合进来时,程序就发生了变化:建立了新的数据流路径,可能出现新的I/O操作,激活新的控制逻辑;这样变化有可能使原来正常的功能出现了问题;所谓回归测试是指重新执行已经做过的测试的某个子集,以保证上述变化没有带来非预期的错误;9.简述软件危机有哪几种表现软件开发和维护的过程中常遇到的问题1对于软件开发的成本和进度的估计很不准确;2开发的软件产品不能完全满足用户要求;3开发的软件可靠性差,软件产品质量差;4软件通常没有适当的文档资料;5软件的可维护性差;6软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势,效率低;7软件价格昂贵;10.什么是软件工程Software Engineering,简称为SE是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科;它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面;11.简述需求分析的任务需求分析的任务就是:确定待开发的软件系统“做什么”;具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册12.详细设计的主要任务是什么答:详细设计的基本任务包括:1、为每个模块进行详细的算法设计2、为模块内的数据结构进行设计3、对数据库进行物理设计4、其他设计5、编写详细设计说明书6、评审13.自顶而下渐增测试与自底向上渐增测试各有何优缺点答:①自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误;缺点:需要存根程序,底层错误发现较晚;②自底而上渐增测试优点与缺点和自顶而下渐增测试相反;14.软件生存期各阶段的主要任务;15.简述需求分析工作可以分成哪四个方面软件需求分析有三个基本原则需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以及评审;1问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计划;然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作;2分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求,是否合理;3制定规格说明,编写需求分析的文档;4需求分析评审;为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格执行;需求分析的原则1.必须能够传达和理解问题的数据域和功能域2.必须按自顶向下、逐层分解的方式对问顺进行分解和不断细化3.给出系统的逻辑模型和物理模型161、为了发现错误而执行程序的过程2、一个好的用例能够发现至今尚未发现的错误的测试3、一个成功的测试是发现至今尚未发现的错误的测试17.在面向对象的系统开发过程中,每个阶段需要建造的模型各有什么作用1、在面向对象的系统开发过程中,每个阶段要建造不同的模型2、需求分析阶段建造的模型用来捕获系统需求分析3、设计阶段的模型是分析模型的扩充,为实现阶段作指导性和技术性的解决方案4、实现阶段的模型是真正的源代码及编译后的组件5、发布阶段是描述系统物理上的架构18 .软件工程的原则是什么软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则;五、应用题20分1.某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员;请用结构化语言,判定树或判定表描述上述问题的加工逻辑;职工重新分配工作的政策可描述为:若年龄在20岁以下则初中文化程度脱产学习高中文化程度当电工若年龄在20-40岁之间则中学文化程度男性当钳工女性当车工大学文化程度都当技术员若年龄在40岁以上者则中学文化当材料员大学文化当技术员初中脱产学习年龄<20 高中电工男钳工中学女车工工作分配规则年龄20-40高中技术员年龄>40 中学村料员高中技术员2.假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李;当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半;用判定表表示每种条件组合相对应的计算行李费的算法;用判定树表示计算行李费的算法用判定树表示计算行李费的算法3.以自己开发软件可以是C、C++、VC++、VF、甚至是汇编、等其他语言的一个自选项目为背景,应用软件工程方法进行策划,要求必须给出项目描述,主要的软件工程过程的描述以及各阶段的主要内容。
软件工程期末复习题答案

软件工程期末复习题一、选择题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.软件测试用例主要由输入数据和()两部分组成。
A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析8.成功的测试是指运行测试用例后()。
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.集成测试时,能较早发现高层模块接口错误的测试方法为()。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以()文档作为测试的基础。
软件工程考试题及答案

软件工程考试题及答案一、选择题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、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
《软件工程》复习题及答案

第一部分
一、选择题:
1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生
2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品
3.瀑布模型存在的问题是(B)。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
数据流图的基本符号的意思:
1.矩形表示数据的外部实体;
2.圆角的矩形表示变换数据的处理逻辑;
3.少右面的边矩形表示数据的存储;
4.箭头表示数据流。
8.什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。
作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。
32.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的(C)上。
A.配置项B.程序C.基线D.过程
33.在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。
A.耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合
二、简答题
1.什么是软件工程?软件工程的目标是什么?
A、1%B、20%C、8%D、50%
13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》
B.《中华人民共和国计算机信息系统安全保护条例》
C.《中华人民共和国著作权法》
D.《计算机病毒防治管理办法》
软件工程复习习题(含答案)

一、选择题1.在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____。
2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__。
3.在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术。
4.___封装___是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
5.软件测试时为了___发现错误_____而执行程序的过程。
6.在软件系统中,一个模块应具有什么样的功能,这是由___需求分析__决定的。
7.面向对象分析是对系统进行___需求分析_____的一种方法。
8.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___可维护性____。
9.模块内聚度越高,说明模块内各成分彼此结合的程序越____紧密__。
10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_维护阶段__。
11.常用的面向对象的软件过程模型是__喷泉模型_____。
生命周期模型A.瀑布模型(规范化,阶段性取得前进)B.喷泉模型(面向对象,开发活动间没明显边界,无缝过渡)C.原型模型(快速,线性顺序,不带反馈环)D.增量模型(产品分解为一系列增量构件,开发中逐步加入)E.螺旋模型(瀑布&快速原型结合,每阶段加风险评估)12.面向对象的分析阶段建立的系统模型不包括____数据模型____。
有对象模型、动态模型、功能模型13.提高软件的可维护性可采用很多措施,下列哪个不在措施之列?提供没有错误的程序。
措施:建立质量保证制度、改进程序文档质量、明确软件质量标准14.计算机系统可以划分为软件系统和硬件系统,软件是一种逻辑产品。
15. 可行性分析研究的主要目的是项目是否值得开发16.在下列四种模块的耦合性中,信息隐蔽性能最好的是(C数据耦合)A.控制耦合B.内容耦合C. 数据耦合D. 特征耦合17.需求分析是回答系统必须(D做什么)的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26.构件库系统应提供的主要功能:构件的存储、管理、检索以及库的浏览与维护等
27.软件系统中的错误和缺陷通常不是均匀地分布在整个软件系统的各个部分的,而是成群集中出现的,这种现象称作群集现象。
28.软件测试按先后顺序可分为:单元测试、集成测试、确认测试、系统测试和验收测试。
8.软件危机的主要表现是(BD)
9.A.软件成本太高B.软件产品的质量低劣
10.C.软件开发人员明显不足D.软件生产率低下
11.以下属于非功能需求的有(ABC)
12.A.机构需求B.产品需求C.外部需求D.领域需求
13.需求分析的作用是(ABCD)
14.A.定义软件的范围及必须满足的约束
15.B.确定软件的功能和性能及与其他系统成分的接口
二、填空题
1.软件工程是在克服1960年代末所出现的软件危机的过程中逐渐形成与发展的。
2.软件工程的发展已经历了四个重要阶段:传统的软件工程,对象工程,过程工程,构件工程
3.软件生命周期包括的阶段有:问题定义,可行性研究,需求分析,软件设计,编码,测试,运行与维护。
4.软件开发方法可分为两大类:面向过程的开发方法,面向对象的开发方法
63.A.一般的表格工具B.甘特图C.时标网状图D.PERT技术与CPM方法
64.CMM表示(A)
65.A.软件过程成熟度模型B.软件过程工业化控制
66.C.国际软件质量认证D.软件统一性标准
67.软件过程和产品质量有详细的度量标准,并且得到了定量的认识和控制。以下哪一级具有上述特征(C)
68.A.可重复级B.已定义级C.已管理级D.优化级
46.C.严格的质量保证D.较高的标准化程度
47.大多数的构件分类模式可以归纳为(ABC)
48.A.枚举分类B.刻面分类C.属性值分类D.聚集分类
49.软件测试的基本原则有(BD)
50.A.尽量由程序设计者自己进行测试B.注重测试用例的选择
51.C.尽早地和不断地进行软件测试D.充分注意测试中的群集现象
23.常用的需求分析方法有(BCD)
24.A.功能分析方法B.结构化分析方法
25.C.信息建模法D.面向对象的分析方法
26.数据词典中可包含的条目有(ABCD)
27.A.数据流B.数据项C.文件D.加工
28.属于分布式的软件体系结构有(B)
29.A.仓库模型B.客户/服务器模型C.分布式对象结构D.中间件
40.以下软件复用中,抽象程度最低的是(A)
41.A.代码的复用B.设计结果的复用C.分析结果的复用D.测试信息的复用
42.以下软件复用中,抽象程度最高的是(D)
43.A.代码的复用B.设计结果的复用C.分析结果的复用D.测试信息的复用
44.可复用构件必须具备的条件有(ABD)
45.A.功能上的独立性和完整性B.较高的通用性和灵活性
5.对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程称作需求工程
6.软件系统的需求分为用户需求和系统需求两类。
7.系统需求分为功能需求,非功能需求和领域需求。
8.需求验证的内容包括:有效性检查,一致性检查,完备性检查和可检验性检查
9.画分层DFD图应遵循的基本原则有:数据守恒与数据封闭原则,加工分解的原则,子图与父图的平衡,合理使用文件
15.传统软件开发方法无法实现从问题空间到解空间的直接映射(√)
16.传统软件开发方法无法实现高效的软件复用(√)
17.对象可以是事、物、或抽象概念,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体(√)
18.活动图描述了系统中各种活动的执行的顺序。刻化一个方法中所要进行的各项活动的执行流程。(√)
20.状态图用来描述一个特定对象的所有可能的状态及其引起状态转移的事件
21.顺序图用来描述对象之间动态的交互行为,着重体现对象间消息传递的时间顺序
22.结构化程序设计方法的基本思想是自顶向下、逐步求精
23.按照复用活动所跨越的应用领域的类型分,软件复用可分为:横向复用和纵向复用
24.基于软件复用的软件开发过程的角度分,软件复用可分为:生产者复用和消费者复用
7.问卷调查法是对面谈法的补充,是从多个用户中收集需求信息的有效方式(√)
8.信息建模法是从数据的角度对现实世界建立系统的信息模型,基本工具是ER图。(√)
9.结构化分析方法是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示(√)
10.软件设计的目标就是构造一个高内聚低耦合的软件模型(√)
58.(4)判定-条件覆盖(5)条件组合覆盖(6)路径覆盖
59.A. 1 2 3 4 5 6B. 6 5 4 3 2 1C. 1 4 3 2 6 5D. 1 6 2 3 4 5
60.属于黑盒法的测试方法有(ABCD)
61.A.等价分类法B.边值分析法C.错误推测法D.因果图法
62.描述软件开发计划进度的主要工具有(ABCD)
24.领域分析是特定领域内软件重用的基础,它的目标就是:发现和挖掘在特定领域内可以被复用的构件。(√)
25.领域分析不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求。比需求分析更一般、更抽象、更广泛的特征(√)
26.软件测试的目的是为了发现和改正错误(√)
27.驱动模块模拟主程序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据(√)
52.以下测试方法中属于静态分析方法的有(ABD)
53.A.桌前检查B.代码会审C.白盒法D.步行检查
54.步行检查时,常使用的分析方法有(AB)
55.A.调用图B.数据流分析图C.数据流图D.状态图
56.下面6种常用的逻辑覆盖测试方法,按发现错误能力由弱到强排列的是(A)
57.(1)语句覆盖(2)判定覆盖(3)条件覆盖
19.构成状态图的模型元素有:活动、转移、对象、信号、泳道等(×)
20.活动图中只有一个起点一个终点(√)
21.状态图的终态则可以有多个(√)
22.软件复用不仅是对程序的复用,它包括对软件生产过程中任何活动所产生的制成品的复用(√)
23.代码的复用既包括目标代码的复用,也包括文本形式的源代码的复用(√)
软件工程复习题答案
一、选择题
1.软件工程研究的主要内容有(ABCD)
2.A.软件开发方法、技术B.软件开发工具及环境
3.C.软件管理技术D.软件规范(国际规范)
4.目前典型的软件开发模型有(ABCD):
5.A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型
6.包含风险分析的软件工程模型是(C):
7.A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型
11.采用分布式对象结构,每个对象在逻辑上是平等的,它们可以互相为对方提供所需的服务(√)
12.软件独立性的含义是指开发具有功能专一,模块之间无过多相互作用的模块(√)
13.对模块图中每个模块的过程进行描述,常用的描述的方式有:伪代码,流程图,N-S图,PAD图等。(√)
14.MVC的意思是“模型-视图-控制器”,该设计模式的主要优点是可以为一个模型在运行时同时建立和使用多个视图。(√)
3.面向对象的开发方法有面向对象的分析与设计,以及面向对象的程序设计组成(√)
4.用户需求通常只描述系统的外部行为,而不涉及系统内部的特性,往往是较模糊的。(√)
5.系统需求较详细的给出系统将要提供的服务,以及系统所受到的约束,对系统的需求文档的描述应该是精确的。(√)
6.领域需求是由软件系统的应用领域所决定的特有的功能需求,或是对功能的约束(√)
29.软件测试方法可分为两类:静态分析和动态测试
30.动态测试常用的方法有白盒法和黑盒法
31.模块测试时,需要使用的2类辅助模块是驱动模块和桩模块。
32.常用的软件调试策略有:试探法、归纳法、演绎法、回溯法和对分查找法调试。
33.软件维护可分为:完善性维护、纠错性维护、适应性维护和预防性维护
34.软件项目管理过程主要包括:项目启动、项目规划、项目实施和项目收尾
35.CMM将软件过程的成熟度分为5个级别,从低到高分别是:初始级、可重复级、已定义级、已管理级和优化级。
36.CMM实施软件过程改进采用的方法称为IDEAL模型,分五步:初始化、诊断、建立、行动和推进
三、判断题
1.软件就是程序,编写软件就是编写程序(×)
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰(√)
Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。
自顶而下增值
优点:能够尽早发现系统主控方面的问题。
缺点:无法验证桩模块是否完全模拟了下属模块的功能。
自底而上增值
优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。
3.什么是测试和β测试
答:
alpha测试是由一个用户在开发者的场所来进行的,软件在开发者对用户的"指导"下进行测试,开发者负责记录错误和使用中出现的问题,alpha测试是在一个受控的环境中进行的。
16.C.建立数据模型、功能模型和行为模型
17.D.最终提供需求规格说明,并用于作为评估软件质量的依据
18.需求工程的基本活动包括(ABCD)
19.A.获取需求B.需求分析与建模C.确认需求D.进化需求
20.需求获取之所以困难,其主要原因有(ABCD)