《面向对象分析与设计》复习提要软件学院2010
第一部分面向对象技术的基本概念和基本方法1
1软件开发方法的发展计算机诞生之后,计算机技术一直处于高速发展状态,计算机科学技术的发展由原来只依靠硬件的发展逐渐变为更多地依靠软件的发展
事实上,软件技术的发展经历了多代历程
第一代(20世纪50-60年代),是以FORTRAN和ALGOL等编程语言为标志的算法技术时代
那时,程序设计全靠人们发挥创造才能,全靠技巧和窍门
基于这种算法技术的软件生产率非常低,程序很难看懂,甚至程序员自己写的程序过一段时间后自己也看不懂,这给软件的修改、维护带来极大的困难
于是60年代末出现了“软件危机”
第二代(20世纪70年代末开始到80年代盛行的),以PASCAL、COBOL等编程语言和关系数据库管理系统为标志的结构化系统分析和设计技术
为了克服软件危机,人们主要从如下两个方向做了努力:一是从管理的角度改进软件开发方法,提出了软件工程方法,大大改善了软件的质量与可维护性
二是侧重于对软件开发过程中分析与设计方法的研究和改进
这方面的重要成果就是在70年代出现了风靡一时的结构化开发方法—结构化系统分析和设计技术
为了改进基于算法技术的软件开发方法,人们提出了软件工程方法,使软件开发工作从只考虑程序的编写技巧转变到利用软件工程的方法,使软件系统的生产过程遵循一系列的规范化步骤:计划→需求分析→设计→编码→测试→运行维护每个阶段都有其明确的任务,任务完成后都将交付给下一阶段一定规格的文档,作为下一阶段开发的依据
这种开发过程直观上就像一级一级的瀑布,所以系统开发生命周期也称为“瀑布模型”
软件工程方法大大改善了软件的质量与可维护性
•瀑布模型的缺点:1)在项目各个阶段之间极少有反馈
只有在项目生命周期的后期才能看到结果
2)由于软件开发过程是一个非常复杂的过程,在软件开发的每