个人作业——软件工程实践总结

作业描述

问题 内容
这个作业属于哪个课程 2020春丨W班
这个作业要求在哪里 个人作业——软件评测
这个作业的目标 对这个学期软件工程课程学习的总结
作业正文 个人总结
其他参考文献 见个人技术总结博客

一、回望

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

    • 开篇博客之中我给自己定下的学习目标是学习跟Android相关的编程技术,将来毕业后从事Android开发方面的工作。由于本次课程实践团队成员经过商议打算运用Spring框架完成任务,所以很不幸我没有完成最初顶下的目标,买的Android书籍并没有看完大概之看完了70%(溜了溜了)。虽然这次课程已经结束,但是我们的人生还处于朝阳时期,倘若真想学,现在再次开始又何尝不是一个很好的开始呢?但是不幸的事情再一次发生了,选择考研学习新技术的时间又没有了,人生啊,就是这么起起落落。虽然对于最初的目标并没有完成,但是通过Spring的学习跟实操,我也提高了自己的编程水平跟自学能力,参加了团队合作对于团队合作能力也有了很大提高,虽然过程走了岔路但是结果是很美好的(如果给我个重新选择的机会,我现在立马把开篇博客的Android改为Spring)。同时这次实践我发现自己的数据库设计能力有很大不足,当初开始设计项目的数据库的时候,想的非常好,感觉已经面面俱到了,但是开始着手编程后才发现当初设计的真实一坨屎,最后导致β阶段还去重新设计几张表,重构了部分controler的代码,加大了工作量,这种事是不应该的。
  2. 你在第一次作业的个人简历中制定的“这门课程结束后,你预期你将增长的能力、技术、技能”和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?

    • 提高自己的编程水平->完成,通过这次实践,少说也打了几千行的代码,对于自己的编程水平有了很大的提升,特别是对于代码调试方面。
    • 掌握安卓开发->未完成
    • 提高自己的项目分析能力->完成
    • 提高自己的项目设计能力->半完成吧,虽然设计的不怎么好,但是起码实现了从0到有的提升。
    • 提高自己的团队协作能力->完成,通过这次实践,学习的github的使用,对于将来工作有着巨大的帮助,这一点要点赞。
    • 学习路线->它是什么???(我有制定过学习路线么?溜了溜了)
    • 总结:如果要给自己打个分,我给自己打个80分,起码大部分的预期都实现了,只是要学习的技术出现了偏差从Android改成了Spring框架,但是但是,我起码也学了一点了嘛。
  3. 请总结这门课程的实践总结和给你带来的提升,包括以下内容:

    • 完成了不少于6000行代码
      • 寒假作业(1/2)150分钟
      • 寒假作业(2/2)3100分钟
      • github实战训练 720分钟
      • 种子队伍选拔和团队展示 180分钟
      • 项目需求分析 180分钟
      • 项目系统设计与数据库设计 180分钟
      • 站立式会议+alpha冲刺 2700分钟
      • beta冲刺+事后诸葛亮 1890分钟
    • github实战训练令我印象最为深刻,因为它是最赶的一次作业,从白天发布任务到提交任务,中间丝毫没有什么休息,一直在打代码。
    • 一共花费151个小时在软工实践上,平均每周10个小时。
    • 学习了新软件Eclipse IDE for Enterprise(如果算的话)
    • 学习和使用的工具:maven,github
    • 学习了新的语言、新的平台:vue,SpringMVC框架
    • 学习掌握的新方法:利用github进行团队合作跟版本管理
    • 工程能力的提升:训练项目分析、设计、编程、纠错的能力
    • 团队合作上的提升:懂得任务的分解,跟团队项目的合并。

二、团队总结

  1. 如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)
    • 我们小组的每日汇报做的不够详细,导致α冲刺阶段,有小组成员存在虚假汇报的情况,如果是我是组长的话,我会每天都要求他们向github提交记录,同时我也每天定时检查提交的代码是否是无效代码。我们小组中每日会议做的很好,组长十分的负责在每日规定的开会时间前半个小时就通知我们做好准备,同时也积极向我们转告助教、老师们在博客下留言所问的问题。
  2. 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
    • “我们带代码一定要笑”小组,组长的分工合理,但是α阶段每日的监管不太到位,没有检查我们的汇报是否真实。
  3. 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。
    • 我这学期没有经历过换组,我觉得换组很合理(站的说话不腰疼),但是我喜欢能够换一种形式,换组其实并不能很好的模拟裁员,存在水逼互换的情况。我希望助教跟老师可以考虑一下,下学期加入随机组队,随机项目的模式。同时在α冲刺结束后硬性规定的给每个小组的项目硬性添加一些新功能(助教跟老师模拟实际项目中的甲方角色,新功能由助教评估项目后要求添加的合理的功能,模拟突然变更需求或者添加新的需求),当然这些功能要能在同学们的技术范围。
  4. 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。
    • 我觉得我团队的技术分布不太合理,前端人员仅仅有一位,他身上的担子有点大,希望明年的时候老师分组的时候可以平均一下每个小组的技术分配。

