从要大褂还是内裤看软件设计与开发过程

通过一个相声故事比喻,阐述了软件开发过程中常见的问题:最初的目标往往过于宏大,导致项目延期或功能大幅削减。文章建议从核心功能出发,逐步完善。

从要大褂还是内裤看软件设计与开发过程

有个相声说,某人买了一丈布,要找裁缝做大褂。其妻自告奋勇,称自己也会做,就接手做了。两个月后问她,说做是做,只是把布剪坏啦,改做小褂吧。如此循环,从大褂变成小褂,小褂变成肚兜,肚兜变成内裤,内裤变成口罩,最后只好扎了墩布。

闲话表过,再表闲话。

话说Mitch Kapor以数十亿美金高价把一手创建的Lotus公司卖给IBM后,做了一段投资人,又回归技术界,创立一家开源基金会。为了实现心目中“最好的PIM软件(个人信息管理,类似Outlook那样的)”,投入百万美元,聘请了一群最NB的程序员(包括Netscape元老级程序员、Macintosh操作系统核心程序员、微软资深开发工程师……),动手开干。有近乎奢侈的资源(财力、人力、时间),照说项目应该顺利进行吧。其实不然。这个名为Chandler的项目,从2000年开始立项,开发过程中软件功能列表一再缩减,直至今日尚未推出1.0正式版本。测试版本在我的Windows 2003操作系统上,仍然无法运行。

看过上面两桩闲话,读者大概知道我想说什么了。雄伟的愿景往往流于空想,做软件难,第一难就在于蓝图太宏大。常有朋友找我帮他们做顾问,看看他们的软件/网站项目。通常的过程会是这样——

(演示、讲解项目目标、功能等等)

我:请问,这是你们真正想要的东西吗?

对方:是,我们想做最好的xxx。

我:请问,你们打算花多长时间来做这个项目呢?

对方:三个月。

我:坦率地说,你们不可能做得到。我的建议是,把刚才说的功能先砍掉一半,再砍掉三分之二,剩下的部分,大概就是三个月之内你们能完成的部分了。

对方:……

产品设计者往往会想得太多,把所有可能路径都设想在内。而开发者则往往会低估项目难度,做出太过乐观的判断。这样的结果就是,以为可以在过短时间内完成过于庞杂的功能。危害有二:其一,项目无限期延误;其二,功能不断缩减。六个月甚至一年之后,大褂没做成,千疮百孔内裤倒是有一条。与其如此,不如一开始就以内裤为目标好了。

昨天有人问我,为什么是“先砍一半再砍三分之二”而不是“砍掉六分之五”。我说的“砍”,不是简单按字母顺序嚓嚓嚓,而是一个讨论、思考的过程。第一步去除一半,第二步去除一半的三分之二。起初设想出那么多功能,肯定花了不少心血。现在要砍,每一项都显得那么宝贵而舍不得丢弃。反复斟酌、流泪放弃,最后剩下的,是软件/网站项目最最核心和关键的功能,也是以目前资源所能完成的工作。以后,再视运营情况加以增补。

我想,做其它事,或许也可以采用类似的方法吧。大褂还是内裤,这是一个难题。以我之愚鲁,大褂不敢妄想,甚至没准内裤也做不出来,那就踏踏实实、裁剪缝制一个真有用的口罩吧。

注:本文转自:http://blog.youkuaiyun.com/grhunter/archive/2008/01/10/2033220.aspx
内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值