您的位置:首页 > 其它

读《大道至简》第五章有感

2015-10-30 09:49 387 查看
失败的历程换回来经验和教训,而经验和教训又是走向成功历程的必备条件。
1.做过程不是做工程
软件工程这个概念被提出的时候大概是在上个世纪60 年代末。它作为成熟的概念的标志是软件工程的瀑布模型的提出。瀑布模型将软件开发的过程分成需求、分析、设计、开发和测试等5个主要阶段。在瀑布模型之后,很多人开始研究过程模型的问题。
很多从实际工程中提炼出来的过程模型都是值得称道的。
模型就是“样子”。人家拿出一个东西来说:这是模型。其言下之意就是要你按照这个样子来做。按照模型的这个“样子”,做完过程的每一个阶段,并不等于做工程。或者说,工程并不是这样就可以做成功的。换而言之,无论是用RAD模型还是RUP模型来做工
程,即使是亦步亦趋,也做不好工程,如果工程可以那样做成的话,只需要有瀑布模型就足够了。因此做过程并不是做工程的精义。
2.做过场
“过场”是舞台术语,意思是角色从舞台一端出场,再走到另一端进场的一个过程。过场角色一般没有唱腔或道白,即便是有,也是没有什么实质内容的,在软件工程的设计过程中,如果每个人都是做过场,那这个工程是不可能
完成的,只有每一个程序都认真做好才能做出一个完整的工程来。
3.实现才是目的
很多人把问题的本质给忘掉了。从最开始,从我们编程开始,我们的目的就是实现一个东西。无论这个东西是小到一个称手的工具,还是一个大到千万的工程,我们的目标,都是要“实现”它。工程只是一种实现的途径。最初做
开发的前辈们,不用什么工程或者过程,也一样编出了程序,也一样解决了问题,也一样实现了目的。而现如今,我们讲工程了,讲过程了,讲方法了,却什么都再也做不出来了。工程被当成了借口,掩盖了我们做事的真正目的:
“实现”。因此,我们在一个项目中常常听到说“工程要这样做”,或者“工程要那样做”,而绝少听到“项目要求这样做”或者“客户的本意是那样的”。这样的结果是:我们做完了工程(的每一个过程),却没有完成项目(的每一个“实
现目标”)。为工程而工程的人,都迷失在项目中了。就象开发人员迷失在一个技术的细节上一样。专注于RUP或者RAD之间的区别的人,可以把每一个过程的流程图都画出来,却也被这每一个流程给捆绑得死死的,再也没有挣扎一
下的力气。
4.过程不是死模型
试着跳出大师们的身影,再仔细地看一下那些所谓的“经典”过程,不过是在瀑布模型上的一再变形。瀑布模型描述了开发的主要环节,于是一群人把这些环节拧来扭去或者反复迭加,就成了RAD、螺
旋、RUP,以及未知的、还没有被扭出来或者堆叠出来的X、Y、Z。
《韩非子·外储说左上》记载了“买椟还珠”的故事:“楚人有卖其珠于郑者,为木兰之柜,熏以桂椒,缀以珠玉,饰以玫瑰,辑以羽翠。郑人买其椟而还其珠。”郑人就只看到了事物的表面,而忽略了
实质的东西。如果我们只是把V模型当成折弯了的瀑布,那便是犯了相同的错误。因此,我们应该去思考由瀑布模型到V模型这种变化的真实意图。
5.“刻鹄类鹜”与“画虎类狗”
马援说刻成鸭子比画成狗好,其真实的意思是说学龙伯高不成,可得“谨敕”;学杜季良不成,则会流于“轻薄”。马援比较的是二者在骨子里所得所失的东西,而不
是架子上的象与不象。同样,以得失而论,在瀑布模型与RUP模型之间,学习前者而不成,可思过程的本质;学习后者而不成,可得文字的架子。——用RUP用不好的人,总会说自己终
归还有一堆文档模板可以抄,便是这个缘故。过程理论中,如果懂得了所谓的模型原本都演化自那个简单的瀑布,那么文档是按XP写还是按RUP写,也就可以应时、应需,因地置宜,
择善而从了。——本质的东西若能理解得透,架子还不是随手搬来就可以用的吗?越是简单的东西,往往越是接近于本质。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: