软件工程总复习题.docx
- 文档编号:6063083
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:23
- 大小:566.21KB
软件工程总复习题.docx
《软件工程总复习题.docx》由会员分享,可在线阅读,更多相关《软件工程总复习题.docx(23页珍藏版)》请在冰豆网上搜索。
软件工程总复习题
一、选择题
1.软件开发瀑布模型中的软件定义时期各个阶段依次是:
(B)
A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
2.可行性研究主要从以下几个方面进行研究:
(A)
A技术可行性,经济可行性,操作可行性。
B技术可行性,经济可行性,系统可行性。
C 经济可行性,系统可行性,操作可行性。
D 经济可行性,系统可行性,时间可行性。
3耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:
(C)
A内容耦合,控制耦合,数据耦合,公共环境耦合。
B内容耦合,控制耦合,公共环境耦合,数据耦合。
C内容耦合,公共环境耦合,控制耦合,数据耦合。
D控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:
(C)
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语句
34.下列工具中属于需求分析常用工具的是(D)。
A.PADB.PFDC.N-SD.DFD
35.在数据流图(DFD)中,带有名字的箭头表示(C)。
A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分
36.在软件生产过程中,需求信息的给出是(D)。
A.程序员B.项目管理者C.软件分析设计人员D.软件用户
37下列叙述中,不属于结构化分析方法的是(C)。
A.面向数据流的结构化分析方法B.面向数据结构的结构化数据系统开发方法
C.面向对象的分析方法
38结构设计是一种应用最广泛的系统设计方法,是以(B)为基础、自顶向下、逐步求精和模块化的过程。
A.数据流B.数据流图C.数据库D数据结构
39需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出(B)。
A.模块说明书B.软件规格说明书C.项目开发计划D.合同文档
40.结构化分析方法以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图B.PAD图C.IPO图D.数据字典
41.数据字典是软件需求分析阶段的重要工具之一,它的基本功能是(A)
A.数据定义B.数据维护C.数据通讯D.数据库设计
42.以下(A)不是详细设计中常用的图形描述工具。
A.数据流图B.程序流图C.盒图(N-S)D.问题分析图(PAD)
43.在结构图的有关术语中,用于表示软件结构中控制的层数的是(C)
A.扇入B扇出C深度D宽度
44.模块的独立程度是评价设计好坏的重要标准。
(A)是衡量软件的模块独立性的两个定性度量标准。
A耦合性和内聚性B内聚性和可靠性C耦合性和独立性D可靠性和独立性
45.软件设计包括(B)两个阶段。
A.接口设计和结构设计B.概要设计和详细设计C.数据设计和概要设计D.结构设计和过程设计
46在详细设计阶段,经常采用的工具是(A)。
A.PADB.SAC.SCD.DFD
47.在软件开发中,下面任务不属于设计阶段的是(D)。
A.数据结构设计B给出系统模块结构C定义模块算法D定义需求并建立系统模型
48.对建立良好的程序设计风格,下面描述正确的是(A)。
A程序应简单、清晰、可读性好B符号名的命名要符合语法
C充分考虑程序的执行效率D程序的注释可有可无
49.下面不属于软件设计原则的是(C)。
A抽象B模块化C自底向上D信息隐蔽
50.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(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.软件测试的目标是(B)。
A.证明软件是正确的B.发现错误、降低错误带来的风险
C.排除软件中所有的错误D.与软件调试相同
60.软件生命周期中所花费用最多的阶段是(D)
A.详细设计B.软件编码C.软件测试D.软件维护
61.在数据流图中,圆或椭圆表示
(1)__A__,平行线表示
(2)__D__。
(1)A、加工B、外部实体C、数据流D、存储
(2)A、加工B、外部实体C、数据流D、存储
62.瀑布模型(WaterfallModel)突出的缺点是不适应(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.软件设计中划分模块的一个准则是(A③)。
两个模块之间的耦合方式中,(B④)耦合的耦合度最高,(C②)耦合的耦合度最低。
一个模块内部的内聚种类中(D③)内聚的内聚度最高,(E①)内聚的内聚度最低。
(两个模块之间的耦合方式通常可分为7种,按其耦合度从低到高的次序依此为:
非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。
内聚度从低到高的次序依此为:
偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚)供选择的答案:
A:
①低内聚低耦合②低内聚高耦合③高内聚低耦合④高内聚高耦合
B:
①数据②非直接③控制④内容C:
①数据②非直接③控制④内容
D:
①偶然②逻辑③功能④过程E:
①偶然②逻辑③功能④过程
二、填空
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、开发软件就是编写程序。
(×)
2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。
(×)
3、生产高质量的软件产品是软件工程的首要目标。
(√)
4、只有了解用户、了解任务,才能设计出好的用户界面。
(√)
5、对象是具有相同状态的一组操作的集合。
(√)
6、用户本身的技能,个性上的差异,行为方式的不同,不会对人机界面使用造成影响。
(×)
7、编程序时应尽可能利用硬件特点以提高程序效率.(×)
8、软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因。
(×)
9、开发一个软件项目总存在某些不确定性,即存在风险。
有些风险如果控制得不好,可能导致灾难性的后果。
(√)
10.程序的可靠性、可维护性和效率通常由程序设计语言、源代码的质量、和语言的实现机制决定的。
(√)
11、一般单元测试不可以并行进行。
(×)
12.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(√)
13.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(×)
14.如果通过软件测试没有发现错误,则说明软件是正确的。
(×)
15.快速原型模型可以有效地适应用户需求的动态变化。
(√)
16.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(×)
17.用PDL语言写出的程序不可以在计算机上运行(√)
18.黑盒测试主要用于测试步骤的后期阶段(√)
19.白盒测试主要用于测试步骤的后期阶段(×)
20.测试就是调试,都是在计算机上运行程序的(×)
四、简答题
1.什么是软件危机?
计算机软件的开发和维护过程所遇到的一系列问题。
消除软件危机途径:
答:
1要有技术措施(方法和工具)2要有必要的组织管理措施
2.什么是黑盒测试和白盒测试?
黑盒测试:
已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:
已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
3.软件开发和写程序有什么不同?
软件包含程序,程序是软件的一部分。
软件是程序、数据及其相关文档的完整集合。
程序只是为了实现软件的功能和性能要求而编写的指令序列。
4.软件设计的准则?
1、模块化与模块独立2、抽象3、逐步求精4、信息隐蔽
5.什么是软件的生命周期,包含哪些阶段?
软件的生命周期是软件产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
6.软件测试的步骤有哪些,含义是什么?
1、模块测试:
保证每个模块作为一个单元能正确运行。
2、子系统测试:
经过单元测试的模块放在一起形成一个子系统来测试。
3、系统测试:
把经过测试的子系统装配成一个完整的系统来测试。
4、验收测试:
把软件测试系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。
5、平行运行:
同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。
7.软件过程模型有那些,各自特点是什么?
1、瀑布模型特点:
①顺序性、依赖性:
下一阶段依赖上一阶段的完成。
②推迟实现:
阶段任务结束形成文档,并审核后方能进行设计任务,将程序的实现推迟进行。
③质量保证:
文档完整、文档评审,避免错误积累与放大效应。
2、快速原型模型特点
(1)开发人员和用户在“原型”上达成一致。
这样可以减少设计中的错误和开发中的风险,以及对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。
(2)缩短开发周期,加快工程进度。
(3)降低成本(4)当告诉用户还必须重新生产该产品时,用户是很难接受的,这往往给工程继续开展带来不利因素。
3、增量模型特点:
该模型有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
要求软件具有开放的结构是这种模型固有的困难,可能会导致设计差、效率低、维护难。
4、螺旋模型特点:
(!
)风险驱动,有利于软件重用。
(2)建立在风险分析的基础上,需要有一个非常有经验的小组来准确的分析和检测风险;绝对依赖人的素质。
(3)不适合新手;开发中的每一层都很有弹性,并不是很明确的界限;每一层的目标和计划都是由小组本身来制定。
要求有经验的人来组成。
缺点:
很难让用户确信这种演化方法的结果是可以控制的。
5、喷泉模型特点:
迭代性、无缝性。
8.比较黑盒测试和白盒测试的优缺点?
黑盒测试的优点:
适应于阶段测试,从产品功能角度测试,容易入手生成测试数据。
缺点:
某些代码得不到测试,如果规格说明有误,可能无法发现,不易进行充分性测试。
白盒测试的优点:
可构成测试数据使特定程序部分得到测试,有一定的充分性度量手段,可生成较多工具支持。
缺点:
不易生成测试数据,无法对未实现规格说明的部分进行测试,作量大通常只用于单元测试有应用局限。
9.衡量模块独立性的标准是什么,并解释与模块独立的具体关系。
内聚性和耦合性。
模块的内聚性越高耦合性越低则模块越独立,反之越不独立。
10.详细设计用到的有哪些工具?
1、程序流程图2、盒图(N-S图)3、PAD图4、判定表5、判定树6、过程设计语言(PDL)。
五.综合题
1.画出银行储蓄系统、航空售票系统、患者监护系统、运动会管理系统,信用卡管理系统的DFD.
银行储蓄系统:
航空售票系统:
患者监护系统:
信用卡管理系统:
2.给出DFD会转换为SC(结构图)
3.给出一段代码会画出PAD(问题分析图)
作业总汇:
一.以下说明和数据流图,回答问题1-4,讲解答填入答题纸的对应栏内。
说明:
现准备为某银行开发一个信用卡管理系统CCMS,改系统的基本功能为:
1.信用卡申请。
非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。
如果信用卡被银行接受,CCMS将记录该客户的基本信息,并发送确认函给客户,告知客户信用卡的有效期限及信贷限额;否则该客户将会收到一封拒绝函。
非信用卡客户收到确认函后成为信用卡客户。
2.信用卡激活。
信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。
激活操作结束后,CCMS将激活通知发给客户,告知客户其信用卡是否成功激活。
3.信用卡客户信息管理。
信用卡客户的个人信息可以在C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习题