三个阶段:
第一个阶段是1950年代到1960年代,是程序设计阶段,基本是个体手工劳动的生产方式。这个时期,一个程序是为一个
特定的目的而编制的,软件的通用性是很有限的,软件往往带有强烈的个人色彩。早期的软件开发没有什么系统的方法
可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程。而且,除了源代码往往没有软件说明书等文档,因此
这个时期尚无软件的概念,基本上只有程序、程序设计概念,不重视程序设计方法,主要是用于科学计算,规模很小,
采用简单的工具(基本上采用低级语言),硬件的存储容量小,
运行可靠性差。

第二阶段是1960年代到1970年代,是软件设计阶段,小组合作生产方式。在这一时期软件开始作为一种产品被广泛使用,
出现了“软件作坊”。这个阶段基本采用高级语言开发工具,开始提出结构化方法。硬件的速度、容量、工作可靠性有明
显提高,而且硬件的价格降低。人们开始使用产品软件(可购买),从而建立了软件的概念。程序员数量猛增,但是开发
技术没有新的突破,软件开发的方法基本上仍然沿用早期的个体化软件开发方式,软件需求日趋复杂,维护的难度越来
越大,开发成本令人吃惊的高,开发人员的开发技术不适应规模大、结构复杂的软件开发,失败的项目越来越多。

第三个阶段是从1970年代至今,为软件工程时代,是工程化的生产方式。这个阶段的硬件向超高速、大容量、微型化以
及网络化方向发展,第三、四代语言出现。数据库、开发工具、开发环境、网络、分布式、面向对象技术等工具方法都
得到应用。软件开发技术有很大进步,但未能获得突破性进展,软件开发技术的进步一直未能满足发展的要求。软件的
数量急剧膨胀,一些复杂的、大型的软件开发项目被提出来了,但很多软件最后都得到了一个悲惨的结局。在那个时代,
很多的软件最后都得到了一个悲惨的结局。很多软件项目的开发时间大大超出了规划的时间表,一些项目导致了财产的
流失,甚至某些软件导致了人员伤亡。同时软件开发人员也发现软件开发的难度越来越大,在软件开发中遇到的问题找
不到解决的办法,使问题积累起来,形成了尖锐的矛盾,失败的软件开发项目屡见不鲜,因而导致了软件危机。

预测嘛:以后肯定是人工智能,大数据,网络安全还有云计算的天下

最新文章

  1. MySQL备份还原——AutoMySQLBackup介绍
  2. java网络osi基础
  3. 【POJ】1811 Prime Test
  4. 关于年终奖励的扣税算法BUG
  5. ecshop编辑器fckeditor换百度ueditor编辑器教程
  6. 转载:性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
  7. Android系统匿名共享内存(Anonymous Shared Memory)C++调用接口分析
  8. SQL Server 通配符为目标字符的查找
  9. C++学习笔记33 转换操作符
  10. IOS CrackMe 破解学习
  11. HttpServletResponse对象
  12. 无法将类型为“System.DBNull”的对象强制转换为类型“System.String”
  13. 推荐一款基于bootstrap的漂亮的前端模板—inspinia_admin
  14. Git 处理tag和branch的命令
  15. wine安装稳定使用falsh播放器
  16. thinkphp添加数据 add()方法
  17. x64 assembler fun-facts(转载)
  18. java文件夹相关操作 演示样例代码
  19. C/S模型服务端vsftpd的安装与卸载
  20. 变量,if.elif .else判断

热门文章

  1. 开启mysql的远程访问
  2. C++学习笔记-操作符重载
  3. boost enable_shared_from_this
  4. Spring自动装配Bean的五种方式
  5. 20. Valid Parentheses(括号匹配,用桟)
  6. getAttribute() 与 attr() 的区别
  7. 让div水平垂直居中的几种方法
  8. 【Python】IO编程
  9. Zstack中任务,事件,消息之间的关系
  10. windows忘记密码