大道至简七八章阅读
还是走到了最后,总是到得终结时,方能感到时光过得是那么的令人难以觉察。大道至简这本书真的不厚,称得上简之一字,但是却蕴含了很多的思想和知识,只能自己去领会,精义指向的就是总纲,展现出来的是作者作为一个编程者的思想历程,也是作为一个向导在一点一点地引领着我们这些小菜鸟们,让我们能在以后的生涯中少走一些弯路。我想这也应该是作者的初衷吧,作者不只是在陈述自己的观点而已,他在交给我们怎么去做一个所谓的软件工程,这总是看起来似乎有那么一点遥远,实则不然。
第七章讲述的是现实中的软件工程,既然提到了现实,那就不得不提到软件行业的巨头们了,它们每一个都有着自己的算盘,计算各种条件,就拿当初的IBM收购Rational就是已经打好了做好属于自己的一系列系统的打算,得到了Rational它就可以快速拥有一套成熟的理论体系和实作工具,这也让他获得了UML语言的丰富实践经验,还有了RUP作为理论框架的创立者和领导者地位,这样也就很快树立起了公司的形象了,真是一石多N鸟之举。而对于他支持Java来说,可以说又是多么有远见的决策。对于每一个公司的领头人来说,每一个和他的团队都在很精准的打着算盘,再次不能像书中那般一一列举,但是不得不说你有你的想法我有我的对策,大家同样是为了立足为了生存,没有的硝烟的战场时刻都存在着激烈的竞争。接下来回到工程的关键点,商业的推动可以说是促进软件工程发展的最大动力,这就是所谓的它激发展状态了,但是它的基本模式还是不会有所变化的。对于项目来说,经理总是要考虑它的成本问题,就如愚公移山来说,愚公的结论是正确的又是可实现的,但是时间成本太高了,没人承受得起,所以只能被客户pass掉,这也就是成本的问题了。蚂蚁的团队总是本能的组织好,然而资本的流失依然可以让其溃散,这些都指向成本问题。接下来审视AOP,它是方法论而不是所谓的新一代的Java语言,它同样是思想和工具,人们的认知应当被纠正。审视MDA,它同样是方法论层面的名词,它不讨论过程,该架构作为新的软件开发方法的架构,没有了软件理论的支持同样是价值有限。第八章指向是思考还是思想,软件工程的三个要素是工具、方法、过程,它们不可孤立,是相互作用的,当然工程的整体问题依然是实现。接下来说说UML和甲骨文的区别,它们同样是工具,可以表达,然而甲骨文作为象形文字大概能让人看懂是什么意思但是对于UML来说,如果没有任何的图例的话,真的让人摸不着头脑。其实经营者和开发者的距离真的很远,需要经理在中间调节,这或许就是造成差异的原因吧。另一个矛盾是到底是实现重要还是质量重要,相信很多的人都选择后者,不然实现了也没人要那不是更加的悲催?最后作者在结语中说到,死读一本软件工程的人不会做真正的软件工程,我很赞成,因为软件工程真的是很灵活的,没有死的东西。
就这样读完了,感觉不是那么的强烈,也许需要积累更多的知识才能更加的明白作者想要表达的真正含义吧,继续学习吧!