软工实践个人总结
对于这次课程你对你自己的表现满意吗?为什么?
勉强满意吧,10 分的话给自己打 7 分吧。首先自己在这门课的初期就感觉到了很大的困难,原因在于自己的代码能力不足,面对软工布置的编程作业在心理上就有种害怕的感觉,即便还不知道要做些什么,从一开始就会比较抗拒,害怕自己完成不了。
但是随着课程的推进(主要是 deadline 的逼近),慢慢自己调整了自己的心态,认识到其实大部分同学也是和自己一样,没有接触过类似的项目(现在想来还是自己不够强),于是开始主动学习需要的知识。
自从第一次的结对编程作业开始,逐渐学习前端的 html、css、JS,虽说只是些皮毛,但至少了解了这些东西是什么,用 markdown 写博客,用 GitHub 进行团队合作等等。让自己从只会一些算法题,到逐渐完善自己的技能树,能够开发出一个小项目,这对个人的发展无疑是大有裨益的。
通过这门课,你掌握了什么工具、技术?
不知道 markdown 算不算,这是自己使用频率最高的工具,其次是 Java 和 GitHub 吧,之前没有接触过,但是为了完成这门课,还是学了一些
在课程中你经历了什么挫折或困难?你是怎么解决的?
困难主要是无知和茫然。软工每一次作业都是一项新的挑战,都是之前从未接触的东西。软工的作业相比于其他课的作业,更加让人感到无从下手,只能自己慢慢摸索,通过搜索引擎、 github、CSDN、大佬的博客。。。
说到底还是自己接触的技术太少了,没有接触过实际项目。除了老师布置的任务,其他技术基本没主动学习过,以至于看到一些新的专业术语时,自己一头雾水。
在这个过程中,我明白了,自己该做的事还是只能由自己解决,虽然从头开始一步一步学效率很低,很多东西理解不了,但是这都是必经之路。面对问题,首先态度得摆正,必须自己学,同时,用博客的方式记录自己学习的过程,也是一个好习惯。
在课程结束后,你有什么收获和心得?
收获很多。首先是对新事物的态度上,没有必要自己吓自己,对于新事物只是自己一开始不熟悉,有困难是正常的,不能因为一开始的阻力就停滞不前。
其次,对自己的要求要更高一些,记得在前几次作业中自己会抱怨是转专业过来的,这不行,那不会,现在看来只不过是自己当初逃避问题时的借口罢了。就像老师课上说的,别人不会因为你是转专业的,学习时间没有其他同学长就特殊照顾你,你要自己去克服这些困难。因此,明白自己差在哪,就去弥补,要对自己的要求严格些。
最后,实践是检验真理的唯一标准,只有自己真正实践之后,才能知道理论为什么讲,为什么用这个方法去解决问题。
你在这门软件工程实践中,一共完成了多少行的代码?
大概 1000 行(所有)
累计花了多少个小时在软工实践上?平均每周花多少个小时?
大约 100 小时,每周 10 小时
对于团队协作的心得或反思。
团队协作是完成任务必不可少的部分,我认为团队协作首先要明确各个成员的角色,知道自己要做什么,在团队中要有什么样的贡献。然后就是大家沟通的效率,一定要让对方明白自己的意图。最后就是要有统一的目标,人心不能散。
对于软工实践课程及助教工作,你有哪些建议?
我的建议是希望作业的要求能够再具体一些,如果可以的话,适当给出一些范例,比如第一次个人编程作业我就看了好几遍题才懂(对不起,是我菜)
你的未来规划。
读研或者工作,还没想好
完成班级群的 SE_Final_Skill_survey 表格。
Skills/技能 | before the class assessment (1..10) | after the class assessment (1..10) |
---|---|---|
Software Engineering(SE)Overall / 对软工整体的理解 | 1 | 4 |
SE: Requirement (需求分析,典型用户,场景,创新) | 1 | 3 |
SE: Project Management (项目管理,spec) | 1 | 3 |
SE: Design (架构设计,模块化设计,接口设计) | 1 | 4 |
SE: Design (效能分析,效能改进) | 1 | 3 |
SE: Implementation (阅读代码的能力,实现,单元测试) | 2 | 4 |
SE: Test (测试方法、测试工具、测试实践、代码覆盖率) | 2 | 4 |
Software Tools (performance tool, version control, work item, TFS) | 1 | 4 |
Code Review/Writing Solid Code (代码复审/代码规范/代码质量) | 1 | 3 |
Programming Language (C/C++/C#/Java) (pick one language) | C/C++ | Java |
App development Web/Mobile/PC (choose one) | PC | PC |
Task Plan, estimation and Prioritization (计划任务,估计时间和优先级) | 2 | 4 |
Task Execution (按照质量要求、按期完成任务) | 3 | 4 |
Work with others (协同工作,提供反馈, 说服别人) | 3 | 4 |
Presentation (报告项目状态,提出想法,写博客等) | 1 | 4 |
comments on other improvements (其它方面的反馈) | 2 | 4 |