文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习题(答案)

软件工程复习题(答案)

软件工程复习题(答案)
软件工程复习题(答案)

软件工程总复习

一、选择题

1. 在()模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。

A.快速原型 B. 统一过程

C.瀑布模型 D. 螺旋模型

2. 软件工程是研究软件( )的一门工程学科。

A. 数学

B. 开发与管理

C. 运筹学

D. 工具

3. 需求分析可以使用许多工具,但()是不适合使用的。

A.数据流图 B.判定表 C.PAD图 D.数据字典

4. SD方法衡量模块结构质量的目标是()。

A. 模块间联系紧密,模块内联系紧密

B. 模块间联系紧密,模块内联系松散

C. 模块间联系松散,模块内联系紧密

D. 模块间联系松散,模块内联系松散

5. 程序的三种基本结构是()。

A. 过程、子程序、分程序

B.顺序、条件、循环

C.递归、堆栈、队列

D.调用、返回、转移

6.为提高软件测试的效率,应该()。

A.随机地选取测试数据

B.取一切可能的输入数据作为测试数据

C.在完成编码后制定软件测试计划

D.选择发现错误可能性大的数据作为测试数据

7.软件可移植性是用来衡量软件的()的重要尺度之一。

A.效率 B. 质量 C. 人机关系 D. 通用性

8.面向对象的分析方法主要是建立三类模型,即( )。

A. 系统模型、ER模型、应用模型

B. 对象模型、动态模型、应用模型

C. ER模型、对象模型、功能模型

D. 对象模型、动态模型、功能模型

9.软件配置管理是在软件的整个生存周期内管理()的一组活

动。

A.程序 B.文档 C.变更 D.数据

10. 结构化分析的主要描述手段有( )。

A. 系统流程图和模块图

B. DFD图、数据词典、加工说明

C. 软件结构图、加工说明

D. 功能结构图、加工说明

11. 用于表示模块间的调用关系的图叫()。

A.PAD B.SC C.N-S D.HIPO

12. 常用的软件开发方法有面向对象方法、面向( )方法和面向数据方法。

A. 过程

B. 内容

C. 用户

D. 流程

13. 从工程管理的角度来看,软件设计分两步完成( )。

A. ①系统分析②模块设计

B. ①详细设计②概要设计

C. ①模块设计②详细设计

D. ①概要设计②详细设计

14. 程序的三种基本结构是()。

A. 过程、子程序、分程序

B.顺序、条件、循环

C.递归、堆栈、队列

D.调用、返回、转移

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. 在软件工程开发过程中,H图的创建由( )工作提供支持。

A. 测试

B. 数据库设计

C. 详细设计

D. 概要设计

22. 软件需求分析应确定的是用户对软件的( )。

A. 功能需求和非功能需求

B. 性能需求

C. 非功能需求

D. 功

能需求

23. 面向对象设计思想的核心是封装、继承和( )。

A. 选择

B. 消息

C. 多态

D. 调用

24. 详细设计阶段,描述模块算法的常用工具是( )。

A. H图

B. 伪码

C. ER图

D. IPO图

25. 为了使软件输入界面友好,对于规范的编码信息可采用( )设计。

A. 单选钮

B. 多选钮

C. 下拉列表框

D. 分组框

26. 传统的软件开发方法是以功能分析和数据分析为基础的( )方法。

A. 过程化

B. 形式化

C. 结构化

D. 流程化

27. MVC架构包括模型、视图和( )。

A. 浏览器

B. 控制器

C. 容器

D. 连接器

28. 主键的作用是保证( )。

A. 实体完整性

B. 实体间的联系

C. 检索功能

D. 数据规范性

29. 软件工程常用工具主要有项目管理工具、系统建模工具、集成开发工具和( )工具。

A. 变更与配置

B. 开发

C. 分析

D. 设计

30. 面向对象的软件设计的基本描述工具是( )。

A. 数据流程图

B. 类图

C. 程序流程图

D. 测试用例

31. 事务的ACID特性分别指( )、持久性、一致性和隔离性。

A. 原子性

B. 演化性

C. 鲁棒性

D. 可靠性

32. 用例图是系统( )的工具。

A. 需求分析

B. 系统设计

C. 设计计划

D. 开发任务

33. 软件由过程、方法和()三个要素组成。

A.质量

B. 工具

C. 文档

D. 程序

34. 在软件工程开发过程中,H图的创建由( )工作提供支持。

A. 测试

B. 数据库设计

