软件危机:软件开发技术的进步未能那满足发展的需求,在软件开发过程中遇到的问题找
不到解决的办法,问题积累起来了,形成尖锐的矛盾,导致软件危机。
软件工程:用科学知识和技术原理来定义、开发、维护软件的一门科学。
软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。
软件开发环境:是全面支持软件开发全过程的软件工具集合。
可行性研究:是研究这个软件项目是否值得去开发,其中的问题能否解决。
系统流程图:是描述物理系统的传统工具,用图形符号来表示系统中的各个元素,表达了
系统中各个元素之间的信息活动情况。
货币的时间价值:通常用利率表示。设利率为 i,现存入 p 元,n 年后可得钱数为 f,若 n 年
能收入 f 元,那么这些钱现在的价值是:p=f/(1+n*i)。
数据流图:简称 DFD,是 SA 方法中用于表示系统逻辑模型的一种工具,它以图形的方式
描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是
一种功能模型。
数据字典:简称 DD,是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、
无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描
述。
软件该要设计:是一个把软件需求转化为软件表达的过程,最初这种表示只是描述了软件
总的体系结构。
模块化:是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个
模块完成一个特定的子功能,所有的模块按某个方法组装起来,若成为一个整体,完成整
个系统所要求的功能。
信息隐蔽:指在设计和确定模块时,使用一个模块内包含的信息(过程或数据),对不需
要这些信息是其他模块来说,是不能访问的。
模块独立性:每个模块只完成系统要求的独立是子功能,并且与其它模块的联系最少且接
口简单。
PAD 图:是指问题分析图,是一种算法描述工具,它是一种由左往右展开的二维树形阶结构。
过程设计语言:也称程序描述语言,又称伪码。它是一种用于描述模块算法设计和处理细
节的语言。
程序设计风格:指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。良好的编程
风格可以减少编码错误和阅读程序的时间,从而提高软件开发率。
静态测试:测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对
程序进行检测。
白盒测试法:是把测试对象看成一个打开的盒子,测试人员必须了解程序内部结构和处理
过程,以检查检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验
内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
判定覆盖:设计足够的测试用例,使得被测试程序中每个判定表达式至少获得一次“真”值
和“假”值,从而使程序的每一个分支至少通过一次,因此判定覆盖也称分支覆盖。
单元测试:对源码中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,
从而发现模块在编码中或算法中的错误。
校正性维护:为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误过程
这个过程就称为校正性维护。
完善性维护:为增加软件功能、增强软件性能、提高软件运行率而进行的维护活动就称为
完善性维护。
维护的副作用:因修改软件而造成错误或其他不希望出现的情况,成为维护的副作用。