第一篇阅读笔记
在老师的推荐下,我选择了《人月神话》这本书,在看到《人月神话》序言部分的时候,我了解到这本书和我平时学的书有很大的不同,这本书主要是教导我们软件管理中的一些问题。在阅读这本书时,可以感受到很大的愉悦,作者把软件管理中的一些知识比喻成了比较容易理解的事物,读起来更加容易,记忆更加深刻。
首先映入眼帘的便是作者把大型软件开发比作焦油坑,上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎,挣扎的越厉害,纠缠的便越紧。这种比喻,充分体现出了大型软件制作的艰难与困境,让我知道了在制作软件的过程中会遇到很多困难,这些困难都是我还没有经历的。在焦油坑这一篇章中,主要讲述了编程系统产品、职业的乐趣、职业的苦衷,职业的乐趣引起了我很大的共鸣,职业的乐趣中讲述的欢乐都是我在软件开发过程中所明确感受到的,在制作系统的过程中虽然会遇到很多困难,但是当解决一个困难时的那种喜悦是无法用语言来表达的。
在人月神话这个篇章中,主要讲述了软件项目开发的完成与增加开发人员的问题。一切都将运行良好这句话在软件开发工程中是不适用的,在开发过程中总会遇到问题;项目的完成时间不是人越多完成的越快,因为沟通需要额外的成本。对于一个项目来说,估算其开发时间只能依靠负责人的经验来估算,当一项任务无法按照预期时间完成时,下意识反应便是增加人手,但新人的加入可能对原有的进度产生冲击,最后适得其反。因此,在实际进行软件开发的过程中,各个成员之间要做好沟通协调,一个人开发软件虽然完整性会很好,但是效率太低;相反,团队开发虽然效率很高速度很快,但是如果各个成员之前没有很好地团结协作,各自为战,那么最后的结果也一定不会尽如人意。
第三章外科手术队伍将一个软件开发团队中的人比作了外科医生、副手、管理员、编辑、两个秘书、程序职员、工具维护人员、测试人员、语言专家。在这个篇章中主要阐述的观点是相同程度的培训,优秀的人员的生产率是较差成员的10倍,因此如果一个 200 人的项目中,有 25 个最能干和最有开发经验的项目经理,那么开除剩下的 175 名程序员,让项目经理来编程开发,这句话促使这我去加强自身的实力,争取进入被留下的25人中。在一个团队中,分工一定要明确,即便是两人团队也要确定出一个领导人,这样在实际工作中会有很高的效率。
第四章是贵族转制、民主政治和系统设计,作者主张在系统设计中,概念完整性应该是最重要的考虑因素,概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现,对于一个大型项目,将体系结构方面的工作与具体实现相分离是获得概念完整性的强有力的方法,在一个项目中,体系结构、设计实现、物理实现这些工作是可以并行执行的。
今天我完成了这四章的阅读,内容虽然不多,但是感触很多,通过阅读,我知道了软件开发会遇到哪些困难、团队分工的重要性、在开发过程中需要做什么,这是我对自己的专业所从事的工作有了更多的了解,在软件开发过程中,不是人越多越好,人员之间的相互配合非常重要,由于我现在的水平浅薄,并未与他人合作过,所以这方面经验欠缺,我相信在接下来的学习中这方面能力会得到锻炼。