经过五年的软件工程学科的培养,我从课本阅读和课堂学习中了解软件发展大体可分为三个阶段。首先是50年代~70年代的软硬件一体化阶段,在该阶段中,软件完全依附于硬件,软件应用具有功能单一、复杂度有限、需求变更极少和软件支持硬件完成计算任务这四个典型特征,并且当时硬件非常昂贵,没有职业的软件工程师和程序员,团队主要以硬件工程师和数学家为主,他们奉行“Measure twice, cut once”的硬件开发原则。
随着电子电路技术的进步,商业微型机在20世纪60年代后期开始出现,70年代开始流行,众多小企业有可以负担得计算机的购买和使用,那么相比于之前,市场提升了对应用为中心的软件产品的需求。软件行业慢慢意识到“code and fix”不适合大型软件项目开发,因为软件的应用特征发生了变化,软件功能需求越来越多变,软件规模和复杂度随之急剧上升。面对这样的压力,人们在软件发展的第二阶段,也就是70年代~90年代期间,意识到了软件开发的四个本质难题:不可见性、复杂性、可变性和一致性,软件危机开始大大加重。传统的形式化编程在扩展性和可用性方面存在着不足,这时面向对象编程方法得到了广泛地使用,同时统一建模语言、设计模式、面向对象设计原则等有效的面向对象实践经验被广泛地传播和应用。
人们在60年代地软件生产中发现,越早的发现缺陷并修复,耗费的工作量和成本就越低。为了提高开发效率、降低开发成本、控制项目风险、提高项目成功率,从业人员将需求分设计和测试几个活动独立出来,在编码之前设计,在编码之后进行测试,在设计之前进行需求分析,这样的软件开发过程被命名为瀑布模型,被70年代的从业者广泛地接受和使用。
在20世纪80年代追求生产力地背景下,出现了很多声称能大幅度提高生产率地技术,
软工发展的三个阶段
最新推荐文章于 2024-08-12 13:23:14 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)