第一章
对于第一章的阅读,可以说是在很大程度上让人明晰了软件工程和软件的实质,也解决了自己之前的很多疑问,比如我原来经常会对于学校将计算机和软件划成两个学院抱有不小的疑问(虽然现在两个院已经合并成信息科学与技术学院)——明明都是学习计算机相关,工作方向极为类似,虽然计算机偏向硬件但大体上还是在IT这一行,却划分成了两个学院。类似这样的问题都在书中找到了答案。
在二次阅读后,我还是发现了一些自己不解的地方。比如说在开始时,书中在开始时阐述了软件的根基在于数据结构和算法,结合实际情况来看,无论是考研还是找工作面试,目前我了解到的是都会涉及到算法的一些内容,而且学校平时也会有专门的ACM比赛,这些实例无不说明了数据结构和算法的地位,结合书中所提到的计算机科学和软件工程的区别,这两门课程的确是偏向了计算机科学,但在软件专业如此重视算法的情况下,为什么软件工程专业只开数据结构,而不开算法的课程呢?反观我们专业,历来的安排都是学算法只能考学长学姐传授,或者自学,就不是很能理解。
第二个问题就是在文章对于BUG的描述上,“软件工程的目标——创造足够好的软件“,我的疑问在于是否BUG的多少能决定软件质量的销量、用户满意度?或者说能根本的说明软件的好坏?育碧有一个外号叫BUG制造商,买bug送游戏这个梗几乎是所有的单机玩家都会对育碧旗下的游戏进行调侃,当然还少不了他们的土豆服务器,但虽然bug频出,这仍然撼动不了育碧在游戏开发商行业的地位,游戏软件的销量也没因为bug 的原因下滑,所以我觉得bug 的多少是无法用来定义软件的好坏,或者说它只是综合因素里面一个很小很小的部分。
第二章
经过第一章对于软件开发流程的了解,在第二章中可以说是能很清晰的认识到了测试在软件开发中的地位,而我的个人疑问在于:在我们几乎是进入大学的第一课的时候,老师就会讲:当你选择了软件,你就必须认识到自己不是单打独斗,你们更多的是要学会相互配合,在分工中逐渐完善自我。而本章中对于测试这一方面强调过测试代码最好是由编码者来进行编写,因为他是最了解代码的,但是对于一个有着上十万行代码的软件,不可能说完完全全由一个人操刀完成,而是团队协作,不同人有不同的分工,不同的编码分风格杂糅在了一起,那测试程序的编码不就乱套了么?这不就把团队协作的弊端给展现出来了么?
第十六章
本章对于创新的分析让人在捧读时不禁感叹,这不只是专门对于软件一门管用,而是适用于几乎所有的行业,读的时候还有点遗憾:自己没能在上学期期末参加国创科研的时候看到这本书,不然就能更全面、体系化的去进行这样的创新。
在读的过程中呢,自己也是有着两个小问题,第一个就是本章阐述道的软件是一个赢者通吃的行业,但就目前我浅陋地了解到的很多行业上,基本都是百花齐放,当下最具这个特色的就是手机行业,国外较为出名的有iphone、samsung、one plus和最近火起来的Google pixel,国内则更为丰富:华为、小米、oppo、vivo、LG、锤子、努比亚……这些不通的厂家,有的是各有特色,有的是行业先锋、有的是一直在做技术的跟随者,或许能够从销量、利润上评判出谁是赢家,但是谁都无法做到通吃,不然呈现出来的就不会是百家争鸣,只会是一家独大。当然,举的这个例子不算软件,但软件又何尝不是相同的道理,windows发展至今,不断的更新升级使其成为行业的领头羊,但这并不是一家独大,不计其数的程序员都还在使用者linux(ubuntu),还有macbook中的ios系统更是在行业中占据了不小的份额,并且这一后来者虽然不能说是居上,但苹果的ios从手机、手表到电脑所构造的生态圈是windows所无法比拟的。类似操作系统这样复杂的软件尚且还有这么多的竞争,其他类型的软件那更是无法做到赢者通吃。
第二个小问题则是和书中对于效能过剩的阐述有关:卖电脑的还会宣传CPU的苏的么?显示器的尺寸?、分辨率?
我觉得这个有点以偏概全了,的确,电脑的迅速发展让甚至是10年前最普通的电脑都能满足人们日常办公,娱乐的用途,但是在智能手机普及的当今,原本需要电脑来满足的需求逐渐被手机代替,而目前购买电脑的主力人群更多的是用于工作站、游戏娱乐等功能。就笔记本行业来说,显卡型号、cpu版本、内存大小这些全部是商家宣传的重中之重,也是消费者购买时必须参考的东西,屏幕参数上也更是无法忽略,要是任意一个商家在某型号的电脑下写着1080p高清屏幕,一般懂行的基本都会想:这铁定是45%色域的垃圾tn屏了。对于一般消费者、游戏玩家、绘图者则对屏幕的需求元不只是如此,有的为了满足视觉效果甚至是要求d带有4K、120HZ刷新率、G-sync技术的屏幕,而这些群体并不是小众,所以对于pc的性能过剩,个人粗鄙的认为应该会很难出现,作为一个忠实的单机游戏粉来说,就游戏软件方面,不断的更新换代对于显卡、内存、处理器的要求只会越来越高,而目前的GTX1080ti或者是TITAN X在处理一些游戏软件时,都很难满足4K、30HZ的要求,所以性能过剩的问题感觉在电脑上面对于大部分消费者群体来讲还是很难会出现。