2016西南大学
第二次作业
第一题 选择题
1. 在软件开发模型中,提出最早,应用最广泛的模型是(A ) A ,瀑布 B ,螺旋 C ,演化 D ,智能
2. 软件工程方法是在实践中不断发展着的,而早期的软件工程方法一般是(B ) A ,原型化方法 B ,结构化方法 C ,面向对象方法 D ,功能分解法
3. 下列关于瀑布模型的描述正确的是(D )
A ,利用瀑布模型,如果发现问题修改的代价很低 B ,瀑布模型的核心是按照软件开发的时间顺序将问题简化 C ,瀑布模型具有良好的灵活性 D ,瀑布模型采用结构化的分析与设计方法,将逻辑现实与物理现实分开
4. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A )系统 A ,需求不确定性高的 B ,需求确定的 C ,管理信息 D ,实时
5. 软件开发瀑布模型中的软件定义时期各个阶段依次是(A )
A ,问题定义,可行性研究,需求分析。 B ,可行性研究,问题定义,需求分析 C ,可行性研究,需求分析,问题定义 D ,以上都不对
6. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象是(C )的一种表现
A ,软件工程 B ,软件周期 C ,软件周期 D ,软件生产
7. 快速原型模型的主要特点之一是(D )
A ,开发完毕才见到产品 B ,及早提供全部完整的软件产品 C ,开发完毕后才见到工作软件 D ,及早提供工作软件
8. 软件工程中常用的生命周期模型有(C )等
A ,瀑布模型,快速原型模型,增量模型,螺旋模型和喷泉模型 B ,瀑布模型,快速循环模型,扩展模型,螺旋模型和敏捷模型 C ,瀑布模型,快速循环模型,增量模型,螺旋模型和喷泉模型 D ,瀑布模型,快速原型模型,增量模型,螺旋模型和敏捷模型
9. 软件工程方法是在实践中不断发展着的方法,而早期敌敌畏软件工程方法常用模型不包括(B )
A ,瀑布模型 B ,敏捷模型 C ,原型模型 D ,螺旋模型
10. 软件开发瀑布模型中的各个阶段依次是(D )
A ,设计,分析,实现,测试,维护 B ,分析,设计,测试,实现,维护 C ,分析,设计,实现,维护,测试 D ,分析,设计,实现,测试,维护
第二题 判断题
1. 一个优秀的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(×)
2. 一个优秀的开发人员不必非要具有良好的书面和口头表达能力,只要程序写的好就没问题了。(×)
3. 软件维护的副作用指由于维护或在维护过程中其他一些不期望的行为引入的错误。(√)
4. 耦合是影响软件复杂度的重要因素。设计师应尽量使用内容耦合,少用控制耦合和特征耦合,限制公共环境耦合,完全不用数据耦合。(×)
5. 需求分析主要内容包括:问题分析,需求描述,需求评审。(√)
6. 如果大量测试没有发现任何错误,可以说明软件没有错误。(×)
7. 编程风格是在提高性能的前提下,有效的编排和组织程序以提高可读性和可维护性。(×)
8. 数据字典是关于数据的信息的集合,也就是对数据流图中所包含的所有元素的定义的集合。(√)
9. 程序的可靠性,可维护性和效率通常只由程序设计语言,源代码的质量和语言的实现机制决定的。(×)
10. 完成测试工作后,为了缩短源程序的长度应删去源程序的注释。(×)
第三题 简答题
1 什么叫逻辑覆盖,常用的逻辑覆盖方法有哪些(写出方法名称即可)
答:逻辑覆盖:是对一系列测试过程的总称,这组测试过程逐渐尽兴越来越完整的通路测试,它是以程序内部的逻辑结构为基础的设计测试用例的技术,适用于白盒测试。
常用的逻辑覆盖方法有:语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、路径覆盖。
2 什么是软件危机? 什么是软件工程?
答:软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
第四题 应用题
1. 将下面给出的伪码转换为程序流程图
i = 1; j = 0; while ( i
输入三个数a, b, c; p = b*b ? 4*a*c; if ( p
j = j + 1; }
i = i +1;
} 输出j ; 答:
2 输入三整数, 判断是否构成三角形, 如构成三角形, 则输出三条边的值, 否则输出”不能构成三角形”. 要求:1.用伪代码的形式写出该算法;2. 根据地一个部分设计设计路径覆盖的测试用例。 答:
路径:
①
ⅰ Ⅱ
Ⅲ.①—②—③—④—⑥—⑦
ⅰ
.①—②—⑤—⑥—⑦
Ⅳ
.①—⑤—⑥—⑦ ⅰ
.①—②—③—⑤—⑥—⑦
程序复杂度=3+1=4 测试用例