软工实践个人总结
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2020 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2020/homework/11605 |
这个作业的目标 | 软工实践课程总结 |
学号 | 081800216 |
对于这次课程你对你自己的表现满意吗?为什么?
满意。在开始组队前的几次作业我都完成的算是比较认真,而且当时的总分排名也算是挺靠前的。至于后面组队做小程序嘛,这个就只能算尽力而为了,人一多事情就变得麻烦起来。
通过这门课,你掌握了什么工具、技术?
我觉得别的不说,这门课收获最大应该对 Github 有了更多的了解,以及学会如何去用 Github 管理自己和团队的项目。(这里谢谢助教的视频,帮助很大😃 )前端三件套算是这学期学的用的比较多的了,尤其是和小程序相关的。其他都不敢说掌握,最多算入了个门,因为每次就为了这次的作业先学的东西,下一个作业又是另一个不同的技术栈了。如果算入门学习然后做出来作业的话,有下面这些。
- 学会用 Java 的一些工具包分析 JSON 格式的文件,以及使用 Gradle 构建 Java 项目
- 学习使用 Typora 写 Markdown (Markdown 针不戳)
- 学习了 HTML + CSS + JS,以及入门了下 Vue
- 学会了用墨刀来完成前期的一些原型设计
在课程中你经历了什么挫折或困难?你是怎么解决的?
-
首先是时间问题,因为要补大一上和大二上的课,导致我每周分配在软工上的时间并不是很充裕。
解决:多熬夜啦😪
-
因为前两年太荒废了,自身没有什么技术栈积累,导致作业发布下来都是一头雾水,每次都要从零开始学一门技术然后付诸实践。
解决:菜就要去学,边学习边实践边总结。总之就是不断学习和试错的过程。这段时间 CSDN 和 B 站应该是我最好的朋友,上面的资源真的很多。自学对大学生来说太重要了。然后就是多和身边比自己强的人交流,因为别人的经验总能帮自己少走很多弯路。
-
在最后组队完成小程序这个作业中,对不想做事情的组员以及没有积极性的组员一点办法都没有
解决:这能怎么解决嘛。我和组长又不是他们老板给他们发工资。没什么权力强制让人家干活,就算给任务也不能保质保量完成。只能自己想开点,自己多做点,特别是我们组长,太辛苦了,一个人做了好多。
在课程结束后,你有什么收获和心得?
最重要的是对自己有了一个更清醒的认知,意识到了自己能力非常差,真的还有很多很多东西要去学习。一开始觉得软工实践会很难熬,其实做着做着就一学期过去了,我现在就这写最后一个总结作业了。很多事情只要开始去做了,就发现其实没有那么难。最难的是开始去做这一步。前两年我可以说毫无行动力,得过且过,拖延症晚期。但是软工实践就让我不得不去学习这些新知识新技术,而且不是那种每天摸鱼划水的学。给你这个作业,你就必须得在作业截止前给做出来。所以感觉也挺好的,确实是学到了一些东西。
在学这些之前从来没接触过的东西时,就刚开始真的挺难的挺劝退的。一学期学下来,最大心得就是学的时候一定要耐着性子的学。刚开始肯定是很难的,但只要有耐心的学下去,边实践边学,后面其实会很惊喜。就像软工第一个作业,是分析 JSON 文件。那时候真的啥也不会,Github 上什么是 fork,pr 也不知道,怎么用 Gradle 构建 Java 项目也不懂,至于分析 JSON 文件,有一说一当时看题目真的是一点也看不懂。然后就慢慢学,从一开始满是 bug,提交到 Github 也全是红叉,提交作业时已经能完成题目要求。虽然别人看起来可能没啥,但是 Github 从红叉变绿勾的时候我真的很开心。😀 就这个过程感觉下来是很好的,所以希望自己以后也能不断的学习,不断的提高自己吧。
你在这门软件工程实践中,一共完成了多少行的代码?
大概 3000 行。
累计花了多少个小时在软工实践上?平均每周花多少个小时?
平均每周应该有 20 小时左右,大概 300 小时吧。学习时长远大于编码时长。
对于团队协作的心得或反思。
刚开始做个人作业以及后面的结对作业,我热情和积极性都是挺高的。自己的个人作业不用多说,结对作业和舍友沟通也很顺利。但是一到了团队作业,沟通真的是个大问题。每个人想法都不一样(虽然大部分的都没啥想法),会的东西也不一样,对这门课的态度也不一样。这就导致整个团队内部很难协调一块,因为组长也没什么实质性的权力,凭什么让别人听你的。就算他们啥也不做,也能跟着团队一起拿到分数。相信每个团队都有些人是从头到尾一直做事情,而有些人就划划水混一混。这就很影响我们这些想好好做的人的积极性和心情。毕竟是一个团队,大家都想为团队付出这个团队才能走的更顺更好。
对于软工实践课程及助教工作,你有哪些建议?
- 我实话实话,我感觉随机组队这种方式不是很好。感觉就是强行把态度、想法不同的人捆在一块。老师一开始说的是前 55 带动后 55,不否认这个想法是好的。但是我觉得这种方式能有效果的前提是大家都想做软工实践,大家都想在这门课上多学点知识技术。但是有些人真的就是不想做事情,不想学(给我的感觉就是他们根本不想在这一行上继续走下去),这种方法反而给了那些“混子”可乘之机,让他们可以混的更舒服了。因为就算自己不做,反正也有前 55 的前面 5 个在兜底,再怎么也能跟着团队拿点分。我个人观点,有些东西根本不是能力问题,就是看自己态度,想不想学好。
- 我认为软工实践可能更适合选修吧。一个是必修人太多,就导致要 10 个人一组,组长很难协调分配好每个人。二就是感觉有部分对这个课或者对当一名码农真的没有兴趣,那就不要强迫他们选了我觉得也挺好,班级人少一点老师和助教管理起来也轻松,也不用 10 个人一组这样。
- 我觉得每次一个作业结束之后,让一些比较优秀的同学分享完成作业过程中的一些心得挺好的。一开始 JSON 那个作业就有这个形式,大佬们分享的内容确实有学习到。
你的未来规划。
一个是要修满学分顺利毕业,还有就是准备明年的考研,争取一战考上。因为我想我也没有二战的决心,所以考不上可能就直接去工作了。
完成班级群的 SE_Final_Skill_survey 表格。
你在这门课平均每周花 20 小时 (包括上课时间)。 你在这门课中写了大约 ______3000__行代码 (不包括注释、空行、单字符行) 请填写你上课前后的水平评估。 填 [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 | 5 |
SE: Requirement (需求分析,典型用户,场景,创新) | 3 | 5 |
SE: Project Management (项目管理,spec) | 1 | 3 |
SE: Design (架构设计,模块化设计,接口设计) | 1 | 3 |
SE: Design (效能分析,效能改进) | 1 | 3 |
SE: Implementation (阅读代码的能力,实现,单元测试) | 1 | 5 |
SE: Test (测试方法、测试工具、测试实践、代码覆盖率) | 1 | 5 |
Software Tools (performance tool, version control, work item, TFS) | 1 | 5 |
Code Review/Writing Solid Code (代码复审/代码规范/代码质量) | 3 | 5 |
Programming Language (C/C++/C#/Java) (pick one language) | 3 | 5 |
App development Web/Mobile/PC (choose one) | 1 | 5 |
Task Plan, estimation and Prioritization (计划任务,估计时间和优先级) | 3 | 6 |
Task Execution (按照质量要求、按期完成任务) | 3 | 5 |
Work with others (协同工作,提供反馈, 说服别人) | 1 | 3 |
Presentation (报告项目状态,提出想法,写博客等) | 3 | 6 |
comments on other improvements (其它方面的反馈) | 无 |