3)简单化 4)文档化
5、软件测试中按照错误的性质和范围进行分类可分为:“功能错误”及其它哪些错误? 1.系统错误
2.加工错误(算法错误) 3.数据错误 4.代码错误
五、综合题(每小题10分,共20分)
1、选择语言时要考虑的因素有:项目的应用领域、项目中算法、计算的复杂性和其余哪些内容?1301
答:
1)项目中数据结构的复杂性 2)用户的性能需求 3)软件运行的环境
4)软件开发人员开发水平 5)可用的编译器和交叉编译器 2、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。0201 解: 1.软件开发的生产率P为:
P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM 2.开发每行代码的平均成本C为:
C = S / L = 168000美元 / 12100LOC=13.9美元/LOC 3.代码出错率EQR为:
EQR = N / L = 29个/12.1KLOC=2.4个/KLOC 4.软件的文档率D为:
D = Pd / L = 365页 / 12.1KLOC = 30页/ KLOC
《软件工程模拟试题及参考答案》(三)
单向选择题(四选一、每小题3分,共18分)
1、从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(A)的方法。0701
A、面向对象 B、面向数据 C、面向过程 D、面向属性
2、判定表由四部分组成:左上部列出(B)。0802 A. 条件组合与动作之间的对应关系 B. 所有条件
C. 所有可能的动作 D. 可能的条件组合
3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。1501 A. 纠错性维护 B. 适应性维护 C. 改善性维护 D. 预防性维护
4、可行性研究的步骤中不包括(C)的内容。0302 A. 复查初步分析结果。 B. 研究现有的系统。
C. 导出新系统高层逻辑模型。 D. 建立新系统的物理模型解法。
5、将软件组装成系统的一种测试技术叫(A)。1403 A. 集成测试 B. 单元测试 C. 集合测试 D. 系统测试
6、技术可行性是可行性研究的关键,其主要内容一般不包括(C)。0302 A. 风险分析 B. 资源分析 C. 人员分析 D. 技术分析
二、填空题(每空2分,共18分)
1. 面向问题语言:是独立于(机器),非过程式语言4GL。0101 2. 软件有效性,指软件系统的(时间)和空间效率。0103
3. 软件项目管理的对象主要包括产品、过程和(资源)等。0201
4. 计算机系统工程是用工程、科学和(数学)的原则与方法研制基于计算机
的系统的有关技术、方法和过程。0301
5. 在Jackson方法中,实体结构是指实体在时间坐标系中的行为序列。这种
序列以顺序、选择和(重复)三种结构进行复合。0602
6. 一个模块的“扇出数”是指该模块直接控制的其他(模块数)。0801 7. 第二代界面是简单的(菜单)式。1202
8. 软件可适应性,是指软件在不同的(系统约束)条件下,使用户需求得到
满足的难易程度。0302
9. 如果一个模块控制另一个模块,称前者为主控模块,后者为(从属)模块。
0801
三、判断题(每小题2分,共24分,错误打X、正确打√) 1. 可行性研究工作要在初步的需求定义之前进行。(X)0302
2. 软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)0101 3. 文档(document)—一种数据媒体和其上所记录的数据。(√)0101
4. 软件工程使用的软件工具能够自动或半自动地支持软件的开发、管理和文档的生成。
(√)0102
5. 为了充分发挥开发人员的潜力、缩短工期,软件工程项目的任务分解与安排应尽力挖掘
可并行开发的部分。(√)0206
6. 需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护
关系不大。(X)0401
7. 类是对具有共同特征的对象的进一步抽象。(√)0701
8. 面对日益增长的软件需求,人们显得力不从心。往往是产生软件危机的原因之一。(√)
0202
9. 数据输入的一般准则中包括采用灵活多样的交互方式,允许用户自选输入方式;允许用
户控制交互过程。(√)1204
10. 如果在分析阶段和设计阶段采用的是面向对象的方法,而在编码阶段采用的是面向过程
的语言,那么这种翻译就比较困难。(√)1301
11. 软件测试是对软件规格说明、软件设计和编码的最全面也是最后的审查。(√)1401 12. 如果测试过程没有发现任何错误,则说明软件没有错误。(X)1401
四、简答题(每小题4分,共20分) 1、螺旋模型的适应场合有哪些?0104 适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
2、软件生存周期
软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。
3、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容?
1. 风险标识 2. 风险估算 3. 风险评价
4. 风险驾驭和监控。
4、需求评审评审标准(按照重要性的次序)包括正确性、无歧义性、完全性、可验证性和其它那些内容?。
1)一致性。 2)可理解性。 3)可修改性。 4)可追踪性。
5、什么是静态测试
静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。1401
五、综合题(每小题10分,共20分)
1、为以下程序流程图分别设计语句覆盖和判定覆盖测试用例并标明程序执行路径。1402
开始a(x>1) AND (y=0)Fc(x=2) OR (z>1)Fe结束TTbd语句段1语句段2
解:1)语句覆盖测试用例
令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。 2)判定覆盖——分支覆盖
可以设计如下两组数据以满足判定覆盖: x=3,y=0,z=1(通过路径abce); x=2,y=1,z=2(通过路径acde)。
x=2,y=1,z=1;覆盖路径acde x=1,y=1,z=1;覆盖路径ace x=3,y=0,z=1;覆盖路径abce
2、分别画出顺序结构、选择结构、while结构、until结构的程序图,并计算它们的V(G)值。0202 解:
(a)顺序结构R1V(G)= E –N + 2 = 1 –2 + 2 = 1(b)选择结构R2R1V(G)= E –N + 2 = 4 –4 + 2 = 2 (c)while结构R1R2V(G)= E –N + 2 = 3 –3 + 2 = 2 (d)until 结构R1R2V(G)= E –N + 2 = 3 –3 + 2 = 2