个人作业——软件工程实践总结&个人技术博客

个人作业——软件工程实践总结&个人技术博客

作者:129龚俊鹏
博客:https://www.cnblogs.com/gjinpn/

这个作业属于哪个课程 2020春S班
作业要求 个人作业——软件工程实践总结&个人技术博客
作业目标 对这门课程进行总结
作业正文 221701129龚俊鹏
参考文献 博客、知乎、贴吧、《构建之法》

回望

  1. 对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
      由于实习的职位是JAVA开发工程师,所以我在大部分的时间是在学习JAVA相关内容的,,学习了spring boot,hibernate以及数据库的一些进阶操作,前面塑造的目标web前端也有进行大致的学习,基本内容外加VUE都有学习这些方面都达到了我的预期。但是还是一些不足,就是VUE学的没有很完整,只学了相关的一小部分。

  2. 你在第一次作业的个人简历中描述了这门课程结束后,你预期你将增长的能力、技术、技能,并绘制了学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
      这门课程结束之后,前面提到的技术、能力、技能都有得到相应的学习。学习路线图有进行跟进学习,除此之外还学习了spring boot等一部分后端技术,由于在团队合作中是负责后端接口的编写,所以花了大量的时间进行学习。团队合作能力也有提升,GitHub的熟练使用就是一个比较好的证明,这些方面都达到了当时预期值,100分的话可以打个85+。

  3. 哪一次作业让你印象最深刻?为什么?
      印象最深的是团队作业的alpha冲刺,这是第一次严格意义上的比较系统的进行项目开发,所以有很多不适应的地方,花了一些时间去学习相关的技术,每天准时开会,我也在其中负责一个模块的接口编写,所以对自己能力的提升是很有帮助的。

  4. 在课程问卷中,我们统计了你在课程上花费的精力和提升;现在请你再次将这些数据罗列出来,作为个人的记录
    1)一共完成4000-5000行的代码量
    2)各次作业

软工实践寒假第一次作业 150分钟
软工实践寒假第二次作业 1800分钟
结对第一次作业 900分钟
结对第二次作业 1200分钟
alpha冲刺 1500分钟
beta冲刺 900分钟
软件测评 300分钟

3)累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花了250-300小时左右,平均每周花15小时.
4)学习和使用的新软件
GitHub、Axure、Postman、IDEA
5)学习和使用的新工具
GitHub、Axure、Postman
6)学习和掌握的新语言、新平台
spring boot、hibernate
7)学习和掌握的新方法
post、get、put
8)工程能力的提升
对应不同的项目,采取不同的方式了可以提高效率
9)团队合作上的提升
第一次系统进行团队项目的开发工作

团队总结

1)你是组员还是组长?你觉得你自己在哪些地方做得好?你觉得自己还有什么可以改进的地方,具体可以怎么改进?
我是组员,做的好的地方就是及时完成自己的任务。改进的地方就是技术可以再高一点,可以多学习一些相关课程。
2)你觉得你的组长(组员们)在哪些地方做得好?你觉得ta(ta们)还有什么可以进一步提升的地方,有什么具体的建议吗?
好的地方:每个人都在完成自己的任务,能力比较好的人,会尽力帮助他人。没什么可以改进的,感觉做的很好了。
3)《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
大部分的阶段都有涉及,可能有些没有很深入的经历过,但是最后总体是达到要求了,以我的角度来说,是达到“创造”阶段了。
4)从开发的角度,你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
担任后端数据库接口的编写,负责的账号管理模块,完成了98%的任务。我觉得我是适合这个角色的,起码我完成的效率还是比较高的。

人月神话

1、1)怎样证明你学会了软件工程?
  在博客园发表了多篇文章,团队项目松果生活app可以提供下载,GitHub上有我上传的代码
松果生活官网(http://radishbear.top/xm/pinezone/#/)
2)(1)研发出符合用户需求的软件
  在APP上线的那一天,我们组员通过发说说等方式,邀请了一些同学下载体验,所以用户量绝对超过10.
