当前位置:文档之家› 软件工程复习题复习重点及答案

软件工程复习题复习重点及答案

软件工程复习重点一、选择题1、软件工程三要素是指( B )P8A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法2、瀑布模型本质上是一种( A )。

P23A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。

P79A、数据流B、数据流图C、数据库D、数据结构4、概要设计的任务是设计系统的( B物理模型)P70A、逻辑模型B、物理模型C、概念模型D、程序流程图5、描述软件结构的工具有( A模块结构图)A、模块结构图B、PAD图C、数据流程图D、程序6、进行需求分析可以使用多种工具,但( C )是不适用的。

A、数据流程图B、判定表C、PAD图(详细设计)D、数据字典7、可行性研究要进行的需求分析和设计应该是( C )。

A、详细的B、全面的C、简化的、压缩的D、彻底的8、软件生命周期由( C )三个时期组成。

A、概要设计、详细设计和系统实现B、可行性分析、系统设计和编码C、定义、开发和运行维护D、分析、设计和测试9、以下( D )不是模块。

对象是一个实体A、过程B、程序C、函数D、对象10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。

A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78A、扇入数B、扇出数C、宽度D、作用域12、下列工具哪一个是需求分析阶段常用工具?( D )A、PADB、PFDC、N-SD、DFD数据流程图需求分析常用的是数据流程图和数据字典13、为了提高测试的效率,应该( D)A、随机地选取测试数据B、取一切可能的输入数据作为测试数据库C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据14、成功的测试是指( B发现程序的错误)A、运行测试实例后未发现错误项B、发现程序的错误C、证明程序正确D、改正程序的错误15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。

A、白盒法B、灰盒法C、黑盒法D、综合法16、在物理设计阶段,根据处理的需要,进行物理存储安排,形成数据库的( A内模式)A、内模式B、外模式C、概念模式D、物理模式17、描述概念数据模型的工具是( C )A、N-S图B、PAD图C、E-R图D、DFD图18、用由底向上渐增式方式对软件进行测试时,需要为每个模块准备一个( A主模块) ,它的作用是调用被测的模块。

A、主模块B、桩模块C、驱动模块D、输入模块19、需求分析( A )。

A、要回答“软件必须做什么”B、可以概括为:理解、分解、表达六个字。

C、要求编写需求分析说明书D、以上都对20、软件需求分析报告的内容不应该包括对( B )的描述。

A、主要功能B、算法的详细过程C、用户界面及运行环境D、软件的性能21、下列描述正确的是( D )。

A、程序就是软件B、软件开发不受计算机的限制C、软件既是逻辑实体,又是物理实体D、软件是程序、数据和相关文档的集合22、“软件工程的概念是为解决软件危机而提出的”这句话的意思是(D )。

A、强调软件工程成功解决了软件危机的问题B、说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C、说明软件工程这门学科的形成是软件发展的需要D、说明软件工程的概念,即工程的原则、思想、方法可解决当时软件开发和维护存在的问题23、程序的流程图(框图)中的箭头代表( B控制流)。

A、数据流B、控制流C、调用关系D、组成关系24、瀑布模型的主要特点是( D缺乏灵活性)。

A、将开发过程严格地划分为一系列有序的活动B、将开发过程分解为阶段C、提供了有效的管理模式D、缺乏灵活性25、软件可行性研究的目的是( D确定可行还是不可行)。

A、证明软件开发项目可行B、证明软件开发项目不可行C、阐述软件开发项目值得或不值得做D、为了确定软件开发项目要不要做26、模块内聚度越高,说明模块内各成分彼此结合的程度越(紧密)。

A、松散B、紧密C、无法判断D、相等27、为了使模块尽量的独立,要求( B )。

A、模块的内聚程度要尽量高,且模块间的耦合程度要尽量强B、模块的内聚程度要尽量高,且模块间的耦合程度要尽量弱C、模块的内聚程度要尽量低,且模块间的耦合程度要尽量弱D、模块的内聚程度要尽量低,且模块间的耦合程度要尽量强28、关于软件测试的目的,下面观点错误的是( C )。

A、为了发现错误而执行程序的过程B、一个好的测试用例能够发现至今尚未发现的错误C、证明程序是正确、没有错误的D、一个成功的测试用例是发现了至今尚未发现的错误的测试29、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(A )A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑30、解决“软件系统怎么做”是( B )阶段的任务。

A、可行性研究B、概要设计C、需求分析D、编码31、结构化设计是一种应用最广泛的系统设计方法,是以(数据流图)为基础,自顶向下,求精和模块化的过程。

A、数据流B、数据流图C、数据库D、数据结构32、需求分析是由分析员了解用户的要求,认真细致地调研。

分析,最终应建立目标系统的逻辑模型并写出(需求规格说明书)。

A、模块说明书B、需求规格说明书C、项目开发计划D、合同文档33、PAD(Problem Analysis Diagram)图是一种(详细设计)工具。

A、系统描述B、详细设计C、测试D、编程辅助34、瀑布模型本质上是一种(线性顺序)。

A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型35、可行性研究要进行的需求分析和设计应该是(简化的压缩的)。

A、详细的B、全面的C、简化的、压缩的D、彻底的36、软件(结构)设计阶段(概要设计)的文档是(模块结构图和说明书)。