C. 详细设计

D. 系统设计

35. 软件需求分析应确定的是用户对软件的( )。

A. 功能需求和非功能需求

B. 性能需求

C. 非功能需求

D. 功

能需求

36. 划分模块时,一个模块内聚性最好的是( )。

A. 功能内聚

B. 过程内聚

C. 信息内聚

D. 逻辑内聚

37. 面向对象设计思想的核心是封装、继承和( )。

A. 选择

B. 消息

C. 多态

D. 调用

38. 详细设计阶段,描述模块算法的常用工具是( )。

A. H图

B. NS图

C. ER图

D. IPO图

39. 软件质量的核心因素是可靠性、正确性和( )。

A. 可重用性

B. 有效性

C. 可移植性

D. 以学习性

40. 详细设计的主要任务是( )。

A. 模块化分解

B. 数据库结构设计

C. 模块算法设计

D. 模型设计

41. 软件需求的获取方法主要有面谈、专题讨论、工作流观察、原型化以及( )等方法。

A. 用例

B. 数据流

C. 业务流

D. 调查

42. 在软件工程开发过程中,H图的创建由( )工作提供支持。

A. 测试

B. 系统设计

C. 程序设计

D. 过程设计

43. 系统设计的基本描述工具是( )。

A. 数据流程图

B. 类图

C. 程序流程图

D. 测试用例

44. 在确定对象时,陈述中所有( )是候选的对象。

A. 名词

B. 动词

C. 词组

D. 修饰性名词词组

45. 模块间耦合性最弱的是( )。

A. 数据耦合

B. 内容耦合

C. 公共耦合

D. 外部耦合

46. 概要设计的主要任务是( )。

A. 模块化分解

B. 数据库结构设计

C. 软件体系结构设计

D. 模型设计

47. 结构化软件分析的基本描述工具是( )。

A. 数据流程图

B. 类图

C. 程序流程图

D. 测试用例

48. 模块间耦合性最强的是( )。

A. 数据耦合

B. 内容耦合

C. 公共耦合

D. 外部耦合

49.下列各种图可用于静态建模的有()。

A.协作图 B. 类图 C. 序列图 D. 活动图

50. 需求分析可以使用许多工具,但()是不适合使用的。

A.数据流图 B.判定表 C.NS盒图 D.数据字典51.为提高软件的质量,应该()。

A.随机地选取测试数据

B.取一切可能的输入数据作为测试数据

C.在需求分析时就考虑软件测试的因素

D.选择发现错误可能性大的数据作为测试数据

52. 软件工程的主旨是以( )的思想进行软件开发。

A. 系统化

B. 工程化

C. 优化

D. 智能化

53. 软件设计主要解决软件项目开发的( )问题。

A. 做什么

B. 为何做

C. 怎么做

D. 何时做

54. 软件需求分析不应确定的是软件的( )。

A. 架构

B. 性能

C. 风险

D. 功能

55. 面向对象分析的基本描述工具是( )。

A. 数据流程图

B. 类图

C. 程序流程图

D. 测试用例

56. 模块间耦合性最强的是( )。

A. 内容耦合

B. 数据耦合

C. 公共耦合

D. 外部耦合57.下列各种图可用于对象内部动态建模的有()。

A.用例图 B. 类图 C. 状态图 D. 包图

58. 需求分析可以使用许多工具,但()是不适合使用的。

A.数据流图 B.判定表 C.程序流程图 D.数据字典

59. 软件设计衡量模块结构质量的目标是()。

A. 模块间联系紧密,模块内联系紧密

B. 模块间联系紧密,模块内联系松散

C. 模块间联系松散,模块内联系紧密

D. 模块间联系松散,模块内联系松散

60. 软件测试用例设计主要有白盒法和()。

A.穷举法B.估计法C.逼近法D.黑盒法

61.可行性研究从技术可行性、经济可行性、操作可行性和( )四方面研究项目能否在规定的时间、规定的成本下完成。

A. 内部可行性

B. 外部可行性

C. 时间可行性

D. 空间可行性

62. 软件工程化思想的核心是把软件看成为一个( )。

A. 艺术作品

B. 工程产品

C. 研究成果

D. 思维结果

63. 软件需求分析主要解决软件项目( )的问题。

A. 做什么

B.为何做

C. 怎么做

D.何时做

64. 软件详细设计确定软件模块的( )。

A. 算法

B. 性能

C. 风险

D. 功能

65. 软件测试阶段的主要设计工作是( )设计。

