计算机发展初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。
那个时期编程就基本就是随心所欲,于是他们把程序称为软件。
人们就在这种美滋滋的感觉下热情地编程,随着计算机的普及,软件数量和规模急剧膨胀,产生了一堆问题:
程序质量低下、维护困难、需求变更难以实现、错误频出、进度延误,费用剧增……
人们称之为“软件危机”(也有人建议叫“软件萧条”、“软件困扰”)
软件危机的典型症状
虎老狮:软件危机の典型症状
软件危机的原因
<1>软件本身特点造成
a) 软件不可见——开发进度难以估计,质量难以评价
b) 软件难维护——一旦“维修”,就需要改源代码
c) 软件很复杂——随着程序规模的增加,复杂度显著上升。
<2>软件开发与维护的方法不正确
a) 认为软件开发就是写程序并使之运行
b) 忽视需求分析【仿佛不打地基就盖楼】
c) 轻视后期维护
软件危机的解决途径
(1). 吸取经验:推广使用在实践中总结出来的开发软件的成功技术和方法
(2). 创新探索:研究探索更有效的技术和方法
(3). 善假于物:开发和使用更好的软件工具;
(4). 改变观念:消除“软件就是程序”的错误观念
(5). 工程思维:认识到软件是一种组织良好、管理严密、协同配合的工程项目
*反正截止目前为止,软件危机没发现解决的迹象,
虽然有各种先进的开发工具、撩人的开发模式、夸张的开发思想,
但是架不住软件规模越来越大!业务逻辑越来越复杂!!开发难度越来越高!!!实在是道高一尺魔高一丈……