软件工程第二周阅读作业

1. 首先,先说明一点,我觉得这本书写的很浅显易懂。

  • 第一章是关于软件工程的讨论,第二章针对个人开发的流程,第三章是对于软件工程师的一个职业讨论。第四章对于两人结对编程的一些步骤和流程给出建议和规范,第五章提供了团队编程的流程,第六章提到的敏捷流程则是符合当今社会的一种开发模式。第七章讲实战,第八章说需求分析,第九章则详细介绍项目经理及其职责。
  • 可以说是从个人到团队再到实战开发,讲的很全面了。不止是关于开发流程,对于如何与人相处,如何与团队相处,如何提高效率,在不同环境下的各种不同应对方式,应有尽有。
  • 要说从这里面提问其实挺难的,像书前面所说的一些团队合作,一些两人合作的说话技巧等东西,我一直都觉得就应该这样,作者让我更加固了自己一个原有的观念。

问题一

  • 第七章7.3,P147页问和答

原文:

答:例如,用户代表觉得新增加一个功能很酷,因为新功能“让产品更好用”,但是项目经理角色觉得会影响“按约束条件内交付产品”的目标,测试会觉得“保证所有问题都能得到处理”的目标受到威胁,用大白话说,就是“我没有时间测试你的新功能,因此不能加这个功能”。这就要各方在整个项目的共同利益下,协商解决,寻求多赢。 问:我原来认为测试人员说:“我没有时间测试你的新功能,因此不能加这个功能!”是态度问题,会被开发人员鄙视的。 答:这是对产品质量的负责,你要代表你的角色的利益,如果你有充分的授权和信任,你就要直言不讳。

  • 这一段有些不明白为什么项目经理会觉得这会影响“按约束条件内交付产品”呢?
    • 这个所谓的约束条件,是指的一开始签合约的时候确定下的开发内容,具体到每个功能,所以用户代表想要再加一个功能,就会影响一开始的合约。
    • 还是说,这个约束条件是指一个时间条件,在什么期限之前交出产品,而增加的这个新功能无疑会影响到产品交付的工期会大大延后。
  • 抱歉这个问题比较扣字眼,主要是这本书前面实在是写的太详细了,感觉很难看不懂,而且很多团队合作的观念也真的很好,没什么质疑的。太过于深入的探讨对于我这个对开发真的没什么想法的人来说,又太难进行下去了。

问题二

  • 第八章8.4,P168竞争性需求分析的框架

原文:

很多需求不是用户提出来的,而是技术的突破让产品团队看到了可以让用户做到以前不敢想,不敢做的事情——但这个时候大多数用户并没有意识到自己又这个具体需求。 ...... 我们要在竞争性的环境中实践软件工程,那就要做实用并且创新的项目。说到创新,首先“创新”可以分为改良型的创新(在现有的软件中增加几个功能,把某个程序变的更快一些,把程序移植到新的平台)和颠覆性的创新(一个新的产品导致旧产品或产业发生巨大的变化或者消失)。这两种类型各有其重要性,不宜偏废。

  • 对于通过技术带动需求这点,我有个很有印象的例子。16年某站的拜年祭视频,利用技术实现了用户点进视频的那一刻的分P播放,且弹幕融合,给那年的一个手书视频带来了惊喜的结局。虽然观众只是在看视频,但却有点像是玩游戏一样,不同的观测,不同的细小线索,但是弹幕却是融合的。不同的几个结局,也给故事带来了很大的不同。主创在后来访谈中就有说到,当时如果不是导演告诉他现在的技术可以达到这个效果,他都没想过可以这么搞。
  • 当然,这个可能就是一个小小的技术进步,新增的功能让看视频不再是单纯的看视频,往大了说这属于优化观众体验吧。
  • 至于颠覆型的创新,电商都快把实体商逼凉了。太过于颠覆了,导致原有的产业不得不向着电商融合,不然只能苟延残喘,过不了几年的。
  • 综上,这个问题我几乎没有提出什么问题,全是赞同和由于引起的一点小想法,从老师的作业来看,我明显跑题了。这里提问挺难的,这本书比起教科书,更像是一本说明书。什么情况下可以这么做,或者可以那么做,说的都很详细,也很清楚。有理有据的,我们有时候会看不懂教科书,但是很少有人看不懂说明书吧......

问题三

  • 十六章 P360页

原文:

