读书笔记-1 《人月神话》

软工读书笔记1——《人月神话》

第一次接触软件工程这门学科,也是第一次做IT类图书的读书笔记,我选择了《人月神话》这本书,一周的时间很有限我只是大致过了一遍全书,对部分感兴趣的章节进行了精度,我也就拣这些谈谈自己的感想吧。

文章一开头就用焦油坑这个形象的比喻诠释了软件开发行业的本质特征——惨烈,软件开发过程中遇到的各种问题就如同焦油坑,只有少数开发团队能够经受住考验,这样的开场对小白来说简直是个灾难啊。之后文章给出了具体的苦恼和乐趣,看着似乎舒坦了不少。

一方面苦恼在于需要追求完美,一般在我的认知中,追求完美会很累,但一定是优秀的,编程行业则需要处处追求完美,因为任何一个小疏漏都可能会被无限放大;另一个苦恼在于目标由别人设定,简而言之,软件开发者承担了相当大的职责却得不到与之匹配的权威,对于自尊心强的人这是无法接受的,只有在重压之下完成任务才能获得那所谓的权威,而且软件开发者苦于对别人的依赖却又无法避免,因为不可能所有的程序都出自一个人,所以必定会依赖别人的代码,而这些代码中可能存在的大大小小的问题就会很让人头疼;当然编程本身的枯燥就是一大苦恼,这里不再叙述,总之这是一个很辛劳的行业,我觉得经过这样的历练会让人变得成熟和强大,所以我还是欣然接受软工的挑战。

另一方面软件开发的乐趣也是无穷的,显而易见的就是创造事物的乐趣,尤其是可以服务他人的事物,记得之前做电设的时候,哪怕做出最简单的流水灯都能高兴一个晚上,何况是做出一款服务型软件呢?此外这也是一个学习的过程,学习如何使用高级编程软件,学习如何团队合作,学习如何写自己的博客等等。

在第二章作者指出很多项目进度滞后,以致最后削减计划来赶时间,这是因为他们缺乏合理的时间进度,他们误估了工作量和时间进展,并且抱着乐观主义的心态,种种原因导致了最后的失败。而且Brook法则提出,向进度落后的项目中增加人手,只会让进度更加落后,理解起来可以是这样:首先,进度落后肯定是有原因的,是有组员拖拉或是整体计划不合理,仅仅加人手的话那也只不过是把原有问题的规模又放大了而已;其次,新加入的人手无论有多么精干也必须先经过培训来进入这个项目,原计划分配的任务必定要重新分配,这就导致某些已完成的工作被丢失,系统测试被延迟;如此恶性循环,情况一定会越来越糟。

第三章让我感触很深的一个观点就是对于非真正意义上的大型系统,小型、精干的队伍是最好的,作者举了很多实例来说明,我的感触是小的团队不在于小,麻雀虽小五脏俱全,团队成员各司其职,项目进度井井有条,那这就已经是一个成功的团队了,至于成果,自然是不会差了。

另外,第七章提到了巴比伦塔的失败,提到了缺乏交流和组织对于团队项目的致命性,我想起了上学期的电设实践课,前半学期我们就是基本上做到哪算哪,没有详细的交流之类的,导致进度慢的离谱,好在最后我们意识到问题快马加鞭赶完了设定的任务,但还是觉得可惜,本可以做的更好,当然这是硬件项目和软工不一样,只是团队合作这块是相通的,故在此举证表达一下感想。

时间紧张,希望今后有时间精度这本书。

原文地址:https://www.cnblogs.com/notegeek/p/8527700.html

时间: 2024-12-15 01:27:28

读书笔记-1 《人月神话》的相关文章

《Programming in Lua 3》读书笔记(二十二)

日期:2014.8.6 PartⅣ The C API 26 Extending Your Application 使用Lua很重要的一点是用来做配置语言.配合主语言做一些功能的配置. 26.1 The Basics 有的时候程序需要配置一些功能信息,很多时候可能有许多别的方法比用lua做配置要更简单:如使用环境变量或者读取文件,读取文件涉及到文件的解析.如果使用Lua进行配置的话,相当于用lua文件替代了要读取的如csv.txt文件等. 使用Lua进行配置的时候,就需要使用Lua API去控制

《Programming in Lua 3》读书笔记(二十一)

日期:2014.8.1 PartⅣ The C API 25 An Overview of the C API Lua是一种嵌入式语言.这就意味着Lua不是单独存在的,而是可以通过一系列的标准库将lua的特性嵌入至其他应用模块中. Lua以Lua interpreter(lua的解释器?)来解决了其不是独立程序,我们直到现在却又能独立使用Lua的问题.这个解释器是一个小型的程序(不超过500行代码),使用lua的标准库来实现独立解释程序,这个程序将处理与用户的交互等操作交给lua的标准库,这些库

