从控制论说明软件开发的不可控性(1)

  一位中山大学的好友曾经说,搞计算机尤其是软件如果没有与某一个领域结合,那是相当的虚,没有任何价值。当然,这话说得有点过了,但基本上道理是对的,因为计算机本质是一种工具。(好似机床、汽车、房子也是工具,等于白说?)

 

  以前做过机器手的计算机控制装置,单片机系统从制作电路版,焊芯片,到写程序,都是纯手工制作,每天晚上十点多才回宿舍,倒也忙得不亦乐乎。
  
  硬件方面的工作已经很久没有做过了,从事软件开发也有好些年了。做过某几个省的彩铃管理平台(彩铃就是拨通手机号后放音乐,业内叫回铃音),不到十人开发的产品,不过到维护期碰到了非常多的困难,主要是客户经常要修改规则、修改计费、做推广等等。

 

  在碰到困难的时期,自己总想有什么有效的办法控制软件开发产品和过程,以提高效率和质量,避免引入错误。因为软件开发是智力活动,无法像工厂的生产线那样对产品生产进行有效的控制和管理。

 

  控制论是通过检测反馈的信息与要求的目标信息进行比较,如果有差距,就通过控制器驱动系统向差距减少的方向运动,从而缩小差距,并最终达到目标。

 

  软件开发作为智力活动很难进行检测,一个在电脑上工作的人不知道在写代码做设计还是做玩游戏(从行为上无法检测)。传统软件开发写需求、设计和代码,在开发期间(一般要半年到一年)也很难检测。往往到了交货时间,软件还有大半工作没有做完,这时才知道出问题了,太晚了。

 

  控制论中有一个定理,不能检测的系统是不能控制的,也就是说,按传统软件开发方式,软件开发是不可控制的。这个结论是不是太悲观了,我觉得非常符合现实中软件开发项目的实际情况,实际上有70%以上的项目不能按期交货。
  
  待续

从控制论说明软件开发的不可控性(2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值