大道至简读后感

大道至简读后感

    大道至简是涉足软件工程思考学的一本书,与许多教授软件工程编程招数、方法的书籍大有不同,是筑建软件工程实践者思想的一本书。

       第一章讲的是编程的精义,作者从古代的愚公说起,说他是一位工程名家,而愚公移山这件事中,我们可以看到原始需求,项目沟通的基本方式,项目目标以及一个井然有序的技术方案,愚公还明白编程的根本:顺序、分支和循环,然后针对现在许多人不会编程的问题,提出如果你明白每天起床后天冷则先穿衣后洗漱,天热则相反,那么就有了折衷的素质。接着,作者讲了程序的组成,是由算法加结构构成的,在编程之前需要把程序分析清楚再去编程,最后,作者讲了编程语言没有好坏之分,各有利弊。通过对第一章的阅读,我明白了编写一个程序首先应该把各部分弄清楚,项目目标、各部分结构,只要把算法和结构设计出来,程序就定型了。

      第二章讲的是懒人造就了方法,讲了李冰用火烧山的方法来凿山,相比愚公来说他也许是太懒了,才会想着用简单的方法来完成,而愚公太勤快了,每天坚持凿山,没有去想有什么简单的方法,那么他也只能每天凿山。同样,单元文件及模块的出现,也是有懒人造就的方法。所以,当我们觉得某件事情太繁琐时,要想办法去解决,探索新的反法,而不是继续忍受。

       第三章讲的是团队缺乏的不只是管理,做管理要有基本的承担责任的素质。同时,我们要有确定的组织结构,和确定的人物角色,才能有合理的管理模式,管理者要把制度做的既人性化又有公平性,才是一个好的管理者。同样,管理者要观察那群像蚂蚁一样辛勤工作的开发成员,观察并跟随他们,发现规律,再尝试改变他们,并且要明确分工,但是不能对重要角色进行经常的更替。所以说团队的管理是很有学问的,我们一定要对其加以重视。

        第四章讲流于形式的沟通,作者讲和客户沟通时,不能用他们不会的C语言或UML,你需要使用一些更易理解的方式,如表格、流程图或更深入的交谈,总之用他们的语言进行交流,用能在各个项目角色间通用的语言进行交流。另外,在与客户沟通时要确保每次沟通的有效性,在做项目时,也应有历史记录,如项目的需求阶段、设计阶段……

       第五章讲失败的过程也是过程,做过程不是做工程,工程只是实现的途径,不要被那些死模型束缚,我们应该认清过程的本质,而不要徒有其表。要对工程进行组织,组织工程中的每个角色,明确分工,步调一致完成项目。

       第六章讲的内容是从编程到过程, 作者说语言只是编程的一种工具,程序=算法+结构是编程的本义,方法是由人们在长期的编程实践中归演与总结的,过程中的问题就是角色、沟通和环节的问题,每个问题必须得到良好的组织和解决,合理组织工程,确定角色,及解决角色间的沟通问题,都是非常重要的。有了工具,再有方法,再有过程才能完成实现对象,随着现在软件规模和复杂度渐次累计,越来越需要那些高度过程化、通晓方法理论、拥有大量工具的集团军了。作为一个组织者,主要环节是管理,你需要考虑对团队中的不同角色展开培训,习惯于开会、组织短而有效的会议……你还不能失去组员的信任。 在一个组织机构中,BOSS是经营者,他决定了一个方向,但是工程中没有BOSS

      第七章讲的是现实中的软件工程,现实中的大公司在标准、理论、语言上争来夺取,最终目的是整个软件工程体系中的全面胜出,这也推动了软件工程体系的发展,项目管理一定要注意成本问题,像愚公那样不计成本地做,是无法满足现今社会的需求的,不计成本的项目计划得不到经营者的支持,毫无目的地消耗成本是项目中的慢性毒药。AOP是方法论而不是语言,它是用来考察对象而不是设计对象的思想方法。MDA作为一个新的软件开发方法,即使经过了持续地完善,如果没有同样成熟的软件过程理论支持,那么在工程中的实用价值也有限。

     第八章讲的内容关乎思考和思想,工具、方法与过程是软件工程的三个要素,但不能将其割裂开来,要贯通这三个部分去理解。NML与甲骨文都有象形含义,但在使用UML图时,应有相应的文字去描述它,而且这种关系要维持下去。不同角色的关注层面是完全不同的,目标在平衡中确立,质量在过程中控制,所以我们一定要把目标确定正确,否则,无论如何平衡关系,仍然保障不了质量。虽细节定成败,但管理人员做事件的决策的时候,又必须忽略枝节问题。做软件工程时,要明道知律,若明道,才可使软件工程变化无穷,知律,才能知道技术、技巧和方法的原理,才知道如何变通和回避错误。

     大道至简是一本用来读与思考的书,不是理论也不是方法论,我们需要领略其中的思想,指导我们对软件工程的进一步学习。

原文地址:https://www.cnblogs.com/zhmbg/p/7396254.html