软件工程期末考试试题及答案(详细、经典)

软件工程期末考试试题带答案

一、选择题

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 )。
A. 操作系统的资源管理功能
B. 先进的软件开发工具和环境
C.程序人员的数量
D.计算机的并行处理能力
17.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(B )。
A.软件投机
B.软件危机
C.软件工程
D软件产生
18.软件开发的结构化生命周期方法将软件生命周期划分成(A )
A.定义、开发、运行维护
B.设计阶段、编程阶段、测试阶段
C.总体设计、详细设计、编程调试
D.需求分析、功能定义、系统设计
19.软件工程的理论和技术性研究的容主要包括软件开发技术和 (B)。
A. 消除软件危机
B. 软件工程管理
C. 程序设计自动化
D. 实现软件可重用
20.软件工程的出现是由于(C)
A.程序设计方法学的影响
B.软件产业化的需要
C.软件危机的出现
D.计算机的发展
21. 在软件生命周期中,能准确地确定软件系统必须做什么和必须具 备哪
些功能的阶段是(D)。

A. 概要设计
B. 详细设计
C. 问题定义
D. 需求分析
22. 开发大型软件时,产生困难的根本原因是( A )。
A.大系统的复杂性
B.人员知识不足
C.客观世界千变万化
D.时间紧、任务重
23. 文档是软件开发人员、软件管理人员、维护人员、用户以及计算 机之间的(B),软件开发人员在各个阶段以文档作为前段工作 成果的体现和后段工作的基础。
A.接口
B.桥梁
C.科学
D.继续
24.软件工程学的目的是以 较低的成本,研制( A )质量的软件
A.较高
B.较低
C.可靠
D.优秀
25软件从一个计算机系统或环境转换到另一个计算机和环境的容易 程度称为(D)。
A.可用性
B.兼容性
C.可靠性
D.可移植性
26.软件生存周期是指(D)阶段。
A.软件开始使用到用户要求修改为止
B.软件开始使用到被淘汰为止
C.从开始编写程序到不能再使用为止
D.从立项制定计划,进行需求分析到不能再使用为止
27.软件工程学是应用科学理论和工程上的技术指导软件开发的学 科,其目的是(B)。
A.引入新技术提高空间利用率
B.用较少的投资获得高质量的软件
C.缩短研制周期扩大软件功能
D.硬软件结合使系统面向应用
28.软件可行性分析是着重确定系统的目标和规模。对成本 -效益进行发现应属于下列选项中的( A)。
A. 经济可行性
B.操作可行性
C.技术可行性
D.社会可行性
29在数据流图中,用圆或者椭圆来表示(B )。
A. 数据流
B.加工
C.数据存储
D.数据源点或终点
30.需求分析阶段的任务是确定( C )。
A. 软件开发方法
B. 软件开发费用
C软件系统功能
D.软件开发工具
31.(D)的目的就是用最小的代价在尽可能短的时间确定该软件 项目是否能够开发,是否值得去开发。
A.需求分析
B.概要设计
C.总体设计
D.可行性研究
32.下列选项中( D )不是软件需求规格目标。
A.便于用户、分析员和软件设计人员进行理解及交流
B.控制系统的实施过程
C.作为软件测试和验收以及维护的依据
D.便于软件的维护
33.下面描述中,不符合结构化程序设计风格的是(B )。
A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制 逻辑
B.模块只有一个入口,可以有多个出口
C.注重提咼程序的执行效率
D.不使用goto语句
24. 下列工具中属于需求分析常用工具的是( D )。
A. PAD
B.PFD
C.N-S
D.DFD
25. 在数据流图(DFD)中,带有名字的箭头表示( C )。
A. 控制程序的执行顺序
B. 模块之间的调用关系
C.数据的流向
D.程序的组成成分
26. 在软件生产过程中,需求信息的给出是( D )。
A.程序员
B.项目管理者
C.软件分析设计人员
D.软件用户
37.下列叙述中,不属于结构化分析方法的是( C)。
A. 面向数据流的结构化分析方法
B. 面向数据结构的结构化数据系统开发方法
C.面向对象的分析方法
38.结构设计是一种应用最广泛的系统设计方法,是以(B )为基 础、自
顶向下、逐步求精和模块化的过程。

A.数据流
B.数据流图
C.数据库
D.数据结构
39.需求分析是由分析员经了解用户的要求,认真细致地调研、分析, 最
终应建立目标系统的逻辑模型并写出(B )。

A.模块说明书
B.软件规格说明书
C.项目开发计划
D.合同文档
27. 结构化分析方法以数据流图、(D)和加工说明等描述工具,即 用直
观的图和简洁的语言来描述软件系统模型。

