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

软件工程复习题及答案

软件工程复习题及答案

1. 软件工程的三要素是()。

A. 技术、方法和工具

B. 方法、对象和类

C. 方法、工具和过程(正确答案)

D. 过程、模型、方法

2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。

A. 软件工程材料(正确答案)

B. 软件工程目标

C. 软件工程原理

D. 软件工程过程

3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A. 软件生命周期

B. 软件测试

C. 软件工程(正确答案)

D. 软件过程

4. 下列说法中正确的是()。

A. 20世纪50年代提出了软件工程的概念

B. 20世纪60年代提出了软件工程概念(正确答案)

C. 20世纪70年代出现了客户机/服务器技术

D. 20世纪80年代软件工程学科达到成熟

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. ER分析

D. 2NF分析

12. 进行需求分析可使用多种工具,但()是不适用的。

A. 数据流图

B. PAD图(正确答案)

C. 状态转换图

D. 数据词典

13. 下述任务中,不属于软件工程需求分析阶段的是()。

A. 分析软件系统的数据要求

B. 确定软件系统的功能需求

C. 确定软件系统的性能要求

D. 确定软件系统的运行平台(正确答案)

14. 需求分析的主要方法有()。

A. 形式化分析方法

B. PAD图描述

C. 结构化分析SA方法(正确答案)

D. 程序流程图

15. 需求分析的主要描述手段有()。

A. 系统流程图和模块图

B. DFD图、数据词典、加工说明(正确答案)

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

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

16. 在ER图中,包含以下基本成分()。

A. 数据、对象、实体

B. 控制、关系、对象

C. 实体、关系、控制

D. 实体、属性、关系(正确答案)

17. 软件需求规格说明书的内容不应该包括()。

A. 对重要功能的描述

B. 对算法的详细过程描述(正确答案)

C. 对数据的要求

D. 软件的性能

18. 面向数据流的软件设计方法可将()映射成软件结构。

A. 控制结构

B. 模块

C. 数据流(正确答案)

D. 事物流

19. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是()。

A. 模块间的联系程度

B. 信息隐藏程度

C. 模块的功能强度(正确答案)

D. 接口的复杂程度

20. Jackson方法根据()来导出程序结构。

A. 数据流图

B. 数据间的控制结构

C. 数据结构(正确答案)

D. IPO图

21. 为了提高模块的独立性,模块之间最好是()。

A. 公共环境耦合

B. 控制耦合

C. 数据耦合(正确答案)

D. 特征耦合

22. 在面向数据流的软件设计方法中,一般将信息流分为()。

A. 数据流和控制流

B. 变换流和控制流

C. 事务流和控制流

D. 变换流和事务流(正确答案)

23. 软件实现是软件产品由概念到实体的一个关键过程,它将()的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。虽然软件的质量取决于软件设计,但是规范的程序设计风格将会对后期的软件维护带来不可忽视的影响。

A. 软件设计(正确答案)

B. 详细设计

C. 架构设计

D. 总体设计

24. ()是一种纯面向对象语言。

A. Gantt

B.C++(正确答案)

C. Eiffel

D. LISP

25. 软件测试的目的是()。

A. 证明软件是正确的

B. 发现软件的错误(正确答案)

C. 找出软件中的所有错误

D. 评价软件的质量

26. 白盒法又称为逻辑覆盖法,主要用于()。

A. 确认测试

B. 系统测试

C. α测试

D. 单元测试(正确答案)

27. 以下哪种测试方法不属于白盒测试技术()。

A. 基本路径测试

B. 边界值分析测试(正确答案)

C. 循环覆盖测试

D. 条件测试

28. 成功的测试是指运行测试用例后()。

A. 发现了程序错误(正确答案)

B. 未发现程序错误

C. 证明程序正确

D. 改正了程序错误

29. 白盒测试法是根据程序的()来设计测试用例的方法。

A. 输出数据

