软件工程名词解释

第一章
1. 软件
按照特定顺序组织的计算机数据和指令的集合
2. 文档
文档是软件开发使用和维护种的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,文档是不可或缺的资料。
3. 软件工程
用科学的原理和理论定义,开发、维护软件的学科。
4. 软件工程过程
软件工程过程是指为获得软件产品,在软件工具支持下由软件工程师完成的一些列软件工程活动。
5. 软件生存周期
一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.
6. 软件生存周期模型
是描述软件开发过程中各种活动如何执行的模型
7.软件危机
软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

第二章
1. 投资回收期
投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
2. 纯收人
纯收入是毛收入减去各项支出后剩下的收入,这个各项支出包括,折旧、提留、福利、股息、利息等一切支出

第三章
1. 需求分析
软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
2. 数据流
只能以事先规定好的顺序被读取一次的数据的一个序列”。
3. 数据字典
数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述
4. 加工
加工就是按照一定的组织程序或者规律对转变物质进行合目的改造过程。
5. 数据流图
简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具.是一种功能模型.作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.

第四章
1. 模块
在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。
2. 模块化
模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程
3. 抽象
抽象是从众多的事物中抽

取出共同的、本质性的特征,而舍弃其非本质的特征。
4. 隐蔽
5. 模块独立性
是模块化、抽象和信息隐蔽的直接产物。每个模块只要完成独立的功能,与其它模块联系越少,则模块的独立性就越强。通过模块与模块之间的耦合性和模块内部的内聚性来衡量模块的独立性。
6. 耦合性
也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
7. 无直接耦合
8. 数据耦合
指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
9. 标记耦合
指两个模块之间传递的是数据结构。
10. 控制耦合
指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量 )
11. 公共耦合
通过一个公共数据环境相互作用的那些模块间的耦合。(一个公式数据环境)
内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入
另一个模块内部
12. 内容耦合
13. 内聚性
内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
14. 偶然内聚
一个模块内的各处理元素之间没有任何联系。
15. 逻辑内聚
模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
16. 时间内聚
把需要同时执行的动作组合在一起。
17. 通信内聚
指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。
18. 顺序内聚
一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。
19. 功能内聚
最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。

第五章
1. PAD图
问题分析图,用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。
2. 过程设计语言
过程设计语言(简称PDL),也称程序描述语言,又称为伪码.它是一种用于描述模块算法设计和处理细节的语言.

第六章
1. 程序设计风格
是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等
2. 程序可移植性
机器只识别0和1,不管是用什么语言写的程序最终都是0和1的串,说某种语言的移植性好是说在各种型号的机器上有能够把以这种语言写的源程序编译成机器码的编译器

第七章
1. 语句覆盖
语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这种覆盖又称为点覆盖,它使得

程序中每个可执行语句都得到执行,但它是最弱的逻辑覆盖准,效果有限,必须与其他方法交互使用。
2. 判定覆盖
判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判定的取真分支和取假分支至少经历一次,判定覆盖又称为分支覆盖。
3. 条件覆盖
条件覆盖是指选择足够的测试用例,使得运行这些测试用例后,要使每个判断中每个条件的可能取值至少满足一次,但未必能覆盖全部分支。是以程序内部的逻辑结构为基础的设计测试用例的技术。
4. 判定/条件覆盖
判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。换言之,即是要求各个判断的所有可能的条件取值组合至少执行一次。
5. 条件组合覆盖
是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表达式中的条件的各种组合都至少出现一次。
6. 路径测试
路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。这是最强的覆盖准则。但在路径数目很大时,真正做到完全覆盖是很困难的,必须把覆盖路径数目压缩到一定限度。下面我们做一分析。
7. 环路复杂度
定量度量程序的逻辑复杂性
8. 黑盒测试
将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。等价类划分、边界值分析、因果图、错误推测。
9. 白盒测试
将程序看成是白盒子,认真的分析程序的结构和功能制定测试用例来测试。有逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖)
10. 驱动模块
驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。
11. 桩模块
桩模块是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。
12. 单元测试
着重测试每个单独的模块,以确保它作为一个单元来说功能是正确的。
13. 集成测试
将模块组合起来成为一个完整的系统对其进行测试。
14. 确认测试
按照需求规格说明书中的确定指标对系统进行功能与性能的测试。
15. 调试
编好程序后,用各种手段进行查错和排错的过程。作为程序的正确性不仅仅表现在正常功能的完成上,更重要的是对意外情况的正确处理。是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。


