福大软工 · 最终作业 - 软件工程实践总结(个人)

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

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

  • 在结对编程能力上是从无到有的变化,以前写代码都是一个人的作业,真正到软件开发时候一个人的力量是比较薄弱的。经历过这个实践,虽然实力上没有提高到我想象的那种程度(可能是我偷懒了)。经过这个实践我的学习能力确实大大的提高了。一开始我以为这门实践可以学到很多高深莫测的算法,但是恰恰相反,想要什么知识就得自己去百度,其实这个环节才是软件工程这门课最花时间的地方。

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

1、统计一下,你在这门软件工程实践中,完成了多少行的代码。

  • 不完全统计,大概有800行左右。

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

  • 福大软工1816 · 第一次作业 - 准备 200min
  • 福大软工1816 · 第二次作业 - 个人项目 830min
  • 福大软工1816 · 第三次作业 - 结对项目1(原型设计) 965min
  • 福大软工1816 · 第五次作业 - 结对作业2 950min
  • 福大软工 · 第七次作业 - 需求分析报告 1220min
  • Alpha冲刺 3000min
  • 福大软工1816 · 团队现场编程实战(抽奖系统) 600min
  • Beta 冲刺 4000min

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

  • 印象最深的还是第一次个人编程作业吧,其实看到那个作业的时候我很懵逼,不太懂软件工程为什么作业是这个样子的,那一次的作业我好像做了快三天,其实整体的编码不难,但是我到写完代码的时候才仔细的看清要求有很多,比如单元测试是什么??、封装是什么??、woc为什么是用visual c++??、这vs怎么又崩了???、GitHub怎么上传啊我怎么传不上去??、性能分析是啥??这怎么分析啊我有学过吗???第一次作业就是在这种状态下过去的,直到作业提交前一个小时,大概是晚上十一点左右我还在改代码。不过这个作业确实让我接触了很多从来没有接触过的问题,至少知道GitHub是怎么用的了。

4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答

  • 前期的话大约每周花了20多个小时左右,在后期期末考阶段花的时间就比较少了,累计话了大概400多小时左右。

5、学习和使用的新软件

  • eclipse、axure、磨刀、微信开发工具、mysql。

6、学习和使用的新工具

  • 数据挖掘

7、学习和掌握的新语言、新平台

  • java、sql

8、学习和掌握的新方法

  • 遇到不会的要及时问,一个人查百度太花时间了,而且百度上很多代码写得并不是很好。

9、其他方面的提升。

  • 团队合作,学习能力方面

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

  • 对于个人作业,其实一开始并没有懂个人作业的意义,不过现在想想,做一次个人作业需要学习的东西还是相当多的,使用到的很多东西在最后的软件开发中有许多的用处。在个人作业中积累经验很重要,比如小到对GitHub的使用,编写博客规范,达到整个程序的运行效率,运行的正确率,对程序的测试,每一个步骤都要完成。
  • 对于结对作业,是两个完成的,编程难度不算高,整体是在提高与队友的配合,分工,以及每个人的共享度。如果两个人中一个人划水可能就导致两个人都完不成或者加大队友的工作量,都是不可取的。
  • 到团队作业难度就大大加强,不仅考验pm也考验队友,在一次课堂作业中我们团对就是因为合作以及加上代码能力薄弱导致整个任务失败,也算是一次十分惨痛的教训。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:

1)你有什么想建议、告知和期许想要告诉他们呢?

  • 我肯定会告诉他们这门课特别特别累,特别花时间,如果想以成绩为重的最好别来,因为到了期末也会花费时间,让你复习都不得安宁,但是有做软件梦想的同学,我觉得可以来,因为这个实践确确实实能够做出软件来。

2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?

  • 我觉得没必要,毕竟一个项目自己比较熟悉突然换一个不太适应。

3)假设依旧是一个90+人数的大班身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?

  • 我觉得可以加大规模,提高到15人左右。

4)个人/结对/团队作业应该控制在怎样的规模?

  • 个人作业的规模应该控制在小规模,难度不高,但是要把各种测试都用上,把一个小工程玩出花样。
  • 结对作业规模在两个人一周时间内完成相对合理一些,主要考验默契,协作,在软件开发中结对编码很重要。
  • 在一个团队中更应该完成花样,难度应该大幅提高,所花的时间应该是两周左右,让团队去思考去合作。
    5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
  • 最感谢的是我的所有队友,没有他们我这次实践肯定撑不下来,我想说,我爱你们。

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

  • 应该是达不到创造阶段的。我们团队在创建之初其实就比较缺少一些开发团队所具有的规矩,在开发过程中总是磕磕碰碰,差一点就导致软件开发失败,好在后期觉悟过来,组长将我们团队整顿一番,工作效率大幅提高,β阶段将拉下的代码量全部补上,在deadline之前将软件完成,达到可用。

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

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

1)研发出符合用户需求的软件

  • 在最后我们小程序已经满足使用,在GitHub上上传了相关的代码,在实际的使用过程中达到预计要求。

2)通过一系列工具,流程,团队合作,能够在预计的时间内发布

  • 有团队的独立开发模式,在软件开发过程中有需求分析、编程、测试、维护等步骤,按时交付代码,没有胡乱拼凑。有燃尽图的推助。但是团队过程中确实存在着熬夜肝代码的现象。

3)并且通过数据展现软件是可以维护和继续发展的。 而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

  • 基本可以做到,每份代码都有各自的文档。

4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。

  • 可能自己差距还是挺大的把,很多问题回答不上。
posted @ 2019-01-05 02:04  Cracyz  阅读(167)  评论(0编辑  收藏  举报