• 浅读《构建之法》


       初拿《构建之法(第三版)》,并不知为何软件工程这门课要多此一举的用两本书。可是当翻开这本书的目录的时候,不禁窃喜。这样契合真实项目,与职业发展相关的却不乏专业干货的书还真是少见。果然,《构建之法》豆瓣8.7分,《构建之法(第二版)》豆瓣8.8分,可谓是是大众好书。

       通读了一遍《构建之法》,首先是先把其的脉络整理了出来,用思维导图表示如下:

       当这一步骤完成以后,便引出了第一个问题:

       《构建之法》这本书有哪些优点?又有哪些不足之处?

    优点:1、语言生动有趣,采用情景式、对白式的方式对在软件工程相关的学习中重现场景,更好的解决了读者所遇到相类似的问题。

          2、注重实践。在大部分时候,大学的计算机专业,理论和实践是分离的,甚至只注重理论,讲一堆概念,定义,然而这本书与现实项目接轨,既讲了关于个人的项目能力,还谈到在团队中如何进行协作,也介绍了作为软件从业人员的一些准则。

          3、知识由浅到深,由理论转为实战,循序渐进。整本书从软件工程概论(第一章)开始,再到个人项目能力的培养(第二、三章),继而转为第三章到第六章的团队介绍和流程完善,再切入到生活中的实战项目部分,此为横向线;每一章内部由浅入深,步步挖掘,此为纵向线。

          4、覆盖面广。不仅只有软件工程的相关知识,还有IT的行业创新、项目经理、职业道德等。

       5、书中有大量学习的网站,以及还留有一些比较有趣的课后习题。

         6、该书比较适合初学者读,同时对于教师和助教,也有很大的益处。

    缺点:1、个人认为这本书的知识框架显得有些凌乱,章节和章节之间的联系性并不是很强,使得知识框架并不是那么容易理清楚,这从以上的思维导图就可以看出。当然也有可能是我没有细读,从而没有分析出其中的联系吧。要是老师或者同学们有好的解释可以畅所欲言呀。

              2、有一些例子或者练习题并不是那么的恰到好处。比如63页关于选哪一种医生的讨论,我认为这个问题与软件项目联系在一起有些牵强。

    讲完了《构建之法》的整体,接下来就从章节讲起。由于时间问题,我只细读了第一章到第四章还有第九章,前四章先介绍了软件工程的概念,然后介绍了软件工程师所需要的个能人力培养问题,以及两人如何合作,第九章则是介绍项目经理。在这五章之中,一些将列举一部分我遇到的问题:

    软件工程是什么?

       在读第一章之前,个人对于软件工程的定义是“完成某款软件的设计的过程”,然而读完第一章以后才发现其中涉及的问题很多,并没有我想象中的那么简单。书中分别定义“软件”和“工程”,“软件=软件+软件工程”,工程定义“创造性地运用科学原理,实现和设计建筑、机器、装置或生产过程;或者是在实践中使用一个或多个上述实体;或者是实现这些实体的过程。”经查询资料,软件工程具体定义为“软件工程概念实际存在两层含义,从狭义概念看,软件工程着重体现在软件过程中所采用的工程方法和管理体系,例如,引入成本核算、质量管理和项目管理等,即将软件产品开发看作是一项工程项目所需要的系统工程学和管理学。从广义概念看,软件工程涵盖了软件生命周期中所有的工程方法、技术和工具,包括需求工程、设计、编程、测试和维护的全部内容,即完成一个软件产品所必备的思想、理论、方法、技术和工具”。

    单元测试是什么?有什么作用?

       第二章介绍的是PSP,2.1节直接就是单元测试,讲了很模糊的用法,以及如何怎么写单元测试,但偏偏读完这些依旧不知道单元测试是什么,这也算是一个缺点之一吧。经过百度之后,得出单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。单元测试的意义在于以测试为驱动的开发模式最大的好处就是确保一个程序模块的行为符合我们设计的测试用例。在将来修改的时候,可以极大程度地保证该模块行为仍然是正确的。

    如何成为一名合格的项目经理?

       这是我对第九章提出的问题,因为对于项目管理这一块比较感兴趣,便直接翻阅了第九章。项目经理和产品经理是现在IT行业中非常热门的职业,但也是录取率极低的职业,是介于程序员、测试、UI之外的职业,有着极高的薪资。书中提到了PM所需的几个基本能力,而下图将更加完整地表现项目管理所需的基本流程。

     

     第五个问题呢,就是书上65页指出的“成长和代码量的关系”,即代码量和工程师的水平是线性关系么?

       放两个小链接,大家体会一下。

       https://yq.aliyun.com/roundtable/58175?utm_content=m_29367

       https://www.oschina.net/news/88231/ode-get-written-at-google-each-day

    最后的最后呢,就是希望自己可以多看几遍这本书啦(*╹▽╹*)

     

  • 相关阅读:
    Linux信号列表(zz)
    TCP状态转移图学习总结
    UNP学习笔记之四select和poll
    RSS2.0结构
    UNP学习笔记二简单的并发服务器(concurrent servers)
    js面向对象基础(zz)
    libevent introduction
    Linux下Makefile的automake生成全攻略(zz)
    UNP学习笔记之三POSIX Signal Handling
    关于网络编程(服务端)的一些笔记(zz)
  • 原文地址:https://www.cnblogs.com/wuqiong666/p/8561741.html
Copyright © 2020-2023  润新知