此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10111
回顾0
所属团队:胜利点
团队博客链接:https://www.cnblogs.com/shenglidian/
团队项目:萌猿填词小游戏
项目链接:微信搜索小程序“萌猿纵横字谜”
本课程中学习和使用的新软件新工具(全称、版本)及链接
coding.net 链接:https://hejw031.coding.net/user
博客园:https://home.cnblogs.com/u/hejw031/
leangoo v6.1.0 链接:https://www.leangoo.com/kanban/login/into
本课程中学习、提高的语言、开发平台(全称、版本)及链接:
Python、JS、WXML
微信公众平台:https://mp.weixin.qq.com/
回顾1
1)回想一下你曾经对计算机专业的畅想
• 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?
高考过后针对学什么专业并没有什么太多的主见,只想着哪个专业比较好就业,工资高。在亲人的建议下选择了计算机,考研也选择了计算机。经过一个学期,我的想法有了些许改变,计算机好难啊,工资高也得有命拿啊,怕啦怕啦。
• 你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?
符合,在大学开课之前我自己了解了一些关于计算机专业的东西,很多东西都不求甚解,也有所不懂,在步入大学课程后,发现很多课程可以帮助我解决之前的困惑,还是比较符合我的期待的。经过一个学期,我的想法没有改变,学好理论是实践好的开端。
• 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?
(注:不可以回答 "不是","是"。请把这当成以后工作时面试题,需要回答足够长度,提供足够信息,让对方了解你。比如,给出为什么。)
我感觉计算机是我喜欢的领域,但并不是我擅长的领域,我感觉计算机需要有着非常抽象的思维,但我并不是拥有巨大脑洞的学生,感觉学起计算机还是有点难度的,希望自己可以能多学点基础知识。经过一个学期的学习,我的想法没有改变。这一个学期的学习使我又更加深入的了解了计算机领域,我感觉我不适合计算机领域,动手能力太弱。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?经过一个学期,你的看法改变了么,为什么?
我认为自己离成为一个合格的计算机学生还差的很多,首先我感觉差距最大的地方就是代码量上,项目经验缺乏,然后就是相应的专业课知识没有学好,基础薄弱,同时这也是我读研的目的之一,在研究生期间,夯实专业课基础,做动手,积累一些项目经验。经过一个学期我的看法没有改变,我的动手能力差,缺乏代码量,导致作业项目做的不是太好。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
• 对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
我选择工程项目,经过一个学期,我的看法没有改变。因为我感觉我们计算机本身就是工科专业,社会需求的工作经验和项目经验,为了毕业后比较好就业,我选择工程项目,我认为我读研的目的也是为了跟老师做一些项目,至于学术研究,我感觉自己是心有余而力不足。
• 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
我认为相对其他的同学我的优势并不是太明显,或许我明白了自己本科学到的知识是那么片面,对于找到一份比较满意的工作是远远不够的,我更加珍惜这来之不易的研究生学习,我会总结自己本科的不足,更加有目的的学习。我的劣势我认为应该是项目经验匮乏,代码底子薄弱吧。经过一个学期,我的看法没有改变,在做课堂项目时我就发现了自己动手能力的薄弱。
• 针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
刚刚进入研究生生活,对于研究生的生活也从学长口中有所了解,我也基本对自己的研究生生活有所安排,至于这个学期,我认为我首先要学好学校安排的专业课,避免重蹈本科的覆辙,在课程之余补补课,练练java,然后跟着网上的课程学一些Python课程。经过一个学期,我的看法没有改变,我还感觉应该在学好专业课的基础上多学一些有利于就业的东西。/
(4)你对这门课的期待是什么?
• 你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?
我打算每周拿出十五个小时放在这门课上,老师差不多每周有十个小时的作业安排,我想在工作之余更深的了解这一门课。一个学期之后我的看法没有改变,我认为杨老师的这门课对我以后发展有很大帮助。
• 实测结果,每周平均用在本课程上多少小时?
每周平均用在本课程上10小时。
回顾2
1、作业要求 [https://edu.cnblogs.com/campus/nenu/2019fall/homework/5522] 题目3 中提到:
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?
问题1:书中第三章在讲软件工程师的成长。在成长之路上,如何确定一个软件工程师的能力和价值?仅仅根据工作时间长短吗?有什么固定的标准吗?
答:有研究者认为是需要刻意练习 + 充分实践才能功成。并不是每个人经过足够的工作年限,都自动成为合格的软件工程师。有的人工作 10 年,可能后面 9 年都在重复第一年的工作任务,毫无改进这是不可能成为一个优秀的软件工程师的,所以工作时间并不是考量标准,而是自己从事过多少项目并且在项目的创新上贡献了多少可以衡量一个软件工程师的价值,没有固定的标准。
问题2:书本第四章第四节提到代码复审,我想知道代码复审看的是什么?单纯的把代码拿给别人看就可以了吗?
答:不仅仅是代码。新代码是否与整体架构匹配?代码是否遵循SOLID原则、领域驱动设计以及团队喜爱的其它设计模式。新代码采用哪些设计模式?这些模式合适吗?如果代码库采用混合标准或设计风格,新代码是否符合当前风格?代码迁移是按正确的方向进行,还是效仿即将被淘汰的陈旧代码?代码是否处于正确的位置?例如,如果代码执行与顺序有关,它是否能按顺序执行?新代码能否复用部分已存在代码?新代码能否给已存在代码提供复用部分?新代码是否包含冗余代码?如果包含,是应该重构成更加可复用部分,还是在这个阶段能接受这种冗余?代码是否超出设计标准?这种复用构造现在是不是不需要?团队如何根据YAGNI权衡复用?等等。
问题3:课本第五章第二节讲到了官僚模式,那么官僚模式是不是适合所有的开发团队,如果不是,那么它的适用范围是什么?
答:官僚模式是一种层层领导的模式,我认为他并不适合所有的的开发团队,对于中大型开发团队是适合的,对于人数较少的团队不适合。
问题4:在课本的第八章第五节画了功能分析的四个象限,其中提到必要需求和辅助需求,我想了解一下一个项目中的必要需求和辅助需求的的占比如何划分?辅助需求该占整个项目开发时间的多少?
答:我认为必要需求和辅助需求占比8:2比较合理。开发时间必要需求和辅助需求也该8:2
问题5: 书中第十三章提到的各种测试,例如:单元测试,构建验证测试,验收测试,探索式测试,回归测试,场景测试,伙伴测试,效能测试等等,那他们分别的适用范围是哪些。我想做一个测试,该如何选择?
答:根据测试的时期与想要测试的内容不同来选择不同的测试类型
2、请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
问题1:软件开发中是根据什么来评判一个工程师对项目的贡献比重的?
问题2:软件在验收测试时出现重大逻辑错误是如何追责的?
问题3:在开发中出现分歧时,如何解决?
问题4:如过在开发过程中出现解决不了的问题该如何处理?
问题5:在开发过程中,开发人员与测试人员占比多少是合理的?
3、回忆整个学期,你有什么话想对后来的学弟学妹们说。
杨老师的课会让你整个研一上学期很充实,好好完成作业,你会进步很大。加油!
4、如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
如果重新来过一次,我打算将我们的项目
5、终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
你认为您的“我们不再是师生”有很大的逻辑错误,一日为师终身为师,你永远是我们的杨老师。我希望老师身体健康,万事如意。
总结
1、代码总量,平均每周代码量。
代码总量:1250
平均每周代码量:125
2、博客字数总量,平均每周字数。
博客字数总量:15545
平均每周字数:1555
3、根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。
每周平均用在本课程上10小时。
4、进度条总结: 遍历每周知识点,以周为单位做如下表格。
起止时间 提交PSP例行报告时总结的知识点 现在回顾该周收获的知识点
时间分配堆积柱状图。如图所示,给出每周的时间分配。