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

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

  • 最后以失败收尾,但是还是学会了很多东西,至少在技术方面有所增长,但是不足之处依然是技术方面的问题,唯一达到我的预期和目标的是我吹牛逼的能力(`・ω・´)

2)总结这门课程的实践总结和给你带来的提升
-1、统计一下,你在这门软件工程实践中,完成了多少行的代码

    Android:300
  Python:56

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

作业 耗时(小时)
作业一 0.5
作业二 6
结对作业一 5
结对作业二 4
团队作业一 2
选题报告 3
需求分析报告 3
项目UML设计 4
团队现场编程 5
项目评测 1
Alpha冲刺 16
Beta冲刺 11
  • 3、哪一次作业让你印象最深刻?为什么?

现场编程的那次作业我印象比较深刻,因为有换队的环节,我也是其中一员,在换队的过程中也学会了许多东西。

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

累计花了有60+小时的时间在软工实践上,平均每周(从开学到17周)花4-5个小时。

(5)针对上述问题(2)、(3)、(4),你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上,以达成你的期待以及你在(2)或(3)或(4)上的目标?

我比较偏向于这门课程能够学会偏向运营方面得到东西,再此基础上学习一些额外的软件技术,两分的选修实践,是否要包含如此多的内容。

  • 5、学习和使用的新软件

       starUML,Git
    
  • 6、学习和使用的新工具

       墨刀,Android Studio
    
  • 7、学习和掌握的新语言、新平台

         安卓
    
  • 8、学习和掌握的新方法

          github的项目整合
    
  • 9、其他方面的提升

          ppt制作等
    

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

沟通是解决问题的最佳途径,能力不足可以去提升,一旦沟通不到位,能力好对项目也只是杯水车薪。就比如我们团队,前期就是没有怎么沟通,大家各自埋头苦干,互相之间没有沟通过,就造成后面对接时的问题百出,不是版本不对,就是需求数据与返回数据牛头不对马嘴,等于又在重新来一遍。所以说,事前的沟通真的很重要,直接关系到项目的能否成功的完成。

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

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

如果有时间精力,还是选择一下,的确这门课能学到很多东西

2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
假设依旧是一个90+人数的大班

建议是不要这样,我们队就有一个是其他队过来的,来的队员对于自己小组的认知不到位,基本上做不出什么帮助,但是如果能力很强的话,请忽略我说的话

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

我的建议控制在6-7人足够了人多只会降低效率

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

个人结对团队的比例应该在3:2:5左右

5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?

我要感谢我的队员们,虽然我们最后没有做出成品,但是还是非常感谢他们的付出和努力。

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

我觉得我们团队经历了萌芽,磨合,规范,半创造阶段。前面对于整个队伍的监督没有做到位,是只进入半创造阶段的主要原因,我没有想到队友的自制能力有如此大的问题,但是最后做到严格的监督方式,还是效果不明显,只能说态度问题和技术问题了。

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

工程师能力自我评价表

类别 具体技能和面试问题 现在的回答(大三)
语言 最拿手的计算机语言之一,代码量多少? C++,8000行
语言 最拿手的计算机语言之二,代码量多少? Java,5000行
软件实现 你有没有在别人代码的基础上改进
你是怎么读懂别人的代码的 看注释啊,或者是将他的框架列出来
你采取了什么方法来保证新功能不会影响原来的功能 确保正确的迭代模型,做好功能文档
你在开发中遇到的最复杂的bug是什么,你是如何解决的?这个bug出现的原因是什么,你在将来应该怎么避免bug再出现? 闪退。百度,论坛,博客。前后端连接问题。
软件测试 你如何测试自己写的代码 使用VS自带的测试工具配合数据集
你如何测试别人写的代码 利用一些测试工具进行测试
你掌握了多少种测试工具和方法 两种
你写过测试工具吗 没有
你如何对一个网站进行压力测试和效能测试 未接触过
你如何测试一个软件的人机界面(UX/UI) 在使用过程中对比文档的内容进行测试
效能分析 你写过的最复杂的代码是什么 感觉没写过什么很复杂的代码
你是如何测量和改进它的效能的,用了什么工具,如何分析的 用VS的分析工具,分析程序的耗时情况,再针对最长耗时的部分进行代码,算法,数据结构优化
需求分析 你做过多少个有实际用户的项目,用户最多有多少,你的项目有什么创新的地方
行业洞察力 你最感兴趣的领域是什么 人工智能
这个领域过去十年经历了哪些创新 未去了解过
你分析过这个领域前十的产品吗?请分析一下它们的优劣 未分析过
你要进入这个领域应该如何创新 能够做出一款AI
项目管理 你参与过项目管理吗 未参与过
软件设计 你做过构架设计,模块化设计,接口设计吗? 没有
质量意识 你是怎么做代码复审的 按照代码规范以及有无gub来复审
工具/社区 你在各种开发平台都使用过什么开发工具 VS,eclipse,pychar
自己写过什么工具来改进工作效率
给社区贡献过什么工具和代码,github有分享代码吗
你的技术博客坚持了多久,读者最多的是哪一篇 没有坚持很久,博客读者很少
团队协作 请描述你在项目中如何说服同伴采用你提出的更好的解决方案,或者你如何听取了别人的一件,改进了自己的方案 口头描述两个办法的优劣
你如何说服懒惰的同伴赶紧工作,实现团队目标 不断提醒
理论素养 你上过什么数学,计算机或其他理论课 高数,离散数学,概率论,算法等等
请举出具体的例子,说明你学到的理论知识如何帮助你解决实际问题 应用概率论的知识在机器学习的分类器中
自我管理 全年级你专业排名多少? 19/31
你刚入学带现在的排名有变化吗? 进步了
如何解释你的排名的变化 原先太差了 ̄▽ ̄


总结

总的来说收货还是不小的,我至少更加看清了自己,也不能说是看清,只能是更加的确定自己。