A. 数据流程图

B. 类图

C. 程序流程图

D. 测试用例

66. 模块间内聚性最强的是( )。

A. 功能内聚

B. 逻辑内聚

C. 过程内聚

D. 顺序内聚

67.下列各种图可用于对象间动态建模的有()。

A.用例图 B. 类图 C. 协作图 D. 包图

68. 面向对象设计可以使用许多工具,但()是不适合使用的。

A.类图 B.活动图 C.程序流程图 D.协作图

69. 软件设计的模块化是对复杂问题进行()。

A. 时间分解

B. 过程精化

C. 空间分解

D. 过程分解

70. 黑盒法软件测试用例设计主要有等价划分法、边界值法和()。

A.穷举法B.估计法C.逼近法D.因果图法

71.软件项目管理主要是对人员、费用、进度和( )的管理。

A. 时间

B. 团队

C. 文档

D. 质量

72. 在软件开发的各种资源中,()是最重要的资源。

A. 开发工具

B. 方法

C. 硬件环境

D. 人员

73. 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于()系统。

A. 需求不确定的

B. 需求确定的

C. 管理信息

D. 决策支持

74. 单元测试的测试用例主要根据()的结果来设计。

A. 需求分析

B. 源程序

C. 概要设计

D. 详细设计

75. 测试工作量通常占软件开发全部工作量的()。

A.20%~30%

B.30%~40%

C.40%~50%

D. 50%~60%

76.下列程序流程图的标准符号中,表示数据输入输出的是()。

A. C. D.

77 .在软件维护中,维护工作量比例最大的是()。

A. 改正性维护

B. 适应性维护

C. 完善性维护

D. 预防性维护

78 .软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A. 固有的

B. 人为的

C. 可消除的

D. 不可降低的

79 .用于软件维护的费用占软件总费用的()。

A.35%~50%

B.45%~60%

C.55%~70%

D. 65%~80%

80、软件是一种()产品。

A、有形

B、逻辑

C、物质

D、消耗

81、在软件生命周期中,用户主要是在()参与软件开发。

A、软件定义期

B、软件开发期

C、软件维护期

D、整个软件生命周期过程中

82、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是()。

A、工作阶段间的等待时间

B、生产原型的复杂性

C、参与人员所需的工作站数

D、参与人员之间的通信困难

83、软件设计一般分为总体设计和详细设计,它们之间的关系是()。

A、全局与局部

B、抽象与具体

C、总体与层次

D、

功能与结构

84、一个()能用不同的方法表示它的特征。

A、事件

B、抽象

C、状态

D、脚本

85、不适合作为数据处理的语言是()。

A、Prolog

B、C语言

C、4GL

D、SQL语言

86、黑盒测试是从()观点的测试。

A、管理人员

B、管理人员

C、用户、开发人员

D、开发人员、用户

87、软件工程对维护工作的主要目标是提高软件的可维护性,降低()。

A、维护的效率

B、维护的工作量

C、文档

D、维护的代价

88、软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。

A、工程管理

B、成本核算

C、人员培训

D、工具开发

88、软件生命周期模型有多种,下列选项中,()不是软件生命周期模型。

A、螺旋模型

B、增量模型

C、功能模型

D、瀑布模型

89、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是()。

A、组织与管理

B、分析与估算

C、设计与测试

D、规划与调度

90、在对数据流的分析中,主要是找到变换中心,这是从()导出结构图的关键。

A、数据结构

B、实体关系

C、数据流图

D、E-R图

91、下面()不是对象具有的特性。

A、标识

B、继承

C、顺序

D、多态性

92、与选择编程语言无关的因素是()。

A、软件开发的方法

B、软件执行的环境

C、用户需要

D、软件开发人员的知识

93、白盒测试是从()观点的测试。

A、开发人员

B、管理人员

C、用户

D、其他

二、判断题(对的画“√”,错的画“×”,每小题1分,共10分)

1.快速原型模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。(T )

2.当模块中所有成分结合起来完成一项任务,该模块的内聚是功能内聚。(T )

3.好的程序不仅处理速度要快,而且易读、易修改。(T )

4.应多使用GOTO语句。(F )

5.用白盒法测试时,测试用例是根据程序内部逻辑设计的。(T )

6.系统模块的内聚度应尽可能地小。(F )7.信息隐藏原则禁止在模块外使用在模块接口说明中所没有说明的、关于该模块的信息。(T )8.一组测试用例是条件覆盖,则一定是语句覆盖。(T )9.在完成测试作业之后,为缩短源程序长度,应删去源程序中的注解。(F )10.在进行需求分析时,就应该同时考虑软件的可维护性问题。(T )