B. 内部逻辑(正确答案)

C. 功能

D. 输入数据

30. 软件的集成测试工作最好由()承担,以提高集成测试的效果。

A. 该软件的设计人员

B. 该软件开发组的负责人

C. 不属于该软件开发组的软件设计人员(正确答案)

D. 该软件的编程人员

31. 黑盒测试是从()观点的测试,白盒测试是从( )观点的测试。

A. 开发人员、管理人员

B. 用户、管理人员

C. 用户、开发人员(正确答案)

D. 开发人员、用户

32. 软件测试可能发现软件中的(),但不能证明软件( )。

A. 所有错误、没有错误

B. 设计错误、没有错误

C. 逻辑错误、没有错误

D. 错误、没有错误(正确答案)

34. 使用白盒测试方法时确定测试数据应根据()和指定的覆盖标准。

A. 程序的内部逻辑(正确答案)

B. 程序的复杂程度

C. 程序的难易程度

D. 程序的功能

35. 黑盒测试方法根据()设计测试用例。

A. 程序的调用规则

B. 软件要完成的功能(正确答案)

C. 模块间的逻辑关系

D. 程序的数据结构

36. 在软件测试中,逻辑覆盖标准主要用于()。

A. 白盒测试方法(正确答案)

B. 黑盒测试方法

C. 灰盒测试方法

D. 回归测试方法

37. 集成测试的主要方法有两个,一个是()一个是( )。

A. 白盒测试方法、黑盒测试方法

B. 等价类划分方法、边缘值分析方法

C. 渐增式测试方法、非渐增式测试方法(正确答案)

D. 因果图方法、错误推测方法

38. 软件测试的目的是尽可能发现软件中的错误,通常()是代码编写阶段可进行的测试,它是整个测试工作的基础。

A. 集成测试

B. 系统测试

C. 验收测试

D. 单元测试(正确答案)

39. 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。

A. 系统功能(正确答案)

B. 局部数据结构

C. 重要的执行路径

D. 错误处理

15. 软件维护的副作用,是指()。

A. 运行时误操作

B. 隐含的错误

C. 因修改软件而造成的错误(正确答案)

D. 开发时的错误

40. 影响软件可维护性的主要因素不包括()。

A. 可修改性

B. 可测试性

C. 可用性(正确答案)

D. 可理解性

41. 面向对象技术中,对象是类的实例。对象有三种成份:()、属性和方法(或操作)。

A. 标识(正确答案)

B. 继承

C. 封装

D. 消息

42. 以下哪一项不是面向对象的特征?()

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. 信息

D. 继承

51. UML是软件开发中的一个重要工具,它主要应用于()。

A. 基于螺旋模型的结构化方法

B. 基于需求动态定义的原型化方法

C. 基于数据的数据流开发方法

D. 基于对象的面向对象的方法(正确答案)

52. ()是从用户使用系统的角度描述系统功能的图形表达方法。

A. 类图

B. 活动图

C. 用例图(正确答案)

D. 状态图

53. ()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

A. 类图

B. 顺序图(正确答案)

C. 状态图

D. 协作图

54. 面向对象分析的首要工作是建立()。

A. 系统的动态模型

B. 系统的功能模型

C. 基本的ER图

D. 问题的对象模型(正确答案)

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

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

B. 对象模型、动态模型、功能模型(正确答案)

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

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

56. 面向对象分析阶段建立的3个模型中,核心的模型是()模型。

A. 功能

B. 动态

C. 对象(正确答案)

D. 分析

57. 面向对象的动态模型中,每张状态图表示()的动态行为。

A. 某一个类(正确答案)

B. 有关联的若干个类

C. 一系列事件

D. 一系列状态

58. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是()。

A. 顺序图

B. 状态图(正确答案)

C. 系统结构图

D. 数据流图

59. 对象模型的描述工具是()。

A. 状态图

B. 数据流图

D. 对象图(正确答案)

