读书笔记之《软件工程思想》

2023-05-16

读书笔记:林锐博士的《软件工程思想》

           首先申明:由于才疏学浅,很多感悟或许是不准确的,甚至是错误的。但是我仍然坚持写下这篇读书心得,原因有二:首先,想向大家推荐一本好书;其次我觉得如果不写出来,那些不准确的感悟就得不到大家的指正,最后它们将像苍蝇卵一样在我的认知系统中孵化生蛆。用了4个半天读完了这本书(手稿)。该书不足100页,却几乎涵盖了软件工程的所有内容,全书共八章:第一章:软件工程基本概念,第二章:程序员与程序经理,第三章:项目计划与质量管理,第四章:可行性分析与需求分析,第五章:系统设计,第六章:C++面向对象设计,第七章:测试与改错,第八章:维护与再生工程。

            一直想自学软件分析和软件设计方面的东西,于是在网上search了一大推资料,其中包含该书。事实上,该书不是专门针对软件分析和软件设计的,并且它还只是手稿,我并没深究该手稿最终是否出版,原因是我对林锐有种特殊的崇拜,因此对他的书(哪怕是手稿)我有种情有独钟的感觉,这主要是我曾经受一个本科同学的推荐而拜读过林锐的《高质量C++编程指南》一书,那是一本让我爱不释手的好书,我把它与《Effective C++》、《深入探索C++对象模型》、《C++编程思想》等优秀的C++书籍一起放在床头,每天睡觉前都要翻几页。

         前面说过,我刚拿到《软件工程思想》时,对它有过很高的期望,然而当我浏览了序言、目录和前面几章之后,期望逐渐地变成了失望。这里提前申明,该书非常值得一看!我失望的原因是因为我之前期望通过该书学习到所有关于软件工程过程的各种技术,比如做可行性分析的各种方法和手段,做需求分析的方法以及系统设计和详细设计的各种方法的实施细节等。然而该书却几乎没有这些实施细节,而是从概念上,宏观上,思想上来讲解软件工程设计的方方面面。毕竟该书不足100页,我想任何人都不可能在这有限的篇幅内把软件工程的所有过程的实施细节阐述清楚。当我读到一半时,我又开始惊奇地发现林锐通常能把别人需要用一大段文字才能描述清楚的东西用一两句通俗的、幽默的语句阐述清楚。可以说文笔幽默是该书的一大特点,我有时甚至忍俊不禁,往往是在开怀大笑之中学会了一些知识。当我快读完时,我已经对该书爱不释手了,因为读该书是一种享受,它让你感觉轻松,让你既得到了娱乐又学到了软件工程的相关知识,最重要的是它还教会你如何做人!这一点都不夸张,林锐时刻不忘记阐述他的那些做事做人的道理和原则。

           另外,该文极具“真实性”,他完全是根据作者自身的认识来写的,而不像某些专著那样到处copy,文中作者举了很多他自己的例子,比如可行性分析一章,三个事例均是作者的亲身经历。最后作者阐述了他的成长经历,从小学的默默无闻到中学快毕业时的豁然醒悟,再到高中的朴素老实,再到大学的鹤立人群,再到硕士期间的各种成就以及与两个女生的情感故事,最后到博士期间的创业和既创业失败和被女生倒追的故事。这些故事当中可以看出一头“牛”(林锐属牛),一头大牛是如何成长与发展的。他的故事也让我感悟颇多,人生大都不是一帆风顺的,只有坚强的人才能赢在最后;他的故事展示了一个真实、真正、善良的人。

            

           对于该书,无需过多赞美,我个人认为是值得我们这些大学生拜读的好书。这里我摘录了一些自认为经典的文句:

1、勤劳并且聪明的人们应该把大部分的时间用在小比例的创新工作上,而把小部分的时间用在大比例的成熟工作中,这样才能把工作做得又快又好

2、管理不是管制管理的目的是让大家一起把工作做好,并且让各人获得各自的快乐和满足

3、管理者不能老惦记着自己是一个官,而应时刻意识到自己是责任的主要承担者。

4、程序员升为经理后一定要编程

5、软件公司的各级经理最好既精通技术又懂管理

6、软件公司的老板应该这样鼓励有灵气的员工:“你能把技术做得那么棒,还怕搞不好管理?放心干吧!”

7、不管是生活或工作,人们都应该向错误与失败学习,目的是让我们在短暂的健康年华中少犯错误、少失败,多做几件正确的对社会有贡献的事

