您的当前位置:首页软件工程复习总结题

软件工程复习总结题

来源:乌哈旅游
软件工程复习总结题

软件工程复习题

一、单项选择题

1. 以下不属于面向对象开发方法的是 ( A )

A)SA/SD方法 B)Coad与Yourdon方法 C)OMT方法 D)Bootch方法 2. 以下不是调试的任务的是( A )。

A)找出程序是否有错 B)找出错误的位置 C)找到程序错误原因 D)纠正找到的错误

3. 若有一个计算型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组

测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( D )。

A)条件覆盖法 B)等价分类法 C)错误推测法 D)边界值分析法 4. 软件需求分析就是把软件功能和性能总体概念描述为具体的( B )。

A)项目开发计划 B)软件需求规格说明 C)设计说明书 D)可行性分析报告 5. 目前流行的C语言属于第( C )代程序设计语言。 参看: P192 A)一 B)二 C)三 D)四 6. 软件开发的资源中,( C )是最重要的资源。

A)人力资源 B)硬件资源 C)软件资源 D)软件复用性及软件部件库 7. 数据流图(DFD图)中表示“加工”的图形符号是( D )。

A)箭头 B)双横线 C)矩形框 D)圆 8. N-S图,也称盒图,是( B )时使用的一种图形工具。

A)系统结构设计 B)过程设计 C) 数据设计 D)接口设计 9. 结构化程序设计的原则中要求每一个控制结构( A )。

A)只能有一个入口和一个出口 B)可以有一个入口和多个出口 C)可以有多个入口和一个出口 D)可以有多个入口和多个出口 10. 可行性研究主要集中在以下四个方面,其中( B )是最难决断的方面。

A)经济可行性 B)技术可行性 C)法律可行性 D)抉择

11. 允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行

测试的测试用例设计方法是( B )。

A)黑盒测试 B)白盒测试 C)选择测试 D)穷举测试 12. 软件需求分析的主要任务是解决目标系统的( A )的问题。

A)做什么 B)怎么做 C)是否做 D)对谁做

13. 以下不是软件需求分析时进行系统动态分析的图形工具是( D )。

A)状态迁移图 B)时序图 C)Petri网 D)E-R图 14. CASE是( D )的英文简称。

A)计算机软件 B)软件工程 C)计算机工程 D)计算机辅助软件工程

1 / 10

软件工程复习总结题

15. 因计算机外部环境或数据的变化而做出的修改软件的过程称为( C )。

A)纠正性维护 B)完善性维护 C)适应性维护 D)预防性维护 16. 版本控制是属于( B )的一项技术。

A)软件分析 B)软件配置管理 C)软件设计 D)软件编码 17. 软件项目计划的第一项活动是确定软件的( B )。

A)定义 B)范围 C)用户 D)成本 18. α测试和β测试是在( C )阶段进行的。

A)单元测试 B)组装测试 C)确认测试 D)系统测试 19. 数据流图(DFD图)是( C )中使用的图形表达工具。

A)JSD方法 B)OMT方法 C)SA方法 D)Booch方法20. 数据字典是对数据定义信息的集合,它所定义的对象都包含于( A )A)数据流图 B)程序框图 C)软件结构 D)方框图 21. 以下不是软件需求分析时进行系统动态分析的图形工具是( D )。

A)状态迁移图 B)时序图 C)Petri网 D)E-R图 22. 以下过程设计表达工具中,不是图形工具的是( D )。

A)PFC B) N-S C)PAD D)PDL 23. 软件度量各种方法中的LOC度量法是一种( B )。

A)面向规模的间接度量 B)面向规模的直接度量 C)面向功能的间接度量 D)面向功能的直接度量

24. 在以下度量模块独立性的内聚准则的部分内聚类型中,内聚性最弱的是(A)逻辑内聚 B)时间内聚 C)功能内聚 D)通信内聚

25. 软件模块结构改进的几种试探性原则中,控制范围和作用范围原则是指(A)控制范围在作用范围之外 B)作用范围在控制范围之外 C)作用范围在控制范围之内

D)控制范围在作用范围之内

2 / 10

)。)。

A

C

软件工程复习总结题

二、填空

1. 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些

测试用例去______运行程序_____________,以发现程序错误的过程。 2. 软件工程过程通常包含_____软件规格说明___、软件开发、___软件确认__和软件演进四个基本活动。 3. 可行性研究主要集中在_____经济可行性、技术可行性、法律可行性和抉择_______________________

四个方面。其中_____技术_______可行性理最难决断的方面。

