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

一、请回望暑假时的第一次作业,你对于软件工程课程的想象:

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

  • 达成:
    计算机专业能力有所增强,在软工里我主要负责后端的开发,在这个过程中,我学习了服务器的搭建,mysql的使用,json,jsoup等一些后端常用的东西,体验了一个完整的项目开发流程,从一开始的需求分析,到后面的两次冲刺,明白了规格的重要性。

  • 不足:
    就业竞争力增强的不够多,因为我对java语言了解有限,因此,我在后端开发的过程中还没接触到对框架的使用,这方面还有待提高。并且代码也存在不够规范的问题。

(2).总结这门课程的实践总结和给你带来的提升

  • 1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
    c++:2000+
    python:300
    java:2000+
    sql:230

  • 2、软工实践的各次作业分别花了多少时间?(做一个列表)

作业 花费时间(h)
准备篇 2
词频统计 24
原型设计 13
团队展示 1
词组频率分析 26
项目选题报告 8
项目需求分析 18
项目Alpha冲刺 42
随堂作业 3
软件产品案例分析 4
事后诸葛亮 1
项目Beta冲刺 14
实践总结 3
合计 148
  • 3、哪一次作业让你印象最深刻?为什么?

    印象最深刻是原型设计那次,因为那时候正好的中秋前后,又碰巧我们团队要去广州打比赛,打比赛打了几天,之后留下来做原型设计的时间很好,后面加了不少班在赶进度。

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

    差不多有180个小时,平均每周有11个小时左右。

  • 5、学习和使用的新软件/新工具;

    Axure RP8,墨刀,ProcessOn,Git,vs等

  • 6、学习和掌握的新语言、新平台;

    Java,markdown,j2ee,博客园

  • 7、学习和掌握的新方法;

    站立式会议等

  • 8、其他方面的提升。
    团队协作能力有所提升;抗压能力有所提升

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析:

  • 个人项目的经验教训
    审题要清晰,遇到bug可以多想想,出去走走冷静一下,debug很看灵感;另外对于自己 擅长的技术一定要学会百度,比如词法分析有一个unoedered_map,那个stl对于词法分析有很大帮助,多学习有好处;

  • 结对项目实践的经验教训
    结对开发要学会取长补短,大家擅长的东西可能都不一样,分工归分工,有能力的话可以多完成一些,多帮助一下队友,共同进步;

  • 团队项目实践的经验教训
    项目开发分工要明确,时间节点要设好,代码要做好注释,要考虑可读性,如果没有代码规范,改的人会很吃力。(对,我就是改的很吃力)

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?:

  • 对下一届实践的建议:不要太高估自己,项目选择最好从简单点的开始,一方面有利于优化,另一方面时间很赶。大三会有很多事情要忙,时间不太充裕去设计太复杂的东西。

  • 对于开学初的你:多学习多锻炼,上课好好听课。

  • 对于后来人的期许:队友可以根据实际情况考虑换不换,另外的最好事先先学一些基础的知道,虽然java只是一种语言。不过看不懂也是很痛苦的。

四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?:

  • 团队的发展有四个阶段,萌芽、磨合、规范,跟创造,我觉得我们团队经历了前三个阶段,最后一个创造还差了一些。大家从最开始萌芽期初次认识,不太清楚自己想要什么,大家各做各的,到磨合期渐渐有了明确的目标,共同努力完成项目的开发。再到之后慢慢的向正规靠拢,感觉有了很大的提升。创造的话感觉还差了一些,因为技术有限,所谓成品还只能算半成品。

五、怎样证明你学会了软件工程?:

  • 侧重选择第二点
  • 我们的团队通过GitHub编程,对于整个项目的开发我们有通过问卷调查,确定选题,需求分析,类图的运用,alpha、beta冲刺等阶段来完成我们的项目
    有明确的分工(三人负责前端,二人负责后端,一人负责其他事务)
  • alpha合集
  • beta合集

六、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?从以下参考论文中选择一篇或若干篇:

  • 参考Samoladas I, Stamelos I, Angelis L, et al. Open source software development should strive for even greater code maintainability[J]. Communications of the ACM, 2004, 47(10): 83-87

  • 阅读笔记:本篇论文主要讲开源软件开发应该努力提高代码的可维护性,高质量代码要求可读性、可维护性和可变更性。开源软件开发对代码这方面的要求很高。代码规范和架构设计是软件的灵魂所在。

七、个性发挥,包括图文、照片和创意等

  • 其实没啥想说的,不过就随便说说嘛。大家都很忙,有的忙学生工作,有的忙竞赛,说实话,软工实践大家都用了好多时间,头发日益悉数,其实原本已经很久没有通过宵了,这学期也通宵过一次。感觉选择真的很重要,要衡量自己的承受上限,不过都结束啦,期末了大家都在赶工作业,身体才是革命的本钱嘛。很高兴跟大家一起参与了一学期的软工实践。

posted @ 2019-01-08 16:20  Chennel  阅读(308)  评论(1编辑  收藏  举报