A.DFD图
B.PAD图
C.IPO图
D.数据字典
28. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是 (A)
A.数据定义
B.数据维护
C.数据通讯
D.数据库设计
29. 以下(A )不是详细设计中常用的图形描述工具。
A.数据流图
B程序流图
C.盒图(N-S)
D.问题分析图(PAD)
30. 在结构图的有关术语中,用于表示软件结构中控制的层数的是 (C)
A.扇入
B.扇出
C.深度
D.宽度
31. 模块的独立程度是评价设计好坏的重要标准。(A )是衡量软 件的
模块独立性的两个定性度量标准。

A.耦合性和聚性
B.聚性和可靠性
C.耦合性和独立性
D.可靠性和独立性
32. 软件设计包括( B )两个阶段。
A.接口设计和结构设计
B.概要设计和详细设计
C. 数据设计和概要设计
D.结构设计和过程设计
46.在详细设计阶段,经常采用的工具是(A )。
A.PAD
B.SA
C.SC
D.DFD
33. 在软件开发中,下面任务不属于设计阶段的是(D )。
A.数据结构设计
B.给出系统模块结构
C.定义模块算法
D.定义需求并建立系统模型
34. 对建立良好的程序设计风格,下面描述正确的是( A)。
A.程序应简单、清晰、可读性好
B.符号名的命名要符合语法
C.充分考虑程序的执行效率
D程序的注释可有可无
35. 下面不属于软件设计原则的是(C )。
A.抽象
B.模块化
C.自底向上
D.信息隐蔽
36. 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来 代替传统的程序流程图,通常也把这种图称为( C )。
A PAD图
B.N-S图
C.结构图
D.数据流图
51.软件测试按照功能划分可以分为(B )
A.黑盒测试和单元测试
B.白盒测试和黑盒测试
C.集成测试和单元测试
D.白盒测试和静态测试
52.在软件测试过程的4个步骤中,测试依据是需求规格说明的是(C)
A.单元测试
B.集成测试
C.确认测试
D.系统测试
53.黑盒测试法属于(C)
A.集成测试
B.系统测试
C.动态测试
D.静态测试
54.下列叙述中错误的是(C )
A.测试是为了寻找错误而运行程序的过程
B.一个成功的测试是揭示了迄今为止尚未发现的错误的测试
C.测试的目的是为了证明程序是正确的
D .一个好的测试用例是指很可能找到迄今为止尚未发现的错误 的测试
55.软件测试过程是软件开发过程的逆过程,其最基础性的测试应是( B )
A.集成测试
B.单元测试
C.有效性测试
D.系统测试
56. 程序的三种基本控制结构是(B )°
A.过程、子程序和分程序
B.顺序、选择和重复
C. 递归、迭代和回溯
D.调用、返回和转移
57. 面向对象的分析方法主要是建立三类模型,即( D )。
A)系统模型、ER模型、应用模型
B)对象模型、动态模型、应用模型
C) - 模型、对象模型、功能模型 E R
D)对象模型、动态模型、功能模型
58. 在E-R模型中,包含(C )以下基本成分
A)数据、对象、实体
B) 控制、联系、对象
C) 实体、联系、属性
D)实体、属性、操作
59 .软件测试的目标是(A)。
A.证明软件是正确的
B.发现错误、降低错误带来的 风险
C. 排除软件中所有的错误
D.与软件调试相同
60. 软件生命周期中所花费用最多的阶段是( D )
A.详细设计
B.软件编码
C.软件测试
D.软件维护
61. 在数据流图中圆或椭圆表示 (1)A ,平行线表示 ⑵ D
(1)
A、加工
B、外部实体
C、数据流
D、存储
(2)
A、加工
B、外部实体
C、数据流
D、存储
62. 瀑布模型(Waterfall Model )突出的缺点是不适应(D )的变动。
A、算法
B、平台
C、程序语言
D、用户需求
63 .结构化分析方法(SA)的一个重要指导思想是(C)
A. 自顶向下,逐步抽象
B. 自底向上,逐步抽象
C. 自顶向下,逐步分解
D. 自底向上,逐步分解
64.模块的控制围包括它本身及它所有的从属模块, 模块的作用围是 指模块一个判定的作用围,凡是受到这个判定影响的所有模块都属于 这个判定的作用围,理想的情况是(A)
A. 模块的作用围应在控制围之
B. 模块的控制围应在作用围之
C. 模块的作用围与控制围交叉
D. 模块的作用围与控制围分离
65.关于模块设计的原则,以下叙述中正确的是( B)
A. 模块的聚性高,模块之间的耦合度高
B. 模块的聚性高,模块之间的耦合度低
C. 模块的聚性低,模块之间的耦合度高
D. 模块的聚性低,模块之间的耦合度低
66.软件的用户界面作为人机接口起着越来越重要的作用, 用户界面 的(D)是用户界面设计中最重要的也是最基本的目标。
A.灵活性 B.风格多样性
C.美观性 D.易操作性
67.原型化方法是一种动态定义需求的方法,(D)不具有原型化方法 的特征。
A. 简化项目管理
B. 尽快建立初步需求
C. 加强用户参与和决策
D. 提供严格定义的文档
68.数据流图包含的成分有(B)
A.关系、实体和属性
B.数据流、加工和数据存储
C. 数据流、数据源和数据实体
D. 数据流、属性、数据存储和加工