4. ______需求分析__________所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件

同其它系统元素的接口细节,定义软件的其它有效性需求。 5. 如果系统结构图是___________完全因子分解_______________的,就是最好的系统。 6. 一个适中的模块大小是其语句行数在____50~100_________左右,最多不超过500行。

7. 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些

测试用例去______运行程序_____________,以发现程序错误的过程。 8. 在SC中不能再分解的低层模块称为_____原子模块_____。 9. 软件模块的三个基本属性是_____功能、逻辑和状态____。 10. ______功能需求_________是软件最主要的需求。

11. 软件设计的“最佳”方案是指具有较高的的生产率、较高的___可靠性和可维护性____的方案。 12. 软件质量度量的方法有___精密度量___、全面度量和简易度量3种。

13. 由一个用户在开发环境下,或者由开发机构内部的用户在模拟实际操作环境下进行的确认测试称为

____α测试______。是受开发者控制的测试,注重于软件产品的_____界面和特色_______。 14. 如果一个判定的作用范围包含在_____________这个判定所在模块的控制范围

_____________________之内,则这种结构是简单的。 15. 从转储的内存数据进行排错的方法叫做______强行排错_________。

16. OOP中,每个对象可用其一组___属性_____和它可以执行的一组____操作___来定义。 17. 在DFD中,圆表示一个________加工________。

18. 需求分析是解决软件____做什么______的问题;软件设计是解决软件___怎么做______的问题。 19. 大量工业研究表明:在软件生存期的开发阶段中,软件设计这一步将引入大约_______50%~

65%_________________%的错误。 20. JSD方法是一种面向_____数据结构____________的分析和设计方法。 21. 在一个类中,每个___对象__都是类的实例。

22. SADT是指__________结构化分析设计方法_________________________。

23. 软件需求的______逻辑视图(逻辑模型)____________给出软件要达到的功能和要处理的数据之间的

关系,而不是实现的细节。 24. 在事件或数据产生时,立即予以处理,并及时反馈信号,控制需要监测和控制的过程的软件称为____

实时处理___________软件。

3 / 10

软件工程复习总结题

25. CASE是指__________计算机辅助软件工程_______________,它将各种软件工具、开发机器和一个

存放开发过程信息的工程数据库组合起来形成一个_________软件工程环境______________。 26. _____软件需求___________是度量软件质量的基础。 27. McCall的质量模型中制定了____11_______个质量特性。

28. 软件__生成______技术是利用可复用的模式,通过生成程序产生一个新的程序或程序段。 29. PSL/PSA是一种_______系统分析__________工具。

30. 从软件工程的观点,程序语言的特性应着重考虑_________软件开发项目的需要_______________。 31. 软件测试的目标是___________想以最少的时间和人力找出软件中潜在的各种错误和缺陷

__________________________________。如果成功地实施了测试,就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与____需求说明____________相符。 32. 根据经验一个设计得较好的软件模块结构,平均扇出是___3~4__________。

33. 典型的系统结构形式有_____________变换型系统结构和事务型系统结构

_____________________________两种。

34. 软件生存期模型是从___________软件项目需求定义__________直至软件被废弃为止的生存过程。 35. 从一些错误征兆着手,通过分析它们之间的关系来找出错误的方法叫做____归纳____法。 36. 计算机中的数据包括数据流、数据内容和__数据结构__。

37. 一个面向对象的程序的每一成分应是____对象_______,计算是通过新的对象的建立和对象之间的通

信来执行的。

38. ____语句_______覆盖是通过测试使得程序中每一可执行的语句至少执行一次。

39. 软件________生存期模型___________是描述整个软件生存期的系统开发、动作和维护所实施的全部

过程、活动和任务的结构框架。 40. 成本效益分析是从_____经济______角度评价开发一个新的软件项目是否可行。 41. 模块间共享同一全局变量的耦合称为___外部___耦合。

42. 按记录的组织方式,文件分为顺序文件、直接存取文件、索引顺序文件、分区文件和虚拟存储文件以

及___倒排文件__六种。 43. DFD的中文名称为数据流程图,它以图形的方式刻画数据流从_______输入到输出__________的移动

变换过程。 44. 所有软件定义与开发工作最终是为了解决_____数据处理_________问题,也就是将一种形式的数据转

换成另一种形式的数据。其转换过程必定经历___输入________、加工数据和产生结果数据。 45. ___耦合______是模块之间的相对独立性(相互连接的紧密程度)的度量。 46. 自顶向下,逐步细化的过程实际上是一个________反复推敲_________的过程。 47. 机器语言和汇编语言都称为面向______机器______的语言。

