软件工程第九周作业(陆遥)

一、理论学习

  (一)本周完成了《软件工程》慕课第13章和第14章的学习,并完成了期末考试,相关截图如下:  

(二)讲义学习

  本周学习了软件工程讲义第10章软件项目的管理。

  比资历?软件行业的竞争有”赢者通吃”的规律,一个快要被市场淘汰的产品不能说:我们是最先进入这一市场的,我理应继续占有足够份额!软件团队人员也不能说,我来的早,所以我的报酬就应该多!

  大锅饭?所有人都评“优”,大家平分钱,好么?优秀的人会离开,最后会剩下平庸的人在过平均主义 - 也许整个团队都被淘汰了。同一团队的成员报酬能差别多大?我们看看职业篮球的一个例子:

1997-98 赛季,迈克尔乔丹挣了八千万美元。和他同一个队的队友Joe Kleine当年挣了27万美元。两者相差将近300倍!如果两人挣钱平均分,谁会离开?球队因此变强还是变弱?

   比效率?我们也知道软件开发人员的效率有很大的差别,一流的程序员的效率是普通程序员的10倍;有些效率的差别还有正负之分。 一个心不在焉的程序员可以一天写 2000 行代码,然后别的开发/测试人员要花很多时间来修复其中的缺陷,这些同事本来的任务就被耽误了;同时,一个非常用心的程序员发现可以重用以前的稳定模块,他花很多时间重构和测试,最后只修改了500行代码;代码的缺陷特别少,这样无形中节约了别的同事的大量时间。

  背靠背评比?根据所有其他人的评价来决定自己的绩效?这样会发生小团体抱团,以及劣币驱逐良币的现象。做游戏的工程师一定听说过"Valve"这个公司,他们的员工手册很有意思,大家不妨看看。根据手册的描述,他们的员工100% 的时间都可以自由支配,做什么项目,在哪里工作等,都可以由员工来决定。但是在绩效评估上,他们用了队友评估这一机制,得出下列四个值:技术等级/技术能力;劳动生产力/结果;对团队的贡献 (做一些工具让大家的工作更容易,帮助招人);对产品的贡献 (除了本职工作外,还有什么可以帮助产品的:找bug,预测用户的反馈,推广... )

  比不犯错误?软件项目的进展不是一帆风顺的,总有问题发生,出现了问题,就一定会记在相关人员的帐上,以便总结提高。但是一定会作为绩效评估的依据?那倒不一定。

  • 如果成员的行为只影响自己,或者是探索式的行动,则不是坏事。例如有些成员自行探索最新的技术,但是最后决定不采用此技术。
  • 如果团队成员的行为影响整个团队 (例如 build break 导致daily build 失败),则要注意。在一个里程碑中可以统计谁导致这样的错误最多。对这样的人可以采取 <移山之道> 中提到的 build master 方法处理。

  如何区别对待?团队中总有几个人的资历,成绩,口碑差不多,这时要怎么分出一二三呢?微软公司流传着“lifeboat drill” [救生艇练习] 的办法 - 如果大家在海上遇险,一帮人挤在救生艇上,眼看就要沉没,必须扔一个人下海其他人才能得救,你选谁呢?或者是你要开始一个新的项目,只能带走一个人,你会带谁呢?这当然拷问大家的直觉,但直觉往往是对的。在玩过这些游戏之后,一个一维数组就产生了,这时候就可以区别对待,分三段,来一个好/中/差。或者想GE 等公司那样,给最好的 20% 某些待遇;中间的 70% 某个待遇;最后的 10% 某个明显不同的待遇。

二、实践学习

  本周是四人小组合作开发的第二周,我本周的任务是优化游戏界面的布局,修复一些终端报错的bug,为出口成诗模式添加一些辅助功能,增加和完善诗词库。代码仓库地址为:https://gitee.com/lixiaohua_03/joint_development_project。具体详细内容见李肖华同学作业

  优化后的游戏界面如下3张图片所示,增加了返回设置功能按钮:

  将之前的旧诗词库整合成了全段诗词库,并增加了小学诗词库和初中诗词库,如下图所示:

  出口成诗游戏的作答界面增加了提示、显示答案、跳过当前关键词的功能,如下4张图片所示:

三、学习记录

学习时段 学习内容 主要收获 存在问题

 4.13

1900~2100

理论学习

慕课《软件工程》

(清华大学 刘强) 

第13章视频、测验题

了解了软件系统测试的概念、类型和方法。 缺乏实践,理解还有些欠缺。

 4.14

1900~2100

理论学习

慕课《软件工程》

(清华大学 刘强) 

第14章视频、测验题

了解了软件交付与维护过程,以及注意事项。  缺乏实践,理解还有些欠缺。

 4.15

1900~2100

 

实践学习

多人协作开发

按照任务分配对游戏程序进行改进。 见李肖华同学作业

 4.16

0800~1030

实践学习

多人协作开发

按照任务分配对游戏程序进行改进。 见李肖华同学作业

 4.17

1430~1700

理论学习

慕课《软件工程》

(清华大学 刘强) 

期末测试

看到了掌握薄弱的知识点。

 4.18

0800~1030

实践学习

多人协作开发

 按照任务分配对游戏程序进行改进。

见李肖华同学作业

 4.19

1500~1730

 理论学习

讲义学习

从各个方面了解了软件的项目管理。 理论性较强,理解还不是很到位。

四、总结

  本周小组配合的默契程度有所提升,希望再接再厉,把最后的实践任务完成好,为本课程画上一个圆满的句号。具体总结见李肖华同学作业

猜你喜欢

转载自www.cnblogs.com/19luyao/p/12732415.html