三、人月神话

  1. 怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
    • 如果我们自己作为我们的用户的话,我们的产品正如答辩那天助教所说的,是个中规中矩的产品,满足我们当初自己所提出的需求,基本上没有什么功能是没有完成的。同时也经历了用户的调查,通过大家的试用,大部分的人对我们产品的功能是认可的,觉得这个产品如果由较大的软件公司开发运营的话他们愿意在日常生活中进行使用。
  2. 写下属于你自己的人月神话
    • 写代码前请了解好编程中使用的各个软件、框架等版本直接是否兼容:这次实践之中,我的javaJKD使用的是较新版本的JKD,刚开始的时候SPring框架并没有使用较为新的版本,在学习Spring的开发的过程中,遇到了很多意想不到的错误,最后更换了较为新版本的Spring框架,就没有了这些问题,所以在开发之前统一好各个软件的版本是很有必要的,以免在开发过程中遇到很多难以解决的问题。
    • 一段代码上一秒能跑,下一秒不能跑这是很正常的:在开发过程中,遇到了,昨日结束工作时,代码运行良好,第二天开始新的工作的时候发现代码运行失败,大部分情况下都是服务器配置的问题,可以通过重构项目的路径而解决。
    • 网上抄的代码一般都不能直接运行:在这次实践中,我为了偷懒在编写我们项目的管理员端的日志的使用,从网上抄了一份利用Spring AOP机制实现日志的代码,但是在自己的项目上并不能运行,而是报空指针异常,迫不得已自己又去学习了下AOP的使用,最终终于找到问题的关键所在,又通过查找资料解决了这个问题。
    • 选择一个好的编译器是很重要的:在这次的实践中,我选择了eclipse作为我的开发工具,但是在编程的过程中发生了多长,运行卡死,编译卡死等情况,同时重构项目路径跟clean项目异常缓慢,由于最后硬着头皮使用eclipse完成,并没有更换编译器,所以我并不知道是否是编译器问题还是自己电脑问题,下次如果有新的项目,考虑使用IDEA进行开发。

四、建议

  1. 对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
    • 大学阶段才是人生中最重要的阶段,不要轻信上了大学就可以好好玩了这种言论,只有在大学中好好努力,掌握技能才能在自己步入社会时有一定的优势。作为软工专业的学生,我觉贵在精而不在杂,可能有很多学弟学妹热衷的追求学习众多的编程语言跟编程技术,但是经过三年的理解,我觉得认真掌握一门或者两门编程语言跟编程技术是最好的,当然不是说别的技术就不掌握了,贵在了解,而且一旦你掌握了一到两门编程语言后,学习新的技术是十分迅速的,这些繁多的编程语言只能做到锦上添花、并不能够做到雪中送炭。
  2. 对于软工实践课程,你有哪些建议?
    • 下学期加入随机组队,随机项目的模式。同时在α冲刺结束后硬性规定的给每个小组的项目硬性添加一些新功能(助教跟老师模拟实际项目中的甲方角色,新功能由助教评估项目后要求添加的合理的功能,模拟突然变更需求或者添加新的需求),当然这些功能要能在同学们的技术范围。
  3. 对于助教工作,你有哪些建议?
    • 可以增加一些像乐助教这种直播课,将自己的编程技术跟使用的软件分享给同学们,给乐助教点个赞
  4. 对于自己今后,你有哪些建言?
    • 不忘初心、牢记使命

五、个人技术总结

个人技术总结
概述:总结一下Spring框架编程中遇到的问题跟如何解决跟开发过程一些新技术使用的学习博客

posted @ 2020-06-14 15:45  卧城听风雨  阅读(173)  评论(5编辑  收藏  举报