48. 软件的特点之一是开发过程中没有明显的_______制造过程________。

49. 如果数据设计得好,往往能产生很好的_______模块独立性________,具有很强的_____________和较

低的________程序复杂性_____________。

4 / 10

软件工程复习总结题

50. 结构环境图建立了待实现系统与系统运行环境之间的_____信息边界___________。

51. 软件_____质量保证___________是指为保证产品和服务充分满足消费者要求的质量而进行的有计划、

有组织的活动。

52. 程序效率是指程序的____执行速度__以及程序___占用的存储空间___。

53. 软件需求分析将____软件计划___阶段所确定的软件范围逐步细化到可详细定义的程度,并分析出各

种不同的软件元素,然后为这些元素找到可行的__解决方法__。 54. 软件的____可靠______性表明了一个程序按照用户的要求和设计的目标,执行其功能的正确程度。 55. 软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其___规格______就能照原样工作

的特性。

56. 大型软件是指由_____5到10_____人在两年多的时间里完成的5万到10万行的程序。 57. SC图中_____模块________是用矩形框来表示的。

58. 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的错误使用,应当进行的诊断和改正

错误的过程,叫做_____改正______性维护。 59. ___软件的需求______是软件发展的动力。

60. 测试用例是指输入数据及其__________预期的输出结果________________。 61. 软件是一种_____逻辑________实体。

62. JSD方法把____数据结构__的描述映射成程序结构描述。 63. JSD方法以_____进程模型_________来反映现实系统的抽象。 64. 瀑布模型最突出的缺点是缺乏__灵活__性。

65. 判定覆盖是通过测试使得程序中____每一判定的每一分支____至少执行一次。 66. OMT是指________对象模型技术____________________。 67. 软件需求的__逻辑_描述是软件设计的基础。

68. 模块内的所有功能部分都是基于同一数据结构,则它属于______信息内聚_________模块。 69. 软件效率应以_____需求_________为准,不以人力所及为准。

70. 度量模块独立性的两个准则是模块间的____耦合_____和模块的__内聚_______。 71. 在需求分析过程中___数据模型___是首先要集中考虑的问题。 72. Goto语句对程序的______清晰性________有很大的破坏作用。

73. _______数据结构_________是数据的各个元素之间的逻辑关系的一种表示。 74. 第一个真正广泛使用的高级语言是_____PL/1________ 三、简答与应用

1. 试述调试的原则。

参考答案纲要: (另请参考教材P254进行更详细的阐述。)

在确定错误的性质和位置时应该用头脑去分析思考,避开死胡同,适当借助调试工具,避免用试探法 在修改错误时应该注意错误错误的群集现象,修改要彻底,避免引入新的错误,修改源代码而不是修改目标程序

5 / 10

软件工程复习总结题

2. 哪几种情况的软件可以称为容错软件?它们有哪些共同的方面?

教材P362~363。分4种情况,有3种共同面。

3. 什么是软件工程?它包括哪些要素?各要素的作用是什么? 参考答案纲要: (另请参考教材P15进行更详细的阐述。)

软件工程是指用工程化的原则(科学的方法技术和管理手段)进行软件的开发和维护。 软件工程的三要素是:方法、工具和过程

软件工程方法为软件开发提供了“如何做”的技术;软件工具为软件工程方法提供了自动或半自动的支撑环境;软件工程的过程是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。 4. 试述白盒测试和黑盒测试的特点和测试内容。

参考答案纲要: (另请参考教材P208-209进行更详细的阐述。)

1) 黑盒测试把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只

依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此墨盒测试又叫做功能测试或数据驱动测试。 2) 白盒测试是对软件的过程性细节做细致的检查。这一方法是把测试对象看作一个打开的盒子,它

允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。 5. 系统工程师在需求分析中扮演着什么样的角色?它(们)应具备什么样的素质? 参考答案纲要: (另请参考教材P42-46进行更详细的阐述。)

系统工程师处于用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。 系统工程师应当具备如下6个方面的素质:

1) 能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。

2) 善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整理成为各种逻辑成

份,并给出简明、清晰的描述。

3) 善于从相互冲突或混淆的原始资料中抽出恰当的条目来。

4) 善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件 5) 能够倾听他人的意见,注意发挥其它人员的作用。 6) 具有良好的书面和口头交流表达能力。 6. 简述在编码阶段实现算法的指导原则。

