综合练习一答案一.选择题:1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。A.50年代末B.60年代初C.60年代末D.70年代初A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。A.软件投机B.软件危机C.软件工程D.软件产生3.产生软件危机的原因有如下几点,除了______。A、软件开发过程未经审查B、软件开发不分阶段,开发人员没有明确的分工C、所开发的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开发软件,不符合软件本身的特点4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____,____,____,____,____。A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析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.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。总貌B.细节C.抽象D.软件的作者13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。A.变换型B事务型14.需求分析说明书不能作为______。A、可行性研究的依据B、用户和开发人员之间的合同C、系统概要设计的依据D、软件验收测试的依据15.结构化分析方法以数据流图、____和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A.DFD图B.PAD图C.IPO图D.数据字典16.不适于作为数据流图处理(加工)框名称的是____。A.人工校核工资数据B.工资支票数据C.打印工资支票D.计算职工工资17.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在______阶段进行的。A、需求分析B、总体设计C、详细设计D、编码阶段18.软件的____设计又称为总体设计,其主要任务是建立软件系统的总体结构。A.概要B.抽象C.逻辑D.规划19.结构化设计方法采用变换分析和事务分析技术实现____。A.从数据结构导出程序结构B.从模块结构导出程序结构C.从模块结构导出数据结构D.从数据流图导出初始化结构图20.结构化设计方法是面向____的设计方法。A.过程B.对象C.数据流D.数据结构41.Jackson程序设计方法是一种面向_____的设计方法。A、数据结构B、数据流图C、IPO图D、系统流程图20.Jackson设计方法由英国的M.Jackson提出的,它是一种面向____的设计方法。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.功能性内聚26.如果模块中所有成分引用共同的数据,该模块内的联系类型是____。A.顺序内聚B.功能内聚C.通信内聚D.过程内聚27.初始化模块和结束模块从块内联系看,被称为____模块。A.过程内聚B.功能内聚C.时间内聚D.逻辑内聚28.若一模块内部的处理动作为:成分A的输出是成分B的输入,则该模块的聚合性称为______。A、顺序内聚B、功能内聚C、过程内聚D、通信内聚29.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为____。A.数据耦合B.混合耦合C.公共耦合D.控制耦合30.要减少两个模块之间的耦合,则必须____。A.两个模块间的调用次数要少B.模块间传递的参数要少C.模块间传递的参数要少且布传递开关型参数D.模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量31.下列耦合度表示中,最弱的耦合形式是______。A、特征耦合B、公共耦合C、数据耦合D、数据结构32.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于______耦合。A、数据型B、复合型C、内容型D、公共型34.PAD(ProblemAnalysisDiagram)图是一种____工具。A.系统描述B。详细设计C。测试D。编程辅助35.下列系统设计工具中,______不属于详细设计工具。A、N—S图B、数据流图C、程序流程图D、PAD36.程序流程图、N-S图和PAD图是____使用的表达工具。A.设计阶段的概要设计B.设计阶段的详细设计C.编码阶段D.测试阶段37.模块内部的算法设计在结构化方法的______阶段进行。A、系统分析B、概要设计C、详细设计D编码(实现)38.源程序的版面文档要求应有变量说明、适当注释和____。A.框图B.统一书写格式C.修改记录D.编程日期39.提高程序可读性的有力手段是______。A、选好一种程序设计语言B、显式说明一切变量C、使用三种标准控制语句D、给程序加注释40.文档是软件开发人员.维护人员.用户以及计算机之间的____,软件开发人员在各个阶段以文档作为前段工作成果的_____和后段工作的_____。A.接口B.桥梁C.科学D.继续E.体现F.基础41.软件工程中______不属于用户文档的内容。A、功能描述B、安装手册C、系统设计D、使用手册42.在软件工程中,高质量的文档标准是完整性、一致性和____。A.统一性B.安全性C.无二义性D.组合性43.一般来说,在管理软件中,软件生存周期各个阶段的工作量以______所占的比例最大。A、需求分析与设计阶段B、编码实现阶段C、测试阶段D、维护阶段44.软件的____一般由两次故障平均间隔时间和故障平均恢复时间来度量;A.可维护性B可靠性C效率D可理解性45.采用____且编写程序,可提高程序的可移植性;A.机器语言B宏指令C汇编语言D高级语言二、填空题:1、在结构化分析中,__数据字典__用于详细地定义数据流图中的成分。2、耦合性和内聚性是衡量___模块独立性_的两个定性的标准。3、结构化程序设计是一种程序设计技术,它采用__自顶向下、逐步求精__的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。4、结构化分析方法中,数据流图的四种基本成分为:处理、源点或终点__数据存储和数据流_。5、从模块内外的联系来看,结构化设计的要求是___高内聚低耦合_。6、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的___处理__成分。7、如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为__数据_耦合。8、模块内部的算法设计在结构化方法的___详细设计__阶段进行。9、定性度量模块独立性的两个标准是内聚性和___耦合性___。10、在模块结构图中,直接调用某一模块的其他模块数称为该模块的__扇入数____。