软件工程个人总结
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2020 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2020/homework/11605 |
这个作业的目标 | 软工实践个人总结 |
学号&姓名 | 031802114 黄颜熠 |
一、对于这次课程你对你自己的表现满意吗?为什么?
还是比较满意的。从软件工程开发零基础,前端开发和后端开发都体验过了一遍,虽然过程曲折,但是还是能做出自己想要的功能,还是一个很好的开头的。
二、通过这门课,你掌握了什么工具技术?
原型设计(墨刀)、python优化(多进程、多线程、数据库)、软件开发相关文档撰写(需求分析文档、系统设计文档、数据库设计文档)、单元测试工具(mocha)、开发平台(uni-app)与配套UI框架(uviewui)、前端框架(Vue)、后端云端数据库(clientDB)
三、在课程中你经历了什么挫折或困难?你是怎么解决的?
- 首当其冲肯定就是知识水平不够的困难,不知如何起步,如何推进,去往何处。从文档撰写开始,从网络上查找相关的资料,按照正确的标准整理出一个框架,而后阅览其他人的文档,照猫画虎按着自己的理解慢慢形成自己的文档。代码方面自己从官网、CSDN、博客园学习基本的理论知识、和队友们一起讨论、而后尝试一层层搭建自己的代码结构,慢慢的能跑的代码也就写出来了。(当然还有一个个的Bug,一个个百度尝试解决方法)
- 还有就是沟通协作的困难,由于每个人的理解都不一样,也没办法说服对方。最后是在体现各自个性的基础上,附上统一的风格。实在需要修改的则通过协商各做退让,毕竟退一步海阔天空嘛。
- 最后是时间太少,由于课程调整这学期的课业压力也变大了许多,每一周也有挺多的考试和大作业,进度也较为缓慢。这个确实比较难解决,最后是分割作业,集中式的攻克一个个阶段性任务,然后腾出连续的时间并行推进各项工作。
四、在课程结束后,你有什么收获和心得?
掌握了软件开发的一些必备的知识,前端页面设计,后端数据库设计,前后端数据交互等等。不仅提高了个人自学能力,信息搜寻能力,团队协作能力的考验,更是对自己意志力和主观能动性的磨练。我很幸运能拥有这么可爱又机智的队友,使我不仅收获了磨练,收获了成绩,更收获了真挚的友谊,也算是真正步入了正确的软件开发的道路。
五、你在这门软件工程实践中,一共完成了多少行的代码?
全部统计下来大约2500行左右
六、累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花费时间约在250h左右
课外每天平均每天花费2.5个h左右Coding,平均每周14h。
上课时间15周,约20h。
个人编程尝试了多种方法,再加上最开始数据库数据查询较慢emm,花费了大约6,7个小时。结对编程时候原型图是两天集中攻关,下午到晚上大约5个小时,共10个小时。Web页面也是第一次做到了凌晨4点,大约也花了8,9个小时,差点看了福大清晨的太阳。
剩下的就是团队编程,从学到写到改,每天差不多开完会就留下来继续编程,有Coding的话每天也会有3个多小时左右。
七、对于团队协作的心得或反思
无论是一片空白,面向百度,面向Github,这也是知识内化的过程,是每一个程序员的必经之路。纵使有抱怨,有争论,有颓废,在我们组长的英明领导之下,我们每个人都发挥自己最大的努力,每一个Bug的解决,都是对自己的一次肯定,都是一次意志力提升的结果。当我们所有人的精神力量汇聚在一起,我们的团队才能披荆斩棘,铸就我们的丰功伟绩,达到一个新的里程碑。
八、对于软工实践课程及助教工作,你有哪些建议?
可以提前提供一下软件开发需要的工具或者技术选项等等,可以比较有针对性的选择学习,效率应该会高一些。
九、你的未来规划
先努力一下争取保研,同时做好考研的准备,争取一战上岸。若不幸未能如愿,就工作了!
十、完成班级群的 SE_Final_Skill_survey 表格
before the class | after the class | |
---|---|---|
Skills/技能 | assessment | assessment |
Software Engineering(SE)Overall /对软工整体理解 | 2 | 5 |
SE: Requirement (需求分析,典型用户,场景,创新) | 3 | 5 |
SE: Project Management (项目管理,spec) | 3 | 5 |
SE: Design (架构设计,模块化设计,接口设计) | 1 | 5 |
SE: Design (效能分析,效能改进) | 2 | 5 |
SE: Implementation (阅读代码的能力,实现,单元测试) | 2 | 5 |
SE: Test (测试方法、测试工具、测试实践、代码覆盖率) | 1 | 5 |
Software Tools (performance tool, version control, work item, TFS) | 2 | 5 |
Code Review/Writing Solid Code (代码复审/代码规范/代码质量) | 1 | 5 |
Programming Language (C/C++/C#/Java) (pick one language) | C++ | JAVA |
App development Web/Mobile/PC (choose one) | PC | Mobile |
Task Plan, estimation and Prioritization (计划任务,估计时间和优先级) | 3 | 6 |
Task Execution (按照质量要求、按期完成任务) | 3 | 7 |
Work with others (协同工作,提供反馈, 说服别人) | 4 | 6 |
Presentation (报告项目状态,提出想法,写博客等) | 3 | 6 |