赞
踩
上篇文章论述了软件工程之所以不存在银弹是因为,软件工程本身存在复杂性,一致性,不可预见性,不可视化性。有些专家就这个问题持有相反的观点,大致可以分为以下几种
但是我们反过来看,饥荒瘟疫和战争都是属于某个领域特定的问题,但是软件工程却不是,它本身就存在复杂性。即使在20世纪50年代,那个时候的程序在军用上也有指令集非常复杂的程序,就那个时候来看,硬件限制的问题依然是次要问题。
面向对象的编程语言使我们使用更大的零部件去构建软件开发工作。但是还是需要构建…,所以说,要想避免掉软件开发的复杂性就是不开发软件(购买软件),或者最大程度的使用软件包,即最大程度上进行软件重用,比如说,alibaba提供的fastjson,dubbo rpc服务或者数据库服务等等,我们发现这些都是针对特定领域问题的解决,如果真实集成到我们的业务中去,还需要一定的困难,即这些服务必须有良好的设计,完善的文档。我们可以想象,抽象出来这些工具类的使用,说起来容易,做起来是一件非常困难的事情。
虽然说,就目前来看,我们没有办法从根本上解决软件开发的复杂性,但是我们可以通过一些技术选型或者建模等方法的使用,降低软件开发的复杂性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。