您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 公共基础之 软件工程
第三章软件工程重点:需求分析、概要设计、详细设计、软件测试和软件调试的作用、方法等一、软件工程基本概念软件定义与软件特点1.软件是计算机系统中与硬件相互依存的重要部分,包括程序、数据及相关的文档。其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。2.下列叙述中,正确的是(d)。A)软件就是程序清单B)软件就是存放在计算机中的文件C)软件应包括程序清单及运行结果D)软件包括程序和文档3.软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)软件危机与软件工程4.软件工程的出现是由于(c)A)程序设计方法学的影响B)软件产业化的需要C)软件危机的出现D)计算机的发展5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(b)A)软件投机B)软件危机C)软件工程D)软件产生说明:软件工程概念的出现源自软件危机。所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。总之,可以将软件危机归结为成本、质量、生产率等问题。6.开发大型软件时,产生困难的根本原因是(a)。A)大型系统的复杂性B)人员知识不足C)客观世界千变万化D)时间紧、任务重7.软件危机出现于20世纪60年代末,为了解决软件危机,人们提出了软件工程学的原理来设计软件这就是软件工程诞生的基础。8.下列不属于软件工程的3个要素的是(d)A)工具B)过程C)方法D)环境软件工程过程与软件生命周期9.软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期10.软件生命周期中所花费用最多的阶段是(d)A)详细设计B)软件编码C)软件测试D)软件维护软件生存周期软件定义软件开发软件运行维护可行性研究需求分析概要设计详细设计软件测试11.软件开发的结构化生命周期方法将软件生命周期划分成(a)。A)定义、开发、运行维护B)设计阶段、编程阶段、测试阶段C)总体设计、详细设计、编程调试D)需求分析、功能定义、系统设计12.软件生命周期一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。软件工程的目标与原则13.软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,主体内容是软件开发方法学。软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。14.软件工程的理论和技术性研究的内容主要包括软件开发技术和(b)A)消除软件危机B)软件工程管理C)程序设计自动化D)实现软件可重用15.软件工程的原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。软件开发工具与软件开发环境16.开发软件时对提高开发人员工作效率至关重要的是(b)A)操作系统的资源管理功能B)先进的软件开发工具和环境C)程序人员的数量D)计算机的并行处理能力17.软件开发环境是全面支持软件开发全过程的软件工具集合。补充:常用的软件开发方法和技术可以分为三大类:瀑布型、增量型和变换型。瀑布型开发方法将软件生命周期的各项活动规定为按固定顺序连接的若干阶段,强调早期的需求分析和开发的阶段性,强调产品测试;但是不能适应需求的变化。增量型则先建立一个不完全的系统,通过对需求的理解再进一步扩充和完善。例:瀑布模型突出的缺点是不适应(d)的变动A)算法B)平台C)程序语言D)用户需求二、结构化分析方法需求分析与需求分析方法18.在软件生产过程中,需求信息的给出是(d)。A)程序员B)项目管理者C)软件分析设计人员D)软件用户19.需求分析中,开发人员要从用户那里了解(a)。A)软件做什么B)用户使用界面C)输入的信息D)软件的规模20.需求分析阶段的任务是确定(D)A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能21.需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型22.需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书、需求评审下列工具中不属于需求分析常用工具的是(d)。A)PADB)PFDC)N—SD)DFD结构化分析方法常用的需求分析方法:(1)结构化分析方法。主要包括:面向数据流的结构化分析方法(SA),面向数据结构的Jackson方法(JSD)和面向数据结构的结构化数据系统开发方法(DSSD)(2)面向对象的分析方法(OOA)23.结构化方法的核心和基础是结构化程序设计理论24.下列不属于结构化分析的常用工具的是(d)。A)数据流图B)数据字典C)判定树D)PAD图25.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A)可行性分析B)需求分析C)详细设计D)程序编码26.数据流图用于抽象描述一个软件的逻辑模型.数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(a)。A)控制流B)加工C)数据存储D)源和潭说明:数据流图中的主要图形元素与说明:27.在数据流图(DFD)中的箭头代表的是(a)A)数据流B)控制流C)调用关系D)组成关系28.在数据流图(DFD)中,带有名字的箭头表示(d)。A)模块之间的调用关系B)程序的组成成分C)控制程序的执行顺序D)数据的流向29.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典软件需求规格说明书30.软件需求规格说明书是需求分析阶段的最后结果31.下列叙述中,不属于软件需求规格说明书的作用的是(d)A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析32.(c)是对软件系统所必须解决的问题做出的详细说明A)功能描述B)性能描述C)数据描述D)参考文献目录说明:需求规格说明书一般包括以下内容:概述、数据描述、性能描述、功能描述、参考文献目录等。其中概述从系统角度描述软件的目标和任务;功能描述中描述了为解决用户问题所需要的每一项功能的过程细节;性能描述说明系统应达到的性能和应该满足的限制条件、检测的方法和标准。三、结构化设计方法软件设计的基本概念33.在软件开发中,下面任务不属于设计阶段的是(D)A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型34.软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指(b)。A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程说明:结构设计:定义软件系统各主要部件之间的关系;数据设计:将分析时创建的模型转化为数据结构的定义;接口定义:描述软件内部、软件和协作系统之间以及软件与人之间如何通信;过程设计:把系统结构部件转换成软件的过程性描述。35.下面不属于软件设计原则的是(c)A)抽象B)模块化C)自底向上D)信息隐藏36.耦合和内聚是评价模块独立性的两个主要标准,其中内聚反映了模块内各成分之间的联系,耦合反映了模块间互相连接的紧密程度。37.内聚性是信息隐蔽和局部化概念的自然扩展,一个模块的内聚性越强,则该模块的模块独立性越强。一个模块与其它模块的耦合性越强,则它的模块独立性越弱。38.下列叙述中,正确的是(c)A)接口复杂的模块,其耦合程度一定低B)耦合程度弱的模块,其内聚程度一定低C)耦合程度弱的模块,其内聚程度一定高D)以上都不对39.下列选项中,不属于模块间耦合的是(b)。A)数据耦合B)同构耦合C)异构耦合D)公用耦合40.软件设计中,有利于提高模块独立性的一个准则是(c)。A)低内聚低耦合B)低内聚高耦合C)高内聚低耦合D)高内聚高耦合概要设计41.软件的概要设计又称为总体结构设计,其主要任务是建立软件系统的总体结构,设计数据结构及数据库,编写概要设计文档,概要设计文档评审。42.在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)A)详细设计B)需求分析C)总体设计D)编程调试43.在概要设计阶段,常用的软件结构设计工具是结构图(sc),也称程序结构图。生成的结构图中,带有箭头的连线表示(a),矩形表示模块。A)模块之间的调用关系B)程序的组成成分C)控制程序的执行顺序D)数据的流向44.在概要设计阶段,一般采用面向数据流的设计方法。数据流的类型有变换型和事务型。将变换型映射成结构图称为变换分析。将事务型映射成结构图称为事务分析。45.好的软件设计结构通常顶层高扇出,中间扇出较少,底层高扇入。46.模块的控制范围包括它本身以及它所有的从属模块,模块的作用范围是指模块内一个判定的作用范围,凡是受到这个判定影响的所有模块都属于这个判定的作用范围。理想的情况是(a)A)模块的作用范围应在控制范围内B)模块的控制范围应在作用范围之内C)模块的作用范围宇控制范围交叉D)模块的作用范围域控制范围分离详细设计47.详细设计的任务是为软件结构图中的每一个模块确定实现算法和局部数据结构,用选定的表达工具表示算法和数据结构的细节。确定怎样来具体实现所要求的系统。48.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(b)。A)PAD图B)N—S图C)结构图D)数据流图49.详细设计的结果基本决定了最终程序的(c)。A)代码的规模B)运行速度C)质量D)可维护性50.软件设计模块化的目的是降低复杂性。51.详细设计的典型语言描述工具是(b)A)CB)PDLC)VBD)PB总结:结构化分析(需求阶段)的常用工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表结构设计(概要设计阶段)工具是:结构图(SC,structurechart)过程设计(详细设计阶段)常见的工具有:程序流程图、N—S图、PAD图(问题分析图,)和PDL(过程设计语言)四、软件测试软件测试的目的52.在软件测试设计中,软件测试的主要目的是(d)。A)实验性运行软件B)证明软件正确C)找出软件中全部错误D)发现软件错误而执行程序(注意:不是为了证明软件的正确性,也不是为了找出全部错误)软件测试的准则53.下列叙述中.不属于测试的特征的是(c)。A)测试的挑剔性B)完全测试的不可能性C)测试的可靠性D)测试的经济性软件测试技术与方法软件测试方法从是否需要执行被测试软件的角度,可以分为静态测试和动态测试;按功能划分为白盒测试和黑盒测试。静态测试包括代码检查、静态结构分析、代码质量量度等白盒测试和黑盒测试都属于动态测试白盒测试的主要方法:逻辑覆盖、基本路径测试等黑盒测试的主要方法:等价类划分法、边界值分析法、错误推测法、因果图等54.下列不属于静态测试方法的是(b)。A)代码检查B)白盒法C)静态结构分析D)代码质量度量55.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是(a)。A)路径的集合B)循环的集合C)目标的集台D)地址的集合56.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是(a)A)黑箱测试法B)白箱测试法C)错误推测法D)安装测试法57.黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,不考虑程序内部的逻辑结构,在软件接口处进行。常用的黑箱测试有等价分类法、边界值分析法、因果图法和错误推测法4种。软件测试的实施58.软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试58.检查软件产品是否符合需求定义的过程称为(a)A)确认测试B)集成测试C)验证测试D)验收测试说明:软件的测试过程一般按4个步骤进行:单元测试:对软件设计的最小单位—模块进行正确性检验的测试,发现模块内部可能存在的错误。由于模块通常不是一个独立的程序,不能单独运行,所以常常需要用到模拟环境。可以采用静态测试和动态测试(以白盒测试为主)。集成测试:测试和组装模块的过程,主要是发现与接口有关的错误,
本文标题:公共基础之 软件工程
链接地址:https://www.777doc.com/doc-170796 .html