60. 功能模型中所有的()往往形成一个层次结构,在这个层次结构中一个数据流图的过程可以由下一层数据流图做进一步的说明。

A. 事件追踪图

B. 物理模型图

C. 状态迁移图

D. 数据流图(正确答案)

61. 面向对象设计阶段的主要任务是系统设计和()。

A. 结构化设计

B. 数据设计

C. 面向对象程序设计

D. 对象设计(正确答案)

62. 只有类的共有界面的成员才能成为使用类的操作,这是软件设计的()原则。

A. 过程抽象

B. 信息隐藏(正确答案)

C. 功能抽象

D. 共享性

63. ()是表达系统类及其相互联系的图示,它是面向对象设计的核心,是建立状态图、协作图和其他图的基础。

A. 部署图

B. 类图(正确答案)

C. 组件图

D. 配置图

64. 下面所列的性质中,()不属于面向对象设计的特性。

A. 继承性

B. 重用性

D. 可视化(正确答案)

65. 下列是面向对象设计方法中有关对象的叙述,其中()是正确的。

A. 对象在内存中没有它的存储区

B. 对象的属性集合是它的特征表示(正确答案)

C. 对象的定义与程序中类型概念相当

D. 对象之间不能相互通信

13. 面向对象设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这一特点称为类的()。

A. 多态性

B. 封装性

C. 继承性(正确答案)

D. 重用性

66. 面向对象的实现主要包括()。

A. 把面向对象设计用某种程序设计语言书写为面向对象程序,测试并调试面向对象的程序(正确答案)

B. 面向对象设计

C. 选择面向对象语言

D. 单元测试

67. 面向对象程序设计语言不同于其他语言的最主要特点是()。

A. 模块性

B. 抽象性

C. 继承性(正确答案)

D. 内聚性

68. 面向对象的测试与传统测试方法的主要区别是()。

A. 面向对象的测试可在编码前进行,传统测试方法在编码后进行

B. 面向对象的测试以需求和设计阶段的测试为主,不需要进行代码测试

C. 测试对象不同(正确答案)

D. 面向对象的测试不需要设计测试用例,只需要进行会议评审

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

一、填空题 1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个 入口和一个出口。 2.程序的三种基本控制结构的共同特点是。(单入口单出口) 3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构) 4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。 5.计算机程序及其说明程序的各种文档称为。(软件) 6.软件是、和(程序、数据、相关文档)的完整集合。 7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。 8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文 档)的编制是很重要的。 9.软件工程方法学有3大要素、工具、。(方法、过程) 10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。 11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。(软件应当做什么) 12.软件开发活动的顺序是_________。(问题定义、可行性研究、需求分析、设计、编码和测试) 13.软件需求分析的任务包括_________。(问题分析、信息域分析、确定程序结构) 14.最早提出软件系统维护问题的阶段是_________。(需求分析) 15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。 16.“软件危机”是指________ 。(软件开发和维护中出现的一系列问题) 17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。 18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产 生的。 19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。 20.瀑布模型本质上是一种________ 模型。(线性顺序) 21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发 方法。 22.瀑布模型的主要特点是_________。(将软件生命周期个阶段依线性顺序连接、用文档驱动的模型) 23.增量模型根据增量方式和形式的不同,分为_____(渐增式增量模型)和原型模型。 24.从目前情况来看,增量模型存在的主要问题是(缺乏丰富而强有力的软件工具和开发环境) 25.可行性研究的目的是______。(确定系统是否值得开发) 26.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 _________。(8%) 27.可行性研究从技术可行性、经济可行性、________、_________(社会因素、软件开发风险分析)四方 面进行分析。 28.数据字典是用来定义_________中的各个成份的具体含义的。(数据流程图) 29.结构化程序设计的一种基本方法是_________。(逐步求精法) 30.结构化分析方法式一种面向(数据流)的开发方法。 31.结构化程序设计,主要强调的是______。(程序的可理解性)

