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

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

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

  • 一开始我的目标是希望在这门课上能够学习到更多的知识,能够自己开发出一款让自己满意的软件,学到实质性的东西。对比目前的所学所练所得,学习到了很多新的知识,实质性的东西,但是开发出来的软件还没有令自己满意,开发过程中每个功能点都要学习然后研究,经常会出现各种卡壳,能力和时间的不足,最后出来的产品并没有达到最初预想的效果。

2)总结这门课程的实践总结和给你带来的提升,包括以下内容:

1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
  • 差不多1500左右
2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业 时间
第一次个人作业——准备篇 3h
第二次个人作业——数独 32h
团队作业——团队展示 2h
第一次结对作业——原型设计 12h
团队作业——选题报告 7h
第二次结对作业——匹配算法 20h
团队作业——需求报告 10h
团队作业——同学录 5h
团队作业——Alpha冲刺 15天
团队作业——事后诸葛亮 4h
第三次个人作业——华为云软件评测 10h
团队作业——beta冲刺 7天
第四次个人作业——软件工程实践总结 2h
3、哪一次作业让你印象最深刻?为什么?
  • 让我印象最深的应该是Alpha冲刺,因为是第一次进行软件开发,不断遇到各种瓶颈,从一开始的框架搭建,再到后面的各种编码,感觉每一个过程都非常得漫长,每天花了很多时间在查找资料上,试了很多方法,但是经常都是无用功。在Alpha阶段的时候,有穿插着考试以及金工实习,每天都是熬夜早起,但是有的时候时间的花费和你完成的东西却根本不成正比,心理落差是很大的。当时每天本来应该在github上关闭的issue很多都没能完成,看着deadline越来越接近,但是项目的进展却越来越慢,就TAT。
  • Alpha阶段越来越平缓的燃尽图
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
  • 每天的话花费四五个小时以上吧,如果平时没课以及周末的话花费的时间会更多,感觉没法估计具体时间。
5、学习和使用的新软件;
  • AS,IDEA,墨刀,xmind,staruml
6、学习和使用的新工具;
  • processon,燃尽图生成,VS单元测试工具
7、学习和掌握的新语言、新平台;
  • java,github
8、学习和掌握的新方法;
  • 需求分析,spring mvc框架,原型设计
9、其他方面的提升。
  • 了解了一个软件开发的基本流程,编码能力有一定的提升。

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

  • 个人:遇到不会的东西就要各种查,用力查,不要一解决不了就停滞,这样会越来越拖。
  • 结对:两个人之间要有良好的沟通和交流,这样才可以促进结对项目的完成
  • 团队:团队项目在每个阶段都要有良好的规划和任务的分配,在一开始的时候,我们团队在任务分配方面没有特别明确,某块功能卡壳的时候所有人都一起卡住了,会有迷茫的状态,导致项目的进展就特别缓慢。

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

  • 软工实践虽然累,但是收获的却是之前所有的课程比不了的,对于个人的能力提升也是非常大的,非常值得每个人都去实践一下。在每个阶段都要有规划和安排,要不然会出现各种迷茫状态,不知道自己该干什么,遇到困难的时候要及时解决,虽然在一开始需要花费大量的时间和精力,但一旦困难解决,得到的东西都是自己的。
  • 中途换队员是每个团队都会经历的,但是对于我们的课程来说,就我们团队而言,我觉得换队员是没什么必要了,毕竟公司里的专业团队都有开发经验,而且他们的时间都很充裕,而我们现在还是学生,时间相较他们专业的来说并没有那么多,换队员意味着队员需要重新去熟悉新团队,又要去学习一些原团队没有的新知识,在原本就紧张的时间里扣除这磨合的时间,剩下的时间就所剩无几了。然后我们组新成员并没有参与任何东西,就跟团队成员减少了一个没差,所以对中途换成员这种措施更没有什么好感。

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

  • 团队发展有4个阶段,分别是萌芽阶段,磨合阶段,规范阶段和创造阶段。
  • 萌芽阶段:团队刚刚成立,职责和角色还没有区分
  • 磨合阶段:团队成员开始磨合,抒发自己的想法,有了更多交流
  • 规范阶段:团队分工开始清晰,知道了自己的职责以及工作流程
  • 创造阶段:还处于初期阶段,基本功能实现

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

  • 软件实现了基本功能
  • alpha冲刺阶段和beta冲刺阶段都有规划,在github上有commit源代码,每天有相应的冲刺记录博客。

posted on 2018-01-03 00:26  reset-  阅读(217)  评论(1编辑  收藏  举报