8、“迷信”是傻子碰到骗子的结果。傻是内因,被骗是外因。

9、为了不让自己“傻”,善良的人们应该用脑子去多学一些知识,努力让自己来把握命运,不要急着把一生托给某个人或某个组织。

10、把自己察觉到的数十个毛病列出来,日后一个一个克服掉

11、导致软件易用性差的根本原因是开发人员犯了“错位”的毛病:他以为只要自己用起来方便,用户也一定会满意。

12、能为了长远利益不惜短期亏损的人,要么是雄心勃勃的将帅之才,要么是“纸上谈兵”、“眼高手底”的那一类庸人

13、人分四类——人物,人才,人手,人渣。 如果一个软件公司里上述四类人齐全了,那么最好的分工是让“人物”当领导,“人才”做第一线的开发人员,“人手”做行政人员,“人渣”负责行贿。

14、当你没法扶一个人上马时,也许应该拉他下马。

15、Java好比是C++的外甥,虽然不是直接遗传的,但也几分象样。外甥在舅舅身上玩耍时洒了一泡尿,俩人不该为此而争吵。

16、如果把系统分析和系统设计比作“战略决策”,那么编程充其量只是“战术”。如果指挥官是个大笨蛋,士兵再勇敢也会吃败仗。所以我们程序员不要只把眼光盯在程序上,要让自己博学多才。

 

          该书上有太多的经典文句,这里就不一一列举了。如果有朋友希望阅读该书又找不到电子档时,可通过email向我索要,地址:w57w57w57@163.com。如果您不是软件相关行业的学生,或者您对林锐的《软件工程思想》一书没多大兴趣,那么您可以只看该书最后的《大学十年》,它记录了林锐本人的成长经历,非常值得大学生朋友们阅读。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读书笔记之《软件工程思想》 的相关文章

  • Dom4J解析xml文档

    1 DOM4J简介 DOM4J是 dom4j org 出品的一个开源 XML 解析包 DOM4J应用于 Java 平台 xff0c 采用了 Java 集合框架并完全支持 DOM xff0c SAX 和 JAXP DOM4J 使用起来非常简单
  • Eclipse 汉化插件

    汉化Eclipse xff08 1 xff09 下载Eclipse 对应版本的汉化包 下载链接 xff1a http download csdn net detail w57w57w57 7768469 xff08 2 xff09 在ecl
  • 使用java语言,利用多线程调用WebService进行数据处理

    http blog chinaunix net uid 20680669 id 3447319 html
  • excel VBA编程之:单元格保护

    ActiveSheet Unprotect Password 61 34 123 34 Cells 1 4 61 i 此处放上需要处理的代码 ActiveSheet Protect DrawingObjects 61 True Conten
  • vbs宏:excel读取多个文件并合并为一个文件

    Sub MergeFiles Dim p f m amp sh As Worksheet Set sh 61 ActiveSheet Application ScreenUpdating 61 False sh UsedRange Clea
  • vba日期和时间函数汇总和代码

    第一 xff0c vba日期和时间函数的基本用法 Excel中vba日期函数和时间函数分别是DATE和TIME VBA提供了三个无参数函数 xff1a Date Time Now xff0c 分别返回当前电脑系统的日期 时间 日期 43 时
  • 管道过滤器模式(Pipe and Filter)与组合模式(出处:http://haolloyin.blog.51cto.com/1177454/348277)

    之前在 benjielin 前辈的博客中看到 管道过滤器 xff08 Pipe And Filter xff09 模式 xff08 http bj007 blog 51cto com 1701577 345677 xff09 xff0c 当
  • 管道过滤器(Pipe-And-Filter)模式(出处:http://bj007.blog.51cto.com/1701577/345677)

    按照 POSA 面向模式的软件架构 里的说法 xff0c 管道过滤器 xff08 Pipe And Filter xff09 应该属于架构模式 xff0c 因为它通常决定了一个系统的基本架构 管道过滤器和生产流水线类似 xff0c 在生产流
  • 数据库架构的演变

    最近看了很多公司架构的演变的文章 xff0c 发现其中的基本思路和架构演变都很类似 xff0c 这里也总结一下数据库架构的演变以及演变背后的思路 单主机 最开始网站一般都是由典型的LAMP架构演变而来的 xff0c 一般都是一台linux主
  • 如何下载Android源代码

    Android已经火了很长时间了 xff0c 虽然做手机开发也有两年了 xff0c 但是一直没有深入接触到Android 前些天想下载Android源代码来看看 xff0c 没想到http android git kernel org九月初
  • Web数据库

    http baike baidu com link url 61 Tib3flBuOBsLy4IoMAxXt2z36Ms77 mQe85MBq7kJh0XfG7oluhlEinX3Maomb2mboXIcedxDEWvGPIDtNQfxa
  • 大型网站系统架构的演化

    前言 一个成熟的大型网站 xff08 如淘宝 京东等 xff09 的系统架构并不是开始设计就具备完整的高性能 高可用 安全等特性 xff0c 它总是随着用户量的增加 xff0c 业务功能的扩展逐渐演变完善的 xff0c 在这个过程中 xff
  • 架构设计案例分析-高速公路收费运营管理平台

    本文旨在通过对某省高速公路联网收费运营管理平台的架构设计过程进行案例分析 xff0c 描述架构设计的决策过程 1 业务背景 某省的高速公路分为近百个路段 xff0c 不同的路段归属不同的公司建设与运营 xff0c 造成了车辆在跨越不同路段时
  • 图片服务架构演进

    现在几乎任何一个网站 Web App以及移动APP等应用都需要有图片展示的功能 xff0c 对于图片功能从下至上都是很重要的 必须要具有前瞻性的规划好图片服务器 xff0c 图片的上传和下载速度至关重要 xff0c 当然这并不是说一上来就搞
  • 应用系统架构设计

    我们在做着表面上看似是对于各种不同应用的开发 xff0c 其实背后所对应的架构设计都是相对稳定的 在一个好的架构下编程 xff0c 不仅对于开发人员是一件赏心悦目的事情 xff0c 更重要的是软件能够表现出一个健康的姿态 xff1b 而架构
  • 用三层架构与设计模式思想部署企业级数据库业务系统开发

    1 1关于架构 架构这个词从它的出现后 就有许许多多的程序员 架构师们激烈地讨论着它的发展 xff0c 但是架构一词的出现 xff0c 却是随着三层架构的出现才出现的 当然 xff0c 目前应用三层架构开发也正是业界最关注的主题 那么这里我
  • KickStart安装教程

    KickStart安装教程 PXE概念介绍 xff1a PXE技术与RPL技术不同之处为RPL是静态路由 xff0c PXE是动态路由 RPL是根据网卡上的ID号加上其他记录组成的一个Frame xff08 帧 xff09 向服务器发出请求
  • DHCP的基本实现原理

    DHCP是一个局域网的网络协议 xff0c 使用UDP协议工作 xff0c 主要有两个用途 xff1a 给内部网络或网络服务供应商自动分配IP地址 xff0c 给用户或者内部网络管理员作为对所有计算机作中央管理的手段 xff0c 在RFC
  • 详解Windows PE(Windows预安装环境)

    Windows PE Windows PreInstallation Environment Windows PE 直接从字面上翻译就是 Windows预安装环境 xff0c 微软在2002年7月22日发布 xff0c 它的原文解释是 xf

随机推荐

  • Kickstart的高级应用

    Pre 和Postinstall 脚本 kickstart本身提供了一些对系统的基本调整和设置 xff0c 例如设置root密码 xff0c 设置时区等等 但是它不能做某些更细致的调整 xff0c 比如通过chkconfig禁止某些服务 x
  • SMTP错误码/建议解决方法

    SMTP错误码 建议解决方法 错误总表 420 1 Timeout Communication Problem Encountered During Transmission Thie Is a Novell Groupwise Smtp
  • Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装

    Linux Kickstart无人值守安装 一 基本原理 PXE Pre boot Execution Environment 是由Intel设计的协议 xff0c 它可以使计算机通过网络启动 协议分为client和server两端 xff
  • 流程制造行业信息系统 架构

    流程制造行业信息系统 架构 执笔人 xff1a 郑玉堂 一 流程制造业信息技术应用的重要性 经济全球化趋势已经给各国经济发展带来越来越深刻的影响 xff0c 各国制造企业在世界市场上进行着日益激烈和残酷的竞争 剧烈的和不可测的市场环境变化
  • OpenGL纹理映射的几个问题

    今天在绘制颜色表的时候 xff0c 出现两个小问题 xff1a 目的是根据一个特定的颜色表 xff0c 用图像方式将颜色表绘制出来 xff0c 根据给定的颜色表 xff0c 我应该绘制出如下的图像才对 xff1a 1 我的颜色表绘制出来的图
  • 将自己写的经常复用的类封装成dll/lib的方法

    如果你的工作长期与某个领域相关 xff0c 比如说长期做直接体绘制 DVR 方面的开发 xff0c 那么你可能经常使用自己的传递函数类 xff0c 如果每一个工程你都把传递函数类的 h和 cpp文件添加进去会比较麻烦 xff0c 其实 xf
  • 从体数据分割谈解决问题之方法

    从体数据分割谈解决问题之方法 一 艰辛历程 xff1a 由于最近在做基于分割信息的体数据可视化时需要得到体数据的分割信息 每个体素的标识数据 xff0c 标识了每个体素属于什么组织 xff0c 为了得到体数据的分割信息我费了不找周折 下面是
  • 求大数的阶乘的位数:PKU :1423:Big Number

    题目描述 xff1a Description In many applications very large integers numbers are required Some of these applications are usin
  • 某人的ACM经历

    ACM经历总结 转帖 首先 xff0c 我想说的就是 xff0c 我是一个很普通的ACMer xff0c 高中没有参加过任何计算机和数学竞赛的经历 xff0c 也没有ben那样过人的天资 xff0c 努力至今也未能取得什么成绩 xff0c
  • PKU2051(优先队列求法)

    题意参见 xff1a http acm pku edu cn JudgeOnline problem id 61 2051 其实这个题目可以理解成os上的进程调度 xff1a 有一些进程 xff0c 每个进程有一个唯一的id和一个执行周期
  • 花钱要区分“投资”行为或“消费”行为(转载)

    在著名的美国第一学府哈佛大学 xff0c 经济学的第一堂课 xff0c 只教二个概念 第一概念 xff1a 花钱要区分 投资 行为或 消费 行为 xff1b 第二概念 xff1a 每月先储蓄30 工资 xff0c 剩下来才消费 有关专家做了
  • 时间管理也要区分“投资行为”与“消费行为”(转载)

    10 年前甲和乙是本科的同学 xff0c 在社会工作5 年后 xff0c 不约而同积蓄了30 万元人民币 5 年前 xff0c 他们都花掉了这30 万元 甲去通州购买了一套房 乙去买了一辆 奥迪 5 年后的今天 xff1a 甲的房子 xff
  • ZooKeeper的选举机制详解

    1 xff09 半数机制 xff1a 集群中半数以上机器存活 xff0c 集群可用 所以 Z ookeeper适合安装奇数台服务器 2 xff09 Zookeeper虽然在配置文件中并没有指定M aster和 S lave 但是 xff0c
  • 写了个幷查集的模板类...

    下面的概念介绍主要参考了 xff1a http www cnblogs com cherish yimi archive 2009 10 11 1580839 html xff0c 根据这个介绍 xff0c 自己写了个稍微通用一点的模板 x
  • PKU_1611(幷查集解法)

    题目来源 xff1a http poj org problem id 61 1611 采用幷查集的思路 xff0c 将同一个组的的学生合并为一个集合 xff0c 最后看那些学生跟student0属于同一个集合即可 下面是我的AC代码 xff
  • POJ2524(并查集)

    题目来源 xff1a http poj org problem id 61 2524 Description There are so many different religions in the world today that it
  • POJ_2236(并查集)

    题目 xff1a Description An earthquake takes place in Southeast Asia The ACM Asia Cooperated Medical team have set up a wire
  • 技术管理中的几个问题

    前几天跟朋友聊天时 xff0c 朋友说他刚刚从一家知名软件公司面试出来 xff0c 朋友去面试的是一家公司的技术管理岗位 xff0c 所以在面试的时候被问及的问题也偏重于技术管理方面的问题 xff0c 在与朋友的聊天中将这几个问题归纳了一下
  • 业务建模

    业务建模是OOAD的重要组成部分 xff0c 简单的说 xff0c 业务建模就对业务领域问题进行结构化的描述 这个描述将会直接指导最终生成的软件 xff0c 业务模型是否具有扩展性 xff0c 业务模型是否能够正确的反映需求 xff0c 都
  • 读书笔记之《软件工程思想》

    读书笔记 xff1a 林锐博士的 软件工程思想 首先申明 xff1a 由于才疏学浅 xff0c 很多感悟或许是不准确的 xff0c 甚至是错误的 但是我仍然坚持写下这篇读书心得 xff0c 原因有二 xff1a 首先 xff0c 想向大家推