69.如果用户对系统的目标不是很清楚,需求难以定义,这时最好使
用(A)进行系统开发。

A.原型
B.瀑布模型
C.V-模型
D.螺旋模型
70.在软件开发的各个阶段中,对软件开发成败影响最大的是 (A)
A.需求分析
B.概要设计
C.详细设计
D.编码
71. 模块聚度用于衡量模块部各成分之间彼此结合的紧密程度。
1) 一组语句在程序的多处出现,为了节省存空间把这些语句放在 一个模块中,该模块的聚度是 __A__的。
2) 将几个逻辑上相似的成分放在一个模块中,该模块的聚度是 __B__的。
3) 模块中所有成分引用共同的数据,该模块的聚度是 __C__的。
4) 模块的某成分的输出是另一些成分的输入,该模块的聚度是 D
的。
5) 模块中所有成分结合起来完成一项任务,该模块的聚度是-E-的。
它具有简明的外部界面,由它构成的软件易于理解、测试和维护。
A5B7C3D2E1
供选择的答案
A〜E:①功能性②顺序性③通信性④过程性⑤偶然性⑥瞬时性 ⑦逻辑性
72. 软件设计中划分模块的一个准则是(3)。两个模块之间的耦合方 式
中,(4)耦合的耦合度最高,(2)耦合的耦合度最低。一个模块部 的聚
种类中(3)聚的聚度最高,(1)聚的聚度最低。
两个模块之间的耦合方式通常可分为 7种,按其耦合度从低到高的次序依此为: 非直接耦合、 数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、容耦合。 供选择
聚度从低到高的次序依此为:偶然聚、逻辑聚、瞬时聚、过程聚、通信聚、顺序聚、功能聚的答案
A:①低聚低耦合
②低聚高耦合
③咼聚低耦合
④咼聚咼耦合
B:①数据②非直接③控制④容
C:①数据②非直接③控制④容
D:①偶然②逻辑 ③功能④过程
E:①偶然②逻辑 ③功能④过程
1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ),
A .详细计划
B .可行性分析
C .运行阶段
D.测试与排错
74.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )
A .需求分析阶段
B .详细设计阶段
C.概要设计阶段
D .可行性研究阶段,
**75.软件工程的出现主要是由于(C ) **
A.程序设计方法学的影响
B.其它工程科学的影响
C.软件危机的出现
D.计算机的发展,
76.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)
A.硬件环境
B.软件开发的环境
C.软件开发工具和软件开发的环境
D.开发人员的素质
77.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)
A.相互排斥
B.相互补充
C.独立使用
D.交替使用
78.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)
A.基于瀑布模型的结构化方法
B.基于需求动态定义的原型化方法
C.基于对象的面向对象的方法
D.基于数据的数据流开发方法
79.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)
A.结构化方法
B.原型化方法
C.面向对象的方法
D.控制流方法
80.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)
A.控制流
B.数据流
C.程序流
D.指令流
81.软件开发的结构化生命周期方法将软件生命周期划分成(A)
A.计划阶段.开发阶段.运行阶段
B.计划阶段.编程阶段.测试阶段
C.总体设计.详细设计.编程调试
D.需求分析.功能定义.系统设计
82.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)
A.分析阶段
B.设计阶段
C.编码阶段
D.测试阶段

二、填空

