此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2556]
回顾0
所属团队:
可以低头,但没必要
团队项目:
项目名称:取件帮
项目地址:https://git.coding.net/zhangjy982/QuJianBang.git(项目地址在evepush分支)
线上形式:微信小程序搜索“取件帮”即可
在本课程(不包括本学期其他课程)中学习和使用的新软件新工具(全称、版本)及链接
墨刀(版本V3.0)使用链接:http://www.modao.cc
微信web开发者工具(版本:1.02.1810250)下载链接: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
在本课程(不包括本学期其他课程)中学习、提高的语言、开发平台(全称、版本)及平台链接
语言:
Python、C#、Javascript,css,html,js SDK
平台:
微信公众平台 平台链接:https://mp.weixin.qq.com/
知晓云 平台链接: https://cloud.minapp.com/
回顾一
(1)回想一下你曾经对计算机专业的畅想
当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?
看法基本没变。因为当今各行各业都需要计算机支持;接触到的课程比较符合我对计算机专业的期待,因为之后的学习中慢慢发现学的课程都是有用的;计算机是我比较喜欢的领域,不是很擅长但会用心学下去,因为感觉能用计算机做到太多人做不到的事情。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
经过一个学期,你的看法改变了么,为什么?
基本没变,开始学会通过互联网来广泛的涉猎和学习新的知识,掌握了一些论文查找和阅读能力,对python语言编程有了一些了解,对深度学习有了一些初步的认识;
距离成为合格的计算机学生差距还很大,很多学科主干课程并没有掌握,编程能力也很弱,代码量严重不足。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
没变,学术研究,不想当程序员。
有过一些社会工作的经验,对自己今后的学习或多或少有一点点帮助,劣势是编程能力差,专业课基础也不好。
开学初制定的计划基本完成了。
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?
实测结果,每周平均用在本课程上多少小时?
对软件工程的理论如何应用到项目实战有一定的了解,通过团队项目来学会团队合作和认识更多的新同学。
预计平均每周拿出10个小时用在这门课上。
实测结果,每周平均用在本课程上为468分钟,合7.8小时。。
回顾二:
- 5个问题,作业要求 [https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101] 题目3 中提到:
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?
问题一
如果软件开发智能化像计算机硬件的能力一样一直成倍的发展,会对程序员甚至软件工程师的职业发展产生什么样的影响?(第3章,软件工程师的成长)
可能会降低程序开发人员的入门门槛,但是开发大型优秀的项目依旧要靠优秀资深的程序开发人员来合作完成。
问题二
两人合作。如果结对编程时一对程序员的技术能力相差过多时该如何处理两人之间的职能和分工?(第4章,两人合作)
程序员互相帮助,互相教对方,可以得到能力上的互补。
问题三
团队项目该如何更合理的分配成员的工作和任务?(第5章,团队和流程)
我觉得可以根据个人能力、性格、特长安排工作,并且团队人员之间做好及时沟通。
问题四
与顾客合作,在用户需求不够合理,或者在开发过程中客户要求改动时,是应该边开发边改动还是直接无视,如何能更好的处理好用户的需求?(第7章,实战中的软件工程)
项目合作尽量采取合同制,先出个效果图给客户,如果有可能,要求客户那边找个人参与项目的前期开发,尽量保持与客户的良好沟通。
问题五
创新是引领发展的第一动力,IT和互联网行业的创新更是尤为重要,我们该如何培养自己创新的能力?(第16章,IT行业的创新)
通过兴趣激发自己学习的积极性,积极主动的开展探索和实践,逐渐的提升自身的创新能力。
2. 请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
问题一
章节6提到了长期任务,这种任务比较艰难且对项目又很重要,完成的时间超过计划时间,书中对此只提到往往开发人员对此并不重视,并没提到如何较好的解决这类问题。是不是对这“长期任务”也应该尽早安排人来承担这部分责任?
问题二
章节7提到成员授权和信任问题。如果在实际开发中,当项目开始前所信任的有能力干活的人中途离开了或者在开发过程中这个人遇到技术难题,长时间未解决,其他成员对这个人产生能力质疑时,如何解决这个问题?
问题三
章节9提到了这样一句“没有风险,就是最大的风险。” 这句话该如何理解呢?而在本段之前刚刚对于风险管理水平进行了分层,那这句话是否是可以理解为:风险会从多方向来袭,企图缩短软件的生命周期,而所谓“没有风险”只是没有预见风险,并且没有对其未来的风险情况进行评估呢?
问题四
章节11中有下面这样一段内容 “5. 写好代码后,小飞对照设计文档和代码指南进行自我复审,重构代码。” 对于代码重构不是很清楚,重构是对于旧的架构进行修改,来满足新的需求,那是否只是使用旧的代码搭建一个更漂亮更优秀的项目呢? 何时应该进行重构呢?
问题五
章节16中谈到了创新,谈到了创新的迷思,时机和招数等。列举了一些产品的创新,比如对于一个魔方的销售,针对不同的用户使用了一些不一样的商业模式。我还是不太了解在软件工程领域中创新是什么样子的呢? 新的设计模式属于软件工程领域的创新么? 他是否像其他自然学科那样存在某些规律等待着我们去发现呢?
3. 回忆整个学期,你有什么话想对后来的学弟学妹们说。
一开始作业可能挺难完成也挺耗时间的,但是习惯了以后,后面的压力和消耗的时间还是可以接受的,而且研究生不同于本科生,这门课也是使你和同学相处交流的一个好的方式。
4 . 如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
过程中多掌握一些Javascript项目开发能力,这样就能更多的参与进团队项目代码的开发中来,会让自己更多的从实践中去学习团队协作项目的软件工程知识,相信也能提高本项目的进度,并且尽力的去完善它。
5. 终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
没有什么建议和抱怨,感谢您的付出,希望老师工作顺利。
总结
1. 代码总量,平均每周代码量
代码总行数为1142行,共计十一周,平均每周104行。
2. 博客字数总量,平均每周字数
博客字数共14654字,共计十一周,平均每周1332字。
3. 根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。
共计5145分钟,共计十一周,平均每周468分钟,合7.8小时。
4. 进度条总结: 遍历每周知识点,以周为单位做如下表格。
起止时间 |
提交PSP例行报告时总结的知识点 |
现在回顾该周收获的知识点 |
2018.9.12-2018.9.17 |
阅读了一遍《构建之法》,对软件工程这门学科有了一些新的认识 |
本周主要读《构建之法》回顾了一下软件工作的知识点以及回答了一些博客问题。 |
2018.9.21-2018.9.24 |
版本控制 |
本周主要做了词频统计作业,并使用了版本控制。 |
2018.10.1-2018.10.8 |
效能分析,结对编程,单元测试 |
本周主要是结对编程完成了四则运算的作业;效能分析词频统计作业以及单元测试四则运算。 |
2018.10.10-2018.10.16 |
团队开发,需求分析,燃尽图,站立会议 |
本周是团队开发选题阶段,主要确定了选题与准备选题介绍。 |
2018.10.17-2018.10.22 |
团队开发,燃尽图,原型设计,站立会议 |
本周是α阶段第一周,主要完成了数据库的部署和原型以及一些静态页面的设计 |
2018.10.23-2018.10.30 |
团队开发,燃尽图,原型设计,站立会议 |
本周是α阶段的第二周,主要继续写页面功能和准备α发布。 |
2018.11.2-2018.11.6 |
NABCD分析;事后诸葛亮会议; |
本周是α互评,主要测评其他几个小组的产品以及自己小组召开事后诸葛亮会议。 |
2018.11.14-2018.11.20 |
站立会议;版本控制报告;代码规范; |
本周是β阶段第一周,主要继续开发项目和编写版本控制报告。 |
2018.11.21-2018.11.27 |
站立会议;回归测试 |
本周是β阶段的第二周,主要继续写页面功能和做回归测试准备β发布。 |
2018.11.29-2018.12.4 |
NABCD分析;事后诸葛亮会议; |
本周是β互评,主要测评其他几个小组的产品以及自己小组召开事后诸葛亮会议、收集用户使用报告。 |
2018.12.5-2018.12.11 |
站立会议;功能测试;回归测试 |
本周是Final阶段,主要完善了项目功能、为最终发布做准备、贡献分配、收集用户使用报告。 |
5. 时间分配堆积柱状图。如图所示,给出每周的时间分配,数据来源是每周的PSP。(时间颗粒度:分钟)