2020软工实践个人总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2020
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2020/homework/11605
这个作业的目标 学期反思与总结
学号 021800527 施颖辉

Q:对于这次课程你对你自己的表现满意吗?为什么?

A:开课之前对软件工程的知识了解甚少,开课以后一次次的学习让我对一个软件项目完成的过程有了一个系统的学习。我对于一个项目任务的编写更加条理清晰,每次写代码都会主动留下注释,时时刻刻想着写出可读性强、可扩展性强、易于维护的代码。学习过程中还学习了软件测试的过程,软件单元测试、功能测试、性能测试,都让我对软件项目的发展有了一步一步更深的理解。不足之处在于对于基础知识比较薄弱,很多编程思路、编程方法、语法都需要在编程的过程中边写边查,因为是python的忠实拥护者,所以作业基本能采用python的都采用python来写了。python是一个上手非常快的语言,但是大量库的使用是我们对一些库的实现并不了解,没有深入探究各个编写好的库、算法是如何实现的,我认为一个合格的程序员应该去做这些事情,去了解每一行代码是怎么在计算机上实现的。本次课程学会了使用github来保存自己的学习的代码,利用VsCode优秀的集成能力,利用JetBrains公司旗下的Wevstorm来更快捷的操作git,可以轻松的实现fork、push等操作,在云端保存自己的代码比本地保存更加安全可靠;学会了和别人分工合作,利用github协作开发,利用tower进行项目计划、完成情况的记录。本课程并没有用到我比较感兴趣的爬虫技术,刚开始感觉就是炒冷饭一点意思都没有,但是后续还学习了MySql数据库的使用,学习新东西的过程非常的快乐。软件工程的学习让我明白了一个优秀软件项目的完成需要多人的紧密、高效的合作。

Q:通过这门课,你掌握了什么工具、技术?

A:在这门课里,我首先通过对Github上面的对博客园的装修代码进行clone学习,发现大一大二掌握的WEB知识与现役的专业WEB程序员相比还是有很大的差别,感叹之余我也暗自下决心要好好学习知识,希望能在实践中更上一层楼。
其次就是第一次接触博客,发现可以使用markdown格式去记录一下学过的知识。否则我一般会遇到同样的问题,但是却记不起来解决办法而再次百度浪费了很多的时间。
最后就是整个过程中第一次接触了单元测试,一般我都是运用控制台打印或者其他语言中用控制台打印的方式来测试我的代码,学会了单元测试再也不用担心代码太长而找不出bug了。

Q:在课程中你经历了什么挫折或困难?你是怎么解决的?

A:在个人编程中,第一次的个人编程作业不算很难,就是第一次接触这个题目有点被绕的云里雾里,通过请教同学才明白到底想让我们做什么,着手去做的时候发现还是比较容易解决的。
在后来的过程中,因为刚好碰上实验室纳新,我作为实验室地位最低下的弟中弟全程参与了面试,经常得关注纳新群里面稀奇古怪的问题,那一两周恰好是团队刚开始写开发报告的时候。因为十人组队我九个人我都不太熟悉,那几周的任务确实分配完之后没有督促,导致那几周的ppt和博客基本都是我在ddl的深夜赶制的,我倒是对划水的同学没有什么意见,但是在队内确实受到了有志之士的结党反对。

Q:在课程结束后,你有什么收获和心得?

A:实践课所要完成的作业或者是最终的成品,以全栈工程师为目标的我大概在大一大二系统学习过,组队参加过校赛因为队友太爱学习了而核心功能没有达到我预期的期望而没有提交,开学初都在为没有参加珠三角和软件杯而后悔(主要是原本不知道奖金如此丰厚,不然就坐飞机去把我队友从书桌上抓起来打代码),所以在这门课刚开始的时候是想找靠谱的队友一起去参加接下来半年的比赛,不给大学生涯留下遗憾。组队刚开始的时候,我有意放慢了团队那些汇报博客或者是ppt的进度,我是希望那些喊着去学习去学习的同学能够真的去学习,万一遇到一学就会一点就通的天才当队友那不是我赚大发了吗。后来队内的有志之士对我还给什么都不做的队友贡献分的烂好人行为表示谴责,他们在获得了三倍于普通人的贡献分之后顺便把我弹劾了,我也当了冲刺阶段的甩手掌柜,体验很好。
不过历经波折我还是找到了我的队友,希望在寒假的比赛中能够保三争二。