《软件工程》11套考试复习练习试题、作业题[含答案解析]

作业1: 1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。供选择的答案: A~C. ①软件②程序③代码④硬件 ⑤文档⑥外设⑦数据⑧图表 2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。 供选择的答案: A.①程序开发环境②操作系统的资源管理功能 ③程序人员数量④计算机的并行处理能力 B.①需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计 ⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计 3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。 有人将软件的发展过程划分为4个阶段: 第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。 第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。 第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。 第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。 供选择的答案: A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言 ⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计 E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计 ⑤需求定义⑥图象处理 4. 软件工程过程有哪几个基本过程活动?试说明之。 5. 试说明“软件生存周期”的概念。 6. 试论述瀑布模型软件开发方法的基本过程。 7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。 8. 软件工程学的基本原则有哪些?试说明之。 9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

《软件工程》期末复习题及答案

《软件工程》期末复习题及答案 1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是 A.系统建模 B.软件开发 C.问题求解 D.验证确认 3.结构化分析方法给出了一种能表达功能模型的工具是()。 A.HIP0图 B.PAD图 C.N-S图 D.DFD图 7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。 A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类 10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。 A.继承 B.多态 C.消息 D.封装 11.分层DFD中父子平衡是指()。 A.父加工的数据流数目与子图中数据流数目相同 B.父图应包含子图中的全部数据流 C.子图应包含父图中的全部数据流 D.父加工和子图的输入数据和输出数据应分别保持一致 2.在建模过程中,可用以描述加工的工具是()。 A.数据流 B.判定树 C.数据字典 D.数据存储 13.以下软件生存周期的活动中,要进行软件结构设计的是()。 A.测试用例设计 B.概要设计C.程序设计 D.详细设计 16.CMMI 成熟度等级中的第四级为()。 A.已定义级 B.已定量管理级 C.持续优化级 D.已重复 17.以下选项中,最适合于用交互式计算机软件解决的问题是()。 A.非结构化决策问题 B.半结构化决策问题 C.结构化决策问题 D.确定性问题 18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。不是系统测试的内容()。 A.路径测试 B.可靠性测试 C.安装测试 D.安全测试 19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。 A.Gantt图B.PERT网图 C.因果分析图 D.流程图 20.选择软件开发工具时,应考虑功能、( )、稳健性、硬件要求和性能、服务和支持。

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

软件工程复习题(带答案) 软件工程复习题 一、单选题 1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D ) A产生危机 B质量保证 C开发效率 D生产工程化 3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究 的结论主要相关于( A ) A软件系统目标 B软件的性能 C软件的功能 D软件的质量 4、软件需求分析一般应确定的是用户对软件的( D ) A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试 计划的制订应始于软件开发的哪个阶段? ( D ) A.需求分析 B.软件设计 C.程序编码 D.软件计划 6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B ) A.原型化方法

B.结构化方法 C.面向对象方法. D.功能分解法 7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A ) A.软件模型 B.软件功能 C.软件结构 D.软件加工 8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不 属于开发技术的范畴?(D) A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依 据,而且也影响软件的() A.可理解性 B.可维护性 C.可扩展性 D.可靠性 10、从( )语言开始,软件摆脱了对硬件的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( ) A.实体

软件工程复习试题及答案

一、填空题在下划线上填写正确的答案,每题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.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面 研究; 2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构; 3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段; 4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求 ; 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程 ; 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动进行查找的编码执行活动; 9.为了获得较高的模块独立性,尽量设计出具有低耦合和高内聚性能的模块;

软件工程复习题及答案

