软件工程习题与答案.doc
软件工程习题与答案 软件工程 1、 选择题 1. 下列属于计算机软件的是() A.软盘 B.磁带 C.程序 设计人员的设计思想 D。存 储在磁盘上的文件 2.“软件危机“是指() A. 计算机病毒的出现 B. 利用计算机系统进行经济犯罪活动 C. 人们过分迷恋计算机系统 D. 软件开发和软件维护中出现的一系列问题 3. 软件工程方法的提出起源于软件危机,其主要思想是按()来 组织和规范软件开发过程() A.质量保证 B。生产危机 C.工程化的原则和方法 D。开 发效率 4.软件开发的瀑布模型将软件的生存周期分 为() A. 软件开发、软件测试、软件维护 3 个阶段 B. 软件计划、需求分析、软件设计、 软件编码、软件测试、 软件维护 6 个阶段 C. 总体设计、详细设计、编码设计 3 个阶段 D. 定义、开发、测试、运行 4 个阶段 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.DFD 图 B. NS 图 C. PAD 图 D. PDL 语言 15.在软件系统系统中,一个模块应该具有什么样的功能,这是由()决定的。 A.需求分析 B. 总体设计 C. 详细设计 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.确认测试 21.软件测试是软件质量保证 的主要手段之一, 测试费用已超 过软件开发费用的 30%以上。 因此提高测试的有效性非常重要。 软件的开发和维护划分 为 8 个阶段,其中 单元测试是在 ([1])阶段完成的;组装测试的计划是在([2])阶段制定的;确认测试的计划是在([3])阶段制定 的。 [1] A. 可行性研究和 计划 B.需求分析 C.实现 D.使用和维护 [2] A. 确认测试 B. 总体设计 C.详细设计 D. 使用和维护 [3] A. 需求分析 B. 组装测试 C.总体设计 D. 实现 22.软件维护工作越来越受到重 视,因 为它的花费常常要占 软件生命周期全部花费的 60%~80%,而软件维护的内容包括() A. 正确性、灵活性、可移植 B. 可测试性、可理解性、可修改性 C. 正确性、适应性、完善性 D. 灵活性、可靠性、高效性 23.软件生存周期一般包括:软 件开发期和软件运行期,而()不是软件开发期所应包含内容。 () A.需求分析 B.结构设计 C。程序编制 D。性能优化 24。结构化分析方法以数据流 图、 ()和加工说明等描述工具,即用直观的图和简洁的语言来描 述软件系统模型。 A。DFD 图 B。PAD 图 C。IPO 图 D。数据字典 25 数据流图(DFD),是软件开发()阶段经常使用的工具。 A。需求分析 B。详细设计 C。软件测试 D。软件维护 26。在程序的描述与分析中,用以指明数据来源、数据流向和数据处理的辅助图形是()。 A。瀑布模型图 B。数据流程 图 C。数据 结构图 D。业务流程图 27。数据流图是描述数据在软 件中流动和变换的过程,而 对 数据流图中所包含的元素的定义 则是()。 A。数据存储 B。数据加工 C。数据字典 D。数据定义 28 数据字典是关于()中的所有元素的定义集合。 A。所开发系统 B。数据流图 C。软件结构 D。PAD 图 29。结构化分析方法是一种预 先严格定义需求的方法,它在实施时强调的分析对象的() A。控制流 B。数据流 C。流程流 D。指令流 30。结构化设计是一种面向()的 设计方法。 A。数据流 B。模块 C。数据结构 D。程序 31。结构化分析方法 SA 和结 构化设计方法是在软件开发过 程中常用的方法,人 们使用 SA 方法可以得到([1]),使用 SD 方法可以得到([2]),并且可以实现([3] ) [1] A。程序流程 图 B。模块结构图及模块的功能说明书 C。具体的语言程序 D。分 层数据流图和数据字典 [2] A。程序流程 图 B。模块结构图及模块的功能说明书 C。具体的语言程序 D。分 层数据流图和数据字典 [3] A。从数据结 构导出程序结 构 B。从数据流图导出初始结构图 C。从模块结构导出数据结构 D。从模块结构导出程序结构 32。变换形 DFD 是一个()结构。 A。循环 B 选择 C。分层 D。顺序 33。软件工程学一般认为应包括: 软件开发技术和软件工程管理两个部分内容,其中软件工 程管理的内容包括()。 1。人员组织 2。进度安排 3。质量保证 4。成本核算 A。1 和 2 B。1 和 3 C。2 和 4 D。都是 34。软件质量作为一个极为重要的 问题贯穿与软件的()。 A。开发 B。生存周期 C。度量 D。测试 35。软件按照设计的要求,在规定时间和条件下达到不出故障、持续运行的要求的质量特性 称为()。 A。正确性 B。可用性 C。可靠性 D。完整性 一﹑选择题参考答案 1.D 2.D 3.C 4.B 5.D 6.B7.B 8.A 9.B 10.A 11.C 12.C 13.D 14.A 15.B 16.B 17.B 18.D 19.B 20.B 21.C;B;A 22.C 23.D 24.D 25.A 26.B 27.C 28.B 29.B 30.A 31.D;B;B 32.D 33.D 34.B 35.C 二、填空题 1.作为计算机科学技术领域中的一们新兴科学, “软件工程”主要是为了解决____问题。 2。解决软件危机必须具有____ 、____两个方面的支持。 3。软件工程学把软件从开始研制到最 终软件被废弃的正个 阶段叫做软件的____。 4。瀑布模型强调逻辑设计与物理 设计清楚的划分开来,尽可能推迟程序的物理实现。而快速 原型法强调原型仅包括未来系统的____,以及系 统的重要界面,以提高设计效率。 5。软件生存周期可划分为____ 、____、____3 个时期。 6。可行性研究主要集中在两个方面的可行性,即____、 ____。 7。技术可行性主要分析____的各种因素。 8。经济可行性是对经济合理性 进行评价,包括 对项目进行 ____,比较项目开发的____与预期 将得到的____。 9。需求分析的主要任务包括: ____、____、____、____。 10。需求分析阶段需要编写的文档有: ____、____。 11。软件工程生存周期发中,一般将软件设计阶段分为____ 和____两个阶段。 12。总体设计阶段的文档主要任 务有两个,它 们分别是____ 和____。 13。总体设计阶段的文档主要有 ____、____、____和____。 14。模块化指解决一个复杂问题时 ____逐层把软件系统划分 为若干____的过程。 15。信息隐蔽是指在设计模块时 ,应让一个模块内包含的____ 对于其他不需要这些____的模 块来说,是____访问的。 16。模块的独立性是知一个特定的功能 应该由一个____来完成。 17。耦合性是对模块间相互联 系____的一种度量。 18。内聚性是对____间联系强 弱的一种定性量度。 19。模块间偶合性的强弱取决于模 块间____的复杂程度。 20。在模块调用中,____是指模块的上级模块数。 21。衡量软件的独立性有两个定性的量度 标准,即 ____和____ 。 22。模块之间联系越来越紧密,其____就越强,模块的____则越差。 23。描述程序处理过程的工具称 为详细设计的工具,它 们可以分 为____、____和____。 24。程序流程图又称为____,它是历史悠久、使用最广泛的描述____的方法。 25。盒图又称____。 26PAD 图又称 ____。 27。编码是设计的自然结果,即把软件设计的结果____用某种程序 设计语言书写的程序。 28。软件测试的目标是____。 29。白盒测试有称为____,它根据被测程序的____设计____ 。 30。软件测试中的白盒测试法属于一 类对软件结构的测试 方法,它往往将程序 视为一组____ 的集合。 31。常见的黑盒法测试用例的 设计方法有:____、 ____、____和____。 32。软件测试一般经过 3 个测试 :____、____和____。 33。单元测试主要测试主要测试 ____的 5 个基本特征:____ 、____、____、____和____。 34。在组装测试时,可以____,也可以____来进行。 35。供测试用的一组输入数据,被称为是一组____。 36。软件测试是保证软件质量的重要手段,而测试软件的主要和重要的 测试方法是通过测试 数据和____的设计来实现。 37。软件维护工作可以分为____ 、____和____3 类。 38。适应性维护是指为使软件系 统适应____的不断变化而开 张的____活动。 39。完善性威吓是为了____,提高原有软件性能而开展的____ 活动。 40。在数据流图中,圆圈表示____,方框表示____,肩头表示____,双短粗线____。 41。数据流是对实际的信息处 理系统的抽象,其常用的 绘制方法有 ____个____两中方法。 42。____和数据字典共同构成了系 统的逻辑模型。 43。数据字典的文件条目是用来定义____的。 44。数据处理问题的典型程序 结构有____和____两类。 45。结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许 多散发的数据流,形成许多加工路径,并根据输入的值选择 其中的一个路径来执行,这种特 征的 DFD 称为 ____的数据流图。 46。软件工程管理是指对____ 一切活动的管理。 47。保证软件质量的措施有:____ 、____和____。 48。风险分析实际上就是贯穿在 软件工程过程中的一系列 风险管理步骤,其中包括: ____、____、____、____和____。 49。主要风险因素包括:____、____、____、 ____和____。 50。高质量文档的完整性是指任何一个文档都 应当是____ 、____,它应自成体系。 二﹑填空题答案 1.软件危机 2.技术支持,管理支持 3.生存周期 4.主要功能或基本功能 5.软件定义;软件开发和软件 维护 6.经济可行性;技术可行性 7.技术风险 8.成本效益分析;成本;效益 9.确定系统的要求;分析系统 的数据要求;修正开发计划; 编写文当 10.软件需求规格说明书;初步用 户手册 11.总体设计;详细设计 12.明确软件系统“ 如何做”;确定程序由哪些模块组成以及模块间的关系 13.总体设计说明书;数据库设计说 明书;用户手册;修订测试计 划 14.自顶向下;模块 15.信息;信息;不能 16.模块 17.程度 18.模块内各个元素 19.接口 20.扇入 21.耦合性;内聚性 22.耦合性;独立性 23.图形﹑表格;语言 24.程序框图;软件设计 25.NS 图 26.问题分析图 27.译成 28.发现错误 29.结构测试;内部结构特征﹑ 测试用例 30.路径 31.等价分类法﹑边值分析法 ﹑因果图法;错误推测法 32.单元测试﹑组装测试;确认测试 33.模块;模块接口﹑模块的内部数据 结构﹑重要的执行路径 ﹑错误处理路径图形﹑边缘条 件 34.自顶向下;自底向上 35.测试用例 36.测试用例 37.正确性维护﹑适应性维护 ;完善性维护 38.外部维护 39.扩充软件的功能;软件工程 40.加工;数据源点或数据终点;数据流;数据存 储 41.自顶向下逐层分解;由外向里逐 渐深化 42.数据流图 43.文件 44.变换型;事务处理型 45.事务处理型 46.软件生存周期 47.技术审查;管理复查;测试 48.风险识别;风险估计;风险 管理策略;风险决策;风险监 督 49.产品大小;相关技术;开发环 境;组织规模和人员经验;客 户因素 50.完整的;独立的 三、名词解释 1. 软件工程 2.软件危机 3.软件生存周期 4. 经济可行性 5. 技术可行性 6.模块 化 7. 信息隐蔽 8. 模块独立性 9.耦合性 10。耦合性 11。流程 图 12。问题分析图 13。编码 14。软件测试 15。白盒测试 16。黑盒测试 17。语句覆盖 18。条件覆盖 19。判定条件覆盖 20。路径覆盖 21。单元测试 22。组装测试 23。确 认测试 24。适应性测试 25。完善性维护 26。结构化分析方法 27。数据流图 28。数据字典 29。健壮性 30。专家估计方法 三﹑名词解释答案 1 软件工程是开发﹑运行﹑维护和修复软件的系统方法,运用系统的﹑规范的和可定量的 方法来开发﹑运行和维护软件。其中, “软件”的定义为“ 计算机程序﹑方法﹑规范﹑相关 的文档资料以及在计算机上运行时所必需的数据。 ” 2 软件危机是指在计算机软件开发过程中遇到的一系列问题,如开发周期延长,成本增加, 可靠性降低等。 3 软件生存周期是指一个软件从立项开始, 经过制造﹑测试 ﹑使用和维护直到软件废止为 止的整个时期。 4 经济可行性是对经济合理性进行评价,包括 对项目进行成本效益分析,比较项目开发的 成本与预期将得到的效益。 5 技术可行性是分析技术风险的各种因素,例如,有关技术是否成熟,有没有胜任开发该 系统的熟练技术人员,为开发项 目的所有硬件﹑软件资源能否按期得到等等。 6 模块化就是把程序划分成若干个模块,每个模 块完成一个子功能,把这些模块集中起来 组成一个整体,从而完成指定的功能,满足问题的要求。 7 信息隐蔽是指在设计模块时,应让一个模块内包含的信息( 过程和数据)对于其他不需要 这些信息的模块来说是不能访问的。 8 模块独立是指每个模块完成一个相对独立的特定子功能,与其他模 块之间的关系尽量简 单。 9 耦合性是对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于模块间接口 的复杂程度。 10.内聚性是对模块内各个元素彼此 结合的紧密程度的度量。 11.流程图又称程序框图,是一种描述程序逻辑结构的工具。 12.问题分析图简称 PAD 图,是一种主要用于描述 软件详细设计的图形表示工具。 13.编码是设计的自然结果,即把软件设计的结果译成用某种程序 设计语言书写的程序。 14.软件测试是指为了发挥软 件中的错误而执行软件的过 程。它的目 标是尽可能多地发现软 件中存在的错误,将测试结果作 为纠错的依据。 15.白盒测试是指把测试对象看成一个打开的盒子,它是建立在测试人员对模块或系统的内 部结构的了解的基础之上的。 16.黑盒测试是把要测试的模 块或系统看作是一个“ 黑匣子”,不必理会这个黑匣子在做什么, 而只要知道它的外部特征即可。 17.语句覆盖是设计一组测试 用例,使得程序中的每一条 语 句至少别执行一次。 18.条件覆盖是设计测试用例,使得程序中条件判断语句中的各个条件成分都 为真和为假一 次。 19.判定条件覆盖是分支覆盖和条件覆盖的复合体,即除了要使判定表达式中的各个条件都 为真和为假一次之外,还要保 证让判定表达式为真和为假一次。 20.路径覆盖就是要设计足够 多的测试用例,使得程序中的所有可能路径均被执行一遍。 21.单元测试是指对源程序中每一个程序 单元进行测试, 检查 各个模块是否正确实现规定的 功能,从而发现模块在编码中或算法的 错误。 22.组装测试指在单元测试基 础上,将所有模 块按照设计要求 组装成一个完整系统进行测试。 23.确认测试指检查软件的功能与性能是否与需要 规格说 明书中确定的指标相符合,又称有 效性测试。 24.适应性维护是指为了使软 件系统适应计算机运行环境的不断 变化而修改软件的过程。 25.完善性维护是为了扩充软 件的功能,提高原有 软件性能而开展的 软件工程活动。 26.结构化分析方法是面向数据流 进行需要分析的方法,适合于数据处理类型软件的需求分 析。由于利用图形来表示需要,所以显得清晰﹑简明﹑避免了冗 长﹑重复﹑难于阅读和修改 等缺点,易于学习和掌握。 27.数据流图是结构化分析的核心,是描述数据 处理过程的有力工具。它从数据传递和加工 的角度,以图形的方式刻画数据 处理系统的工作情况。 28.数据字典对数据流图中出 现的所有数据元素给出逻辑 定义,有了 这些定义,才使得数据 流图上的数据流加工﹑和数据存储(文件)得到确切的解释。 29.健壮性是指在预定的意外 环境下系统能适当的给予预 期的响应。 30.依靠一个或多个专家对项 目做出估算,其精度主要取决于专家对估算项目的定性参数的 了解和他们的经验。 四、简答题 1。软件危机是怎么样产生的? 说明产生软件危机的原因。 2。简述软件工程的定义、目标。 3。什么是软件生存周期?软件生存周期划分 为哪几个阶段? 4。见素软件生存周期各阶段的主要任 务。 5。可行性研究报告有哪些主要内容? 6。简述确定系统的主要包括哪几个方面? 7。什么是模块的偶合性? 8。简述模块划分应遵循的原则 。 9。详细设计有哪几种描述方法? 10。软件测试的目标是什么? 为什么把软件测试的目标定 义为只是发现错误? 11。软件测试应当遵循什么原 则? 12。什么是黑盒测试与白盒测试 ?它们都适用于哪些测试 ? 13。设计测试方案的任务是什么?其中最困 难的问题是什么? 14。简述软件测试的步骤 15。软件维护的必要性。 16。结构化分析设计方法的实质 是什么? 17。简述采用字顶向下逐层分解方法画数据流 图的步骤。 18。什么是结构化设计方法? 简述结构化设计方法的步骤 。 19。影响软件质量的因素有哪些? 20。为大型软件开发项目所制定的 计划应包括哪些基本内容? 四、简答题答案略