【习题】
⼀、选择题:
1 、1968年北⼤西洋公约组织的计算机科学家召开国际会议,讨论()问题,这次会议上正式使⽤了软件⼯程这个名词。(A )系统设计(B )软件危机(C )设计模式(D) 软件开发
2 、下⾯哪些不属于软件⼯程学的内容是:
A 、软件开发⽅法
B 、软件环境
C 、成本估算D、⼈员配置
3 、下⾯哪个途径属于摆脱软件危机的⽅法:()
A 、多安排软件⼈员进⾏编程
B 、招聘编程⽔平⾼的⼈员
C 、采⽤必要的组织管理措施D、提⾼计算机硬件的配置
4 下⾯哪个是开发原型系统的⽬的:
(A )检验设计⽅案是否正确(B )画出系统的逻辑模型
(C )给出系统的最终⽤户界⾯(D)系统是否可⾏
5 、在下列⼯具与环境中()属于较早期的CASE。
A. 基于信息⼯程的CASE
B.⼈⼯智能CASE
C. 集成CASE环境
D. 交互编程环境
6 、软件复杂性主要体现在()
A. 数据的复杂性
B. 程序的复杂性
C. 控制的复杂性
D. 问题的复杂性
7 、⽤于设计阶段,考核实现⽅案是否可⾏的是()原型。
A. 探索型
B. 演化型
C. 实验型
D. 增量型
8 、具有风险分析的软件⽣存周期模型是()
A. 瀑布模型
B. 喷泉模型
C. 螺旋模型D. 增量模型
9 、软件⼯程管理的具体内容不包括对_________管理。
A .开发⼈员
B .组织机构
C .过程D.设备
10、在RUP 开发过程模型的主要特征是_________。
A .迭代和原型
B .增量和原型
C .迭代和增量D.瀑布和原型
11 、软件需求⼯程阶段的⼯作可以划分以下四个⽅⾯:对问题的识别、分析与综合、制定需求规格说明和____。
A. 总结
B. 阶段性报告
C. 需求分析评审
D. 以上答案都不正确
12 、各种需求分析⽅法都有它们共同适⽤的_____ 。
A. 说明⽅法
B. 描述⽅法
C. 准则
D. 基本原则
13 、软件需求规格说明书的内容不应该包括对____的描述。
A. 主要功能
B. 算法的详细过程
C. ⽤户界⾯和运⾏
环境 D.
软件的性能
14 、需求分析产⽣的⽂档是____ 。
A. 项⽬开发计划
B. 可⾏性分析报告
C. 需求规格说明书
D. 软件
设计说明书
15 、需求分析中,分析⼈员要从⽤户那⾥解决的最重要的问题是____。
A. 要让软件做什么
B. 要给该软件提供什么信息
C. 要求软件⼯作效率如何
D. 要让该软件具有何种结
构
16 、需求规格说明书的作⽤不应包括_____ 。
A. 软件设计的依据
B. ⽤户与开发⼈员对软件要做什么的共
同理解
C. 软件验收的依据
D. 软件可⾏性研究的依据
17 、在结构化分析⽅法中,⽤以表达系统内部数据的运⾏情况的⼯具有。
A. 数据流图
B. 数据字典
C. 结构化英语
D.
判定树与判定表
18 、需求分析最终结果是产⽣_____ 。
A. 项⽬开发计划
B. 可⾏性分析报告
C. 需求规格说明书
D. 设计说明书
19 、分层数据流图是⼀种⽐较严格⼜易于理解的描述⽅式,它的顶层数据流图描述了系统的_____ 。
A. 细节
B. 输⼊与输出
C. 软件的作者
D. 绘制的时间
20 、⼀个局部数据存储当它作为____时就把它画出来。
A. 某些加⼯的数据接⼝
B. 某个加⼯的特定输⼊
C. 某个加⼯的特定输出
D. 某些加⼯的数据接⼝或某个加⼯的特定输⼊/ 输出
21. 通过()可以完成数据流图的细化。
A .结构分解B、功能分解 C 、数据分解D、系统分解
22. 模块(),则说明模块的独⽴性越强。
A .耦合越强B 、扇⼊数越⾼
C 、耦合越弱D、扇⼊数越低
23. 程序设计语⾔中应()使⽤GOTO 语句。
A 允许
B 绝对禁⽌
C 不建议使⽤
D ⽆所谓
24. 在对数据流的分析中,主要是找到中⼼变换,这是从()导出结构图的关键。
A .数据结构 B. 实体关系 C. 数据流图 D. E —R 图
25. 结构化设计⽅法是⾯向()的设计。
A ,数据流
B ,数据编码
C ,数据库
D ,数据结构
26. 复杂的数据流图()。
A ,只有变换型
B ,只有事务型
C ,⽆规律
D ,既有变换型⼜有事务型
27. 软件详细设计阶段的任务是()。
A ,算法设计
B ,功能设计
C ,调⽤关系设计
D ,输⼊/输出设计
28. 模块内聚度⽤于衡量模块内部各成分之间彼此结合的紧密程度。
⼀组语句在程序的多处出现,为了节省内存空间把这些语句放在⼀个模块中,该模块的
内聚度是5 A 的;将⼏个逻辑上相似的成分放在⼀个模块中,该模块的内聚度是
7B 的;模块中所有成分引⽤共同的数据,该模块的内聚度是3 C 的;模块内的某成分的输出是另⼀些成分的输⼊,该模块内聚度是4D ;模块中所有成分结合起来完成⼀项任务,该模块的内聚度是 1 E 的。
A~E :①功能性②顺序性③通信性
④过程性⑤偶然性⑥瞬时性⑦逻辑性
29. 详细设计与概要设计衔接的图形⼯具是()
A.DFD 图
B.SC图 C .PA D 图 D. 程序流程图
30. 软件概要设计结束后得到()
A. 初始化的软件结构图B. 优化后的软件结构图
C. 模块详细的算法
D. 程序编码
31. ⽐较接近于⾃然语⾔,被⼴泛应⽤于构造专家系统的程序设计语⾔是()
A.FORTRAN 语⾔
B.Pascal 语⾔
C.C 语⾔
D.Prolog 语⾔
32. 为了提⾼软件的可维护性,在编码阶段应注意( ) 。
A. 保存测试⽤例和数据
B. 提⾼模块的独⽴性
C. ⽂档的副作⽤
D. 养成好的程序设计风格
33. 程序的三种基本控制结构是()
A .过程、⼦程序和分程序
B .顺序、选择和重复
C .递归、堆栈和队列
D .调⽤、返回和转移
34. 以下描述正确的是:
a 程序中的注解越少越好。
b 编码时应尽可能使⽤全局变量。
c 为了提⾼程序的易读性,尽可能使⽤⾼级语⾔编写程序。
d 尽可能⽤GOTO 语句。
35. 下列哪个做法会导致不利的语句结构()。
A 、避免过多的循环嵌套和条件嵌套
B 、对递归定义的数据结构尽量不再使⽤递归过程
C 、模块功能尽可能单⼀化,模块间的耦合能够清晰可见
D 、确保所有变量在使⽤前都进⾏初始化
36 . 源程序的版⾯⽂档要求应有变量说明、适当注释和____ 。
A .框图
B .统⼀书写格式
C .修改记录
D .编程⽇期
37. 第⼀个体现结构化编程思想的程序设计语⾔是()
A .FORTRAN 语⾔B.Pascal 语⾔ C .C 语⾔D.PL/1 语⾔38. 程序的三种基本控制结构的共同特点是()。
A 、不能嵌套使⽤B、只能⽤来写简单的程序
C 、已经⽤硬件实现D、只有⼀个⼊⼝和⼀个出⼝
39. 以下描述错误的是:
a 使⽤括号以改善表达式的清晰性。
b 尽可能把程序编得短⼀些。
c 不要修补不好的程序,要重新写。
d 程序的书写格式应有助于读者阅读与理解。
40. 提⾼程序效率的根本途径在于(B)。
①编程时对程序语句进⾏调整②选择良好的设计⽅法③使程序最⼤限度的简洁④选择良好的数据结构与算法
A 、①②③④B、②④C、③④D、①③
41、软件测试⽅法中的静态测试⽅法之⼀为()
A. 计算机辅助静态分析
B. ⿊盒法
C. 因果图
D. 路径覆盖
42、在⽩盒法技术测试⽤例的设计中()是最弱的覆盖标准。
A. 语句
B. 路径
C. 条件组合
D. 判定
43、⽤⽩盒法技术设计测试⽤例的⽅法包括()
A .错误推测B.因果图
C .基本路径测试D.边界值分析
44、软件测试中根据测试⽤例设计的⽅法的不同可分为⿊盒测试和⽩盒测试两种,它们()
A .前者属于静态测试,后者属于动态测试
B .前者属于动态测试,后者属于静态测试
C .都属于静态测试
D .都属于动态测试
45、在系统验收测试中,(1)是在⼀个模拟的环境下使⽤模拟数据运⾏系统;(2)是在⼀个实际环境中使⽤真实数据运⾏系统。
(1)A、验收测试 B 、审计测试C、确认测试 D 、模块测试
(2)A、验收测试 B 、审计测试C、确认测试 D 、模块测试
46、在进⾏软件测试时,⾸先应当进⾏(),然后再进⾏组装测试,最后再进⾏有效性测试。
A .单元测试
B 、集成测试
C 、确认测试D、组合测试
47、在设计测试⽤例时,()是⽤得最多的⼀种⿊盒测试⽅法。
A .等价类划分 B. 边界值分析 C. 因果图 D. 判定表
48.以下哪种测试⽅法不属于⽩盒测试技术_____。
A .基本路径测试
B .边界值分析
C .循环覆盖测试
D .逻辑覆盖技术
49.软件测试是软件质量保证的重要⼿段,下述_____是软件测试的最基础环节。
A .功能性测试
B .单元测试
C .结构测试
D .确认测试
50.⽤⿊盒技术设计测试⽤例的⽅法之⼀为_____。
A .因果图
B .逻辑覆盖
C .循环覆盖
D .基本路径测试
51. ⽣产性维护活动包括()
A. 修改设计
B. 理解设计
C. 解释数据结构
D. 理解功能
52. 随着软硬件环境变化⽽修改软件的过程是()
A. 校正性维护
B. 适应性维护
C. 完善性维护
D. 预防性维护
53. 为了提⾼软件的可维护性,在编码阶段应注意()
A. 保存测试⽤例和数据
B. 提⾼模块的独⽴性
C. ⽂档的副作⽤
D. 养成好的程序设计风格
54. 维护中因删除⼀个标识符⽽引起的错识是_________副作⽤。()
A .⽂档B .数据
C .编码
D .设计
55. 软件维护的困难主要原因是()
A .费⽤低
B .⼈员少
C .开发⽅法的缺陷D.维护难
56. ⼀般来说,在软件维护过程中,⼤部分⼯作是由__(1)__引起的。在软件维护的实施过程中,为了正确、有效地修改程序,需要经历以下三个步骤,分析和理解程序、修改程序和__(2)__。__(3)__的修改不归结为软件的维护⼯作。
供选择的答案:
(1):A.适应新的软件环境B .适应新的硬件环境
C .⽤户的需求改变
D .程序的可靠性
(2): A .重新验证程序 B .验收程序
C .书写维护⽂档
D .建⽴⽬标程序
(3):A.设计⽂档 B .数据 C .需求规约 D .代码
57. 为提⾼系统性能⽽进⾏的修改是属于()
A. 纠正性维护
B. 适应性维护
C. 完善性维护
D. 测试性维护
58. 软件⽣命周期中,阶段所占的⼯作量最⼤。
A .分析阶段B.设计阶段 C .编码阶段D.维
护阶段
59. 系统维护中要解决的问题来源于。
A .系统分析阶段B.系统设计阶段
C .系统实施阶段D.上述三个阶段(A 、B、C)都包括
60. 产⽣软件维护的副作⽤,是指
A .开发时的错误
B 、隐含的错误
C 、因修改软件⽽造成的错误
D 、运⾏时误操作
⼆、针对以下程序,绘制程序流程图,并进⾏测试:
PROCEDURE SAMPAL (A,B:REAL; VAR X:REAL);
BEGINIF (A>1) AND (B=0) THEN X:=X/A
IF (A=2) OR (X>1) THEN X:=X+1
END;
先画出程序流程图。再按不同逻辑覆盖法设计(写出名称)测试数据。
三、简答题
1、请列举两种软件开发过程模型的名称,并分别加以简要介绍,包括模型的特点、优点、缺点,及其适应于什么样的项⽬
2、请列举软件⽣存周期分为哪些阶段
【参】
⼀、
BBCAD DCCDC CDBCA DACBD BCCCA DA⑤⑦③④①BB DDBCB CBDBB AACD(1)C(2)A AABAA ABDBC C②A③B CDDC
⼆、
程序流程图
语句覆盖测试数据:A=2,B=0,X=4
判定覆盖测试数据:P1T P2F A=3,B=0 ,X=0 可覆盖acd分⽀
P1F P2T A=2,B=1 ,X=1 可覆盖abe分⽀
条件覆盖测试数据:T1T2F3F4 A=2,B=0,X=4 可覆盖c、e分⽀
F1F2T3T4 A=1,B=1,X=1 可覆盖b、d分⽀
判定/条件覆盖测试数据:P1T T1T2P2T T3T4A=2, B=0, X=4
P1F F1F2P2F F3F4A=1,B=1,X=1
条件组合覆盖测试数据:
1.A>1,B=0
2.A>1,B≠0
3.A≤1,B=0
4. A ≤1,B≠0
5.A=2,X>1
6.A=2,X≤1
7.A≠2,X>1
8.A≠2,X≤1i.A=2,B=0,X=4
(针对1,5两种组合,覆盖路径ce)ii.A=2,B=1,X=1(针对2,6两种组合,覆盖路径be)iii.A=1,B=0,X=2(针对3,7两种组合,覆盖路径be )iv.A=1,B=1,X=1(针对4,8两种组合,覆盖路径bd )三、(⾃⼰作答)下载本文