11.瀑布模型是一种以对象为驱动的模型,适合于面向对象方法。(F)

12.当模块中互不相关的任务结合在一起,该模块的内聚是偶然性内聚。(T)

13.好的程序主要是处理速度要快。(F )

14.应尽量不使用GOTO语句。(T )

15.用黑盒法测试时,测试用例是根据程序外部行为设计的。(T )

16.系统模块的内聚度应尽可能地大。(T)17.信息隐藏原则可以在模块外使用在模块接口说明中所没有说明的、关于该模块的信息。(F)18.一组测试用例是条件覆盖,不一定是语句覆盖。(F)19.在完成测试作业之后,为缩短源程序长度,应删去源程序中的注解。(F)20.在进行需求分析时,为简化问题,不必考虑软件的可维护性问题。(F)

21.增量模型是一种以一系列的阶段完成项目开发的过程模型。(T )

22.当模块调用下属模块时,如果交换的都是简单变量,便构成数据耦合。(T)

23.人机界面设计应强调界面的一致性。(T)

24.软件测试的目的是完全发现程序中的错误。(F)

25.用黑盒法设计测试用例是根据软件的外部特征来设计用例的。(F )

26.模块的内聚度越小越好。(F)27.信息隐藏原则要求开发人员不用关心拿来使用的模块的内部结构。(T )28.等价分类法把输入域分成若干等价类,每类取一个测试数据来测试。(F)29.软件维护能够一直延长软件系统的生命周期。(F)30.在进行需求分析时,就应该考虑需求的变化性问题。(T)

41.数据模型是一种描述软件过程的抽象模型。()

42.统一过程模型是以用例驱动,以架构为中心、可迭代可配置的软件开发流程。(F)以风险驱动,基于用例技术。

43.非形式化需求分析技术主要有会谈、调查表和场景技术等等。场景/情景分析(F )

44.软件设计的目的是要回答用户想做什么。(F)

45.用白盒法设计测试用例是根据软件的内部结构来设计用例的。(T )

46.模块间的耦合度越大越好。(F)47.加工逻辑描述数据流程图中处理的算法或过程。()48.顺序图描述对象间按时间顺序交互的动态过程。()49.软件维护不能够解决软件系统的变化问题。()50.在进行概要设计时,就应该考虑软件架构的变化性问题。()

51. 文档是软件产品的一部分,没有文档的软件就不称其为软件。( T )

52. 在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提

供哪些信息。( )

53. 建立用例模型的步骤包括确定角色、确定用例和绘制用例图。( T )

54.软件错误可能出现在开发过程的早期,越早修改越好。( T )

55.只有质量差的软件产品才需要维护。( F )

56.一个好的测试用例在于能发现至今未发现的错误。( T )

57.瀑布模型是一种文档驱动的模型。(T)

58.UML是一种方法。(F )

59.一个成功的项目唯一提交的就是运行程序。(F)

60.在时间允许的情况下,适当减少人员会提高工作效率,降低软件开发成(F)

64、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提

供哪些。( F )65、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据( F )66、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。(F )

68、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。(F )

69、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。(T )

70、边界值分析方法是取输入/输出等价类的边界值作为测试用例。(F )

71、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。(F )

72、不完善的系统定义往往是导致软件项目失败的主要原因。(T)

73、软件工作的考虑范围主要是程序设计和实现。(F )

74、等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。(T )

75、UML语言支持面向对象的主要概念,并与具体的开发过程相关。(F )

76、用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。(T )77、软件配置管理是一组标识、组织和控制修改源程序的活动。(F )79、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。( F )

81、模型是对现实的简化,建模是为了更好地理解所开发的系统。(T )

82、好的测试用例应能证明软件是正确的。(F )

