此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2556]
回顾0 分值 40
所属团队(alpha后换组的,两个团队都 写)及链接
团队项目及链接
项目名称:取件帮
项目地址: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.
平台:
微信公众平台 平台链接:https://mp.weixin.qq.com/
知晓云 平台链接: https://cloud.minapp.com/
回顾1 分值40
(1)回想一下你曾经对计算机专业的畅想当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?(注:不可以回答 "不是","是"。请把这当成以后工作时面试题,需要回答足够长度,提供足够信息,让对方了解你。比如,给出为什么。)
没有改变,本科是计算机科学与技术,读研自然就希望还是读相关专业,所以选择了计算机专业。研究生接触的课程还是不太符合我的期待,除了工程数学和机器学习。计算机是我不讨厌的领域,我希望未来能在这行业工作,也希望自己能变得擅长这个领域。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?经过一个学期,你的看法改变了么,为什么?
看法没有改变,现在的我在很多方面都不足,在本学期中对软件开发有了一定的了解,经过团队开发也学会了一些技能,但与合格的计算机学生相比还是有一定差距,与其他高校的学生比差距就更大了。所以还需要继续努力。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
都没有改变,还是选择工程项目,希望在未来找到一份好的工作,我的优势是学习新东西的速度较快,能够快速的了解以前没有接触过的东西。其次是我能更快的适应新环境。在工程项目的开发中能找准自己的定位。最后是我自身也愿意做一些项目,工程相关的工作。我的劣势是过去没有做过项目,仅仅是完成相关课程的实验。不了解一个项目开发的具体流程,也没有项目开发的经验,编程技能和相关能力不足,这些都是我的劣势。规划依旧是充实自己,多学习技能。
(4)你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?实测结果,每周平均用在本课程上多少小时?
之前作业中是打算每周拿出12小时用在这门课上,实际情况是每周9.3个小时。实际情况比预计的少了一些,原因可能是由于开始得作业文字编辑较多,比较耗时,后续作业编程较多,时间上能节约一些。
回顾2 分值50
1.5个问题
作业要求 [https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101] 题目3 中提到:
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?
问题一:在第5章团队和流程中的5.2软件团队的模式,书中介绍了多种团队模式,例如主治医师模式,明星模式等等。而很多软件公司的团队最后都演变成功能团队。但看了这么多团队模式,对于刚刚创业的小型公司,有没有适合人数少,但效率较高,又能尽量发挥每个人能力的团队模式?
团队中什么模式我觉得都不重要了,经过团队开发,我发现我们团队做的挺好的,成员之间磨合的好,在开发中自然就会顺风顺水。
问题二:在第9章项目经理中9.3PM做开发和测试之外的所有事情,提到PM所需要的能力是1.观察,理解和快速学习能力,2分析管理能力,3一定的专业能力4自省的能力。PM所做的事情更多的是沟通,交流,分析等等。那我想问PM会不会在未来演变成一个不会编码,而对于软件开发的理论方面功底十分扎实这样的职业?或者说我不会写代码,但我想做PM,有没有可能?
课程中没涉及到PM的事,不过我认为PM还是应会写一点代码为好,这样在与开发团队的沟通才会更加的顺利。
问题三:在第11章软件设计与实现中11.5.5小强地狱里谈到“如果开发人员的小强数量超过一规定值,则此君被送到小强地狱,他唯一能做的就是修复小强”,可是在实际开发中,如果有人开发的部分有很多的bug(已经超过了阈值),但又有别的人等待他开发新的功能,才能继续开发下去。或者说在修复bug和新功能的实现两者中的必须要优先一个,我们应该选择哪项?
还是修复bug吧,开发过程中有时候bug真的会影响别人的开发进度的。
问题四:在第12章用户体验中12.1.6用户体验和质量里如果用户体验和产品的质量有冲突,怎么办?并讲诉了核磁共振机的故事,里面说到将机器做的宽一些,牺牲一些成像质量,来换取用户体验。我有两点表示质疑,其一是,我觉得这里用这里用医疗器械来做比喻有些欠妥,病人来医院检查,就算是用户体验不好,但我想为了看病治病,一些痛苦的体验也是不可避免的,而且如果权威的医院需要你做各种检查,我想大多数人都是会接受的。但用户使用软件并不是看病治病,而且现在同一类型的软件有很多,如果我在A软件上的体验不好,我大可以换一个有相同功能的软件去使用。第二是,12.1.6开始问牺牲质量去追求用户体验,用户能接受吗?后面提出这个故事,表示在一定程度上牺牲质量来换取用户体验看起来是能接受的,但我觉得这个有一个大前提,是用户对此不知情,或者说根本不知道牺牲了质量。试想如果医院为了让来检查的病人舒服些,减少了检查仪器的质量,我想病人们更多的是愿意接受痛苦来换取更好的检查质量吧。
还是觉得用去医院看病检查和使用软件来作类比不恰当。而且牺牲质量来去追求用户体验,如果用户知道了所谓的体验是以牺牲质量为前提的话,用户应该不会同意的。
问题五:在第16章IT行业的创新,读了书中的内容和例子之后我想问的是,就目前环境而言,个人怎样去创新?或者个人创新也着重于哪方面?就算现在有好的想法,也很难与现在成熟的企业去竞争,企业也在想创新,可能你的创新刚刚有一点眉目,便被大公司所收购,或者大公司直接投入更多的人力和资源直接超越你,但人也很难说能够闭门造车个几年,出来便一鸣惊人的。所以想要做到创新,做到别人都承认的创新,我们应该怎么努力?
虽然对于创新还是有一些的困惑,不过我认为趁着年轻,在别人不敢尝试的领域中率先进行尝试,也不失为一种创新。
2.请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
问题一:3.3.1职业发展-考级之路中,提到了几个职业资格考试。想问下对于目前的形式需要参加这样的考试吗,认证项目和考试证书对于就业有优势吗,优势有多大?
问题二:14.1软件的质量中介绍了软件质量的重要性,可是实际工作中如何衡量软件的质量呢?
问题三:12.1用户体验的要素中介绍了用户的第一印象,从用户的角度考虑问题等,但在开发中,什么时候考虑用户体验呢?实在项目开始的时候,还是在项目进行中,边开发边修改呢?
问题四:16.1.2迷思之二中说不但大众都不喜欢创新,甚至连创新者自己都不例外,这句话该怎么解读。
问题五:17章人、绩效和职业道德,读完后我想问,作为职场新人,应该怎样端正自己的学习态度,养成良好的职业道德呢?
3.回忆整个学期,你有什么话想对后来的学弟学妹们说。
不要觉得作业繁重,要认真对待每一次作业,最后你会发现意想不到的结果的。
4.如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
团队开发开始的时候对原型进行了大量的设计,但是由于在开发中发现了开始的设计有时候并不符合业务逻辑,改了很多,浪费了很多的时间。改变的话希望开始的时候对业务逻辑,和用户需求进行严格的分析,这样能节省一部分时间。
5.终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
希望在未来的教学中能够加强对基础知识的教授,而不是全部都在做中学,理论知识有时候也有些作用的。
总结 分值50
1.代码总量,平均每周代码量。
代码行数:1434,平均每周代码行数:119。
2.博客字数总量,平均每周字数。
博文字数:27075,平均每周字数:2256。
3.根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。
平均每周9.3个小时。
4.进度条总结: 遍历每周知识点,以周为单位做如下表格。
起止时间 |
提交PSP例行报告时总结的知识点 |
现在回顾该周收获的知识点 |
2018.9.14-2018.9.16 |
个人软件过程PSP; |
本周主要读《构建之法》回顾了一下软件工作的知识点以及回答了一些博客问题。 |
2018.9.22-2018.9.24 |
代码复用;软件测试;PSP;版本控制;命令行;控制台;重定向; |
本周主要做了词频统计作业,并使用了版本控制。 |
2018.9.28-2018.10.9 |
PSP;结对编程;代码规范;单元测试;效能分析;功能测试;风险控制; |
本周主要是结对编程完成了四则运算的作业;效能分析词频统计作业以及单元测试四则运算。 |
2018.10.10-2018.10.16 |
PSP;团队开发;需求分析;燃尽图;站立会议; |
本周是团队开发选题阶段,主要确定了选题与准备选题介绍。 |
2018.10.17-2018.10.22 |
PSP;团队开发;燃尽图;原型设计;站立会议; |
本周是α阶段第一周,主要完成了数据库的部署和原型以及一些静态页面的设计 |
2018.10.23-2018.10.30 |
PSP;团队开发;燃尽图;站立会议 |
本周是α阶段的第二周,主要继续写页面功能和准备α发布。 |
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