《大道至简》读后感
本书是周爱民先生把这本《大道至简》表达为“阐述软件工程的思想核心”,书中又分为八个章节,接下来我想把我对每个章节的认识分开来介绍。
在第一章节中,周爱民先生将编程归类为公式“程序等于算法加结构”,同时周爱民先生也将编程认为是一件简单的劳动工作。一个程序无论多么复杂,都可以将其拆分为无数多个不同的结构,然后用算法把它们编织出来。这就想文中的例子,把愚公移山的工程拆分成多个顺序、分支和循环。文中的观点就是“算法是对一个程序的逻辑实现的描述,而结构是逻辑 实现所依附的数据实体。只要开发人员将这个程序的算法 设计出来了,把结构描述出来了,那么程序就已经定型了。 剩下的事,简而言之,就是劳力活。”
第二章的标题“是懒人造就了方法”。一件工程有时候是非常庞大的,而人力有时候却是十分有限的。如此一个大工程在短时间是无法完成的,所以就有人决意把这个工程进行简化。不断用新方法来简化这个工程,这或许就是一个软件工程师最基本的思想。这一节中,周爱民先生又一次对程序进行了概括,他认为“程序 = 算法 + 结构 + 方法”。我们把一件工程拆开来看,然后在每一个小部分中进行优化,这样一件复杂的工程也就清晰了起来。
第三章中周爱民先生反复强调管理的重要性,他认为一个项目出了问题,首要被指责的应该是这个项目的管理者。他认为“做管理起码需要能承担责任,这是最基本的素质。”这也是我认同的观点。先生在文中同时也强调了制度的重要性,只有组成了完善的制度,才能进行接下来的工作。
第四章强调了“沟通”的重要,这里的沟通不只是人与人之间的沟通,同时也是人与电脑的沟通。客户把他们的目的讲解给我们,我们则把这个目的变成模型语言通过电脑来实现。客户不可能精通模型语言,也没有太多的时间来给我们阐述他的想法。我们要做的就是精确的了解客户的意图,然后转变成模型语言来工作。
第五章,说实话我没能读懂标题和内容之间的联系。不过我大致理解这章有几个重点想法。第一点,工程并不是做完过程的每一个阶段就完成了,过程不是死模型,我们的目的从一开始就是“实现”。第二点“工程不是做的,是组织的”,项目经理的工作就是要去组织这个工程中的各个角色, 使得分工明确,步调一致,共同地完成这个项目。
第六章“从编程到工程”。这章内容讲的实在有点多而且有点乱。我实在是没能理解“软件工程层次图”。所以我就说一下我理解的一方面吧。语言只是工具,我们不必在意到底哪一种语言是最好的语言。实际 上语言就是我们创造出的一种使用电脑的工具。“学会制作和使用工具”这是我们了解软件工程的第一步。
第七章“现实中的软件工程”,这一章是通过理解IBM、Borland和Microsoft等公司的工作体系来阐述工具、方法和过程之间的联系。文中还有其他的公司的不同项目,我就不一一列出了。实际上对于刚进入软件工程的我还是不认识这里面的专业术语。
第八章“是思考还是思想”,我确实是没有看懂这一章。所以我还是不总结这一章的内容了。
这本是从一开始的将程序拆分讲解到整个项目的管理分配都进行了一步步的描述。可能是我没有涉及项目这方面,我对文中的后几章内容了解太浅。我目前所能理解的就是“程序 = 算法 + 结构 + 方法”这个公式了。它让我理解是如何把一个程序完整的表达出来。