软件工程.docx
- 文档编号:15524722
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:31
- 大小:216.76KB
软件工程.docx
《软件工程.docx》由会员分享,可在线阅读,更多相关《软件工程.docx(31页珍藏版)》请在冰点文库上搜索。
软件工程
软件工程导论期末考试试题
一.选择
1、瀑布模型把软件生命周期划分为八个阶段:
问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:
计划阶段、开发阶段和(C)。
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、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)
A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法D、基于数据的数据流开发方法
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)
A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)
A、控制流B、数据流C、程序流D、指令流
10、软件开发的结构化生命周期方法将软件生命周期划分成(A)
A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段
C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计
11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)
A、瀑布模型B、对象模型C、螺旋模型D、层次模型
12、软件开发的瀑布模型,一般都将开发过程划分为:
分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A、分析阶段B、设计阶段C、编码阶段D、测试阶段
二.填空
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动 )情况。
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:
深度优先策略和( 宽度优先策略 )。
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。
它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条( 在其他独立路径中未有过 )的边的路径。
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向( 机器 )的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:
如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。
26.在JSP方法中解决结构冲突的具体办法是( 中间数据结构或中间文件 )。
[解析]JSP方法是面向数据结构的设计方法。
它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。
[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。
对数据库进行物理设计等。
28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。
[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。
29.有两类维护技术:
在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( 维护支援 )技术。
[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。
而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:
( FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/1、FORTRAN语言都是工程计算中常用的语言。
三.判断
1.软件的开发与运行经常受到硬件的限制和制约。
(√)
2.模块内的高内聚往往意味着模块间的松耦合。
(√)
3.Jackson图只能表达程序结构,不能表达数据结构。
(X)
4.上述数据流图表示数据A和B同时输入变换成C。
(X)
5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。
(X)
6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
(√)
7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。
(X)
8.UML只能应用于软件系统模型的建立。
(X)
9.容错就是每个程序采用两种不同的算法编写。
(X)
10.软件测试的目的是为了无一遗漏的找出所有的错误。
(X)
四、名词解释题(本大题共5小题,每小题3分,共15分)
31.软件开发环境
32.错误推测法
33.黑盒测试法
34.软件质量保证
35.瀑布模型
31.经济可行性
解:
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。
32.社会可行性
解:
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。
33.投资回收期
解:
投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。
34.对应关系
解:
即有直接因果关系在程序中可以同时处理。
[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。
35.结构冲突
解:
输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
五、图a中,模块G为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据
改进模块图的基本原则,画出1~2个改进方案(不改变模块G的判断关系),并说明是按照
哪条基本原则进行改进的。
解:
图b为一个改进方案,将模块G的位置提高,使其作用范围为控制范围的子集,减
少模块之间的联系。
40.请使用PAD图和PDL语言描述在数组A
(1)~A(10)中找最大数的算法。
解:
PDL语言:
N=1
WHILEN<=10DO
IFA(N)<=A(N+1)MAX=A(N+1);
ELSEMAX=A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD图:
[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。
41.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:
以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065
解:
(1)划分等价类并编号,如下表示:
(4分)
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)
(3)为不合理等价类测试用例,至少设计一个测试用例(2分)
[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。
本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。
42.某电器集团公司下属的厂包括技术科、生产科等基层单位。
现在想建立一个计算机辅助企业管理系统,其中:
生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。
试写出以上系统中生产科和技术科处理的软件结构图。
解:
画出生产科图的给6分,画出技术科的给4分。
[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。
一、填空题(每空1分,共25分)
1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以
描绘系统里面的每个部件。
5.数据流图的基本四种成分:
数据输入的源点和数据输出汇点、、
和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:
________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和
四个步骤。
二、单项选择题(每小题2分,共20分)
1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合
B、低内聚高耦合
C、高内聚低耦合
D、高内聚高耦合
2.Jackson设计方法是由英国的M.Jackson提出的,它是一种面向()的软件设计方法。
A、对象
B、数据流
C、数据结构
D、控制结构
3.试判断下列叙述中,哪个(些)是正确的( )。
a、软件系统中所有的信息流都可以认为是事务流
b、软件系统中所有的信息流都可以认为是变换流
c、事务分析和变换分析的设计步骤是基本相似的
A、a B、b C、cD、b和c
4.()是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法
C、螺旋模型方法D、构件组装模型
5.软件工程方法学的目的是:
使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )。
A、硬件环境 B、软件开发的环境
C、软件开发工具和软件开发的环境 D、开发人员的素质
6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( )。
A、PASCAL B、VISUALBASIC
C、C++ D、汇编语言
7.软件测试的目的是?
( )
A、证明软件的正确性
B、找出软件系统中存在的所有错误
C、证明软件系统中存在错误
D、尽可能多的发现软件系统中的错误
8.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度
C、该软件的编辑人员D、程序的功能
9.软件维护工作的最主要部分是( )。
A、校正性维护 B、适应性维护
C、完善性维护 D、预防性维护
10.PDL是()语言。
A、高级程序设计语言B、伪码式
C、中级程序设计语言D、低级程序设计语言
三、判断题(正确的在括号内打上“√”,错误的打上“×”。
每题2分,共20分)
1.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
()
2.发现错误多的程序模块,残留在模块中的错误也多。
()
3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。
()
4.软件维护就是改正软件中的错误。
()
5.质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。
()
6.软件开发的主要任务是写程序。
()
7.测试只能证明程序有错误,不能证明程序没有错误。
()
8.模块化程序设计中,模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
()
9.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。
()
10.程序设计风格指导原则提出,尽量多使用临时变量。
()
四、简答题(每题5分,共20分)
1.什么是软件工程?
2.耦合性和内聚性有几种类型?
其耦合度、内聚强度的顺序如何?
3.简述需求分析工作可以分成哪四个方面?
软件需求分析的有哪三个基本原则?
4.什么是黑盒测试法?
五、程序设计与算法描述题(共15分)
1.根据下面的伪代码程序,完成相应要求。
(8分)
START
IFC1
THEN
WHILEC2DO
f
ENDDO
ELSE
BLOCK
g
p
ENDBLOCK
ENDIF
REPEATUNTILC3
q
r
ENDREP
STOP
1)画出程序流程图(4分)
2)用N—S图描述(4分)
2.有下列伪码程序:
START
INPUT(M,N)
IFM>=10
THENX=10
ELSEX=l
ENDIF
IFN>=20
THENY=20
ELSEY=2
ENDIF
PRINT(X,Y)
STOP
设计该程序的语句覆盖和路径覆盖测试用例。
(7分)
软件工程—A答案及评分标准(仅供参考)
一、填空题(每空1分,共25分)
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
三、判断题(正确的在括号内打上“√”,错误的打上“×”。
每题2分,共20分)
1—5:
×√××√6—10:
×√×××
四、简答题(每题5分,共20分)
1、答:
软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
2、答:
低:
非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合:
高
强:
功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合内聚:
弱
3、答:
需求分析阶段分成四个方面:
对问题的识别、分析与综合、制定规格说明和评审。
三个基本原则:
必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。
4、答:
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
五、分析设计题(共15分)
1、
(1)程序流程图如下:
4
(2)N-S图如下:
4分
2、(7分)
设计该程序的语句覆盖和路径覆盖测试用例。
1)M=9(或 1M=l0(或>=10),N=20(或>=20) 路径覆盖的测试用例为 1M=9,N=19; 2M=9、N=20; 3M=l0,N=l9; 4M=10,N=20 一、单项选择题每小题1分,共20分 1.在下列工具与环境中()属于较早期的CASE。 A.基于信息工程CASEB.人工智能CASE C.结构的基于图形CASED.集成的CASE环境 2.Putnam成本估算模型是一个()模型。 A.静态单变量B.动态单变量C.静态多变量D.动态多变量 3.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性D.可移植性 4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是() A.SQICB.SQMCC.SQRCD.SQDC 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.FORTRAN语言B.Pascal语言C.C语言 D.PL/1语言 12.程序的三种基本控制结构是() A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移 13.在详细设计阶段,经常采用的工具有() A.PADB.SAC.SCD.DFD 14.详细设计的结果基本决定了最终程序的() A.代码的规模B.运行速度C.质量D.可维护性 15.需求分析中开发人员要从用户那里了解() A.软件做什么B.用户使用界面C.输入的信息D.软件的规模 16.结构化程序设计主要强调的是() A. 程序的规模B. 程序的效率C. 程序设计语言的先进性D. 程序易读性 17.IDEF。 图反映系统() A.怎么做B.对谁做C.何时做D.做什么 18.经济可行性研究的范围包括() A.资源有效性B.管理制度C.效益分析D.开发风险 19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。 A.确定B.行或不行C.正确D.无二义 20.需求分析阶段的任务是确定() A. 软件开发方法B. 软件开发工具C. 软件开发费D. 软件系统的功能 二、填空题(每空2分,共20分)。 21.在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调软件开发,并使混乱减到最低程度。 22.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。 23.McCall提出的软件质量模型包括11个软件质量特性。 24.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程