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

这个作业属于哪个课程 2020春|S班 (福州大学)
这个作业要求在哪里 个人作业——软件工程实践总结&个人技术博客
这个作业的目标 总结软件工程课程以及实践中的收获
作业正文 个人作业——软件工程实践总结&个人技术博客
其他参考文献 《构建之法》

一、回望

(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

  • 学习了如何用工程的方法和逻辑对待软件开发;但是不够熟练,许多时候还是依靠课程中老师、助教发布的信息来明确目前的项目管理进程,没有把课程教的完全变成自己的东西。
  • 有了团队项目开发的体验,对前后端分离开发有了更深的理解,当然也学到了不少新的后端开发知识,比如基于SpringBoot的项目后端开发;但是远远谈不上熟练,还需要更多的学习和实践积累。

(2)你在第一次作业的个人简历中描述了这门课程结束后,你预期你将增长的能力、技术、技能,并绘制了学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?

  • 对相对规范的、基于spring boot的Java项目后端开发有了一定程度的理解,但是在数据库、服务器方面的收获可以说非常有限。总的来说并没有达到当时的预期值。

(3)哪一次作业让你印象最深刻?为什么?

  • 团队作业第二次——团队Github实战训练;因为这时我第一次参与人数相对较多的团队开发,虽然开发过程中遇到了不少挑战,但是大家尽力地克服了困难,也收获了宝贵的经验,印象非常深刻。

(4)在课程问卷中,我们统计了你在课程上花费的精力和提升;现在请你再次将这些数据罗列出来,作为个人的记录。包括以下内容:

  • 统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
    3k+
  • 软工实践的各次作业分别花了多少时间?(做一个列表)
作业 消耗时间
软工寒假作业1 5h
软工寒假作业2 27h
结对第一次—疫情统计可视化(原型设计) 12h
团队作业第一次—团队展示和项目展示 2h
结对第二次作业——某次疫情统计可视化的实现 22h
团队作业第二次——团队Github实战训练 5h
团队作业第三次—项目需求分析 5h
团队作业第四次—项目系统设计与数据库设计 6h
个人作业——软件评测 5h
团队作业第五次——站立式会议+alpha冲刺 49h
团队作业第六次——beta冲刺+事后诸葛亮 21h
个人作业——软件工程实践总结&个人技术博客 6h
  • 累计花了多少个小时在软工实践上?平均每周花多少个小时?
    累计约165h,按154天/22周算平均每周7.5小时左右
  • 学习和使用的新软件;
    Axure PR、XMind、GithubDestop等
  • 学习和使用的新工具;
    git、jprofier、postman等
  • 学习和掌握的新语言、新平台;
    markdown、github
  • 学习和掌握的新方法;
    项目原型制作、使用GitHub进行团队开发和版本控制
  • 工程能力的提升;
    项目设计、spring boot框架的使用、模块测试、文档编写
  • 团队合作上的提升;
    学会更好地和团队其他成员交流、合作、学习
  • 其他方面的提升;
    信息检索能力略有提高

二、团队总结

你是组员还是组长?你觉得你自己在哪些地方做得好?你觉得自己还有什么可以改进的地方,具体可以怎么改进?

  • 我是组员;
  • 我觉得我往往按时完成分配给我的任务,也不常因为自己的问题给团队其他成员造成影响,对项目有疑问地地方也会优先与团队成员沟通,避免团队开发中出现因沟通不充分造成的问题,实际开发中的问题则会通过检索信息来学习并解决;
  • 万事开头难,而我尤其容易浮躁,其实很多问题只要开始着手解决就可以发现其实并不复杂;
  • 可以考虑遇到复杂情况先设计一个解决方案,再按方案着手执行,减少不必要的时间消耗。

你觉得你的组长(组员们)在哪些地方做得好?你觉得ta(ta们)还有什么可以进一步提升的地方,有什么具体的建议吗?

  • 组长在把控项目进度的方面做得很好,也会贴心地提供所需要的资料,显然独自做了相当多的工作;当然他为这个项目花费的时间和心血也是最多的。
  • 组员们都能够积极参与团队讨论,氛围也很融洽,遇到问题或者有相关的修正也会在群里及时沟通,避免了很多可能会出现的问题。

《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

  • 萌芽、磨合阶段都经历过,我觉得目前我们团队处于规范阶段。

从开发的角度,你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?

  • 我在团队中担任后端开发的角色;基本完成了后端开发的任务;我觉得我适合该角色。

三、人月神话

1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。

  • 研发出符合用户需求的软件——必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
    已经发布并且在最后一次答辩中实际投入使用了,也顺利统计生成了需要的数据。
  • 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件——有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
    利用github做到了项目进程管理,每天都有对应的commit记录,没有出现临时赶工、一人带全队的情况。
  • 并且通过数据展现软件是可以维护和继续发展的——而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
    每个开发人员都可以运行该项目,文档也是实时更新的,重要的修改也会在开发群内通知。

2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达

  • 团队作业中沟通交流非常重要,及时的沟通可以避免很多问题的产生,也可以使很多已经出现的问题得到迅速解决。当然有一些问题是在设计阶段没有考虑好导致的,这种情况就要不怕麻烦,不能想着拆东墙补西墙,该改就得改,避免坑越来越大。我们在开发编码阶段才发现接口设计的数据格式不尽合理,花了一段时间把错误修正,虽然麻烦但是避免了潜在的问题。

四、建议

对下一届同学的建议,或者对于开学初的你,对于大一的你,你有什么建议和想要告知的呢?请写下你对后来人的期许。

  • 对于下一届同学,或者大一的同学,你想说:
    这是一门投入越多收获越大的课程,希望能够认真对待。
  • 对于自己今后,你有哪些建言?
    保持清醒;缓解焦虑的最好办法是让自己保持前进。
  • 对于助教工作,你有哪些建议?
    整理出Q&A文档对我们非常有帮助。
  • 对于软工实践课程,你有哪些建议?对于软工实践课程的上课形式和内容,你有什么具体的意见和建议?在哪儿需要强化或者剔除?
    和个人作业、团队作业比起来,感觉结对作业的意义不是很大。

五、个人技术总结

@Transactional注解的使用以及try-catch捕获异常导致@Transactional注解失效的问题
概述:@Transactional是spring boot项目开发中常用的注解,加上该注解的方法中使用try-catch可能会发生返回结果不符合预期、事务回滚异常的问题。

posted @ 2020-06-25 14:29  Cancan001  阅读(227)  评论(1编辑  收藏  举报