这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2020 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2020/homework/11605 |
这个作业的目标 | 总结本学期软工学习 |
学号 | 061800508 |
对于这次课程你对你自己的表现满意吗?为什么?
总体满意。零项目基础,只会C语言、一步步learning by doing,虽然有时候实现出来的效果与想象中的效果有偏差,但想到自己一开始什么都不会,且尽力而为了,就感觉还不错。
通过这门课,你掌握了什么工具、技术?
- 博客markdown格式的编写
- python的使用和json格式的解析
- git的使用和gitee的团队协作
- 墨刀进行原型设计
- 前端三件套(HTML,CSS,JS)
- leangoo进行团队项目管理
- 单元测试工具mocha
在课程中你经历了什么挫折或困难?你是怎么解决的?
-
个人编程能力差,没有项目经验,只会C语言,每一次作业都是全新的未知领域。
解决方法:learning by doing,不断面向github、CSDN学习,请教大佬,本着一颗死也要完成的心,在各种bug中摸爬滚打,也算是顺利完成了每次作业。 -
课程紧张,本学期专业课程数量多,难度大,每个实践课还都要完成一个大作业,且都不简单,感觉软工实践单从学分来看,付出与收获严重不成正比。
解决方法:牺牲理论课学习时间、熬夜挤时间,调整心态,尝试从做软工中找乐趣,别说,有时候界面成功运行,还真很开心。 -
团队合作效果不理想,有些队友划水,10个人像6个人。
解决方法:主动和他们沟通,可以的话就互帮互助,共同进步,不行的话就自己尽量多做一些。
在课程结束后,你有什么收获和心得?
- 看着别人做出花的作业,清楚认识到自己技术有多臭,之前的课余时间有多混。不会主动去学习知识,是没有兴趣吗,我觉得还是要归咎到懒(或许是没有经历现实社会的毒打)。但软工的出现还是被迫推动着我去学习。收获最大的肯定是learning by doing的理念。相较于理论和实践完全独立,做中学,不仅减小了学习范围,还加深了对知识的理解与运用,不会有看过就忘的感觉。
- 软工可能就是以后工作初体验吧,感觉自己还能接受,毕竟自己也喜欢静静地呆着,做些不太需要与人打交道的工作,当然团队沟通还是必不可少的。这次软工也意识到了团队的重要性,曾经我以为人多不一定是好事,但遇到真正困难且工作量大的作业,还真庆幸自己身边有这么多队友,要不然一个人还真顶不住。
你在这门软件工程实践中,一共完成了多少行的代码?
从个人编程到结对再到最后的小程序,应该有2000行左右。
累计花了多少个小时在软工实践上?平均每周花多少个小时?
大概花了230个小时在软工上,平均每周18小时,主要会集中在每次作业ddl前几天,学习的时间比实践的时间长。
对于团队协作的心得或反思。
- 团队与个人的最大差别就是,团队是10个人在做一个项目,你需要顾及到别人,不是自己想做什么就做什么,想改什么就改什么,一切都要听从指挥。因此沟通很重要,我们组的小程序在最后关头,险些崩溃就是前端人员擅自改了界面与功能设计,而没有和后端人员沟通,导致接口函数出现大问题,从这个教训中,我明白了团队和个人的差别就在于协作与沟通,也正是有了协作和沟通才能1+1>2。
- 站立会议真的很重要,刚开始看到要进行十次站立会议,感觉很抵触,认为这件事直接在线上做就好了,干嘛那么麻烦,但真正在进行的时候,才发现屏幕交流永远代替不了面对面的交流,面对面交流有一种真实感,会让你不自主地全身心投入其中,效率其实比线上交流高。
- 好的领导者真的能促进一个项目推进(或许这就是为什么人的工资有差别)。
对于软工实践课程及助教工作,你有哪些建议?
- 首先肯定是感谢助教还有群里老师这段时间的陪伴,你们的评论与建议真的对我很有帮助。
- 软工实践不得不承认,是大学以来最累但学到东西最多的一门课,改为必修我认为是合理的,但1学分多少对不上的它的价值,但提高学分也不一定是个好办法,感觉只有在意绩点的人才会在意这点学分的差异,想要引起全部人注意,或许只能永远都是个人作业了,但这可能又违背了软工实践团队协作的理念。
- 相比于全自由组队,5+5人模式可能确实会减少混子,但团队人数10个人,感觉还是太多,混子还是不可避免,但可能锻炼了我们沟通协作能力?
- 助教可以多给每次作业一点提示,或者讲解一下需要用到的相关知识,像git的使用,感觉就收获很大。
你的未来规划。
- 加强编程能力,自己做点小项目。本学期软工主要学习了前端知识,寒假也要学学后端框架啥的了。
- 读研。
完成班级群的 SE_Final_Skill_survey 表格。
你在这门课平均每周花_____18____ 小时 (包括上课时间)。
你在这门课中写了大约 _____2000____行代码 (不包括注释、空行、单字符行)
请填写你上课前后的水平评估。 填 [1..10] 数字即可,数字参考:
1: 最低水平; 3: 基本的书面知识;
5: 基本的理论和实践知识, 可以通过企业的面试;
6: 具有经实战考验过的技能;可通过最高水平企业的面试
8: 可以像专业人士一样自如地运用; 能发表权威技术博客
10: 全面精通理论和实践,成为公认的专家。
before the class | after the class | |
---|---|---|
Skills/技能 | assessment (1..10) | assessment (1..10) |
Software Engineering(SE)Overall / 对软工整体的理解 | 1 | 4 |
SE: Requirement (需求分析,典型用户,场景,创新) | 2 | 5 |
SE: Project Management (项目管理,spec) | 1 | 4 |
SE: Design (架构设计,模块化设计,接口设计) | 1 | 3 |
SE: Design (效能分析,效能改进) | 1 | 4 |
SE: Implementation (阅读代码的能力,实现,单元测试) | 3 | 4 |
SE: Test (测试方法、测试工具、测试实践、代码覆盖率) | 1 | 3 |
Software Tools (performance tool, version control, work item, TFS) | 2 | 3 |
Code Review/Writing Solid Code (代码复审/代码规范/代码质量) | 2 | 3 |
Programming Language (C/C++/C#/Java) (pick one language) | 3 | 4 |
App development Web/Mobile/PC (choose one) | 1 | 4 |
Task Plan, estimation and Prioritization (计划任务,估计时间和优先级) | 3 | 5 |
Task Execution (按照质量要求、按期完成任务) | 2 | 4 |
Work with others (协同工作,提供反馈, 说服别人) | 2 | 5 |
Presentation (报告项目状态,提出想法,写博客等) | 3 | 6 |
comments on other improvements (其它方面的反馈) |