阅读《构建之法》1-5章感想

本作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2178

第一章:概论

        这一章运用了很多生动的现实例子来向读者说明 了软件工程的定义、组成及其相关特性。

        但是也有一些疑惑。例如有一段文字提到“这不是一个缺陷,这是一个功能!”以及下面提到的买车的例子归咎于“某一类的汽车满足了他们的需求,他们就会买。如果销售人员向不适合的目标用户推销自己公司的汽车,最好销售并不理想”。对于这一说法 我反而觉得此处类比得不恰当,首先站在买车的用户的角度来讲,市面上的汽车作为代步工具功能大致都相同,但是价钱却会有很大的不同,可能是因为车子的材质、品牌效应和功能的性能等等的不同。但是价钱贵的汽车确实会比价钱较便宜的汽车好,相信用户体验也会更加好,如果质量好的车子价钱跟质量差的车子价钱相同的话我觉得客户肯定会选择质量好的车子,所以作为用户来说我相信价钱才是影响他们购买选择的关键因素。

         在软件用户者的角度来说,市面上功能齐全的同一类型的软件很多,但是受欢迎的程度却不一样。同样是软件,功能和体验是用户看重的,例如同一款拍照软件,a软件有拍照美颜的功能,b软件有拍照美颜及附加特效功能,我相信后者会更受欢迎,我也认为a软件不会拿出比同类软件少功能的软件发售。软件不是说满足了现有用户的暂时需求,用户就会选择这款软件。以我看来,难道软件也像买车一样,有了满足了用户的需求的软件,用户就不会选择比这款软件功能更齐全的软件了吗?

第二章:个人技术和流程

         这一章这一章主要讲述单元测试、回归测试,效能分析及个人软件开发流程。

本章2.3提到“PSP的目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度。工程师有可能很高效地开发出一个顾客不喜欢的软件,那么这位工程师还是一个优秀的工程师么?”,工程师不能很好捕抓到用户的需求也是属于工程师的失职,在以往我们也学过不同的过程模型,例如:瀑布模型、快速原型模型,增量模型等。我觉得工程师应该结合当前的情况要用不同的过程原型,这个例子的工程师就应该使用快速原型模型,快速建立一个能反映用户需求的原型系统,让用户在计算机上使用它,,通常用户会使用原型系统之后提出很多意见,开发人员按照用户的意见来快速修改原型系统。

       那么我又有点觉得,相信一个软件可以满足大部分用户,但是不可能满足所有用户吧?难道开发出完美的软件的优秀的工程师才算是优秀吗?反而我觉得软件的易于维护,易于修改等等才体现出优秀。

第三章:软件工程师的成长

        本章主要提到评价软件工程师水平的方法,技能的反面,TSP对个人的要求,软件工程师的思维误区。

在3.3节中提到的“专与精的关系” ,例如web开发有的人精通前端有的精通后端,对于创业公司来说,全栈工程师的价值是非常大的,创业公司不可能像大公司一样,各方面的人才都有。所以需要一个多面手,各种活都能一肩挑。对于创业公司,不可能说DBA前端后端客户端各种人才全都备齐了,很多工作请人又不饱和,不请人又没法做,外包又不放心质量,所以全栈工程师是省钱的一妙招。虽然说全栈工程师工资会比一般的工程师会高很多,但综合下来,成本会低很多,对于个人发展来说全栈工程师更有利于自己的就业 。而让一个后端和一个前端去沟通,那是不容易沟通的,更不用说设计师与后端了。但如果有一个人懂产品懂设计懂前端懂后端,那沟通的结果显然不一样,因为他们讲的,彼此都能听得懂。这让我想到,如果我是一个很喜欢后端开发的人,那是应该继续精研后端开发,还是为自己就业而去让自己成为什么都懂却缺乏精度的全栈工程师呢? 

第四章:两人合作

         本章主要讲代码规范,极限编程,结对编程,两人合作的不同阶段,影响他人技巧。

 本章内容也很贴切我们的专业,因为一直以来我们的大作业都是由两人及以上的人数完成的,两人合作中也感触很深,如果是一个项目分工十分明确的话,大家都各自写各自的代码,这样固然可以,但是常常会出现一些环境版本不同的情况,让不同的模块衔接的难度较大。4.5节中提到“结对编程一对一程序员肩并肩、平等地、互补的进行开发工作,他们并排在一起,面对同一显示器,使用同一键盘、同一个鼠标工作。这个有很现实的问题,例如两人编程的能力相差巨大呢?倘若一个人立马打出来的代码,另一人并不能理解,那接下来的合作还能顺利进行吗?假如立马讲解给不懂的人听,那又会不会浪费太多时间呢?毕竟还会有更多的代码需要一起完成。

第五章:团队和流程

         本章主要讲述软件团队模式和开发流程。

仔细一看,软件团队的模式还分很多种,感觉有点模式还是奇奇怪怪的样子。其中我觉得社区模式真的有点理想,作为为利而生的时代,很多人都不会去做一些付出没收获的事情,由于许多专业用户(主要是程序员)自愿地开发它的应用程序,并借助Internet拿出来让大家一起修改,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来。但是开发和维护Linux操作系统的社区却是例外,大家有共同的目标以及愿意付出自己的努力。对于特工团队有一点疑问,他们专攻一领域,倘若终有一天他们所擅长的领域杯时代所淘汰了,那么这个团队是否就是解散之时呢?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

posted @ 2018-10-07 12:11  zz1j  阅读(130)  评论(4编辑  收藏  举报