电大软件工程期末考试汇总.docx
- 文档编号:23459807
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:19
- 大小:26.06KB
电大软件工程期末考试汇总.docx
《电大软件工程期末考试汇总.docx》由会员分享,可在线阅读,更多相关《电大软件工程期末考试汇总.docx(19页珍藏版)》请在冰豆网上搜索。
电大软件工程期末考试汇总
1、下面哪个选项不是软件工程研究的内容(B)。
A.生产无故障的软件B.精通一门编程语言
C.生产满足用户需求的软件D.生产及时交付的软件
2、软件工程的出现是由于(A)
A.软件危机B.计算机硬件技术的发展
C.软件社会化的需要D.计算机软件技术的发展
3、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(C),最上层是工具层。
A.过程层B.方法层C.过程层和方法层D.系统层
A)条基本原理。
A.7B.5C.3D.12
5、结构化分析方法(SA法)使用的主要描述工具有(D)。
A.数据库B.模块结构图C.PAD图D.分层的DFD图
6、源程序的效率与(D)阶段确定的算法的效率直接有关。
A.概要设计B.总体设计C.单元设计D.详细设计
7、可行性研究的主要任务是(A)。
A.确定系统做什么B.确定性能C.确定功能D.进行一次简要的需求分析
8、内容耦合是模块间最紧密的耦合,(B)是模块间最松散的耦合。
A.数据耦合B.非直接耦合C.控制耦合D.外部耦合
9、面向对象是“先”确定()“后”(C)。
A.属性/方法B.数据结构/方法C.动作的主体/执行动作D.动作
10、UML是一种(B)语言。
A.高级编程B.可视化建模C.分析方法D.过程
11、软件工程强调将(D)的方法应用于软件的开发和维护过程之中。
A.规范化B.系统化C.可度量D.以上全部
12、软件开发活动的顺序应该是(A)。
A.问题定义、可行性研究、需求分析、设计、编码和测试。
B.问题定义、设计、可行性研究、编码和测试。
C.需求分析、设计、编码和测试。
D.需求分析、编码和测试、试运行。
13、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为(A)元。
A.5202B.4500C.5100D.4712
14、系统物理模型用(A)表示。
A.系统流程图B.数据流程图C.程序流程图D.E-R图
15、关于软件需求特性不正确的描述是“软件需求具有(C)”。
A.多变性B.模糊性C.准确性D.主观性
16、DFD中的每个加工至少需要(D)
A.一个输入流B.一个输出流
C.一个输入或输出流D.一个输入流和一个输出流
17、PDL是描述处理过程(C)。
A.做什么B.为什么做C.怎么做D.对谁做
18、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)
A.数据耦合B.公共耦合C.标记耦合D.内容耦合
19、按照模块独立性,耦合程度由强至弱正确的顺序是(A)。
A.数据耦合、控制耦合、外部耦合、内容耦合
B.控制耦合、数据耦合、内容耦合、外部耦合
C.内容耦合、外部耦合、控制耦合、数据耦合
D.外部耦合、内容耦合、数据耦合、控制耦合
20、UML中,包图是一种(C)。
A.集合B.数据结构C.分组机制D.对系统的动态描述
21、反映收发消息的对象的组织结构,用于描述系统的行为是如何有系统的成分协作实现的是(C)。
A.顺序图B.类图C.合作图D.组件图
22、面向对象分析和设计的界限是(C),从分析到设计是一个逐渐扩充模型的过程。
A.清晰的B.模糊的C.非线性的D.确定的
23、动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。
面向对象方法中,常用(D)实现。
A.状态图B.交互图C.活动图D.以上全部
24、不适合作为数据处理与数据库应用的语言是(D)
A.SQLB.CobolC.4GLD.Lisp
25.软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为(C)测试。
A.白盒法B.灰盒法C.黑盒法D.综合法
26、程序设计语言的技术特性不应包括(D)。
A.数据结构的描述性B.抽象类型的描述性
C.数据库的易操作性D.软件的可移植性
27、以下哪种测试方法不属于白盒测试技术(B)。
?
A.语句覆盖测试B.边界值分析测试C.条件覆盖测试D.判断覆盖测试
28、软件测试的主要特点是(C)。
A.软件测试的开销不大B.软件测试要依靠工具
C.软件不能进行“穷举”测试D.软件测试要依靠人工
29、在软件生存期的维护阶段,继续诊断和修正错误的过程称为(D)。
A.完善性维护B.适应性维护C.预防性维护D.改正性维护
30、不属于软件项目管理的是(D)。
A.开发机构能力评估B.项目风险评估C.质量监控D.软件销售利润
31、用(D)模型描述和分析业务流程。
A.静态B.业务C.数据D.动态
32、用(B)描述系统与角色之间的接口。
A.表单B.界面类C.窗体D.对话框
33、对类进行详细设计,主要是设计类的(C),优化类之间的关系。
A.数据结构B.处理流程C.属性和方法D.算法
34、面向对象设计强调定义(A),并且使它们相互协作来满足用户需求。
A.软件对象B.物理模型C.E-R模型D.接口
35、软件测试的目标是设计优秀的测试用例(B)。
A.最快速地找出程序中的问题
B.以最小的代价、在最短的时间内尽可能多地发现软件中的错误
C.保障程序的正确性
D.区分出程序员的编程水平
36、(B)不符合软件测试原则。
A.对每个测试结果进行检查,不漏掉已经出现的错误迹象
B.程序员应该仔细测试自己编写的程序代码
C.程序员要避免测试自己编写的程序代码
D.测试工作越早开始越好
37、引起软件改变的原因主要有(D)。
A.运行环境变化B.需求变化C.系统有错D.以上全部
38、(C)针对开发过程中的程序、数据、文档提出使用和管理策略。
A.组织管理B.过程管理C.软件配置管理D.风险管理
39、现在人们更强调程序代码的(A)。
A.可维护性B.可移植性C.可扩充性D.高效性
40、程序的三种基本控制结构,包括顺序结构、(A)和循环结构。
A.判断结构B.说明结构C.输入结构D.输出结构
41、软件、程序和代码是(D)。
A.相同的软件概念B.程序语言写的代码
C.计算机代码和数据D.三个不同的概念
42、下面哪个选项不是软件工程研究的内容(B)。
A.生产无故障的软件B.精通一门编程语言
C.生产满足用户需求的软件D.生产及时交付的软件
43、SW-CMM是一种(D)规范。
A.编程规范B.软件工作通用模型
C.软件设计模型D.软件成熟度模型
44、可行性研究实质上是在较高层次上、以较抽象的方式进行(B)的过程。
A.详细软件设计B.需求分析过程
C.深入的需求分析D.测试设计
45、与传统行业的生产相比较,软件的需求具有(A)。
A.主观性B.稳定性C.明确性D.客观性
46、源程序的效率与(D)阶段确定的算法的效率直接有关。
A.概要设计B.总体设计C.单元设计D.详细设计
47、画DFD图的主要目的是(A)。
A.作为需求分析阶段用户与开发者之间交流信息的工具
B.对系统的数据结构进行描述
C.对目标系统的层次结构进行描述
D.作为编码和测试的工具
48、耦合度最高的是(B)。
A.外部耦合B.内容耦合C.控制耦合D.数据耦合
49、为了提高模块的独立性,模块之间最好是(D)。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合
50、UML是一种(A)。
A.建模工具B.可视化的程序设计语言C.可视化的建模语言D.过程
51、美国卡内基﹒梅隆大学制定的SW-CMM是(C)。
A.软件工作规范B.软件工作流描述C.软件成熟度模型D.软件描述的一般方法
52、螺旋模型是一种考虑了(D)的软件开发模型。
A.效率B.风险判断
C.可移植性D.安全性
53、可行性研究的四大要素是(A)。
A.经济、技术、法律和社会环境
B.经济、技术、开发组织能力和领导者水平
C.经济、技术、计算机硬件环境和网络带宽
D.经济、技术、软件开发工具和人员的稳定性
54、软件调研报告是在(B)提交的。
A.可行性分析之前B.需求分析之前C.签合同之前D.设计的时候
55、描述软件需求通常不用哪个工具(C)。
A.数据流程图B.数据字典C.模块结构图D.E-R图
56、软件结构图中没有(D)元素。
A.模块B.调用参数C.返回结果D.判断
57、程序流程图与数据流程图的关系(A)。
A.不确定B.数据流程图可以转换成程序流程图
C.数据调用关系D.程序流程图可以转换成数据流程图
58、包含关系用于构造多个用例(B)。
A.关系B.共性的部分C.角色D.特殊活动
59、如果说用例F被用例T扩展,意思是(A)。
A.F是一个一般用例,T是一个特殊用例
B.F是一个特殊用户,T是一个一般用例
C.都是一般用例
D.都是特殊用例
60、用(C)对需要长久保存的信息进行建模。
A.实体类B.数据库表C.E-R图D.对象类
61、面向对象程序设计的基本机制(A)。
A.继承B.消息C.方法D.结构
62.表示对象相互行为的模型是(A)模型。
A.动态模型B.功能模型C.对象模型D.状态模型
63、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,由(B)实现。
A.顺序图B.类图C.状态图D.组件图
64、对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A.结合B.隐藏C.封装D.抽象
65、面向对象设计的步骤中,正确的顺序是(A)。
A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计
C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计
66、软件维护过程中产生的副作用,一般是由(B)引起的。
A.算法说明B.修改程序C.优先级D.环境要求
67、项目计划活动的主要任务是(D)。
A.估算项目的进度B.分配工作量C.计划资源使用D.以上全部
68、如果程序代码的(C)好,则调试的成本就可以大幅度降低。
A.性能比B.可扩充性C.可读性D.可移植性
69、两个浮点数X0和X1比较相等时,应该用(C)比较。
A.X0==X1B.X1-X0<εC.|X0-X1|<εD.X0=X1
70、瀑布模型存在的问题是(D)。
A.用户容易参与开发B.适用可变需求C.用户与开发者易沟通D.缺乏灵活性
71、面向对象设计首先要确定系统的总体结构和风格,构造系统的(B)。
A.逻辑模型B.物理模型C.数据模型D.用例模型
72、面向对象设计的步骤中,正确的顺序是(A)。
A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计
C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计
73、类有3种类型,即(B)。
A.边界类、实体类、控制类B.实体类、控制类、界面类
C.控制类、实体类、虚类D.界面类、控制类、公共类
74、(D)是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。
A.消息连接B.参数传递C.方法重写D.继承
75、结构化程序设计主要强调的是(D)。
A.程序的规模B.程序效率C.程序语言的先进性D.程序易读性
76、程序的三种基本控制结构,包括顺序结构、(A)和循环结构。
A.条件/判断结构B.说明结构C.输入结构D.输出结构
77、一般性的软件其测试工作量大约占整个开发工作量的(B)。
A.小于10%B.40%C.90%D.大于100
78、下面哪些测试方法属于黑盒测试(B)。
A.路径测试B.等价类划分C.条件判断D.循环测试
79、软件特性中,相互矛盾的是(B)。
A.可理解性与可测试性B.效率与可修改性C.可修改性和可理解性D.可理解性与可读性
80、(D)针对开发过程中的程序、数据、文档提出使用和管理策略。
A.组织管理B.过程管理C.风险管理D.软件配置管理
一、简答题
1、请说明快速原型化模型的基本思想。
在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。
用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。
基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。
这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。
2.软件工程为什么要强调规范化和文档化?
(1)软件工程强调规范化和文档化。
规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。
(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。
另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。
在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。
3、请举例说明用例之间的包含关系和扩展关系的区别?
包含关系用于构造多个用例共同的活动。
例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。
这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。
一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。
4.简述在项目开发时选择程序设计语言的主要考虑的因素。
编程人员的水平和编程经历;
?
待开发的软件类型;
?
算法和计算复杂性;
?
数据结构的复杂性;
?
软件的开发成本和时间要求;
?
软件可移植性要求;
?
可用的软件工具。
5.设计下列伪程序的条件组合覆盖测试用例。
BEGIN
INPUT(x,y,z)
IF(y>1)AND(z=0)THEN
x=x/y
ENDIF
IF(y=2)OR(x=l)THEN
x=x+l
ENDIF
PRINT(x)
END
条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。
本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:
y>1,z=0
y>1,z<>0
y<=1,z=0
y<=1,z<>0
y=2,x=1
y=2,x<>1
y<>2,x=1
y<>2,x<>1
条件组合覆盖设计测试用例:
实现1,6两种条件组合
输入:
x=4,y=2,z=0;
实现2,5两种条件组合
输入:
x=1,y=2,z=1;
实现3,8两种条件组合
输入:
x=2,y=1,z=0;
实现4,7两种条件组合
输入:
x=1,y=1,z=1.
6、请给出软件工程七条基本原理中的任意6条基本原理。
原理1.用分阶段的生命周期计划严格管理
原理2.坚持进行阶段评审
原理3.实行严格的产品控制
原理4.采用现代程序设计技术
原理5.结果应能清楚地审查
原理6.开发小组的人员应该少而精
原理7.承认不断改进软件工程实践的必要性
7、结构化程序设计的特征是什么?
结构化程序设计的特征如下:
程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。
8、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?
业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。
业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。
业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。
功能需求定义了软件开发人员必须实现的软件功能。
用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。
软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。
开发人员根据功能需求进行软件设计和编码。
9、简述模块独立性,内聚与耦合。
模块独立性,是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。
一般采用两个准则度量模块独立性。
即模块间耦合和模块内聚。
耦合是模块之间的互相连接的紧密程度的度量。
内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。
模块独立性比较强的模块应是高内聚低耦合的模块。
10、请为下面的程序设计符合判定覆盖的测试用例。
intmain()
{
inta,b,c,x,y,z,t;
scanf(“d%,d%,d%),&a,&b,&c,&t);
ifa>5&&t<1x=10elsex=1;
ifb>10y=20elsey=2;
ifc>15z=30elsez=3;
printf(“d%,d%,d%\n”,x,y,z)
}
答:
a>5,t=0
a<=5,t=0
b>10
b<=10
c>15
c<=15
11、什么是软件危机?
试简述至少3种软件危机的典型表现。
(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。
(2)典型表现:
?
开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;
?
软件维护困难;
?
通常没有保留适当的文档资料
?
开发成本逐年上升;
12、试分析结构化方法存在的主要问题是什么?
1)结构化方法分析和设计阶段所应用的模型之间存在鸿沟。
分析阶段的主要模型是数据流程图,设计阶段的主要模型是软件模块结构图,数据流程图和软件模块结构图之间需要进行转换。
不同的人转换出的模块图可能不同,有很大的随意性。
2)需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;需求分析的过程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。
3)结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。
4)结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。
13、面向对象的分析通常要建立三个模型,请问三个模型的作用?
a)功能模型:
表达系统的详细需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由用例图和场景描述组成。
b)对象模型:
表示静态的、结构化的系统“数据”性质。
描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,类图是构建对象模型的核心工具。
c)动态模型:
描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。
面向对象方法中,常用状态图、顺序图、合作图、活动图构建系统的动态模型。
14、为了提高软件的可维护性,在软件开发过程的各个阶段要充分考虑软件的可维护性因素。
(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。
(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。
(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。
(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。
15、设计下列伪程序的语句覆盖测试用例。
BEGIN
INPUT(A,B,C)
IFA>5THEN
X=10
ELSE
X=1
ENDIF
IFB>10THEN
Y=20
ELSE
Y=2
ENDIF
IFC>15
THENZ=30
ELSEZ=3
ENDIF
PRINT(X,Y,Z)
END
答:
因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。
下面是实现语句覆盖的典型测试用例:
(1)使3个判定表达式之值全为假
输入:
A=1,B=1,C=1
预期的输出:
X=1,Y=2,Z=3
(2)使3个判定表达式之值全为真
输入:
A=20,B=40,C=60
预期的输出:
X=10,Y=20,Z=30
16、简述软件过程模型
1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。
它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。
(2)软件工程将软件开发和维护的过程概况为8个大的活动:
问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。
17.简述结构化分析的主要步骤
(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系图。
(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。
在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。
(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。
(4)系统分析人员与用户一起对需求分析的结果进行复查。
(5)根据细化的需求修订开发计划。
(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。
18.衡量模块独立性的两个标准是什么?
它们各表示什么含义?
(1)两个定性的度量标准:
耦合与内聚性。
(2)耦合性:
也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
(3)内聚性:
也称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
模块内元素联系越紧密,内聚性越高。
19.活动图与状态图的区别?
1)描述的重点不同:
活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。
(2)使用的场合不同:
在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。
20、一个程序片段如下,请设计符合判定覆盖的测试用例。
if(a>=5)&&(b<0){
c=a+b;
else
c=a-b;
if(c>5)||(c<1)
printf(“c不在计算区域\n”)
else
printf(“%d\n”,c);
判断覆盖标准为,不仅使条语句都至少执行一次,还要使程序中每个分支都至少执行一次。
也就是说,设计的测试用例使每个判定都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电大 软件工程 期末考试 汇总