83、白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求(T)85统一过程是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。( F

86当模块中所有成分结合起来完成一项任务,该模块的内聚是偶然内聚。(T )

87SD方法衡量模块结构质量的目标是模块间联系松散,模块内联系紧密。(T )88需求分析可以使用许多工具,但数据流图是不适合使用。(F )

89 用黑盒法测试时,测试用例是根据程序内部逻辑设计。( F )

90 因果图法可以用于系统地设计测试用例。( T )

91在了解被测试模块的内部结构或算法的情况下进行测试叫白盒测试。(T )

92 为提高软件可移植性,应注意提高软件的设备独立。(T )

三名词解释(每小题4分,共20分)

1. PD PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信

息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设备模型进行控制。

2. 等价类划分法是一种典型的黑盒测试方法,把程序的输入域划分成若干等价类,然后从每部分抽选少数代表性数据作为测试用例3.模块模块在程序中是数据说明、可执行语句等程序对象的集合,或

者是单独命名和编址的元素,如果高级语言中的过程、函数和

子程序等。在软件的体系结构中,模块是可组合的、分解和更

换的单元。

4.流程图系统中的每一个模块的内部过程

5.数据字典简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计

及维护提供了有关元素的一致的定义和详细的描述。

6. 对象客观事物或者概念的抽象表达

7.软件软件是程序以及开发、使用和维护程序所需的所有文档,由应用程序、系统程序、面向用户的文档以及面向开发者的文档四部分构成。

8.DOM 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。

9. MVC 模型-视图-控制器(MVC)三层模型。

10.UML 标准的统一的图形化建模语言,是软件工程中面向对象的模型方法

11.ERD E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模

型。

12.Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。

13.BOM 浏览器对象模型(BrowserObjectModel)

14.MDA 模型驱动架构(Model-driven architecture)

15.DFD 数据流图,是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输出和逻辑输入,以及把逻辑输入转换为了逻辑输出所需的加工处理

15.SQL 结构化查询语言(structured query language)

一种对关系数据库中的数据进行定义和操作的句法,为大多数关系数据库管理系统所支持的工业标准。

16. JSP (Java Server Pages)一种动态网页技术标准。

17.SRS

18.边界类用于建立系统与其参与者之间交互的模型,经常代表对窗口、窗体、屏幕、通信接口、打印机接口、传感器、终端已经API 等的抽象。

19.业务需求

20.rose 是一个基于Servlet规范、Spring“规范”的WEB开发框架。21顺序图顺序图是将交互关系表示为一个二维图。

22.B/S B/S结构(Browser/Server,浏览器/服务器模式),是WEB 兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。

23.设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

24.活动图:(activity diagram,动态图)是阐明了业务用例实现的工作流程。

25.设计模型

26.HIPO 层次加输入—处理—输出图

27.OOD :面向对象设计(Object-Oriented Design,OOD)方法是OO 方法中一个中间过渡环节。

28..类图类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。

29..包图

30.耦合性对一个软件结构内不同模块之间互联程度的度量

31.PAD

问题分析图(problem analysis diagram)简称PAD图,是一种支持结构化算法的图形表达工具,也是用于业务流程描述的系统方法。32.COCOMO:Cocomo是一个平台级服务(即PaaS-Platform as Service)。

33.软件结构图:软件结构包括构成系统的设计元素的描述、设计元素之间的交互、设计元素的组合模式以及在这些模式中的约束。34.SQA:软件质量保证(SQA)是建立一套有计划,有系统的方法,

来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。

35.OOA Object-Oriented Analysis(面向对象分析方法)是确定需求或者业务的角度,按照面向对象的思想来分析业务。

36.DFA

面向装配的设计(Design for assembly, DFA)是指在产品设计阶段设计产品使得产品具有良好的可装配性,确保装配工序简单、装配效率高、装配质量高、装配不良率低和装配成本低。

37.SE

37 软件生命周期一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划、需求分析、概要设计、编码、测试、维护等

38结构程序设计

如果一个程序的代码块仅仅通过顺序、选择和循环着3种基本控制结构进行连接并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

39α测试:在一个受控的环境下,由用户在开发者的“指导”下进行的测试,由开发者负责记录错误和使用中出现的问题。

40软件再工程:运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性、可复用性或演化性。

41软件危机:是指在计算机软件的开发和维护过程所遇到的一系列严重问题。概括地说,包括两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

42软件工程:1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件。2)研究1)中提

到的途径。

43β测试:是由软件的最终用户在一个或多个用户场所进行。由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付全体用户使用。

44软件项目管理:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。

45结构化维护

46软件建模

47、类:具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。

四、问答题(每小题6分,共30分)

1、什么是软件开发方法?有哪些主要方法?

答:软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产过程的方法,其方法一般描述成一系列的步骤,每一个步骤都与相应的技术和符号相关。主要方法有:

1)结构化开发方法

2)面向数据结构的开发方法

3)原型化开发方法

4)面向对象的开发方法

2、可行性研究有哪些步骤?

1)确定项目规模和目标;

