此次作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2556
回顾0
所属团队:拉格朗日2018,链接http://www.cnblogs.com/lagelangri2018/
团队项目:飞词,链接https://coding.net/u/lglr2018/p/Fly_Word/git
新学习软件或工具:
PyCharm2018.3.2 x64下载链接https://www.jetbrains.com/zh/pycharm/specials/pycharm/pycharm.html?utm_source=360&utm_medium=cpc&utm_campaign=cn-360-br-pycharm-ex&utm_content=pycharm-pure&utm_term=pycharm
Leangoo地址https://www.leangoo.com/
TortoiseGit2.7.0.0 x64下载地址https://tortoisegit.org/download/
新学习的语言或开发平台
Python3.6.6地址(Windows版本)https://www.python.org/downloads/windows/
coding.net地址https://coding.net/
回顾1
(1)回想一下你曾经对计算机专业的畅想
当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?
答:当初选择计算机一个很大的因素是就业问题相对来说较容易解决,不过今年似乎在说“互联网寒冬”的问题,以我的认知我无法准确判断“寒冬”是否到来,所以只能做好自己该做的。以前接触到的系统的计算机知识几乎为零,目前学习到的课程如机器学习、高级算法、高级软件工程等是符合我的期待的,但是没想过会有工程数学应用这门课。而且现在发现计算机专业涵盖着诸多领域,如数据挖掘、图像处理、自然语言处理等。刚开学时,计算机对我来说只能说不讨厌但也绝说不上喜欢,经过一学期的学习,我对其中的数据挖掘领域比较感兴趣,虽然一学期的学习让我的知识得以补充,但是以我的能力还是无法达到擅长的标准。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?经过一个学期,你的看法改变了么,为什么?
答:我的差距还很大,计算机从业人员最起码的代码能力我目前还不擅长,而且经过学习,发现计算机需要线性代数、概率论、统计学等很多基础,这些基础对我来说就是一个很大的问题,并且我比较欠缺计算机学习的思维。我差的还多,成绩倒数就是最好的证明。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
答:我的选择没有改变,还是想做工程项目方向,原因也没有改变,除此之外,经过一学期的学习和对计算机的深入了解,我坚信自己无法进行学术研究。优势我认为没有,劣势就是基础薄弱,并且自己也不够努力,和其他同学差距还是很大。
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?实测结果,每周平均用在本课程上多少小时?
答:在上一个问题中,我选择的是工程项目方向,因此我希望从高级软件工程这门课学到软件开发相关的知识,事实也是如此,不光是课堂教学的知识,重点是,无论是结对编程还是团队开发,我都从中学习到了很多,这对我以后工作和学习都会有很大的帮助。第一次作业中我写的是打算一周花费15小时在这门课上,实际经过计算为10.3小时,比预期的少了很多。
回顾2
1、通读《构建之法》,发布随笔1篇,要求列出5个问题。请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?
(1)第6章敏捷流程中,给我的感觉敏捷追求的是速度,这样会不会造成最后的质量无法得到保证,虽然在书中P121也指出了敏捷、计划驱动、形式化的开发方法的使用范围,但是我觉得有些界限并不是很明确,在实践中是如何衡量的?敏捷是否适合新手“做中学”?
答:在团队开发中使用了作为敏捷工具leangoo,但是对敏捷开发仍然没有深刻的体会,疑惑仍然存在。
(2)第7章实战中的软件工程中,讲到MSF的一项基本原则是充分的授权和信任,由授权我联想到了放权,本书中授权的意思有两个:一是给某人权力和权威;二是给予某人更多自信和自尊。而经过查询放权的意思把由上级掌控的权力交给下级。那么在这里授权和放权是否可以等同为一个概念?若不是,应如何把握授权和放权之间的度?
答:在团队开发中,组长对每个组员进行了一定程度的授权,但是对于授权和放权之间的度这个问题还是无法明确。
(3)第16章IT行业的创新中的迷思之八:创新者就是冒险家中写道创新人士的关键特点是“屡败屡战”,屡败屡战的结局可能是成功,但是也有一个很大的可能是“屡战屡败”。成功的结局固然是好的,但是如果不断失败还应该继续坚持下去吗?坚持和放弃该何时做抉择,怎样做抉择?
答:课程里团队开发的东西涉及创新的东西其实少之又少,并且也没有遇到“屡败”,因此坚持还是放弃的问题,还是要留到以后慢慢体会。
(4)第16章IT行业的创新第3小节创新的招数里有一个衡量忠诚度的标准,即问题“你乐意向别人推荐这个产品么?”。(P366)我认为这个衡量忠诚度的效果并不是很好,我在使用IE浏览器时也曾弹出这个问题的对话框,然而我并没有回答而是将其直接关掉,我也问过同学或朋友,他们的选择几乎都和我一样,无论是忠实用户还是觉得这个产品很差,都没有回答这个问题。因此我觉得所得的各种用户占比的数据并不是一定准确。
答:我对此仍抱怀疑态度,我希望在以后的工作中能实际验证一下。
(5)书中P425中的一句话“是对中华民族第N次伟大复兴的热情?”(倒数第9行),我觉得书中出现这样一句含有政治意味的话不大合适。
答:对此还是保留意见。
2、请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
一、在第5章——团队和流程中提到了几种团队模式,那么在实际开发中如何选择合适的模式?
二、在第8章——需求分析中,有的时候用户自己也说不清自己的需求到底是什么,这时该如何明确需求?有时用户的需求会变更,如何平衡用户需求于软件开发进度或难易程度之间、或用户与开发人员的矛盾?
三、由第9章——项目经理引发的思考,如何找到合适的项目领导者?如何平衡领导者和普通开发人员之间的矛盾?如若需要更换,如何更换?何时更换?如何减小更换领导者带来的负面影响?
四、何为真正的有意义的创新?何为为了创新而创新?
五、互联网寒冬真的到来了吗?如果来了?会持续多久?如果还没来?那么何时会真的到来?
另:书中的几处小错误
P319中,“2.测试人员的职业发展”和“3.独立测试团队的价值”字号大小不同
P188中,“1.观察、理解和快速学习能力”部分,第一行的两个PM和后面的PM粗细不同,可能是字体不同的原因造成的
3、回忆整个学期,你有什么话想对后来的学弟学妹们说。
首先,这门课的确需要花费很大的时间,是所有课程里最多的,对此要做好心理准备;其次,花时间是真的,能学到东西也是真的,这门课程一定让人有所收获;最后,如果和我一样基础不好,那么久多付出一些,别像我一样懒。PS.严格执行作业要求!
4、如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
团队作品,我参与的编程很少,因此实在谈不上改进。但是如果时间允许,我会在其他细节上,如游戏界面,背景乐等方面进行改进。
5、终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
建议:增加加分标准,比如一项作业,如果完成的很出色(评定办法由老师决定),可额外加分。
抱怨:没有抱怨,课程的一开始感觉花费时间太多,后来觉得时间多有时间多的收获,也就谈不上抱怨了。
希望:希望以后的学弟学妹,能做出更出色的作品,希望老师工作能够顺利。
总结
1、代码总量,平均每周代码量
总量:597行
平均每周:54行
2、博客字数总量,平均每周字数
博客字数总量:14436字
平均每周:1312字
3、根据PSP,平均每周在本课程所用时间多少小时
10.3小时
4、进度条总结:遍历每周知识点,以周为单位做表格
起止时间 |
提交PSP例行报告时总结的知识点 |
现在回顾该周收获的知识点 |
2018.9.12——2018.9.17 |
PSP |
本周粗读了《构建之法》,大概了解了软件开发过程中的知识点 |
2018.9.19——2018.9.24 |
PSP |
除PSP外还进行了版本控制 |
2018.9.26——2018.10.09 |
代码规范,结对编程,效能分析,PSP |
该周在四则运算结对编程的过程中共同制定了代码规范,我认为这很重要尤其是在大项目中 |
2018.10.10——2018.10.16 |
PSP、燃尽图 |
本周学习了leangoo的使用,开始了敏捷开发 |
2018.10.17——2018.10.22 |
PSP、团队开发 |
本周开始开发团队项目 |
2018.10.23——2018.10.29 |
团队开发、PSP |
继续团队开发 |
2018.11.03——2018.11.04 |
事后诸葛亮会议、PSP、NABCD |
对目前已经完成的工作项目进行了总结和分析,对其他团队作品进行NABCD分析 |
2018.11.14——2018.11.20 |
团队开发、PSP |
继续进行团队开发 |
2018.11.21——2018.11.27 |
团队开发、PSP |
继续进行团队开发 |
2018.11.30——2018.12.01 |
事后诸葛亮会议 |
对beta阶段工作总结分析,对其他团队作品进行NACBD分析 |
2018.12.05——2018.12.11 |
团队开发、PSP |
进行小组作品最后的收尾工作 |
时间分配堆积柱状图,给出每周的时间分配,数据来源是每周的PSP