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

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

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

  • 经过这次软工实践,确实积累了很多经验,学到了许多知识,各类软件的用法,明白了app开发的主要流程以及开发过程的注意事项;不足的是,项目没有完成,个人的积累还不够多。

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

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

代码量大概在1000行左右

  • 2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业 耗时(小时)
作业一 0.5
作业二 5
结对作业一 3
结对作业二 6
团队作业一 0.2
选题报告 2
需求分析报告 1.5
项目UML设计 3
团队现场编程 4
项目评测 3.5
Alpha冲刺 10
Beta冲刺 12
  • 3、哪一次作业让你印象最深刻?为什么?

我觉得团队现场编程令我印象最深刻。现场团队编程不仅考验个人的编程能力,还考验团队的协作能力,整个过程就是一个项目开发的缩影。

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

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

(5)针对上述问题(2)、(3)、(4),你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上,以达成你的期待以及你在(2)或(3)或(4)上的目标?
我希望能够在这门课上吸收新的知识,补充自己的不足,积累经验;目前还不了解这门课的内容以及规划,不好确定分配多少时间,要根据开学了解之后再进行决定。

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

Axure,starUML,Git

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

FormFactory,Gephi,Android Studio

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

安卓平台,serverlet平台

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

在github上面查找资料,

  • 9、其他方面的提升

相较之前,我能够更好地与人沟通交流

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

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

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

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

软工实践很有意思,一定要好好体验体验(坏笑)

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

建议是不要啦,新加入的队员对项目的一知半解,要花时间去理清思路,老队员要是删库跑路,对整个团队无疑是雪上加霜

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

我觉得8个人的团队就能够应付大部分的问题了

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

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

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

当然是乐忠豪同学啦。想对他说“跪谢大佬带我飞”

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

我觉得我们团队经历了萌芽,磨合,规范,半创造阶段。从最初开始的大家并不相互熟悉,到协作,到共同规范项目的细节,再到最后我们能够为实现共同的目标而努力,但是为什么是半创造阶段呢,因为我觉得我们并没有做到高度自治。

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

工程师能力自我评价表

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

说实话,这个表格我写写停停,做了好久,因为感觉己的现状惨不忍睹,啥都不会,有点担忧自己的前途。希望以此为警醒,好好努力!


总结

软工实践学到了很多东西,也算是以后项目的一个缩影吧,其中的经验教训到以后还是很适用的,希望自己越来越棒,也希望下届(下下届,下下下届,...)的软工实践越来越好!

posted on 2019-01-07 21:06  蔡子阳  阅读(187)  评论(1编辑  收藏  举报