1、 黑盒测试又称为功能测试数据驱动测试或基于规格说明的测 试,白
盒测试也称为/吉构测试或逻辑驱动测试
2、 如果用户对系统的目标不是很清楚,需求难以定义,这时最好使
用原型模型进行系统开发。
3、 在软件开发的各个阶段中,对软件开发成败影响最大的是 需求分 析
—阶段。
4、 研究可行性从 技术可行性,经济可行性,操作可行性 可行性进
行研究。
5、 结构化方法的指导思想是 自顶向下,逐步分解
6、 在软件开发的各个阶段中,软件维护 阶段成为软件的二次开发。
7、 类是指具有相同数据结构和相同操作的 对象 的集合。
8、 数据流程图按照信息流的类型主要分为事务流和变换流 两种。
9 、软件危机是指在计算机软件开发和维护过程中 所遇到的一系列严重问题
10、 ________ 阶段是解决目标系统做什么的问题, ___________ 阶段
是解决目标系统怎么做的问题。
11、 ^聚是度量一个模块的各个元素彼此结合的紧密程度,它是信 息隐
藏概念的自然扩展。
12. 面向对象的三个子模型分别是对象模型、动态模型和功能模型
13. ____________________ 结构化设计简称 _______ 分为 和
14 .软件工程方法学的三要素是 方法 工具 过程
15 .软件设计的准则是 ________ 、 _________ 、 _____ 和 __________
16.JACKSON方法是面向 面向数据结构 的设计方法,它有 _______ 种
逻辑结构
17 .软件过程模型中 ______ 模型是描述用户的动态需求的, ______ 模型是带有风险驱动的
18.结构化设计方法是面向 过程 的设计方法
19 .传统的软件工程方法学采用 结构化分析技术 完成系统分析工 作的
20 .模块的独立性要求高聚低耦合
21.在软件测试的步骤中, 单元 测试是检验每个模块能否单独工作
22•调试是是在测试发现错误之后 (排除错误)纠错 的过程
23•成本/效益分析是从 _________________ 方面进行可行性研究
24. Jackson方法是面向 数据结构 的软件设计方法
25. 聚越高模块的独立性 越好;耦合越高模块的独立性 越差
26. 软件维护又称为软件的 二次开发

三、判断题

1、开发软件就是编写程序。 (X)
2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、 安全性测试及可靠性等测试。(X)
3、 生产高质量的软件产品是软件工程的首要目标。 (“)
4、 只有了解用户、了解任务,才能设计出好的用户界面。(“)
5、 对象是具有相同状态的一组操作的集合。(“)
6、 用户本身的技能,个性上的差异,行为方式的不同,不会对人机 界面
使用造成影响。(X)
7、 编程序时应尽可能利用硬件特点以提高程序效率 .&软件开发人员(X)
对用户需求的理解有偏差,这将导致软件产品与用
8、户的需求不一致,是产生软件危机的唯一原因。 (X)
9、 开发一个软件项目总存在某些不确定性,即存在风险。有些风险 如果控制得不好,可能导致灾难性的后果。(“)
10. 程序的可靠性、可维护性和效率通常由程序设计语言、源代码的 质量、和语言的实现机制决定的。(“)
11、一般单元测试不可以并行进行。(X )
12•螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活
动。(“)
13•数据字典是对数据流图中的数据流,加工、数据存储、数据的源 和终点进行详细定义。(X)
14•如果通过软件测试没有发现错误,则说明软件是正确的。 (X )
15. 快速原型模型可以有效地适应用户需求的动态变化。(V )
16. 白盒测试无需考虑模块部的执行过程和程序结构,只要了解模块的功能即可。(X)
17用PDL语言写出的程序不可以在计算机上运行(V)
18•黑盒测试主要用于测试步骤的后期阶段 (V)
19•白盒测试主要用于测试步骤的后期阶段 (X)
20.测试就是调试,都是在计算机上运行程序的 (X)

四、简答题

1 .什么是软件危机
计算机软件的开发和维护过程所遇到的一系列问题。
2. 什么是黑盒测试和白盒测试
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了 的功
能是否符合要求。
白盒测试:已知产品的部工作过程,可以通过测试证明每种部操作是 否符
合设计规格要求,所有部成分是否以经过检查。
3. 软件开发和写程序有什么不同
软件包含程序,程序是软件的一部分。
软件是程序、数据及其相关文档的完整集合。
程序只是为了实现软件的功能和性能要求而编写的指令序列
4. 软件设计的准则
5. 什么是软件的生命周期,包含哪些阶段
是软件产生直到报废的生命周期,周期有问题定义、可行性分析、总体描
述、系统设计、编码、调试和测试、验收与运行、维护升级到废 弃等阶段
6. 软件测试的步骤有哪些,含义是什么
7. 软件过程模型有那些,各自特点是什么
8•比较黑盒测试和白盒测试的优缺点
黑盒测试的优点:适应于阶段测试,从产品功能角度测试,容易入手生成测试数
据。
缺点:某些代码得不到测试,如果规格说明有误,可能无法发现,不易进行充分性测试。
白盒测试的优点:可构成测试数据使特定程序部分得到测试,有一定的充分性度量手段,可生成较多工具支持。
缺点:不易生成测试数据,无法对未实现规格说明的部分进行测试,作 量大通常只用于单元测试有应用局限。
9•衡量模块独立性的标准是什么,并解释与模块独立的具体关系 聚性和耦合性。 模块的聚性越高耦合性越低则模块越独立,反之越不独立。

  • 30
    点赞
  • 606
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程ID

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值