2)研究现行系统(如果存在);

3)建立系统的高级逻辑模型,用系统流程图或数据流图(DFD图)描述;

4)提高实现高层逻辑模型的各种方案,并对各方案进行评价;

5)推荐可行的方案;6)编写可行性报告;

2、结构化分析的步骤有哪些?

1)建立当前系统的具体模型

2)抽象出当前系统的逻辑模型

3)建立目标系统的逻辑模型

4)为了对目标系统进行完整的描述,考虑人机界面和其他一些问题

3、试述用户界面设计应考虑的因素。

答:(1)可实用性。要求使用简单,用户界面中所用术语的标准化和一致性,具有help功能。快速的系统响应和低的系统成本,具有容错能力。

(2)灵活性。考虑用户的特点,能力,知识水平;提供不同的系统响应时间,提供根据用户需求制定和修改界面,

(3)界面的复杂性与可靠性

4、软件质量保证措施有那些?

1)以客户对于质量的需求为基础,对项目开发周期的各个阶段,建立质量目标;

2)定义质量度量以衡量项目活动的结果,协助评价有关的质量目标是否达到;

3)确定质量活动;

4)执行已经确定的质量活动;

5)评价质量

6.什么是软件维护?它有哪些类型?

软件维护是指软件系统交付使用以后,为了改正软件运行错误,或者因新的需求而加入新功能的修改软件的过程。它的类型有:完善性维护,适应性维护,纠错性维护,预防性维护。

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程复习试题及答案.

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7 中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

最新软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

2010软件工程复习题及参考答案

中南大学现代远程教育课程考试复习题及参考答案 软件工程 一、选择题: 1.下面哪些UML图描述系统行为() A.用例图 B.类图 C.对象图 2.属于概要设计活动的是() A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是() A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是() A.UML是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5. 根据程序流程图划分的模块通常是() A. 信息内聚的模块 B. 过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其McCabe环形复杂度为() A.m-1 B.m C.m+1 7.按ISO9000-3的说明,下列属软件配置项的是() A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8. 软件测试的目的是() A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是() A. 软件体系结构 B. 模块细节 C.软件性能 10.软件项目开发计划的内容有() A. 数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的有() A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价() A.软件过程能力 B.组织能力 C.学习能力 13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为() A. 完善性维护 B. 改正性维护 C.适应性维护 14. 对项目软件而言,软件功能需求信息主要由谁提供() A.软件用户 B.软件开发人员 C.软件项目管理人员 15. IDEF0图反映不出() A.系统做什么 B.系统功能由谁做 C.系统如何做 16. 原型模型是一种什么开发过程模型() A.自顶向上 B. 由外至内 C.增量式 17. 系统流程图描述() A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括() A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型有() A. 瀑布模型 B. RAD模型 C.原型模型 20.UML图中描述系统结构的有() A. 组件图 B. 顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法() A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的有() A.可靠性 B.可用性 C.可行性 23. 系统分析员在需求分析最后负责编写()

软件工程试题与答案

安徽三联学院2011-2012学年度第一学期 《软件工程》期终考试试卷(A卷) 一、选择题(每小题2分,计20分) 1.请按顺序写出软件生命期的几个阶段__F__,__D__ ,__C__,___E_,__B__,___A_。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析 2.一个模块直接控制(调用)的下层模块的数目称为模块的_____B__。 A.扇入数 B、扇出数 C、宽度 D、作用域 3.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试 (A) A.单元测试 B.系统测试 C.集成测试D.确认测试 4.一个软件项目是否进行开发的结论是在___B___文档中作出的。 A.软件开发计划B、可行性报告C、需求分析说明书D、测试报告 5.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在 (B)阶段进行的。 A.需求分析B.总体设计C.详细设计D.编码阶段 6.CMMI标准的5个级别分别是完成级、管理级、定义级、量化管理级和( C ) A.初始级B.可重复级C.优化级D.过程级 7.PAD(Problem Analysi s Diagram)图是一种____工具。( B) A.系统描述B.详细设计C.测试D.编程辅助 二、填空题(每空格1分,计20分) 1、软件的通俗解释是软件= 程序+ 数据+ 文档资料。 4、系统测试包括的4种类型:恢复测试、安全测试、强度测试和性能测试。 6、统一建模语言(UML)提供的9种图分别是:用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件图和部署图。 7、软件工程标准的5个级别:国际标准、国家标准、行业标准、企业 规范 和项目规范。 三、名词解释题(每题4分,计20分) 1、软件工程: 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、再工程: 软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程3.模块化: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性 四、简答题(每题5分,计20分) 1、简述软件工程的基本原理? 1.严格按照软件生命周期计划进行管理.2.坚持进行阶段评审.3.实行严格的产品控制. 4.采用先进的程序设计技术. 5.结果应能清楚的审查.6.开发小组成员应少而精.7.承认不断改进软件工程实践的必要性

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程练习题目及答案

