软件工程背景知识及过程模型
一、背景知识: 软件开发的基本过程: 需求定义→软件设计→软件实现→软件测试→软件维护 软件的定义: 软件=程序+数据+文档 程序:可以按照设计好的 功能 和 性能 要求执行的指令序列 数据:程序能正确处理信息的数据结构 文档:与程序的 开发 、 维护 、 使用 有关的图文资料 软件的特点: 包含个人因素的大规模知识型工作 有工具辅助的软件开发也尚未实现自动化(即无法像硬件加工一样,机械组装已有部件,软件开发还未达到组装已有模块的程度) 对开发和运行的计算机软硬件环境具有依赖性 需求往往在变更,开发进度难估算 软件测试困难,覆盖所有路径的测试难实现。 软件测试只能证明软件中有缺陷,不能证明软件中没有缺陷。 软件不会损耗,(参考硬件的磨损和老化),软件维护不再具有经济性时,软件即被淘汰 软件危机: 1965年——1985年,20世纪60——80年代 于1968年提出 催生了软件工程这一学科 没有化解软件危机的灵丹妙药,已知的技术和方法都是进一步改进 SWEBOK(软件工程知识体系指南) PDCA环(戴明环): 二、软件过程: 以质量为中心,以软件工程,方法,工具为三要素。其中软件过程是基础,是联系各层的桥梁,工具为过程和方法提供支持。 软件过程的定义:软件过程定义了软件开发中的一系列活动,所以过程都具有下列活动: 沟通 建模 计划 构造 部署 项目管理(贯穿于以上所有活动)