那么已经成功的公司还能创新吗?答案是肯定的。

  • 事先说明,我不是来挑刺的,只是刚好看到一个关于中国游戏公司的科普。他们算是死于“创新”吧,一个可能还太早出现,没人接受,最后还是凉了的,创新。
  • 上海盛大网络发展公司,2001年幸运的代理了韩国游戏《传奇》。那个时候的盛大可以说是中国最大的游戏公司,腾讯网易也都还是来盛大取经。然而2005年,盛大进军家庭数字娱乐,离开本来一直稳固的网游霸主地位。当然,其中的选择很多是因为电子鸦片这个过不去的坎,但是其创始人陈天桥确仍然是个很有想法的人。公司转型,从华为,微软高薪挖人,斥资十亿美元要做盛大盒子。
  • 要说盛大在那个时候,无疑是国内最成功的网游公司之一,但是因为各方原因选择转型。要说盛大盒子其实跟现在小米盒子之类差不多的东西,做家庭数字娱乐嘛,要知道那可是2005年,这个够创新了吧。为了构建这个娱乐中心,他直接购买了新娘19%的股票,收购了起点小说,榕树下,晋江等一系列在线小说网站,随后后收购了边锋等网络棋牌公司,还有各种视频业务。他要让人们所有的娱乐,都能在盛大盒子里进行。这些东西够丰富了吧,陈天桥的想法也够创新了吧,那个时候可没有智能手机看小说啊。
  • 可是,最后盛大还是凉了。比最近流行的各类品牌的盒子早了近十年的盛大盒子,最后因为牌照和版权违规等问题,凉到了现在。自此之后,盛大也开始走下坡路了。今年盛大进行了股权变更,新增股东,腾讯。
  • 再回到上面的问题,创新,是个好东西。但是有时候,他带来的,是过于超前的东西,当时的人们或者当时的制度无法支持这个新的创意,想法,产品。连曾经红极一时的网游巨头都落的现在的情况(当然,这里面也有他们自己的种种放弃)。但是,太过于超前,颠覆型的创新,又真的适合每个时代吗?我不知道,这就是所谓的机遇和巧合吧。
  • 应该,凡事都没有适合所有的情况的吧。
  • 当今的社会比起那个年代似乎更适合这样的颠覆性创新,各大互联网公司不断的推出新的事物,新的技术,现在的人们比那个时候更能接受新鲜事物的冲击。逆水行舟,不进则退。你没有新的东西出来就会被别人取代。

问题四

  • 第七章7.5,P152页

原文:

阿超:做好软件项目,离不开人,技术,工具和方法。什么是软件开发的本质?文盲戴上度数合适的眼镜,能识字吗?“识字”的本质是什么?什么样的条件能导致装满货物的飞机降落到一个小岛上?这个事情的本质原因是什么?是用椰子壳做的头盔么?如果把头盔换成正牌的美军头盔,“飞机到来”的成功率会增加吗?团队A用简单的看板方法,把写有任务内容的小贴纸贴在墙上,团队B用大型项目管理软件,把任务状态存储再数据库中,并通过算法画出任务变化的曲线。仅此区别,能推导出两个团队的成功率的区别吗? 另外,当我们描述项目成功的原因,探讨软件工程的原理和发展的时候,要用到证人誓词的精神:我保证我说的都是事实,是全部的事实,除了实施没有别的。

  • 这一段不知道是不是我理解的那样,姑且就当作一个问题吧。两个团队的开发成功率,形式不是最重要的,核心和内涵应该是开发团队的成员和技术吧。外面的模式再一摸一样又怎样,没有的就是没有,达不到的技术要求不是外形照搬一样就能出来的。以上这是我的理解。
  • 但是这本书是讲开发流程的,讲团队的重要性,讲流程的规范性,讲高效的合作和开发。我不知道这里的例子是为了说明再厉害的外表,内涵不一样,其他的不过是虚有其表;还是为了说明有时候内部的开发人员即使比起其他人差一些,但是如果共同协商,积极讨论,共同进步,也是能够比一些单打独斗的强上许多。因为机制更加完善,出现问题的概率更小。
  • 当然,从这一段原文的字面上理解,应该是前者。不过在这么一本讲实战开发流程的书里面突然出现反例有点不习惯。不过也可能是作者为了告诉我们,不是有了模板,照搬流程就能开发出很好的软件。自己的真材实料才是重要的。所以我觉得阻碍我学习这门课的最大问题就是我们的开发水平???(扯远了。。。)

附加题

  • 豆瓣我有去提问,看完书后答案其实已经差不多知道了,我也只是想得到原作者的认可罢了。不过这样的问题,邹欣老师估计也不会回答我吧,其实没什么意义,所以也不放连接了。另外我发现,好像读书笔记那里,邹欣老师都没有回复,只有书评有回复,不知道是不是碰巧。
原文地址:https://www.cnblogs.com/ycll/p/8584880.html