第一章
软件:计算机系统中的程序,数据及其相关文档的总称
软件工程:软件工程是应用计算机科学,数学及管理科学等原理,以工程化的原则和方法制作软件的工程
软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题
软件生存周期:是指软件产品或软件系统从产生,投入使用到被淘汰的全过程。
计算机系统工程:是一个问题求解的活动,其目的是分析基于计算机的系统的功能,性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。
需求分析:主要解决待开发软件要“做什么”的问题,确定软件的功能,性能,数据,界面等要求,生成软件需求规约。
软件过程:是软件生存周期中的一系列相关的过程。过程是活动的集合,活动是任务的集合。
CASE(计算机辅助软件工程)
软件工具:用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件。
第二章
可行性分析:主要从经济,技术,法律等方面分析出所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。
经济可行性:主要进行成本效益分析,从经济角度,确定系统是否值得开发。
投资回收期:是指累计的经济效益正好等于投资数(成本)所需时间。
纯收入:是指若干年内扣除成本后的实际收入。纯收入=累计经济收入-成本。
技术可行性:主要根据系统的功能,性能,约束条件等,分析在现有资源和技术条件下系统能否实现。
法律可行性:主要研究系统开发过程中可能涉及到的合同,侵权,责任以及各种与法律相抵触的问题。
第三章
软件需求:是指用户对目标软件系统在功能,行为,性能,设计,约束等方面的期望。
信息域:包括信息内容,信息流以及信息结构。
信息内容:表示了单个数据和控制对象,目标软件所有处理的信息集合由它们构成。
信息流:表示了数据和控制在系统中流动时的变化方式,输入对象被变换为中间信息,然后进一步变换为输出。
信息结构:表示了各种数据和控制项的内部组织形式。
需求管理:是一组用于帮助项目组在项目进展中的任何时候去标识,控制和跟踪需求的活动。
第四章
软件设计:是把软件需求变换成软件表示的过程。
过程抽象(功能抽象):是指任何一个完成明确定义功能的操作都可被使用者当作单个实体看待。
数据抽象:是指定义数据类型和施加于该类型对象的操作,并限定了对象的取值范围,只能通过这些操作修改和观察数据。
逐步求精:是把问题的求解过程分解成若干步骤或阶段,每一步都比上一步更精化,更接近问题的解决。
模块化:把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件。实际上是系统分解和抽象的过程。
模块独立性:模块实现独立的功能并与其他接口简单,符合信息隐蔽的原则,模块间关联和依赖程度尽可能小。
信息隐藏:是指模块内部处理细节和内部数据用某种手段隐蔽起来,外部模块不能随便访问。
内聚:是一个模块内部各个元素彼此结合的紧密程度的度量。
耦合:是模块之间的相对独立性(互相连接的紧密程度)的度量。
结构化程序设计:是一种程序设计技术,通过顺序,选择,循环三种基本控制结构,采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。
第五章
数据流图(DFD):描述输入数据流到输出数据流的变换(即加工),用于对系统的功能建模。
数据字典:是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。
结构图:描述了模块之间的调用关系,模块之间的控制层次。
深度:是指结构图中控制的层数。
宽度:是指结构图中同一层次上模块总数的最大值。
扇出:是指该模块直接调用的模块数目。
扇入:是指能直接调用该模块的模块数目。