《构建之法》书评

six-two
2018-05-14 16:15:45

这是一本很有趣的软件工程类的书籍,很容易被带入到书中的软件工程类的故事中,这里推荐给学习软件工程的同学。

初览

看到这本书的前言(第三版—第一版)的时候,就在想这应该是一本很有趣的软件工程类的书籍,于是就被带入到书中的软件工程类的故事中,这里推荐给学习软件工程的同学。

在第1章概论中,以程序员阿超为儿子的幼儿园编写程序到最后需要为一个学校构建一个系统为例,从源程序切入,向读者们描绘了软件工程的大致轮廓。和其他书本的介绍方式不同,该书并没有直接从软件工程的领域入手,直接讲解需求分析、软件测试这些领域的内容和具体实践,而是先教导我们如何成为一个入门级别的软件工程师。

作为一名软件工程专业的学生,很深刻地认识到,校内软件工程专业和计算机科学与技术专业的性质差别。和书中提到的类似,相比于偏理论的计算机科学,软件工程似乎更注重培养学生的工程经验,而这本《构建之法》正是我们学习工程的一个得力助手。

不得不说,这本书的风格独特,文笔活泼,用故事讲解理论,用实例展示细节,很容易阅读。想要初步了解软件工程师的工作和成长可以深读2-4章,从个人技术

...
显示全文

这是一本很有趣的软件工程类的书籍,很容易被带入到书中的软件工程类的故事中,这里推荐给学习软件工程的同学。

初览

看到这本书的前言(第三版—第一版)的时候,就在想这应该是一本很有趣的软件工程类的书籍,于是就被带入到书中的软件工程类的故事中,这里推荐给学习软件工程的同学。

在第1章概论中,以程序员阿超为儿子的幼儿园编写程序到最后需要为一个学校构建一个系统为例,从源程序切入,向读者们描绘了软件工程的大致轮廓。和其他书本的介绍方式不同,该书并没有直接从软件工程的领域入手,直接讲解需求分析、软件测试这些领域的内容和具体实践,而是先教导我们如何成为一个入门级别的软件工程师。

作为一名软件工程专业的学生,很深刻地认识到,校内软件工程专业和计算机科学与技术专业的性质差别。和书中提到的类似,相比于偏理论的计算机科学,软件工程似乎更注重培养学生的工程经验,而这本《构建之法》正是我们学习工程的一个得力助手。

不得不说,这本书的风格独特,文笔活泼,用故事讲解理论,用实例展示细节,很容易阅读。想要初步了解软件工程师的工作和成长可以深读2-4章,从个人技术到完成个人项目,再到团队协作和规范编码,优秀的工程师不仅能编写出让人赏心悦目的代码,也常常会在项目中发挥举足轻重的作用。

实战

作为软件工程这门课程的辅助教材,《构建之法》一书给我们的项目作业提供了很大的帮助。从团队作业的这几个阶段来看,老师应该是希望我们采用敏捷开发的流程,先选定一个需求方向,找到完成产品需要做的事情,然后进行组内讨论和分析,完成初步的功能设计(包括原型图设计、UML图设计、数据库设计),再开始进行代码编写。代码编写的过程包括实现和测试。在敏捷开发过程中,会有一个冲刺阶段,我们实战中分了两个阶段—两周的alpha阶段和两周的beta阶段。理想化的冲刺阶段应该是每日例会和每日汇报,然而对现在一群“丧气满满”、不注重课程作业的大三学生来讲,真的很困难。在团队作业(预计“秘密团队”模式,最后还是变成了“主治医师模式”)中,毫无疑问地遇到了很多困难,比如使用angularjs的语法时出现的新旧分歧,很多功能没有人认领这些问题,分歧部分我们俩讨论了一下按照一种语法进行修改,没有人认领的功能在alpha阶段未实现,到beta阶段才实现。

遗憾

很遗憾的是,在项目开发的这一个月之内,很少有时间去读《构建之法》和《软件工程》这两本书,忽略了其中提到的一些方法和细节,再次攻读《构建之法》,发现无论是项目还是个人都有很多需要改进的地方。关于需求分析部分,老师让每个组选择一个内容,每个人都要求按照NABCD的模式阐明观点。事实上由于空间和时间的原因(当然也是因为能力不足,暂时不会进行大数据分析),需求差不多是按照个人意愿来选择的,这样的坏处是不能够了解到真正的市场需求,只局限于提出该需求的个人或者同类型有限制的小群体。相比于正规的软件开发,我们在作业中表现的态度还是过于草率。典型用户和场景这一部分的分析还得感谢老师的建议,帮我们锁定了用户范围。基本功能实现后,请用户体验测试(班级其他同学)时,用户也的确遇到了一些问题并且善意地提出了建议,例如某些功能不明显、界面设计风格有点突兀等。总体来说,老师为我们这个课程制定的学习路线是很好的,对一些idea的看法也很成熟,我很喜欢年轻老师,也谢谢老师给我们推荐了一本好书。

0
0

查看更多豆瓣高分好书

回应(0)

添加回应

构建之法(第三版)的更多书评

推荐构建之法(第三版)的豆列

了解更多图书信息

豆瓣
免费下载 iOS / Android 版客户端