相关内容可查看这篇博客(https://www.cnblogs.com/sgrj/p/13070079.html)
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
  我们在课程答辩之前的一个星期就已经将APP发布到官网。而且我们在冲刺阶段每天都有进度汇报,相关内容大部分体现在冲刺博客里面,里面涉及到很多工具的使用等等。团队博客(https://www.cnblogs.com/sgrj/)
(3)并且通过数据展现软件是可以维护和继续发展的。
  代码的一部分我们在开发的过程中就已经上传到GitHub
链接(https://github.com/Benjamin-Gnep/Pinezone)
2. 团队项目实践经验总结+实例分析
  这次团队项目实践,是严格意义上的一次系统的团队项目开发,因为是分阶段进行的,所以很多东西细节就更加容易安排,也给队员提供了一些缓冲的时间,我们做的是一款面向学生生活的手机APP,在开始阶段我们进行了大量的调研和讨论,最后才确定的。项目在启动阶段比较难受,也就是alpha阶段,各种接口的设计,修改等等。但是在后续阶段就好很多了,有了前面的基础,后面接口部分设计还是很顺利的。这次设计对于接口设计有了更加深层次的认识,后端数据库查询慢很多都是借口设计的问题,在这个阶段,通过对接口的优化,让数据的插入存取更加快速;而且这次对于get方法有了更加深层次的认识,修改完善了登录接口和加密设计,对于数据库有了完整认识。这次beta冲刺阶段即是对前阶段的总结,也是对项目的进一步完善和实现,在这次冲刺期间,我们小组每天准时开会,汇报工作,感觉分氛围很好,而且对于一些工作及时沟通,每天都在进步。
  分析:这些实例都体现在我们冲刺博客每天遇到的问题里面,我只摘取其中一个,就是我在编写接口的初期,由于一些包的引入错误,导致我一直连不上数据库,问题困扰了很久,同组队员都在积极帮我解决,最后花了2个小时解决了,组员很有耐心,很感谢他们。

建议

  1. 对于下一届同学,或者大一的同学,你想说:
      前期要做好心里准备,刚开始可能作业量会比较多,所以要学会去适应,但是其实到后期节奏稳下来之后就好很多了。
  2. 对于自己今后,你有哪些建言?
      很多时候还是要多多学习,这次课程,一些差距还是看的到,争取上进一点。
  3. 对于助教工作,你有哪些建议?
      工作做得很到位,很多问题可以得到及时反馈,没什么缺点,做的很好,再接再厉。
  4. 对于软工实践课程,你有哪些建议?对于软工实践课程的上课形式和内容,你有什么具体的意见和建议?在哪儿需要强化或者剔除?
      每次作业我都可以完成85%以上,所以难度还是可以的,而且这次随机组队我们组的成员能力有些很强,大部分都是可以的,所以不会遇到什么很大的问题,可能别的组会有一些问题,但是我们团队真的问题不是很多,项目推进很顺利,所以建议真的很难想出来。上课形式很不错了,通过答辩的形式,增强交流。我觉得那个软件测评那个作业可以剔除因为那次作业很多人都是用现成的软件,没有编码,我也感觉没学到什么东西。

个人技术总结

第一次作业制定的学习路线相关学习有在进行,但是由于实习的岗位是JAVA开发工程师和团队项目负责后端数据库接口的编写,所以我把大部分重心都放在了JAVA的学习上,其中主要就是spring boot和hibernate以及javaee的学习,这些学习的时间花了大部分。在团队项目中担任了开发的角色,负责的是后端数据库账号管理接口的设计和编写。解决了用户账号安全性的问题。通过对用户的密码进行加密,保证其安全性。
  [spring boot编写接口和数据返回](https://www.cnblogs.com/gjinpn/p/13172575.html)
  技术概述:spring boot就是用来帮助我们快速搭建一个WEB服务的,接口编写是其中相对重要的部分,主要是通过注释和post、get、put完成的,在编写的时候原则意义上要对其进行类,controller、dao、service等等。他会使得数据的获取变得尤为简单,只需要几行代码就可以对数据库进行操作。

选做部分

我自己写的代码格式是比较好的,而且冗余度不高,第二次作业就有要求对自己的代码利用情况进行分析,那篇博客可以看到我代码利用率是可以达到87%以上的,算是符合要求的,而且我代码会分块编写一个函数体不会出现多个功能模块,是比较清晰的。但是有一点就是注释可能会比较少,这个也是我目前正在克服和完善的地方。其实衡量自己代码质量好不好方法很多,比如进行大量的单元测试,将自己的代码分享他人得到反馈、根据文档验证代码格式等等,这些都是我常用的方法。

原文地址:https://www.cnblogs.com/gjinpn/p/13172081.html