一、填空题

1、软件由计算机程序、数据和 组成。
2、软件是一种 产品,它与物质产品有很大的区别。
3、计算机系统由硬件、软件、使用计算机的人、数据库、 和执行过程组成。
4、软件的发展,到现在为止,经历了三个阶段: 和软件工程。
5、程序设计时代的生产方式是 ,程序系统时代的生产方式是   ,软件工程时代的生产方式是 
6、软件工程是一门综合性的交叉学科,它涉及计算机学科、   学科、管理学科和  学科。
7、计算机科学中的成果都可用于软件工程,但计算机科学着重于 ,软件工程着重于
8、软件工程研究的主要内容是 等三个方面。
9、软件开发各阶段任务的划分应尽可能 ,同一阶段任务的性质应尽可能
10、瀑布模型是将  各个活动规定为依 连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。
11、演化模型是一种非整体开发模型。先开发一个 软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品。
12、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤: 、开发实施、
13、喷泉模型是一种以 为动力,以 为驱动的模型。它使开发过程具有迭代性和无间隙性,适用于 开发方法。


    

二、单项选择题

1、软件产品的生产主要是 ____。
  A. 制造
  B. 复制
  C. 开发 
  D. 研制

2、个体手工劳动是____时代的软件生产方式。
  A. 程序系统
  B. 程序设计
  C. 软件工程
  D. 程序编码

3、软件工程是一门____学科。
  A. 理论性
  B. 原理性
  C. 工程性
  D. 心理性

4、软件开发费用只占软件生存期全部费用的____。
  A. 1/2
  B. 1/3
  C. 1/4
  D. 2/3

5、在软件开发过程中大约要花费____%的工作量进行测试和调试。
  A. 20
  B. 30
  C. 40 
  D. 50

6、准确地解决“软件系统必须做什么”是____阶段的任务。
  A. 可行性研究
  B. 需求分析
  C. 软件设计
  D. 程序编码

7、软件生存期中时间最长的是____ 阶段。
A. 需求分析
B. 软件设计
C. 软件测试
D. 软件运行/维护

8、在软件生存期的模型中,___适合于大型软件的开发,它吸收了软件工程中“演化”的概念。
  A .喷泉模型
  B. 基于知识的模型
  C. 瀑布模型
  D. 螺旋模型

 9、在软件生存期中,用户的参与主要在____。
A. 软件定义阶段
B. 软件开发阶段
C. 软件维护阶段
D. 整个软件生存期过程中

10、在软件开发过程中的每个阶段都要进行严格的_____,以尽早发现在软件开发过程中产生的错误。
  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. 方法


     

三、选择填空题

1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧(   )内。
  �软件是计算机系统中与硬件相互依存的另一部分,它是包括(  A  )、(  B  )及(  C  )的完整集合。其中,(  A  )是按事先设计的功能和性能要求执行的指令序列。(  B  )是使程序能够正确操纵信息的数据结构。(  C  )是与程序开发、维护和使用有关的图文材料。
供选择的答案:
  �A~C. ① 软件     ② 程序    ③ 代码   ④ 硬件 ⑤ 文档    ⑥ 外设   ⑦ 数据   ⑧ 图表




2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧(   )内。
  �开发软件时对提高软件开发人员工作效率至关重要的是(  A  )。软件工程中描述生存周期的瀑布模型一般包括计划、(  B  )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(  C  )和(  D  )两步。
供选择的答案:
  �A.① 程序开发环境     ② 操作系统的资源管理功能 ③ 程序人员数量   ④ 计算机的并行处理能力
  �B.① 需求分析  ② 需求调查  ③ 可行性分析 ④ 问题定义
  �C、D.① 方案设计  ② 代码设计  ③ 概要设计  ④ 数据设计  ⑤ 运行设计  ⑥ 详细设计  ⑦ 故障处理设计 ⑧ 软件体系结构设计




3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧(   )内。
有人将软件的发展过程划分为4个阶段:
  �第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有(  A  ),也没有(  B  ),程序员只能用机器指令编写程序。
  �第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了(  A  ),并逐渐普及。随着(  B  )的发展,编译技术也有较大的发展。
   �第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了(  C  )和(  D  )等程序设计方法,设法降低软件的开发费用。
  �第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如(  E  )、(  F  )、编码、单元测试、综合测试、(  G  )及其整体有关的各种管理技术。
供选择的答案:
  �A~D:① 汇编语言  ② 操作系统   ③ 虚拟存储器概念  ④ 高级语言  ⑤ 结构式程序设计  ⑥ 数据库概念 ⑦ 固件   ⑧ 模块化程序设计
  �E~G:① 使用和维护  ② 兼容性的确认  ③ 完整性的确认   ④ 设计   ⑤ 需求定义   ⑥ 图象处理




4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧(   )内。
  �软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品。软件工程技术应遵循(  A  )、(  B  )、(  C  )、(  D  )、一致性、确定性、完备性、可验证性、抽象和信息隐蔽。
  原型法适用于开发较复杂的系统,原型可分为三种:(  E  )、(  F  )和(  G  )。
供选择的答案:
 �A~D:① 有效性   ② 合理性   ③ 局部化  ④ 协同性  ⑤ 实用性   ⑥ 模块化  ⑦ 抽象   ⑧ 信息隐蔽
   �E~G:① 复用型   ② 实验型   ③ 废弃型  ④ 演化型  ⑤ 探索型

   



四、问答题

1.什么是软件?它的特性是什么?


2.试比较软件发展的三个时期的特点,从软件所指、软件工作范围、软件开发组织、决定质量的因素、开发技术和手段等几个方面说明它们的差别。


3.软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。



4.软件工程过程有哪几个基本过程活动?试说明之。


5.试说明“软件生存期”的概念。


6.试论述瀑布模型软件开发方法的基本过程,比较它的优点和缺点。


7.试说明演化模型软件开发方法的基本过程,比较它的优点和缺点。


8.试说明螺旋模型软件开发方法的基本过程,比较它的优点和缺点。


9.软件工程的基本目标有哪些?试说明它们之间的关系。


10.软件工程的基本原则有哪些?试说明之。


11.软件工程的基本原理有哪些?试说明之。


12.有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。