参考答案纲要: (另请参考教材P189进行更详细的阐述。)

1) 在编程序前,尽可能化简有关的算术表达式和逻辑表达式;

2) 仔细检查算法中的嵌套的循环,尽可能将某些语句或表达式移到循环外面; 3) 尽量避免使用多维数组;

4) 尽量避免使用指针和复杂的表; 5) 采用“快速”的算术运算;

6) 不要混淆数据类型,避免在表达式中出现类型混杂; 7) 尽量采用整数自述表达式和布尔表达式; 8) 选用等效的高效率算法。 7. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是

存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。

6 / 10

软件工程复习总结题

要求:画出数据流程图和软件结构图。 参考数据流程图:

参考软件结构图:

8. 试述Pressman对数据规格说明的原则。

参考答案纲要: (另请参考教材P110进行更详细的阐述。)

有如下7个原则:

1) 用于软件的系统化方法也适用于数据

2) 要确定所有的数据结构和在每种数据结构上施加的操作 3) 应当建立一个数据字典并用它来定义数据和软件的设计 4) 低层数据设计的决策应推迟到设计过程的后期进行

5) 数据结构的表示只限于那些必须直接使用该数据结构内数据的模块才能知道 6) 应当建立一个存放有效数据结构及相关操作的库

7) 软件设计和程序设计语言应当支持抽象数据类型的定义和实现 9. 结构化程序设计有哪些原则?

教材P175~176。包括6条原则!

10. 某业务是将学员发来的信件收集分类后,按几种不同的情况处理。

1) 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否

额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 2) 如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修

改,并给学生注销单。

3) 如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

要求:画出数据流程图和软件结构图。

7 / 10

软件工程复习总结题

参考数据流程图:

参考软件结构图:

11. 有人说软件就是程序,这种说法正确吗?请从软件的概念分析你的结论。 参考答案纲要: (另请参考教材P1进行更详细的阐述。)

软件≠程序,软件=程序+数据+文档。

其中程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。

将软件片面的同程序等同起来,没有清楚地认识到文档的重要性。

12. 简述UML中视图、图的概念。说明视图与图的关系,说明各种视图、各种图的作用。 答:视图用来表示被建模系统的各个方面。

视图由多个图(Diagrams)构成,它不是一个图片(graph), 而是在某一个抽象层上对系统的抽象表示。

如果要为系统建立一个完整的模型图,只需定义一定数量的视图,每个视图表示系统的一个特殊的方面。

有5种视图,分别是

1) 用例视图(Use-case view):用于描述系统应该具有的功能集,它是系统的外部用户所能观察到

的系统功能的模型图。 2) 逻辑视图(Logical view):展示了系统内部如何提供系统的功能。它利用系统的静态结构和动态

行为来刻画系统功能, 3) 构件视图(Component view):用来显示代码构件的组织方式。它描述了实现模块(implementation

module)和它们之间的依赖关系。 4) 并发视图(Concurrency View):用来显示系统的并发工作状况

部署视图(Deployment View):用来显示系统的物理架构,即系统的物理部署。

UML 中包含用例图、类图、对象图、状态图、顺序图、协作图、活动图、构件图、部署图共九种。 1) 用例图定义的是系统的功能需求

2) 类图用来表示系统中的类和类与类之间的静态关系。

3) 对象图是类图的一个实例。它及时具体地反映了系统执行到某处时系统的工作状况。 4) 状态图显示了类的所有对象可能具有的状态以及引起状态变化的事件。

8 / 10

软件工程复习总结题

5) 顺序图反映若干个对象之间的动态协作关系,主要用来显示对象之间发送消息的顺序,显示了对象

之间的交互。 6) 协作图,反映的也是动态协作.除了显示消息变化(称为交互)外,协作图还显示了对象和它们之

间的关系(称为上下文有关)。 7) 活动图反映一个连续的活动流。活动图常用于描述某个操作执行时的活动状况。 8) 构件图用来反映代码的物理结构。

部署图用来显示系统中软件和硬件的物理架构。

13. 图书馆的预定图书子系统有如下功能: (1)由供书部门提供书目给订购组; (2)订书组从各单位取得要订的书目;

(3)根据供书目录和订书书目产生订书文档留底;

(4)将订书信息(包括数目,数量等)反馈给供书单位; (5)将未订书目通知订书者;

(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

要求:画出数据流程图和软件结构图。

9 / 10

软件工程复习总结题

10 / 10

因篇幅问题不能全部显示,请点此查看更多更全内容