软件工程概述
一.填空题
1. 计算机科学中的研究成果均可用于软件工程,但计算机科学更侧重于_____________、而
软件工程侧重于_____________。
2. 计算机程序及其说明程序的各种文档称为_____________。计算任务的处理图像对象和处
理规则的描述称为_____________。有关计算机程序功能、设计、编制、使用的文字或图形资
料称为_____________。
3. 软件开发环境是相关一组_____________的集合,它支持一定的软件开发方法或按照一定
的软件开发模型组织而成的。
4. CASE这一术语的英文是_____________。
5. _____________是指工具运行在相同的硬件/操作系统平台上。_____________是指工具使
用共享数据模型来操作。_____________是指工具提供相同的用户界面。
6. 根据支持的范围,CASE工具可分为_____________、_____________和_____________工具
7. 软件危机的主要原因有_____________和_____________。
8. _____________模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发处理的,
开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开
发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获
得满意的软件产品。
9. 结构化方法总得指导思想是_____________。它的基本原则是功能的_____________与___
__________。它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。
10. 面向对象开发方法包括_____________、_____________、_____________、三部分。
11. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括_
____________、项目开发计划、_____________、_____________ 、_____________、    _
____________、_____________、_____________,它规定了由前至后、相互衔接的固定次序
,如同瀑布流水,逐级下落。
12. 瀑布模型本质上是一种_____________顺序模型。
13. 构造原型时,必须注意_____________取舍,忽略一切暂时不关心的部分。
14. 属性指的是类中对象所具有的_____________。不同对象的同一属性可以具有相同或不同
的_____________。
15. 结构化方法和原型化方法是软件开发中常使用的两种方法,在实际的应用中,它们之间
的关系表现为_____________。
解答:
1. 原理和理论、如何建造一个软件系统
2. 文件、程序、文档;
3. 软件工具;
4. Computer Aided Software Engineering;
5. 平台集成、数据集成、表示集成;
6. 窄支持、较宽支持、一般支持;
7. 软件本身的特点、缺乏好的开发方法和手段;
8. 增量;
9. 自顶而下逐步求精、分解、抽象;
10. 面向对象分析、面向对象设计、面向对象实现;
11. 可行性分析、需求分析、概要设计、详细设计、编码、测试、维护;
12. 线性;
13. 功能性能;
14. 性质(数据值)、属性值;
15. 相互补充;
二.判断题
1. 瀑布模型的存在问题是缺乏灵活性。(  )
2. 软件是一种逻辑产品。(  )
3. 软件工程学科出现的主要原因是程序设计方法学的影响。(  )
4. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。(  )
5. CASE开放式工作台或者提供控制集成机制,或者可剪裁,其数据集成或协议是独立的。
(  )
6. 在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是版
本控制工具。(  )
7. 平台集成是指工具运行在相同的硬件/操作系统平台上。(  )
8. 软件生存周期模型有多种,功能模型是软件生存周期模型。(  )
9. 从结构化的瀑布模型看,在软件生命周期中得8个阶段中,详细设计阶段出错,对软件的
影响最大。(  )
10. 软件生存周期中时间最长的阶段是需求分析阶段。(  )
11. 软件开发的结构化生命周期方法将软件生命周期划分成需求分析、功能定义、系统设计
。(  )
12. 增量模型是一种整体开发模型。(  )
13. 构造模型时,主要考虑全部功能。(  )
14. 瀑布模型本质上是一种线性迭代模型。(  )
15. 快速原型思想是在研究概要设计阶段的方法和技术中产生的。(  )
解答:
1. √
2. √
3. ×
4. √
5. ×
6. √
7. √
8. ×
9. ×
10. ×
11. ×
12. ×
13. ×
14. ×
15. ×
三.名词解释
1. 软件工程;
2. 软件生命周期模型;
3. 经济可行性;
4. 社会可行性;
5. 投资回收期;
6. 结构冲突;
7. 模块化;
8. 对象;
9. 白盒测试;
10. 耦合;
11. 内聚;
12. 系统流程图;
13. 独立路径;
14. 喷泉模型;
15. 变换模型;
解答:
1. 软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。
2. 软件生命周期模型是描述软件开发过程中各种活动如何执行的模型。
3. 进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
4. 要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组
织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
5. 投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
6. 输入数据与输出数据结构不到对应关系的情况,称为结构冲突。
7. 把程序划分成独立运行且可以独立访问的模块,每个模块完成一个子功能,把这些模块
集成起来构成一个整体,可以完成指定的功能满足用户的需求。
8. 描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。
9. 白盒测试又叫做结构测试,把程序看成装在一个透明的白盒子里,按照程序内部的逻辑
测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
10. 耦合是对一个软件结构内各个模块之间互连程度的度量。
程序测试员需要学什么
11. 内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然
扩展。
12. 系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中
各种元素之间的信息流动)情况。
13. 独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独
立路径是至少包含有一条在其他独立路径中未有过的边的路径。
14. 喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软
件开发过程。
15. 变换模型是一种适合于形式化开发方法的模型,从软件需求形式化说明开始经过一系列
变换,最终得到系统的目标程序。此模型必须有严格的数学理论和形式化技术的支持,尚处
于研究和实验阶段。
四.简答题
1. 请简要说明可行性分析的内容。
2. 请写出六种软件CASE工具。
3. 什么是软件工程?软件工程的目标是什么?
4. 什么是结构化分析方法?该方法使用什么描述工具?
5. 软件设计的基本原理包括什么?
6. 简述容错技术的四种主要手段,并解释
7. 软件生命周期划分成哪些阶段
8. 简要说明软件危机产生的原因
解答:
1. 技术可行性:技术分析说明使用现有系统是否能完成本系统的开发。
    经济可行性:经济分析应着重两个因素“成本和收益”,应向管理层提供有关这两方面
足够的信息。如果项目的收益大于成本,则此项目可以说是经济上可行。
    操作可行性:系统的操作方式是否能够在组织内得到认同,是否违背有关法律、制度、
道德、文化等因素。
2. (1)Power Designer(分析设计工具或软件建模工具),(2)Rational Rose(分析设