A、系统模型说明书B、程序流程图C、系统功能说明书D、模块结构图和说明书37、采用黑盒法测试程序是根据( B程序的功能说明)。

A、程序的逻辑B、程序的功能说明C、程序中的语句D、程序中的数据白盒测试结构测试黑盒测试功能性测试38、下面不属于软件总体设计设计原则的是( C )A、模块化B、自顶向下方法C、自底向上方法D、信息隐蔽性39、描述概念数据模型的工具是( C E-R图 )A、N-S图B、PAD图C、E-R图D、DFD图40、软件生存周期中,开发期间包括(D)阶段。

A、软件计划、结构设计、测试和运行维护B、需求分析、概要设计、详细设计和编码C、结构设计、编码、测试和运行维护D、需求分析、结构设计、详细设计、编码和测试二、填空题1、软件工程的原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

P92、软件工程主要研究领域是软件工程方法学、软件工具和软件支撑环境、软件管理及软件的规范与标准等。

P163、项目工作计划包括:人力资源配置计划、硬件资源计划和软件资源计划。

4、软件需求分析的基本任务是确定系统必须完成什么工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

5、独立性比较强的模块应该是高内聚,低耦合的模块。

6、数据库设计与用户界面设计属于软件开发阶段的详细设计阶段。

P897、需求分析阶段数据库设计的任务是:收集和分析需求信息、设计出数据字典、设计数据流图。

P1028、面向对象开发方法采用自底向上的归纳,自顶向下的分解方法。

9、程序设计语言的发展大致分为四代:机器语言、汇编语言、高级语言和第四代语言。

10、程序设计算法的特点包括:有穷性,确定性,有0个或多个输入,有一个或多个输出,有效性。

P20311、静态测试的目的是检查代码与设计的一致性、代码的可读性、代码的正确性、代码结构的合理性。

12、CMM指软件能力成熟度模型,其等级分为初始级、可重复级、已定义级、已管理级和优化级。

P27613、技术可行性是对要开发的项目的功能、-性能、限制条件进行分析,确定在现有资源条件下,技术风险有多大,项目是否能实现。

14、模块之间的调用关系主要有直接调用、选择调用和循环调用。

15、数据库设计一般分成四个阶段:需求分析阶段、概念设计阶段、逻辑设计阶段和物理设计阶段。

16、软件工程的方法、工具和过程构成了软件工程的三要素。

17、软件工程的原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

18、软件生存周期是指一个计算机软件从功能确定、设计到开发成功投入使用,并在使用中不断地修改、增补和完善,直到被新的需求所替代而停止该软件的使用的全过程。

19、软件的维护一般包括改正性维护、适应性维护、完善性维护和预防性维护四个方面。

20、数据库设计一般分成四个阶段:需求分析阶段、概念设计、逻辑设计阶段和物理设计阶段。

21、结构化设计一般分为变换设计和事务设计,确认它们属于哪种设计要确定对应的数据流是变换流还是事务流。

22、数据库设计与用户界面设计属于软件开发阶段的详细设计阶段。

23、E-R图是数据库设计概念设计阶段的工具。

24、详细设计阶段的成果,可以通过详细设计说明书来表达,在以后的软件开发工作中可以据此进行程序编写。

25、概要设计的基本思想是:模块化设计、自顶向下逐步求精、模块独立性和信息隐蔽。

26、可行性分析报告,最后必须有一个结论是可行,还是不可行。

27、软件工程的研究领域包括:软件工程的方法、软件工具和软件支撑环境软件管理及软件的规范与标准等28、程序设计语言的发展大致分为四代:机器语言、汇编语言、高级语言和第四代语言。

29、程序设计算法的特点包括:有穷性,确定性,有0个或多个输入,有1个或多个输出,有效性。

30、静态测试的目的是检查代码与设计的一致性、代码的可读性、代码的正确性、代码结构的合理性。

三、判断题1、好的软件工程方法可以同时提高质量与生产率。

(√)2、操作系统是整个计算机软件发挥作用的平台。

(√)3、不同的操作系统平台的应用软件可以互用。

(×)4、客户/服务器结构适用于互联网运行场合。

(×)5、许多软件项目的开发之所以失败,主要是因为管理不善。

(√)6、在软件工程阶段,软件的含义就是“程序和使用说明书”。

(×)7、程序中的注释是可有可无的。

(×)8、使用括号以改善表达式的清晰性。

(√)9、静态白盒测试可以找出遗漏之处和问题。

(×)10、在系统测试中发现的错误越多,说明仍存在错误的可能性越小。

(×)P202判断题四、简答题1、软件开发步骤包括哪些过程?需求分析解决系统做什么的问题概要设计解决系统怎么做详细设计每个模块内部过程的描述具体化设计软件详细规格说明书编码设计根据详细设计说明书写出程序模块系统测试发现和排除错误写出软件测试报告2、数据字典有哪几类元素构成?数据流,在一个数据流中数据以数据流为单位进行传输数据元素,也称数据项,数据的最小单位数据存储,数据保留或保存的地方处理,一段程序外部实体,系统的人机界面,数据流从外部实体流入,又从系统向外部实体流出3、大型软件系统的设计思想是什么?一个大型的软件系统是变换型结构和事务型结构的混合结构,通常采用变幻设计为主,事物设计为辅的方式进行软件结构设计,以达到高内聚低耦合,具有独立性,便于修改的目的。

相关主题