第八章
1. 维护
软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分

利用源程序。修改后要填写程序改登记表,并在程序变更通知书上写明新旧程序的不同之处。
2. 校正性维护
在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
3. 适应性维护
是指使用软件适应信息技术变化和管理需求变化而进行的修改。
4. 完善性维护
这是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征
5. 预防性维护
为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。
6. 软件可维护性
软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度。
7.结构化维护
如果维护工作是从评价完整的软件配置开始入手,确定软件的重要结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且计划实施途径。然后首先修改设计并且对所做的修改进行仔细审查。接下来编写相应的源程序代码;使用在测试说明书中包含的信息进行回归测试;最后,把修改后的软件再次交付使用。

第九章
1. 原型
原始的类型或形体构型,其他类型或形体构型由它演化而来。

第十章
1. 对象
是客观实体在问题域中的抽象。
2. 类
具有相似或相同性质的对象的抽象就是类。
3.消息
对象之间通信的构造。
4. 方法
在人们有目的的行动中,通过一连串有特定逻辑关系的动作来完成特定的任务。
5. 继承性
在面向对象设计语言中,如果一个类A继承自另一个类B,就把这个A称为“B的子类”,而把B称为“A的父类”,我们称类的这种性质为继承性。
6. 单重继承
当一个类只允许有一个父类时,及当类等级为树形结构时类的继承是单继承
7. 多重继承
当允许一个类有多个父类时,类的继承是多重继承
8. 多态性
指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。
9. 抽象
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
10. 隐藏
11. 链
12. 关联
表示两个类的对象之间存在某种语义上的联系

第十一章
1. 软件可靠性
在规定的环境下和时间里软件按要求的功能执行的概率。
2. 效率
3. 可维护性
软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。
4. 可移植性


软件可移植性指与软件从某一环境转移到另一环境下的难易程度。为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环境。尽量不用与系统的底层相关性强的语言。
5. 可互操作性
互操作性是指不同厂商的设备,应用通用的数据结构和传输标准设置,使之可以互换数据和执行命令的解决方案。对软件来讲,就是信息要有能够在技术的体系里,来进行数据的交换,也就是说来彼此交谈。
6. 适应性
7. 可重用性
利用标准化的软件模块快速构建特定的应用系统,软件开发的全生命周期都有可重用的价值,包括项目的组织、软件需求、设计、文档、实现、测试方法和测试用例都是可以被重复利用或借鉴的有效资源
8. 软件设计质量
与确定的功能和性能需求一致、与成文的开发标准相一致、与所有专业开发的软件所期望的隐含特性相一致
9. 软件程序质量
10. 冗余
通常指通过多重备份来增加系统的可靠性。

第十二章
1. 软件配置管理
软件配置管理(SCM)用于整个软件工程过程,目标是表示变更,控制变更,确保变更的正确实施,报告变更。SCM是用在整个软件生存周期个阶段中的变更活动。
2. 软件配置项
一般认为:软件生存周期各个阶段活动的产物经审批后即可称之为软件配置项。 软件配置项包括:①与合同、过程、计划和产品有关的文档和资料;②源代码、目标代码和可执行代码;③相关产品,包括软件工具、库内的可重用软件、外购软件及顾客提供的软件等。
3. 基线
是软件生存周期中各开发阶段的一个特定点,它的作用是把开发各阶段的工作划分的更加明确化,使本来连续的工作在这些点上断开,便于检查于肯定阶段成果。
4. 文档
文档是软件开发使用和维护种的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,文档是不可或缺的资料。

第十三章
1. 软件开发环境
软件开发环境是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。
2. 软件工具
软件开发工具为软件开发服务的各种软件和硬件。

相关文档
最新文档