作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10111
回顾0
所属团队(alpha后换组的,两个团队都 写)及链接
所属团队:都是为了生活
链接:https://www.cnblogs.com/shenghuo-chifan/
团队项目及链接
团队项目:All for Eating
链接:https://e.coding.net/thiking/AllForEating.git
在本课程(不包括本学期其他课程)中学习和使用的新软件新工具(全称、版本)及链接
微信开发者工具(版本:1.02.1911180)
下载链接:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
Leangoo 链接:https://www.leangoo.com/
在本课程(不包括本学期其他课程)中学习、提高的语言、开发平台(全称、版本)及平台链接
语言:
Python、Javascript、html、css
平台:
微信公众平台 平台链接:https://mp.weixin.qq.com/
回顾1
(1)回想一下你曾经对计算机专业的畅想
我认为计算机是一门神奇的学科,计算机覆盖很多领域,深入到人们生活的各个领域,是不可或缺的一部分,所以选择计算机专业。
平时老师上课讲的实践知识对以后找工作很有帮助,经过一个学期,我对计算机的看法没有改变,而且越来越发的喜欢这个专业。
它虽然不是我擅长的领域,但是这是我喜欢的领域,以后在中国领域我会再接再厉。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
经过一个学期,你的看法改变了么,为什么?
经过一个学期的学习我学到了很多新的东西,gitHub、python还有小程序开发。尤其写文档的能力有了一个质的提升。
我距离成为一个合格的计算机学生还有很多的路要走,编程技能、逻辑思维能力以及有关一些计算机的基础知识还有待补充。项目开发经验也需要继续增加。关键在于你想从事什么工作找到方向就去人才市场看看和上网看看公司的要求。虽然杨老师比较注重实践,但是我还是缺乏实践经验。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
经过一个学期我仍认为自己是个学渣,仍然有很多专业知识要学,而且编程能力有待提高
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?
实测结果,每周平均用在本课程上多少小时?
我对这门课的期待:期待老师给我们传授实际有用的知识,期待老师能够给我吗带来不一样的学习方式,以及与众不同的理论知识。
我打算平均每周拿出10个小时用在这门课上,经过一个学期,我的看法改变了,因为事实证明,每周拿出10个小时用在这门课上是远远不够的。
实测结果,每周平均用在本课程上15.57小时
回顾2
作业要求 [https://edu.cnblogs.com/campus/nenu/2019fall/homework/5522] 题目3 中提到:
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?
问题1:我看了第一章概述中第一节介绍软件=程序+软件工程,为什么软件不等于软件工程,软件工程不就是在完成软件的么,为什么两者不等同呢。看完第一章还是不明白软件为什么不等同软件工程,如果两者不等同。两者之间的区别又在哪里呢。
经过一个学期的学习和体会,我理解了为什么软件不等于软件工程,我认为程序是软件的灵魂,软件工程主要是降低软件系统的复杂性、提高其可控性,以此在软件开发、维护、测试等各个阶段提高效率。所以软件不等于软件工程。
问题2:看了第五章,了解到了两种模式,一种是MVP,另一种是MBP,我的问题是MVP是一种很经典的模式,由于什么方面不能满足需求,所以会有MBP模式。把第五章看完这个疑惑还是存在。
MVP和MBP都是渐进交付的流程。
MVP--Minimum Viable Product. 是小可行产品,又称为Minimal Feature Set,最小功能集。
MVP具体的做法是:把产品最核心的功能用最小的成本实现出来(或者描绘出来),然后快速征求都是免费的。
MVP的指导思想和渐进交付相似,但是它更强调更早获得用户反馈,为此可以在产品完成之前就发布,它也强调产品的核心价值(产品最区别于竞争产品的地方),为了突出核心功能,别的辅助功能可以不考虑或者用别的平台提供的服务来代替。
正如所有的方法论那样,MVP也有它的适用范围,和它相对应的,是Maximal Beutiful Product(最强最美产品,MBP)的思路,如果对用户的需求了然于心,或者产品团队比用户更了解用户的需求,为柯不把产品最全、最美的形态展现出来一举在服用户?对如何做到MBP,这对产品团队有更高的要求。
问题3:在第五章中,还有一个疑问就是团队模式和团队模式,在上网和查阅资料,还是不理解这两者在表达什么意思,也不明白这两个有什么区别。
经过一学期的学习我认为团队模式是团队内部的分工合作,而团队的开发模式是团队用于开发用的模式比如瀑布模型,迭代式开发模式等模式。
问题4:第十一章讲的是软件设计与实现,在软件设计之前需要对设计的软件进行分析,对软件的功能等方面进行分析。我不明白要从什么角度对软件进行分析,也不明白需要用到什么方法来完成软件,毕竟要完成一个软件需要浩大的工程,如果没有着手点,对完成这项工程是很困难的事情。
对软件进行分析,应该从需求出发。需求包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求。在设计过程中用以促成模块化设计的四个区域: 模块 Modular 、数据 Data 、体系 Architectural 和 程序 Procedural 设计。 这四个区域是主要的区域。
问题5:在看完第十五章之后,代码完成之后要对其进行发布,我不明白什么是不同频率和不同覆盖范围的的前进的发布。做完一个软件之后,就可以对其进行分布。我们还会存在不同不同频率和不同覆盖范围的的前进的发布。
发布代码肯定是运维的职责之一了,但频繁的发布导致运维大部分时间浪费在重复的操作上,非常的不值得。基于此,开始限制代码发布频率,要求把 不是很紧急的更新延后到一周中的几个时间点。但实施起来效果不理想,治标不治本,原因是你不能强制把需要立即上线的更改延后。实施这样的定时发布,有可能 影响项目的快速迭代。
2.请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
问题1:在开发过程由于自己的技术不成熟,拖了团队的整体进度怎么办?
问题2:在开发过程中遇到自己不会的东西,是否可以借鉴前人思路?
问题3:如果开发的成果,和用户的预期有一定程度的误差怎么办?
问题4:在开发过程中,如果用户改变需要怎么办?
问题5:开发结束之后,产品给用户之后,用户没有付预期的工资怎么办?
3.回忆整个学期,你有什么话想对后来的学弟学妹们说。
希望你们能够珍惜在杨老师的课堂,虽然杨老师的留的作业有些多,但是杨老师是以企业的角度教授那么知识,杨老师是一个用心良苦的老师,希望能够珍惜杨老师在一起的时间,很珍贵,也很快就过去了。
4.如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
如果能够重来一次,我一定会珍惜和杨老师在一起的时间,能够抓住机会向杨老师问更多的知识,向杨老师请教他宝贵的经验。
5.终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
首先谢谢杨老师能给我这次机会,杨老师我很喜欢你,我觉得你很可爱,我平常很关注你发的说说,看你平时很开心,有一些童真,希望杨老师能够继续保持,希望您永远的这么开心。
总结 分值50
1.代码总量,平均每周代码量。
代码总量916,平均每周代码量83.
2.博客字数总量,平均每周字数。
博客字数总量28503,平均每周字数2591
3.根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。
根据PSP,平均每周在本课程中所用时间15.57小时
4.进度条总结: 遍历每周知识点,以周为单位做如下表格。
起止时间 提交PSP例行报告时总结的知识点 现在回顾该周收获的知识点
起止时间 | 提交PSP例行报告时总结的知识点 | 回顾该周收获的知识点 |
2019.9.6-2019.9.11 | PSP,软件工程流程 | PSP表格 |
2019.9.12-2019.9.18 | PSP,功能设计与实现 | 代码的功能模块的设计与实现 |
2019.9.20-2019.9.24 | PSP,软件工程的流程 | 结对任务的分配,python编程,gitHub的使用 |
2019.10.11-2019.10.16 | PSP,模块之间的耦合 | 模块之间的关系如耦合,燃尽图,BNABCD分析 |
2019.10.25-2019.10.30 | PSP,单元测试 | 代码的模块的设计,实现与测试 |
2019.11.8-2019.11.13 | PSP,团队开发 | 团队合作,团队之间的任务分配 |
2019.11.22-2019.11.27 | PSP,团队合作 | 团队合作 |
时间分配堆积柱状图。如图所示,给出每周的时间分配。