软件⼯程期末试卷(⼗套含答案)
百度⽂库软件⼯程期末试题(对部分发现的错误进⾏了修正)
原链接:
软件⼯程知识点简要总结:
设计模式 —— OOP七⼤原则 + 23种设计模式:
单项选择题
1.瀑布模型的存在问题是( B  )
A.⽤户容易参与开发          B.缺乏灵活性
C.⽤户与开发者易沟通        D.适⽤可变需求
2.开发软件所需⾼成本和产品的低质量之间有着尖锐的⽭盾,这种现象称做(  C  )
A.软件⼯程
B.软件周期
C.软件危机
D.软件产⽣
3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到⾼的顺序是(  B  )
A.数据、公共、标记、控制
B.数据、标记、控制、公共
C.控制、数据、标记、公共
D.控制、数据、公共、标记
4.在SD⽅法中全⾯指导模块划分的最重要的原则是( D  )
A.程序模块化
B.模块⾼内聚
C.模块低耦合
D.模块独⽴性
5.软件测试的⽬的是(  B    )。
A.评价软件的质量                      B. 发现软件的错误
C.出软件的所有错误                  D. 证明软件是正确的
6.在设计测试⽤例时,(  A    )是⽤得最多的⼀种⿊盒测试⽅法。
A.等价类划分    B. 边界值分析    C. 因果图      D. 判定表
7. 需求分析最终结果是产⽣( B  )。
A. 项⽬开发计划
B. 需求规格说明书
C. 设计说明书
D. 可⾏性分析报告
8. Jackson图中,模块框之间若有直线连接,表⽰它们之间存在(B  )。
A. 调⽤关系
B. 组成关系
C. 链接关系
D. 顺序执⾏关系
9. 软件详细设计的主要任务是确定每个模块的( C )。
A. 功能
B. 外部接⼝
C. 算法和使⽤的数据结构
D. 编程
10.为了提⾼软件的可维护性,在编码阶段应注意(  D  )
A.保存测试⽤例和数据
B.提⾼模块的独⽴性
C.⽂档的副作⽤
D.养成好的程序设计风格
11.设年利率为i,现存⼊p元,若计复利,n年后可得钱数为(B)
A.p﹡(1+i﹡n)                                      B.p﹡(i+1)n
C.p﹡(1+i)﹡n                                      D.p﹡(i+n)
12.在考察系统的⼀些涉及时序和改变的状态时,要⽤动态模型来表⽰。动态模型着重于系统的控制逻辑,它包括两个图:⼀个是事件追踪图,另⼀个是( A    )。
A .状态图      B.  数据流图  C. 系统结构图  D. 时序图
13. 对象实现了数据和操作的结合,使数据和操作( C  )于对象的统⼀体中。
A. 结合
B. 隐藏
C. 封装
D. 抽象
14. 软件详细设计的主要任务是确定每个模块的(  A  )。
A. 算法和使⽤的数据结构
B. 外部接⼝
C. 功能
D. 编程
15. 软件结构图中,模块框之间若有直线连接,表⽰它们之间存在(  A  )。
A. 调⽤关系
B. 组成关系
C. 链接关系
D. 顺序执⾏关系
16. 需求分析最终结果是产⽣( B )。
A. 项⽬开发计划
B. 需求规格说明书
C. 设计说明书
D. 可⾏性分析报告
17. 在详细设计阶段,经常采⽤的⼯具有( A  )。
A. PAD
B. SA
C. SC
D. DFD
18.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为(  C  )
A.教正性维护
B.适应性维护
C.完善性维护
D.预防性维护
20.为了提⾼软件的可维护性,在编码阶段应注意(  D  )
A.保存测试⽤例和数据
B.提⾼模块的独⽴性
C.⽂档的副作⽤
D.养成好的程序设计风格
1.⾯向对象开发⽅法包括OOA、OOD和OOP三部分。
2.效益分有形效益和⽆形效益两种。有形效益可⽤纯收⼊、货币时间的价值、投资回收期等指标进⾏度量;⽆形效益主要从性质上、⼼理上进⾏衡量,很难直接进⾏量的⽐较。
3.从应⽤特点的⾓度来看,我们可以把⾼级语⾔分为基础语⾔、结构语⾔和专⽤语⾔三类。
设计题
已知有如下的伪代码程序:
START
I:=1;
WHILE i:<=n-1 DO
min:=A[i];
j:=i+1;
WHILEj<=n DO
IF min>A[j]
THEN
BLOCK
temp:=min;
min:=A[j];
A[j]:=temp;
ENDBLOCK
ENDIF;
j:=j+1;
ENDDO
i:=i+1;
ENDDO
STOP
要求:请⽤盒图描述。.
软件⼯程期末试题(⼆)
⼀, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)
Warnier⽅法也是⼀种⾯向数据结构的设计⽅法,其逻辑更严格.(×)
PAD图在设置了五种基本控制结构后,还允许递归调⽤. (×)  你
为了加快软件维护作业的进度,应尽可能增加维护⼈员的数⽬.(×)
当验收测试通过,软件开发就完成了.(×)
完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)
系统结构图是精确表达程序结构的图形表⽰法.因此,有时也可以将系统结构图当作系统流程图使⽤.(×)
在程序调试时,出错误的位置和性质⽐改正该错误更难.(√)
以对象,类,继承和通信为基础的⾯向对象设计⽅法(OOD)也是常见的软件概要设计⽅法之⼀.(√)
⼆,单项选择题(每⼩题2分,共10分)
试判断下列叙述中,哪个(些)是正确的(D)
a,软件系统中所有的信息流都可以认为是事务流
b,软件系统中所有的信息流都可以认为是变换流
c,事务分析和变换分析的设计步骤是基本相似的
A,a B,b C,c D,b和c
进⾏需求分析可使⽤多种⼯具,但(B)是不适⽤的.
A,数据流图 B,PAD图 C,判定表 D,数据词典
在详细设计阶段,经常采⽤的⼯具有(A).
A,PAD B,SA C,SC D,DFD
详细设计的结果基本决定了最终程序的(C)
A,代码的规模 B,运⾏速度 C,质量 D,可维护性
使⽤⽩盒测试⽅法时,确定测试数据应根据(A)和指定的覆盖标准.
A,程序的内部逻辑 B,程序的复杂程度
C,该软件的编辑⼈员 D,程序的功能
三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.)
软件开发编程语言有哪些
(ABCD)可以作为模块.
A,⼦程序 B,函数 C,过程 D,编译⽂件
下⾯哪些测试属于⿊盒测试(BCD).
A,路径测试 B,等价类划分 C,边界值分析 D,错误推测 E,循环测试
下列属于度量效益⽅法的是(ABCD).
A,货币的时间价值 B,投资回收期 C,收⼊ D,投资回报率
软件维护的策略包括(BCD).
A,定期检测维护 B,改正性维护 C,适应性维护 D,完善性维护
下列属于软件测试过程的是(ABE).
A,单元测试 B,组装测试 C,内核测试 D,法律验证 E,确认测试
四,简答题(每题6分,共24分)
1、耦合性和内聚性有⼏种类型其耦合度,内聚强度的顺序如何
答案:低:⾮直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:⾼
强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱
2、请举例说明什么是多态,什么是重载
答案:多态性是指⼦类对象可以像⽗类对象那样使⽤,同样的消息既可以发送给⽗类对象也可以发送给⼦类对象.也就是说,在类等级的不同层次中可以共享(公⽤)⼀个⾏为(⽅法)的名字,然⽽不同层次中的每个类却各⾃按⾃⼰的需要来实现这个⾏为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选⽤在该类中定义的实现算法.
3、重载是指⼀个类中有多个同名的⽅法,但在操作数个数或类型上有区别.
例: public class A{
int age;
String name;
public void setValue(int i) {
age=i; }
public void setValue(String s) {
name=s; }
4、什么是数据字典简述数据字典与数据流图的关系.
答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充⼯具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然⽽没有数据流图数据字典也难于发挥作⽤. 数据流图和对数据流图中每个元素的精确定义放在⼀起,才能共同构成系统的规格说明.(3分)
5、简述编码风格的重要性.
答案:阅读程序是软件开发和维护过程中的⼀个重要组成部分,程序实际上也是⼀种供⼈阅读的⽂章.应当在编写程序时讲求程序的风格,这将⼤量地减少⼈们读程序的时间.良好的编码风格有助于编写出可靠⽽⼜容易维护的程序,编码的风格在很⼤程度上决定着程序的质量.
⾯向对象的测试和传统开发⽅法的测试有什么不同
答案:(1)⼆者都可以分成四个阶段进⾏.但传统测试最⼩单元是模块,⽽在⾯向对象环境下,最⼩的可测试的单元是封装了的类或对象,⽽不是程序模块.(2)因为⾯向对象软件没有⼀个层次的控制结构,所以传统的⾃顶向下和⾃底向上的组装策略意义不⼤. 每次将⼀个操作组装到类中(像传统的增殖式组装那样)常常
⾏不通,因为在构成类的各个部件之间存在各种直接的和⾮直接的交互.对于⾯向对象系统的组装测试,存在两种不同的测试策略.
软件⼯程期末试卷(三)
2004年下半年期末考试
(开放教育本科)计算机科学与技术专业
《软件⼯程》试题B
2005年1⽉
题号⼀⼆三四五六总分
分数
⼀、填空题(每空1分,共20分)
1.软件⽣存周期⼀般可分为__________、可⾏性研究、__________、设计编码、__________、运⾏与维护阶段。
2.  IPO图由__________、__________和__________三个框组成。
3.软件=__________+__________。
4.软件测试的⽅法有__________和__________(即⿊盒法)。
5.  Jackson图除了可以表达程序结构外,还可以表达__________。
6.详细设计的⼯具有图形⼯具、__________和__________。
7.  __________和__________共同构成系统的逻辑模型。
8.成本估计⽅法主要有__________、__________和算法模型估计三种类型。
9.在需求分析阶段常⽤的图形⼯具有__________、__________、__________三种。
答案:填空题(每空1分,共20分)
1、问题定义需求分析测试
2、输⼊处理输出
3、程序⽂档
4、分析⽅法⾮分析⽅法
5、数据结构
6、表格⼯具语⾔⼯具
7、数据流图数据字典
8、⾃顶向下估计⾃底向上估计
9、层次⽅框图  Warnier图  IPO图
⼆、单项选择题(每⼩题2分,共10分)
1. 系统流程图是描绘()的传统⼯具。
A、逻辑系统
B、数据结构
C、状态变迁
D、物理系统
1. 下列模块独⽴性最强的是()
A、⾮直接耦合
B、数据耦合
C、公共耦合
D、内容耦合
1. 下列哪个阶段不属于软件⽣存周期的三⼤阶段()。
A、计划阶段
B、开发阶段
C、编码阶段
D、维护阶段
1. 常见的软件概要设计⽅法有3⼤类,其中以数据流图为基础构造模块结构的是()。
A、    Jackson⽅法和LCP(Wanier)逻辑构造⽅法
B、结构化设计⽅法(SD)
C、⾯向对象设计⽅法(OOD)
D、快速原型法
1. 使⽤⽩盒测试⽅法时,确定测试数据应根据()和指定的覆盖标准。
A、程序的内部逻辑
B、程序的复杂程度
C、该软件的编辑⼈员
D、程序的功能
答:1、D  2、A  3、C  4、A  5、A
三、多项选择题(每题2分,共10分)
1. ()可以作为模块。
A、⼦程序
B、函数
C、过程
D、编译⽂件
1. 关于内容耦合的描述正确的是()。
A、内容耦合是最⾼程度的耦合
B、⾼级语⾔⼀般设计成允许内容耦合的形成
C、应该尽量使⽤内容耦合
D、如果⼀个模块可以直接调⽤另⼀模块,则可以称为内容耦合
1. 下列属于度量效益⽅法的是()。
A、货币的时间价值
B、投资回收期
B、收⼊                      D、投资回报率
1. 软件维护的策略包括()。
A、定期检测维护
B、改正性维护
C、适应性维护
D、完善性维护
1. 下列不属于软件测试过程的是()。
A、单元测试
B、组装测试
C、内核测试
D、法律验证
答:1、ABCD  2、AD  3、ABC  4、BCD  5、CD
四、判断题(正确的在括号内打上“√”,错误的打上“×”。每题2分,共20分)
1. Warnier⽅法也是⼀种⾯向数据结构的设计⽅法,其逻辑更严格。()
2. PAD图在设置了五种基本控制结构后,还允许递归调⽤。()
3. 为了加快软件维护作业的进度,应尽可能增加维护⼈员的数⽬。(      )
4. 当验收测试通过,软件开发就完成了。(      )
5. 完成测试作业后,为了缩短源程序的长度应删除程序中的注解。(      )
6. 在进⾏总体设计时应加强模块间的联系。()
7. 系统结构图是精确表达程序结构的图形表⽰法。因此,有时也可以将系统结构图当作系统流程图使⽤。()
8. ⽤⿊盒法测试时,测试⽤例是根据程序内部逻辑设计的。()
9. 在程序调试时,出错误的位置和性质⽐改正该错误更难。()
10. 以对象、类、继承和通信为基础的⾯向对象设计⽅法(OOD)也是常见的软件概要设计⽅法之⼀。()答:1—5:√√×××          6—10: ×××√√