1.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱 产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用PDL语言、判定表和判定树分别描述上述问题。 答:PDL语言描述: If(年龄<20){ If(文化程度=”初中”){ 脱产学习; } Else if (文化程度=”高中”){ 当电工; } } Else if (年龄<40){ If(文化程度=”初中” ||文化程度=”高中”){ If(性别=”男”){ 当钳工; } Else { 当车工; } }

Else{ 当技术员; } } Else{ If(文化程度=”初中” ||文化程度=”高中”){当材料员; } Else { 当技术员; } } 判定表

判定树 ---20<=<40----???? ?? ???????????? ?? ??????? 初中文化程度脱产学习 年龄<20高中文化程度电工女性车工中学文化程度年龄男性钳工大学文化程度技术员中学文化程度材料员年龄>=40大学文化程度技术员 2. 某考务管理系统有如下要求: (1)对考生送来的报名表进行检查; (2)对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生 名单送给阅卷站; (3)对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合 格者; (4)填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生; (5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难 度分析,产生统计分析表。 画出该系统的分层数据流图。

软件工程试题及答案

综合练习一答案 一.选择题: 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.需求分析说明书不能作为______。

软件工程复习题及答案

软件工程复习题(一) 一、选择题 1、瀑布模型本质上是一种() A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是() A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 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、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程试题与答案 ()

《软件工程》试卷及答案A卷 专业年级姓名得分 一、名词解释(每个2分,共10分) 1.软件危机 2.纯收入 3.模块 4.原型 5.BROOKS定律 二、填空题(每题2分,共20分) 1.____是计算机程序及其说明程序的各种文档。_____是有关计算机程序功能、设计、编制、使用的文字或图形资料。 2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、____、____、总体设计、详细设计、____、____、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。 3.软件详细设计阶段采用的工具有______。 4.____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 5.模块的耦合性分为四种类型:____、____、____、____。 6.内聚性有七种类型,最强的是____,最弱的是____。 7.结构图的深度指结构图______,结构图宽度指________。 8.集成测试采用的具体方法有--____、______ 9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的 ____、逻辑输入、逻辑输出。 10.软件编码阶段要善于积累编程的经验,使得编出的程序____,易于____,从而提高软件质量。 三、选择题(每题2分,共20分) 1.系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。 A.软件环境可行性、技术可行性、经济可行性、社会可行性 B.经济可行性、技术可行性、操作可行性 C.经济可行性、社会可行性、系统可行性 D.经济可行性、实用性、社会可行性 2.通过()可以完成数据流图的细化。 A.结构分解 B、功能分解 C、数据分解 D、系统分解 3.模块(),则说明模块的独立性越强。 A.耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低 4.模块()定义为受该模块内一个判断影响的所有模块集合。 A.控制域 B、作用域 C、宽度 D、接口 5.面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B、详细设计 C、软件设计 D、编码

软件工程习题(附(附答案))

第一章概述 1.软件产品具有哪些特性? 答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性 软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的 a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的成本主要体现在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别. ⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品. ⑶软件产品不会用坏,不存在磨损,消耗. ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的 ⑸开发软件的费用不断增加,致使生产成本相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程? 答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件” 的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须 的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不 超过预算,并满足用户要求; 3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段? 答:定义时期:问题的定义(客户需求)、可行性研究(为什么做); 开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。 运行时期:软件维护。 4.依下列叙述确定软件生命周期模型。 M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已 经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认 为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐 明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。 5.依下列叙述确定软件生命周期模型。 假设要求你开发一个软件,该软件的功能是

软件工程试题库集及答案

综合练习一答案 选择题: 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。用户和软件人员的领导

软件工程复习题及答案

一、画出实际的瀑布模型p16 三、画出增量模型p18 五、可行性研究的工作过程及内容p36 答:1).复查系统规模和目标; 2).研究目前正在使用的系统; 3).导出新系统的高层逻辑模型; 4).进一步定义问题; 5).导出和评价供选择的解法; 6).推荐行动方针;7).草拟开发计划;8.书写文档提交审查。 六、可行性研究的目的是什么?要如何进行?p35 答:目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。 首先,需要进一步分析和澄清问题定义。之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干可供选择的主要解决方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 二、画出快速原型模型p17 四、画出简化的螺旋模型p20 软件工程考试复习题

