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

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

一、回望

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

  1. 达成的期待与目标

    • 提升了团队协作能力
    • 锻炼了文档的撰写能力
    • 学会Github常用操作
    • 熟悉了web项目的基本开发流程
    • 接触并尝试了项目管理
    • 提高了资料查询的能力
  2. 不足

    • 项目管理的能力还有许多地方需要提升。
    • 在冲刺阶段了解到的一些新知识也没能很好的运用到项目上

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

相比原来的计划,进度还是慢了很多。常见的算法中强化学习和监督学习的几种算法都还不熟悉。
原因:1. 低估了人工智能的难度,数学复习不到位,很多部分的数学推导都看不懂;2. 计划时,对于课程的考虑不周全,事实上后面的两次冲刺时,学习的时间很少。

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

二、团队总结

0. 你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?

我在团队中负责的是项目管理和后端开发两个部分。

项目管理部分,我觉得在项目把控上,相对较好,有带领团队完成了课程开始提出的设想,但在团队成长上,尤其是技术方面,开始的时候没有定下好的方向,在开发时,才了解到有许多更好的技术可以让团队去学习。
后端部分,我也完成了后端的任务

我觉得这次实践中组长的角色对我来说还是有问题的,我在家受到氛围的影响较大,积极性、状态的波动都比较大。在这16周中不能保持一个好的状态管理小组。好在,组员们都没有因此责怪我。最后还是完成了一个完整的结尾。

1、 如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)

在一些事上积极性还是不足,事先的准备跟偏向于自己去准备,对组员的要求也不够严格,不能起到激励组员的效果

好的是在人性化方面相对较好,组员之间的矛盾都能很好的解决,组员之间交流也较为融洽。有什么问题也都会帮助组员。

改进:应该在每次开始前将准备工作划分好,由组员们共同完成;应该制定更清晰,更明确的规定,并做好违反规则相应的贡献度惩罚

2、 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?

我们组的分工还是相对合理的,我们组成员都相对熟悉,分工也较符合组员的能力。

组长的选举上,还是主要看个人的积极性,如果没人愿意的话,应该偏向平时自身管理/社交方面比较好的人;其次才考虑技术上的能力。

3、 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。

没有

看法:换组对于像我们这种由平时熟悉的人组成的小组影响相对较大,在换组前,组内气氛偏向平时的作业的情况,换组后,就正式了起来,分工、协作等许多方面都需要更认真的去考虑。

4、 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)

我觉得我们团队还没到达“创造”阶段,而是在磨合到规范的阶段

理由:

  1. 我们的团队目标比较明确,就是在软工实践上去的不错的成绩,组员都为此而努力。但这目标也相对较小,涉及的项目仅仅是IKnow这个项目,对于之后的方面没有意识,所以在课程结束后缺少足够的远景支撑团队的凝聚;
  2. 由于疫情原因,团队成员之间已经有数月的时间没有在线下碰面过了,也没有进行过团建之类的项目外活动。线上的交流与线下的交流对于团队的发展/管理还是有不小的差异的。

三、人月神话

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

  • 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
    我们采用了看板来管理团队进展和缺陷,采用Github来协同开发

    Alpah冲刺看板燃尽图

    Beta冲刺看板燃尽图

    Beta冲刺Bug看板

    以上是我们使用看板工具管理项目进度

    Github上Commit的条型图

    Github上Commit次数
    以上是我们的Commit记录

  • 通过数据展现软件是可以维护和继续发展的
    我们有详细的接口文档和代码注释
    Beta用户接口
    Beta后台接口
    代码注释演示

2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,文字部分字数要求在100字以上,可以使用你自己喜欢的方式表达(如图文结合、视频)

  1. 在项目中开发前,对于制定的每个任务都要有明确的定义,这就需要在前期的系统设计中有详细的文档。一份详细的文档可以大大提高开发阶段的效率。我们在设计阶段时没有一份成就系统的文档,导致在Beta冲刺时,成就系统的开发进度相对缓慢,有些不少的细节被放到了开发阶段,拖慢了开发速度,而且对于系统的设计也不够规范。
  2. 然后在制定冲刺计划前,设计一个本次冲刺的原型可以让组员们对之后的任务更加明确。在Alpha冲刺中,之前的原型中没有十分详细,导致前端的开发时需要从设计开始。
  3. 文档的管理一定要事先做好规范,我们在Alpah冲刺中,接口文档主要由1人负责,到了Beta,接口文档转由2人负责,这时候,之前没考虑的规范性就影响到了前后端的交流。

四、建议

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

对于后来人的期许就是,不要虚度光阴,就算没有一个目标,也要坚持学习,哪怕学习的知识用不上也要坚持,只有保持一个好的状态,拥有一个好的条件才能慢慢思考自己的目标。

对于软工实践课程,你有哪些建议?

希望可以在每次作业前,讲解些往届的优秀作品,或者每次答辩后将学生的作品与往届作品进行对比。

对于助教工作,你有哪些建议?

这次助教分享了3次的经验,对于我来说确实是收获不少,有很多知识都是之前没有接触过的,希望以后的助教也保持下去。此外就是分享的时间可以早一些,这次有不少东西了解后却没能实际用上,还是比较遗憾

对于自己今后,你有哪些建言?

对自己的管理一定要提升,相比高中时已经松懈太多了。

五、个人技术总结

简单的推荐算法
概述:
本次项目中我使用的推荐算法

posted @ 2020-06-15 20:56  一年生  阅读(237)  评论(1编辑  收藏  举报