Q:你在这门软件工程实践中,一共完成了多少行的代码?

A:大约1000行

Q:累计花了多少个小时在软工实践上?平均每周花多少个小时?

A:累计235个小时,平均每周18小时

Q:对于团队协作的心得或反思

A: 1、学会抱大腿
2、团队需要一种温暖、活泼轻松的氛围,这样能够激发出每个人更大的创造力,也会让每个人有更深的归属感和责任感,更有动力去迎接挑战。
3、团队中的沟通很重要,不仅是分工安排,ddl的明确,还是每个人内心的想法,都需要沟通,在沟通中让大家更加团结,变得更加默契。

Q:对于软工实践课程及助教工作,你有哪些建议?

A:1、助教的工作量太大了,建议成立一个评测小组,额外对博客的成果进行验收。
2、如果前面确认了大作业一定要做web或者小程序端的话,为了防止队伍的过于庞大而且劳动力过剩,我觉得可以修改个人编程作业的风格,在第一次个人编程的时候,每个人都选择一个前端、后端、原型设计方向,可以参照西二在线和服务外包实验室的培养模式,第一次个人作业可以针对所选的方向完成相应的作业(这里以课程表为例,前端同学设计一个静态课程表,后端可以对给定的课程以及时间确定接口和返回格式)我相信这次划水的同学绝对不是一开始的个人编程作业就开始划水的同学,他们更多的是心有余而力不足。然后通过对这一次作业的评分来确认方向和调剂,确保此时每个人都会有个身份。
3、接下来就是结对作业了,这时候就前后端和原型设计的同学三人一组,继续完善完成课程表的原型设计以及文档及博客。
4、结对作业魔改版就是把这个课程表前后端跑通即可。(PS:课程表没有你们想象的那么简单!首先由单双周之分,其次还有如何存储不会造成数据库的过分冗余,一周的课程对应一张表的同学出门右转!还有就是前端如何处理后端返回的格式,以及后端的格式能不能正常使用,这些都是艺术!----详情请见fzuyhgg.top 我的学号+密码123456)
5、现场编程的时候应该完成3+3每组6人的组队,此时六个人都有一定的基础,那个周末就是这个团队第一次磨合的机会。做那个投票系统不是就很应景吗?
6、可以将每周的答辩改成每个小组的进度汇报,你的这周做了什么,项目有了什么变化,可以不求成果,但是希望大家可以共同进步。

Q:你的未来规划

A:先把手头上的项目和比赛参加完毕然后就投入下一场征途中啦。

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) 1 4
SE: Design (架构设计,模块化设计,接口设计) 1 4
SE: Design (效能分析,效能改进) 1 3
SE: Implementation (阅读代码的能力,实现,单元测试) 2 4
SE: Test (测试方法、测试工具、测试实践、代码覆盖率) 1 4
Software Tools (performance tool, version control, work item, TFS) 1 4
Code Review/Writing Solid Code (代码复审/代码规范/代码质量) 2 5
Programming Language c++ 2 5
Web 2 5
Task Plan, estimation and Prioritization (计划任务,估计时间和优先级) 3 7
Task Execution (按照质量要求、按期完成任务) 3 7
Work with others (协同工作,提供反馈, 说服别人) 2 6
Presentation (报告项目状态,提出想法,写博客等) 3 6
posted @ 2020-12-13 00:40  021800527施颖辉  阅读(127)  评论(0编辑  收藏  举报