软工实践个人总结
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2020 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2020/homework/11605 |
这个作业的目标 | 总结软工实践课程,收获了什么,缺少什么。能用这样宝贵的经验去多做些什么 |
学号 | 031802244 |
对于这次课程你对你自己的表现满意吗?为什么?
还比较满意吧,实践过程中,虽然个人编程作业做得不是很好,总体而言,有做得好的地方,也有不足,但现在想来,这些都是尽力去完成。对自己来说也没有遗憾的地方了。
通过这门课,你掌握了什么 工具、技术?
因为软工的契机,我真的学习到了很多技术方面知识。一些课之前觉得一知半解的东西都因为软工而真真实实的用上了。
- psp
- 前端
- 前端三件套,用d3画树形结构
- 微信小程序语言
- java
- springboot框架和原理
- jdbc数据库连接
- mybatis
在课程中你经历了什么挫折或困难?你是怎么解决的?
- 编程过程中还是有各种各样的小bug的
- 最开始个人编程题,要求用Gradle管理依赖,可是我idea用上gradle就是一直报错,查了很多资料也没有解决,但最后吧idea更新到最新版本问题就奇迹般的消失了。
- 结对作业要画一个关系树,对于前端刚入门的我来说,迷茫。有各种的实现方案,最终选择了有实际例子可以参考的方法。
- 项目开始的时候我也知识了解java后端的一些皮毛,网上的spring教程动不动就是几十个小时的,根本没办法在短时间内全部看完做出项目,最后在网上找了一个简单项目照着学,竟然也能几天时间写出一个差不多的例子,对技术有了跟多理解。
- 时间安排不过来,经常软工每天都要固定占用掉一部分是时间,加上本来也有其他的课业要完成。可能也磨练了自己安排时间(和临时抱佛脚)的能力吧。
课程结束后,你有什么收获和心得?
- 新的技术,一次合作开发软件的经验。
- 技术决定下限,管理决定上限。
- 别把预计完成时间安排为deadline前一天。
你在这门软件工程时间中,一共完成了多少行的代码?
总共是3000行左右
- 个人编程 555
- 结对编程 637
- 组队项目 1875
累计花了多少个小时在软工实践上?平均每轴花多少个小时?
- 粗略的说每天都有花一个小时以上的时间,尤其是项目临近结束的时候甚至会用将近8小时。 平均每周12小时。
对于团队协作的心得或反思
- 团队编程与个人编程是完全不同的两件事情。要考虑除技术外的其他很多东西。
- 技术决定下限,管理决定上限。
- 团队讨论应该贡献更有价值的想法。其实有些方面还是错误的,造成一定影响。
- 技术不扎实
对于软工实践课程及助教工作,你有哪些建议
- 虽然理论上是说软工实践课不讲代码和技术方面的问题。但是还是有很多情况下的问题是因为技术原因导致的。
- 前半学期摸鱼太久,只是做了个人和结对编程。可以这时候就让大家提前了解后面团队编程要用的技术,提前准备,时间可能更充分一点。
未来规划
- 往java后端多努力,打稳技术功底。
- 管理,有机会的话也要尝试。多沟通,多做准备。
SE_Final_Skill_survey 表格
你在这门课平均每周花_____12____ 小时 (包括上课时间)。
你在这门课中写了大约 _____2800_________行代码 (不包括注释、空行、单字符行)
请填写你上课前后的水平评估。 填 [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 (需求分析,典型用户,场景,创新) | 1 | 3 |
SE: Project Management (项目管理,spec) | 1 | 3 |
SE: Design (架构设计,模块化设计,接口设计) | 1 | 5 |
SE: Design (效能分析,效能改进) | 1 | 5 |
SE: Implementation (阅读代码的能力,实现,单元测试) | 5 | 6 |
SE: Test (测试方法、测试工具、测试实践、代码覆盖率) | 3 | 5 |
Software Tools (performance tool, version control, work item, TFS) | 5 | 6 |
Code Review/Writing Solid Code (代码复审/代码规范/代码质量) | 4 | 6 |
Programming Language (Java) (pick one language) | 3 | 6 |
App development Web (choose one) | 3 | 5 |
Task Plan, estimation and Prioritization (计划任务,估计时间和优先级) | 3 | 3 |
Task Execution (按照质量要求、按期完成任务) | 3 | 3 |
Work with others (协同工作,提供反馈, 说服别人) | 1 | 5 |
Presentation (报告项目状态,提出想法,写博客等) | 3 | 4 |
comments on other improvements (其它方面的反馈) | none |