专 业 计算机科学与技术 层次(本、专) 本科 考试方式(开、闭卷) 闭卷 说明:(1)全部的答案请书写到答题纸上,书写到试卷上的解答属于无效解答; (2)写答案时,请给出题号,如:一、1、A、等形式。 一、填空题(20分,每个空1分)
1、 软件生命周期可划分为 软件定义、 软件开发 、软件维护三个时期。把这三个时期再细分为八个阶段,它们是 问题定义、_可行性研究_、需求分析、_总体设计_、_详细设计_、编码与单元测试、综合测试和运行维护。
2、 一般而言,可行性研究主要从_经济__、___技术___、操作、法律与社会效益等5各方面研究软件项目的可行性问题。
3、 应该从一致性、__完整性__、现实性和、__有效性_、4个方面验证软件需求的正确性。
4、 软件的总体设计过程通常由两个主要的阶段组成:_系统设计_阶段,确定软件系统的具体实现方案;_结构设计__阶段,确定软件结构。
5、 通常把软件测试的方法分为_白盒测试法_和__黑盒测试法__两大类。
6、 软件投入运行后进入维护阶段。其中,改正程序中的错误称为_ 更正性__维护,增加或完善软件功能是__完善性__维护,为满足新的运行环境或平台的要求而进行的是__适应性_维护,为未来修改程序的维护是预防性维护。
7、 软件项目的规模度量技术主要有两种,分别是_代码行_技术和_功能点__技术。软件项目工作量是软件规模的函数,其计算单位通常是___人月___。 二、判断题(20分,每小题1分)
请先阅读试题,然后在正确的结论后划√、错误的结论后划×。
1、软件开发过程中的错误暴露越迟,修复和改正错误的代价就越大。(√) 2、可行性分析后的需求分析就是解决目标系统的设计方案。(×)
3、软件生命周期的各个阶段中,开发阶段所花费的时间和代价是最大的。(×) 4、需求规格说明书在软件开发中具有重要作用,可以作为软件测试与维护的依据。(√ )
5、文档是软件产品的一部分,没有文档的软件就不称其为软件产品。( √) 6、软件的可维护性就是指软件是可以修改的——可修改性。(×) 7、系统流程图描述的是系统的物理模型,数据流程图描述的是系统的逻辑模型。( √)
8、数据字典定义数据流程图中的数据流及数据流分量(数据元素)。(×) 9、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。( √) 10、信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。( √ ) 11、结构化分析法是面向数据流、建立在数据封闭原则上的需求分析方法。(√ ) 12、根据软件规模估算模型计算出的工作量,就是项目实际开发进度时的实际时间。(×)
13、总体设计中,逐步求精就是逐步分解对功能的宏观陈述而开发出层次结构。(√ )
14、详细设计的结果基本上决定了代码的质量。( √)
15、模块化的目标之一,就是设计的软件具有弱偶合、高内聚。( √) 16、软件维护过程包括维护报告、维护记录、维护评价等活动。( √) 17、判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×)
18、边界值分析方法是取输入/输出等价类的边界值来构成测试用例的测试方法。( √) 19、要提高软件产品的开发效率,可以用吸收更多的开发人员参加与项目的方法来解决。(×) 20、软件可用性是程序在给定的时间点,按照规格说明书的规定成功运行的概率。( √)
三、单选择题(20分,每小题1分)
1、如下列出的内聚性中,具有最高内聚性的是(B)。
A、偶然内聚;B、功能内聚;C、逻辑内聚;D、时间内聚。 2、软件详细设计主要采用的方法是( D)。
A、模块化设计;B、流程图设计;C、面向数据结构设计;D、结构化程序设计。 3、如下哪个问题不属于软件危机的典型表现( D)。 A、对软件成本和进度估计不准确;
B、开发的软件常常满足不了用户的需求; C、软件维护异常困难或不可维护; D、计算机的运算速度和存储容量。 4、下列属于维护阶段的文档是(C )。
A、软件规格说明;B、用户操作手册;C、软件问题报告;D、软件测试分析报告。
5、在设计等价划分或边界值分析的测试用例时,主要研究( B)。 A、概要设计说明与详细设计说明; B、需求规格说明与概要设计说明; C、详细设计说明; D、项目开发计划。
6、下面的编程方法或特征不属于极限编程的是( A)。
A、持续长时间加班;B、短周期交付;C、结对编程;D、测试驱动开发。 7、快速原型模型的主要特点之一是( A)。 A、及早提供工作软件; B、开发完毕才见到产品;
C、及早提供全部完整的软件产品; D、开发完毕后才见到工作软件。
8、软件按照设计的要求,在规定时间和条件下达到不出故障、持续运行的要求的质量特性称为( D)。
A、可用性; B、正确性;C、完整性;D、可靠性。
9、对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。 A、结合;B、隐藏;C、封装;D、抽象。
10、范式是衡量信息数据的规范化程度的标准,下列描述与范式无关的是(A)。 A、属性值大小必须适中; B、属性值必须是原子值 C、避免插入或删除异常; D、消除冗余数据。
11、测试的关键问题是(D)。 A、如何采用综合策略; B、如何组织对软件的评审;
C、如何验证程序的正确性; D、如何选择测试用例。 12、(D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A、软件过程;B、软件测试;C、软件生命周期;D、软件工程方法学。 13、在如下逻辑覆盖测试技术的测试用例设计中,(A )是最弱的覆盖标准。 A、语句覆盖;B、路径覆盖;C、条件组合覆盖;D、判定覆盖; 14、单元测试的测试用例主要根据( B)的结果来设计。 A、需求分析;B、详细设计;C、源程序;D、概要设计。 15、面向对象的分析、设计与开发方法中,( C)将是主导地位的标准建模语言。 A、Booch方法;B、Coad方法;C、UML语言;D、OMT方法。 16.瀑布模型本质上是一种( A)。
A、线性顺序模型;B、顺序迭代模型;C、线性迭代模型;D、及早见产品模型。 17、软件详细设计的主要任务是确定每个模块的(A )。
A、算法和使用的数据结构;B、外部接口;C、功能;D、编程。 18、在软件结构图的形态特征中,能反映程序重用率的是( A)。
A、模块的扇入;B、模块的扇出;C、模块的深度;D、模块的宽度。 19、具有风险分析的软件生命周期模型是(C )。
A、瀑布模型;B、喷泉模型;C、螺旋模型;D、增量模型。 20、数据流程图(DFD)中的每个数据处理至少需要( A)。 A、一个输入数据流和一个输出流; B、一个输出数据流; C、一个输入数据流;
D、一个输入或者输出数据流。
四、名词解释(10分,每小题2.5分)
1、 软件危机。软件开发和维护过程中遇到的一系列严重问题。
2、回归测试。重执行已做的测试的某个子集,保证集新增加模块没有带来非预期副作用。 3、模块偶合。软件结构内不同模块之间互连接程度的度量。
4、软件质量。软件与明确地定义的需求和隐含地定义的需求相一致的程度。 五、简答题(10分,每小题5分) 1、 系统需求包括哪几个方面要求?
(1)功能需求,指出系统必须提供的服务;
(2)性能需求,指出系统必须满足的定时、容量、速度、安全性等要求; (3)可靠性和可用性需求,指出系统的可靠和可用性度量; (4)出错处理需求,应该如何响应系统出现的各类错误; (5)接口需求,指出系统与其它系统通信的格式; (6)约束需求,指出系统应遵守的限制条件 (7)逆向需求,指出系统不应该做什么; (8)将来需求。
2、 软件质量保证措施重要有哪些?
六、综合题(20分,第1小题3分、第2小题5分,第3小题12分)
1、给出如下代码片段,请设计一组或多组测试用例(即a、b、c的具体取值),保证每个语句均被执行到。 if(a == 6 && c == 1)
{
c = c/a; }
if(a >2 && b > 12) {
c = c +1; }
(a = 6、b = 15、c = 1)
2、给出两个实体及其属性:学生(学号、姓名、学院、年级)、运动项目(项目号、项目名、场地、时间),它们通过参加相互联系,请绘制ER图。
3、用软件工程的观点阐述对软件的理解。
解答
1)根据定义,软件由程序+文档+数据组成,缺少任何一个均不是合格的软件;
2)软件必须有经过审查的、格式规范的设计、实现、测试和运行维护文档,以及用户帮助文档(包括操作手册和在线帮助等);
3)软件源代码必须具有良好的可维护性、可阅读性和设计风格;
4)软件在投入使用前必须制定严格的测试方案,并完成各项测试。软件修改后,应该做相应的回归测试。
5)软件投入使用后,在软件的生命周期内,必须持续有效地支持用户工作; 6)软件投入使用后,要有严格的需求及版本变更控制方法、手段和工具。
因篇幅问题不能全部显示,请点此查看更多更全内容