七、需求分析的任务是什么?进行需求分析时要重点考虑哪些方面的问题?p56 答:1、确定对系统的综合要求:1).功能需求——指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。2).性能需求——性能需求指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3).可靠性和可用性需求——可靠性是指确保各应用及其相关的所有交易的完整性和一致性的能力;可用性是指一个系统应确保一项服务或者资源永远都可以被访问到。4).出错处理需求——说明系统对环境错误应该怎样响应。5).接口需求——描述应用系统与它的环境通信格式。6).约束——在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7).逆向需求——说明软件系统不应该做什么。8).将来可能提出的要求——应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2、分析系统的数据要求。 3、导出系统的逻辑模型。 4、修正系统开发计划。 八、典型的总体设计过程包括哪些步骤?p92 答:典型的总体设计过程包括九个步骤: 1)、设想供选择的方案;2)、选取合理的方案;3)、推荐最佳方案;4)、功能分解;5)、设计软件结构;6)、设计数据库;7)、制定测试计划;8)、书写文档;9)审查和复查。 九、总体设计的主要任务是什么?总体设计的主要过程有哪些?p91 答:主要任务: 总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要的任务是设计软件的结构,也就是要确定系统中每个程序是由哪个模块组成,以及这些模块相互间的关系。 主要过程: ①寻找实现目标系统的各种不同的方案。②从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。③进行成本/效益分析,并且制定实现这个方案的进度计划。从中选出一个最佳方案。④进一步为这个最佳方案设计软件结构。⑤进行必要的数据库设计,确定测试要求并且制定测试计划。 十、何谓耦合?有哪些类型?软件设计应该取哪种类型?p97 答:耦合是对一个软件结构内不同模块之间互连程度的度量。 类型:数据藕合、控制藕合、公共环境藕合、内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 十一、何谓内聚?有哪些类型?软件设计应该取哪种类型?p98 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

软件工程考试试题(含答案)

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件工程试题与答案

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。

三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终 可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一。(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法。(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三 种基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作。(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分)

软件工程试题及答案

软件工程 一、选择题 1、软件需求规格说明的内容不包括(B) A、主要功能 B、算法的详细描述 C、用户界面及运行环境 D、软件的性能 2、面向对象的分析方法主要是建立三类模型,即(D) A、系统模型、ER模型、应用模型 B、对象模型、动态模型、应用模型 C、ER模型、对象模型、功能模型 D、对象模型、动态模型、功能模型 3、在ER模型中,包括以下基本成分(C) A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、操作 4、各种软件维护的类型中最重要的是(A) A、完善性维护 B、纠错性维护 C、适应性维护 D、预防性维护 5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-2.0,2.0],现从输入的角度考虑一组测试用列-2.001,-2,20,2.001,设计这组测试用列的方法是(C) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 6、下列白盒测试法,哪种是最强的覆盖准则(D) A、语句覆盖 B、条件覆盖 C、判定覆盖 D、条件组合覆盖 7、确定测试计划是在(A)阶段制定的。 A、总体设计 B、详细设计 C、编码 D、测试 8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C) A、数据库设计 B、数据通信 C、数据定义 D、数据维护 9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D) A、生成期 B、软件意向 C、结构化程序设计 D、面向对象分析 10、以下不属于IT企业当中过程管理和过程改进模型的是(D) A、ISO9001 B、CMMI C、软件企业文化 D、UML 11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java) 12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。 A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。 A、需求分析 B、概要设计 C、详细设计 D、软件维护 14、PDL属于(B)语言。 A、高级程序设计语言 B、伪码 C、中级程序设计语言 D、低级程序设计语言 15、成功的测试是(发现至今尚未发现的错误) 16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法?)(B)。 A、构建化方法 B、结构化方法 C、面向对象方法 D、快速原型方法 17、软件结构图的形态特征能反应程序重用率的是(C) A、深度 B、宽度 C、扇入 D、扇出 18、维护过程的本质是(D)的过程。 A、修改程序 B、修改文档 C、修改位置 D、压缩的修改软件定义和开发 19、软件危机的表现: 答:由于软件特点和长期以来一直没有发明一种高校的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:

相关文档
相关文档 最新文档