读书笔记:《重来REWORK》

读书笔记:<重来REWORK> <重来Rework--更为简单有效的商业思维>这本书是看了别人的书单而购买的,初 拿到这本书翻看时,感觉有两点与平常的书不同,一是每个小节非常短,通常是一页,最多二页,二是附有大量的插图,原以为这些插图可能是用来凑页数的,但细 看一些插图,虽然都是用手工画的,但却能用形象的办法表示出一小节的观点,很象是出自做软件原型的人员之手. 这本书包含了80多个观点,特别适合指导小型软件公司的创业,感觉对我做的软件项目也有帮助. 卸负篇TAKEDOWNS 忘了“

【游戏设计模式】之四 《游戏编程模式》读书笔记:全书内容梗概总结

本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/53240330 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 本文的Github版本:QianMo/Reading-Notes/<游戏编程模式>读书笔记 这是一篇超过万字读书笔记,总结了<游戏编程模式>一书中所有章节与内容的知识梗概. 我们知道,游戏行业其实一直很缺一本系

读书笔记-2015年第1本:《暗时间》

作者所说的暗时间,其实在生活中,我自己也有领悟到,领悟的时候很感慨,然而过不了几天就把这个领悟给忘得一干二净,于是又是过着重蹈覆辙的生活.现在给我的提醒就是把领悟到的东西记录下来,每天空出一些时间静下心专门来思考这些领悟到的东西.现在有幸看到自己曾经遗忘的宝贵的生活哲理,好好思考,好好领悟. 在这本书中,作者推荐了大量有价值的学习资料以及学习方法,有时间时都可以去研究学习. 我们可以看出,作者很有学问,但也可以想一下为何如此有学问?“看上去好像很高端的样子”,实际上,也就是作者曾经在一年内看过很

【python下使用OpenCV实现计算机视觉读书笔记3】读写视频文件

Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性. 对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数. 对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L). 简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作为其唯一的参数,实现者可以通过该指针进一步获取Lua代码中实际传入的参数.返回值是整型,表示该

《程序员的呐喊》读书笔记(下)

接着<程序员的呐喊>读书笔记(上),继续分享下篇,这次干货比较多哦,有静动态类型的优缺点.强弱类型系统的对抗.设计模式.程序员的数学.编译器的重要性以及保守派自由派的较量,一时消化不了的建议保存以便read it later. 静态类型和动态类型的优缺点 静态类型的优点下面列出了静态类型的主要优点:(1)静态类型可以在程序运行之前,依赖其与生俱来的限制来及早发现一些类型错误.(或是在插入/更新记录,解析XML文档等情况下进行检测.)(2)静态类型有更多机会(或者说更容易)优化性能.例如只要数据

代码的未来读书笔记&lt;二&gt;

代码的未来读书笔记<二> 3.1语言的设计 对Ruby JavaScript Java Go 从服务端客户端以及静态动态这2个角度进行了对比. 这四种语言由于不同的设计方针,产生了不同的设计风格. Header 客户端 服务端 动态 Html5 Ruby 静态 Java Go 静态动态 静态:无需实际运行,仅根据程序代码就能确定结果. 动态:只有到了运行时才能确定结果.不过无论任何程序,或多或少都包含的动态的特性. 动态运行模式 运行中的程序能识别自身,并对自身进行操作.对程序自身进行操作的编

读书笔记:技术的本质-技术是什么,它是如何进化的 (布莱恩?阿瑟)

读书笔记算不算原创? - page 30 然而,作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其他什么东西融合得更为紧密,那就是自然.在最深的层次上,人的存在应该和自然,和我们最初的环境,以及最初使我们成为人的那些条件相融合. ========== - page 36 如今机器被用来生产机器了,同时它又变成了以后同类机器的父母. ========== - page 43 技术的建构不仅来自已有技术的组合,还来自于对自然现象的捕捉和征服.在 ========== - page 44 技

读书笔记:技术的本质-技术是什么,它是怎样进化的 (布莱恩?阿瑟)

读书笔记算不算原创? - page 30 然而.作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其它什么东西融合得更为紧密,那就是自然. 在最深的层次上.人的存在应该和自然,和我们最初的环境,以及最初使我们成为人的那些条件相融合. ========== - page 36 现在机器被用来生产机器了,同一时候它又变成了以后同类机器的父母. ========== - page 43 技术的建构不仅来自已有技术的组合.还来自于对自然现象的捕捉和征服.在 ========== - page 4