软工发展的三个阶段

本文介绍了软件工程从50年代到21世纪的发展历程,包括早期的软硬件一体化阶段,70年代的软件危机与面向对象编程的兴起,再到90年代的迭代式开发与互联网的影响。此外,文章讨论了敏捷开发与CMMI的区别,以及21世纪软件开发面临的挑战和领域深化。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值