软件工程复习题及答案 1. 软件工程的三要素是()。 A. 技术、方法和工具 B. 方法、对象和类 C. 方法、工具和过程(正确答案) D. 过程、模型、方法 2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。 A. 软件工程材料(正确答案) B. 软件工程目标 C. 软件工程原理 D. 软件工程过程 3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A. 软件生命周期 B. 软件测试 C. 软件工程(正确答案) D. 软件过程 4. 下列说法中正确的是()。 A. 20世纪50年代提出了软件工程的概念 B. 20世纪60年代提出了软件工程概念(正确答案) C. 20世纪70年代出现了客户机/服务器技术 D. 20世纪80年代软件工程学科达到成熟 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. 程序设计

软件工程 复习题含答案

1. 构成软件项目的最终产品有哪些? 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 2.可行性研究目的? 确定在问题定义中所提出的问题是否值得去解,在限制条件下,问题能否解决。 3.可行性研究包括哪几方面的内容? (1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足; (2)经济可行性:经济效益是否超出开发成本; (3)操作可行性:系统操作在用户内部行得通吗? (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。 4.需求分析的描述工具有哪些? 有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等。 5. 需求分析的基本任务是什么? 准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。 6.软件需求规格说明书由哪些部分组成? 组成包括:

(1) 引言:编写目的、背景说明、术语定义及参考资料等。 (2) 概述主要功能、约束条件或特殊需求。 (3) 数据流图与数据字典。 (4) 用户接口、硬件接口及软件接口。 (5) 性能需求、属性等。 (6) 其它需求,如数据库、操作及故障处理等。 7.系统流程图与数据流程图有什么区别? 系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。 系统流程图从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况。数据流程图从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的工作状况。 8.数据字典包括哪些内容?它的作用是什么? 数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。对用户来讲,数据字典为他们提供了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较容易修改已建立的系统逻辑模型。 9. 软件工程的目标 是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

软件工程复习题及答案

软件工程复习题及答案 选择题 1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 2.软件维护产生的副作用,是指( C ) A.开发时的错误 B.隐含的错误 C.因修改软件而带来的错误 D.运行时误操作 3.软件详细设计的主要任务是确定每个模块的( A ) A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 4.为了提高模块的独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 5.软件是一种( C ) A.程序 B.数据 C.逻辑产品 D.物理产品 6.下列那个模型不是面向对象的分析中建立的模型( B ) A.对象模型 B.瀑布模型 C.动态模型

D.功能模型 7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 A.集成测试 B.恢复测试 C.验收测试 D.单元测试 8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 9.程序的三种基本控制结构是( B ) A.过程、子过程和分过程 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.软件生存周期中时间最长的是( D )阶段 A.总体设计 B.需求分析 C.软件测试 D.软件维护 11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要 的。 A.需求说明 B.概要设计 C.软件文档 D.测试计划 12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。

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

软件工程课程复习资料 一、单项选择题: 1.下面哪些UML图描述系统行为 A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 是软件开发方法是系统描述语言 是软件开发过程 5.根据程序流程图划分的模块通常是 A.信息内聚的模块 B.过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为 +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.软件项目管理人员 图反映不出 A.系统做什么 B.系统功能由谁做 C.系统如何做 16.原型模型是一种什么开发过程模型 A.自顶向上 B.由外至内 C.增量式 17.系统流程图描述 A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型是 A.瀑布模型模型 C.原型模型 图中描述系统结构的是 A.组件图 B.顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法 A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的是 A.可靠性 B.可用性 C.可行性 23.系统分析员在需求分析最后负责编写 A.用户手册 B.概要设计说明书 C.可行性研究报告 24.为了提高软件的可靠性、可维护性等而对软件的修改称为 A.改正性维护 B.适应性维护 C.预防性维护 25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构 A.与问题结构对应 B.与问题结构独立 C.与用户界面对应 26.单元测试的计划应该在什么阶段完成 A.需求分析 B.概要设计 C.详细设计 27.下列属面向对象软件开发方法的是

软件工程复习题及答案

二、填空题 1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。 3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__内聚性_____。 5.数据流图(DFD)一般可分为变换型和__事务性_____两类。 6.软件维护的内容包括校正性维护、适应性维护、__完善性维护__和预防性维护。 7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。 9.状态图反映了_事件与状态____的关系。 10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。11.组成软件的两个部分是:____程序和文档________。 14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。15.Jackson方法是一种面向___数据结构_____的开发方法。 16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。 17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。 19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。 22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。 23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。 24.数据流图描绘数据在系统中___流动和处理___的过程。 25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。 26.软件详细设计阶段常采用的工具有图、表和____语言_______。 28.实现容错技术的主要手段是__冗余_____。 29.软件开发环境的目标是提高软件开发的生产率和__降低软件的费用__。 32.软件工程管理中的控制包括进度控制、人员控制、经费控制和_____质量控制______。33.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_演化型原型34.软件复杂性主要表现在程序的复杂性。程序的复杂性主要指___模块内___程序的复杂性。35.白盒法中,__基本路径测试_______首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。 36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是__PAD图。37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是__控制耦合______。 38.结构化分析是面向__数据流_____进行需求分析的方法。

软件工程复习题及答案

一、单项选择题 1.软件可行性研究实质上是要进行一次需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 2.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 3.可行性分析中,系统流程图用于描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 4.结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 5.检查软件产品是否符合需求定义的过程称为。 A.确认测试 B.集成测试 C.系统测试 D.单元测试 6.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 7.通信内聚是指。 A.把需要同时执行的动作组合在一起形成的模块 B.各处理使用相同的输入数据或者产生相同的输出数据 C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D.模块内所有元素共同完成一个功能,缺一不可 8.一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 9.下述四个能力成熟度等级,级别最高的是。 A.已定义级 B.优化级 C.可重复级 D.已管理级 10.结构化程序设计,主要强调的是。 A.程序的执行效率 B.模块大小 C.程序的可理解性 D.模块关系 11.软件调试技术包括。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 12.需求分析中开发人员要从用户那里了解。 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 13.数据字典是对数据定义信息的集合,它所定义的对象都包含于。

软件工程练习题目及答案

软件工程练习题目及答案 软件工程练习题目及答案 1·题目1:需求分析 题目描述:假设你被委派为一个团队的需求分析师,你的任务 是通过与客户的沟通和分析,获取软件系统的需求。 答案:首先,我们需要与客户进行会议,了解其对系统的基本 要求和功能需求。然后,我们可以使用需求获取的各种技术和工具,如面谈、问卷调查、文档分析等,来确保我们获取到了准确和完整 的需求。在获取需求的过程中,我们需要考虑到客户的优先级和实 际可行性,并进行合理的权衡和讨论。 2·题目2:设计 题目描述:在完成需求分析后,你需要设计软件系统的架构和 模块划分。 答案:首先,我们需要了解系统的功能和需求,并根据其复杂 度和规模确定合适的架构类型,比如分层架构、客户-服务器架构等。然后,我们可以使用各种设计工具和技术,如UML图、流程图等来 进行系统设计。在设计过程中,我们需要考虑到软件的可重用性、 可扩展性和易用性等方面,并进行适当的优化和调整。 3·题目3:编码

题目描述:根据设计阶段的要求,你需要实现软件系统的具体 功能和模块。 答案:在编码阶段,我们需要使用合适的编程语言和开发工具 来实现软件系统的功能和模块。在编码过程中,我们需要遵循相应 的编码规范和最佳实践,以确保代码的可读性和可维护性。此外, 我们还应该进行适当的单元测试和集成测试,以验证代码的正确性 和稳定性。 4·题目4:测试 题目描述:在完成编码后,你需要进行测试,以确保软件系统 的质量和稳定性。 答案:在测试阶段,我们需要使用各种测试技术和工具,如白 盒测试、黑盒测试、性能测试等,对软件系统进行全面的测试。在 测试过程中,我们需要编写和执行测试用例,并记录和报告测试结果。在发现问题后,我们需要及时修复并重新进行测试,直到软件 系统达到预期的质量标准。 5·题目5:部署与维护 题目描述:在测试通过后,你需要将软件系统部署到生产环境,并进行系统的维护与支持。 答案:在部署阶段,我们需要将软件系统部署到目标环境,并 进行相应的配置和测试。在系统部署后,我们需要进行系统的维护

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

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案) 1. 什么是软件工程? 软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。 2. 软件开发生命周期有哪些阶段? 常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。 3. 什么是需求分析? 需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。 4. 需求分析的主要目标是什么? 需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。 5. 什么是软件设计?

软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。 6. 软件设计的原则有哪些? 常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。 7. 什么是软件测试? 软件测试是为了评估系统的质量和功能是否满足需求的过程。它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。 8. 软件测试的分类有哪些? 软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。 9. 什么是软件维护? 软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。维护包括错误修复、性能优化、功能扩展等。

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、不拟定的 18、可行性分析是在系统开发的初期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出什么样的回答。()

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

第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做

到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer 和Rational Rose等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。 2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。

软件工程复习题库带答案

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑口.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类D确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途D模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做“,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B模块的接口 C.数据的名称和用途D模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言. B有结构化语言和判定树 C有结构化语言、判定树和判定表D有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性B适应性 C完善性D预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

软件工程复习题及答案

软件工程复习题及答案 一、选择题 1. 面向对象的建模语言中,目前使用最广泛的是 ·························· ( ) A、统一建模语言 B、Jacobson C、Rumbaugh D、Yourdon 2. 某系统重用了第三方组件(但无法获得其源代码),则应采用( )对组件进行测试。 A.基本路径B.分支覆盖C.环路覆盖D.黑盒测试 3. 软件过程改进需要持续进行,每次改进要经历由4个步骤构成的循环( ) A、计划、评估、改进、监控 B、评估、计划、监控、改进 C、改进、评估、计划、监控 D、评估、计划、改进、监控 4. CMM是( )的缩写,该模型最早提出时指的是软件过程能力成熟度模型。 A、能力成熟度模型 B、软件工程研究所 C、硬件成熟度模型 D、软件成熟度模型 5. 软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。在划分软件系统模块时,应尽量做到 ······················································ ( )。A.高内聚高耦合B.低内聚高耦合C.高内聚低耦合D.低内聚低耦合 6. 以下属于黑盒测试的是························································· ( ) A、等价类划分 B、判定覆盖 C、条件覆盖 D、路径覆盖 7. 维护性度量的实施者不可能是················································ ( ) A、用户 B、测试和维护人员 C、开发人员 D、购买人员 8. 以下哪个不是项目管理人员要争取达到的目标 ·························· ( ) A、软件功能和性能要求 B、软件的时限要求 C、项目开销在预算内 D、软件的代码长度 9. 设有职工EMP(职工号,姓名,性别,部门号,职务),职务JOB(职务,月薪)和部门DEPT(部门号,部门名称,负责人)实体集。一个职务可以由多个职工担任,但一个职工只能担任一个职务,并属于一个部门,部门负责人是一个职工。 A. DEPT、EMP B. EMP、DEPT C. JOB、EMP D. EMP、JOB 10. 在模拟环境下,常采用黑盒测试检验所开发的软件是否与需求规格说明书一

软件工程复习重点答案

软件工程复习重点 一、选择题 1、软件工程三要素是指( B )P8 A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 2、瀑布模型本质上是一种( A )。P23 A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。P79 A、数据流 B、数据流图 C、数据库 D、数据结构 4、概要设计的任务是设计系统的( B物理模型)P70 A、逻辑模型 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扇出)P78 A、扇入数 B、扇出数 C、宽度 D、作用域 12、下列工具哪一个是需求分析阶段常用工具?( D ) A、PAD B、PFD C、N-S D、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、物理模式

相关主题
文本预览
相关文档 最新文档