软件工程复习题一、选择题,请从四个可选项中选择正确答案。1、下面哪个选项不是软件工程研究的内容()。A.生产无故障的软件B.精通一门编程语言C.生产满足用户需求的软件D.生产及时交付的软件2、软件工程的出现是由于()A.软件危机B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展3、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(),最上层是工具层。A.过程层B.方法层C.过程层和方法层D.系统层A.7B.5C.3D.125、结构化分析方法(SA法)使用的主要描述工具有()。A.数据库B.模块结构图C.PAD图D.分层的DFD图6、源程序的效率与()阶段确定的算法的效率直接有关。A.概要设计B.总体设计C.单元设计D.详细设计7、可行性研究的主要任务是()。A.确定系统做什么B.确定性能C.确定功能D.进行一次简要的需求分析8、内容耦合是模块间最紧密的耦合,()是模块间最松散的耦合。A.数据耦合B.非直接耦合C.控制耦合D.外部耦合9、面向对象是“先”确定()“后”()。A.属性/方法B.数据结构/方法C.动作的主体/执行动作D.动作10、UML是一种()语言。A.高级编程B.可视化建模C.分析方法D.过程11、软件工程强调将()的方法应用于软件的开发和维护过程之中。A.规范化B.系统化C.可度量D.以上全部12、软件开发活动的顺序应该是()。A.问题定义、可行性研究、需求分析、设计、编码和测试。B.问题定义、设计、可行性研究、编码和测试。C.需求分析、设计、编码和测试。D.需求分析、编码和测试、试运行。13、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。A.5202B.4500C.5100D.471214、系统物理模型用()表示。A.系统流程图B.数据流程图C.程序流程图D.E-R图15、关于软件需求特性不正确的描述是“软件需求具有()”。A.多变性B.模糊性C.准确性D.主观性16、DFD中的每个加工至少需要()A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流17、PDL是描述处理过程()。A.做什么B.为什么做C.怎么做D.对谁做18、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合B.公共耦合C.标记耦合D.内容耦合19、按照模块独立性,耦合程度由强至弱正确的顺序是()。A.数据耦合、控制耦合、外部耦合、内容耦合B.控制耦合、数据耦合、内容耦合、外部耦合C.内容耦合、外部耦合、控制耦合、数据耦合D.外部耦合、内容耦合、数据耦合、控制耦合20、UML中,包图是一种()。A.集合B.数据结构C.分组机制D.对系统的动态描述21、反映收发消息的对象的组织结构,用于描述系统的行为是如何有系统的成分协作实现的是()。A.顺序图B.类图C.合作图D.组件图22、面向对象分析和设计的界限是(),从分析到设计是一个逐渐扩充模型的过程。A.清晰的B.模糊的C.非线性的D.确定的23、动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。面向对象方法中,常用()实现。A.状态图B.交互图C.活动图D.以上全部24、不适合作为数据处理与数据库应用的语言是()A.SQLB.CobolC.4GLD.Lisp25.软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为()测试。A.白盒法B.灰盒法C.黑盒法D.综合法26、程序设计语言的技术特性不应包括()。A.数据结构的描述性B.抽象类型的描述性C.数据库的易操作性D.软件的可移植性27、以下哪种测试方法不属于白盒测试技术()。?A.语句覆盖测试B.边界值分析测试C.条件覆盖测试D.判断覆盖测试28、软件测试的主要特点是()。A.软件测试的开销不大B.软件测试要依靠工具C.软件不能进行“穷举”测试D.软件测试要依靠人工29、在软件生存期的维护阶段,继续诊断和修正错误的过程称为()。A.完善性维护B.适应性维护C.预防性维护D.改正性维护30、不属于软件项目管理的是()。A.开发机构能力评估B.项目风险评估C.质量监控D.软件销售利润31、用()模型描述和分析业务流程。A.静态B.业务C.数据D.动态32、用()描述系统与角色之间的接口。A.表单B.界面类C.窗体D.对话框33、对类进行详细设计,主要是设计类的(),优化类之间的关系。A.数据结构B.处理流程C.属性和方法D.算法34、面向对象设计强调定义(),并且使它们相互协作来满足用户需求。A.软件对象B.物理模型C.E-R模型D.接口35、软件测试的目标是设计优秀的测试用例()。A.最快速地找出程序中的问题B.以最小的代价、在最短的时间内尽可能多地发现软件中的错误C.保障程序的正确性D.区分出程序员的编程水平36、()不符合软件测试原则。A.对每个测试结果进行检查,不漏掉已经出现的错误迹象B.程序员应该仔细测试自己编写的程序代码C.程序员要避免测试自己编写的程序代码D.测试工作越早开始越好37、引起软件改变的原因主要有()。A.运行环境变化B.需求变化C.系统有错D.以上全部38、()针对开发过程中的程序、数据、文档提出使用和管理策略。A.组织管理B.过程管理C.软件配置管理D.风险管理39、现在人们更强调程序代码的()。A.可维护性B.可移植性C.可扩充性D.高效性40、程序的三种基本控制结构,包括顺序结构、()和循环结构。A.判断结构B.说明结构C.输入结构D.输出结构41、软件、程序和代码是()。A.相同的软件概念B.程序语言写的代码C.计算机代码和数据D.三个不同的概念42、下面哪个选项不是软件工程研究的内容()。A.生产无故障的软件B.精通一门编程语言C.生产满足用户需求的软件D.生产及时交付的软件43、SW-CMM是一种()规范。A.编程规范B.软件工作通用模型C.软件设计模型D.软件成熟度模型44、可行性研究实质上是在较高层次上、以较抽象的方式进行()的过程。A.详细软件设计B.需求分析过程C.深入的需求分析D.测试设计45、与传统行业的生产相比较,软件的需求具有()。A.主观性B.稳定性C.明确性D.客观性46、源程序的效率与()阶段确定的算法的效率直接有关。A.概要设计B.总体设计C.单元设计D.详细设计47、画DFD图的主要目的是()。A.作为需求分析阶段用户与开发者之间交流信息的工具B.对系统的数据结构进行描述C.对目标系统的层次结构进行描述D.作为编码和测试的工具48、耦合度最高的是()。A.外部耦合B.内容耦合C.控制耦合D.数据耦合49、为了提高模块的独立性,模块之间最好是()。A.控制耦合B.公共耦合C.内容耦合D.数据耦合50、UML是一种()。A.建模工具B.可视化的程序设计语言C.可视化的建模语言D.过程51、美国卡内基﹒梅隆大学制定的SW-CMM是()。A.软件工作规范B.软件工作流描述C.软件成熟度模型D.软件描述的一般方法52、螺旋模型是一种考虑了()的软件开发模型。A.效率B.风险判断C.可移植性D.安全性53、可行性研究的四大要素是()。A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性54、软件调研报告是在()提交的。A.可行性分析之前B.需求分析之前C.签合同之前D.设计的时候55、描述软件需求通常不用哪个工具()。A.数据流程图B.数据字典C.模块结构图D.E-R图56、软件结构图中没有()元素。A.模块B.调用参数C.返回结果D.判断57、程序流程图与数据流程图的关系()。A.不确定B.数据流程图可以转换成程序流程图C.数据调用关系D.程序流程图可以转换成数据流程图58、包含关系用于构造多个用例()。A.关系B.共性的部分C.角色D.特殊活动59、如果说用例F被用例T扩展,意思是()。A.F是一个一般用例,T是一个特殊用例B.F是一个特殊用户,T是一个一般用例C.都是一般用例D.都是特殊用例60、用()对需要长久保存的信息进行建模。A.实体类B.数据库表C.E-R图D.对象类61、面向对象程序设计的基本机制()。A.继承B.消息C.方法D.结构62.表示对象相互行为的模型是()模型。A.动态模型B.功能模型C.对象模型D.状态模型63、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由()实现。A.顺序图B.类图C.状态图D.组件图64、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A.结合B.隐藏C.封装D.抽象65、面向对象设计的步骤中,正确的顺序是()。A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计66、软件维护过程中产生的副作用,一般是由()引起的。A.算法说明B.修改程序C.优先级D.环境要求67、项目计划活动的主要任务是()。A.估算项目的进度B.分配工作量C.计划资源使用D.以上全部68、如果程序代码的()好,则调试的成本就可以大幅度降低。A.性能比B.可扩充性C.可读性D.可移植性69、两个浮点数X0和X1比较相等时,应该用()比较。A.X0==X1B.X1-X0εC.|X0-X1|εD.X0=X170、瀑布模型存在的问题是()。A.用户容易参与开发B.适用可变需求C.用户与开发者易沟通D.缺乏灵活性71、面向对象设计首先要确定系统的总体结构和风格,构造系统的()。A.逻辑模型B.物理模型C.数据模型D.用例模型72、面向对象设计的步骤中,正确的顺序是()。A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计73、类有3种类型,即()。A.边界类、实体类、控制类B.实体类、控制类、界面类C.控制类、实体类、虚类D.界面类、控制类、公共类74、()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。A.消息连接B.参数传递C.方法重写D.继承75、结构化程序设计主要强调的是()。A.程序的规模B.程序效率C.程序语言的先进性D.程序易读性76、程序的三种基本控制结构,包括顺序结构、()和循环结构。A.条件/判断结构B.说明结构C.输入结构D.输出结构77、一般性的软件其测试工作量大约占整个开发工作量的()。A.小于10%B.40%C.90%D.大于10078、下面哪些测试方法属于黑盒测试()。A.路径测试B.等价类划分C.条件判断D.循环测试79、软件特性中,相互矛盾的是()。A.可理解性与可测试性B.效率与可修改性C.可修改性和可理解性D.可理解性与可读性80、()针对开发过程中的程序、数据、文档提出使用和管理策略。A.组织管理B.过程管理C.风险管理D.软件配置管理二、简答题1、请说明快速原型化模型的基本思想。2.软件工程为什么要强调规范化和文档化?3、请举例说明用例之间的包含关系和扩展关系的区别?4.简述在项目开发时选择程序设计语言的主要考虑的因素。5.设计下列伪程序的条件组合覆盖测试用例。BEGININPUT(x,y,z)IF(y1)AND(z=0)THENx=x/yENDIFIF(y=2)OR(x=l)THENx=x+lENDIFPRINT(x)END6、请给出软件工程七条基本原理中的任意6条基本原理。7、结构化程序设计的特征是什么?8、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?9、简述模块独立性,内聚与耦合。10、请为下面的程序设计符合判定覆盖的测试用例。intmain(){inta,b,c,x,y,z,t;scanf(“d%,d%,d%),&a,&b,&c,&t);ifa5&&t1x=10elsex=1;ifb10y=20elsey=2;ifc15z=30elsez=3;print