个人作业——软件工程实践总结作业
个人作业——软件工程实践总结作业
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
最初的预想是软工实践结束过后我可以比较熟练的掌握java了,现在结束了我也并没有感觉我的技术提高了多少,但是!!!我想说但是,这四个月的时间下来,我发现我得到的东西里,技术提高只是很少一部分,更多的是一些无形的东西,最大的收获大概是基本掌握了git的使用以及对于团队协作,还有整个项目的开发流程有了基本的概念,会在github上看一些开源的项目(虽然只看了很少很少),从刚开始的安卓完全不懂,到现在懂了些皮毛,虽然我并不能说这四个月是实打实的学了很多东西,但是我觉得吸收的东西随时间增长的曲线是上升的。不足就是自己debug的能力还是很不足,有时看到好的开源库想借鉴一下本来是简化自己操作的事情,但是调用期间如果出了bug 我却很难解决。但是红着眼睛熬着夜的夜晚还是hin充实呀。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 统计一下,你在这门软件工程实践中,完成了多少行的代码;
不是很多 大概1300左右 - 软工实践的各次作业分别花了多少时间?(做一个列表)
作业内容 | 大致花费时间 (小时) |
---|---|
开题博客 | 4 |
数独作业 | 24 |
第一次结对作业 | 15 |
第二次结对作业 | 27 |
团队选题 | 4 |
团队预则立作业 | 2 |
需求规格说明书 | 3 |
系统设计 | 2 |
UML设计 | 2 |
团队作业(同学录) | 18 |
软件案例分析 | 3 |
α阶段冲刺 | 60 |
β阶段冲刺 | 24 |
软工实践总结 | 4 |
合计 | 195 |
- 哪一次作业让你印象最深刻?为什么?
应该是团队的α冲刺吧,在短短几天的冲刺被逼着学会了很多东西,而且集体编程也是蛮有意思的。 - 累计花了多少个小时在软工实践上?平均每周花多少个小时?
一共大约花费了195h,α和β阶段是比较集中在软工实践的,每周大约花费30+h。 - 学习和使用的新软件;
axure,xmind,powerdesigner - 学习和使用的新工具;
visio,Visual Studio Profiling Tools,git,exe4j,markdown - 学习和掌握的新语言、新平台;
java,javascript,一些json方面的知识
android studio,eclipse,github - 学习和掌握的新方法;
需求分析的方法,代码规范和查找并解决问题的方法 - 其他方面的提升
耐心真是变好了不止一点点,还有就是遇到问题因为担心影响到整组不会再去拖着而是赶快寻求帮助去解决问题,也算是治好了一点点拖延症?
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 如果不去做一个项目,是很难想象会遇到多少大大小小的问题的,团队实践的过程中我觉得最重要的还是需求分析,后期我们就是因为主页面的显示需求分析没到位所以有的东西辛辛苦苦做出来却因为不合理而被推翻或者又在很短的时间内去尝试新的方式,会很耗费时间。
- 关于在实践中的成长,我觉得最重要的就是培养解决问题的能力,网上的资源很多,有些时候也要看你会不会用,如果一个人埋头查了很久还是没结果,就应该试着向周围的同学、助教,老师等寻求帮助,有时候即使是别人给你一个关键词也会让问题变得容易解决许多。刚开始对于一些android studio 配置和同步的问题我总是会花费很久去解决也不是很好意思问别人,后来发现 ~效率才是王道啊,别人的一句话很可能让你解决问题的时间从一个小时缩短到10分钟,而且还可以学习一下其他同学解决问题的思路(当然这里是自己解决无果的前提下)。
- 查看和改动别人的代码真的是挺费力的一件事,虽然提前已经制定了代码规范,但是因为每个人的命名习惯不同,封装习惯也不同,我在看的时候还是要不停地询问之前编写的同学,总结的经验就是代码文档一定要尽可能详细吧。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
对于下一届的建议:
emmmm,团队组队要趁早哇,组长的选择也很重要,有责任心和耐心会统筹规划的组长会为整个团队省下不少力。需求分析一定要做充分,前期的准备工作越多后期就越轻松(泪的教训),软工虽然伤身,不过看着最后的小作品也是蛮有成就感的(还是强烈建议拖延症晚期的学弟学妹认真试一下毕竟你们就算不做软工也不会早睡)。
关于中途换队友:
虽然我们组换来了一个大神,然后代码效率也是max,但是还是觉得不要换,因为时间真的太短了不是所有人都可以很快的磨合,不过也可以理解老师的初衷,如果一定要换的话建议变一种方式,比如相同类型的组员互换。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
在α阶段开始前我们可能都算是处于萌芽阶段吧,组内交流不太多,但是每次开会交流每个人也都是很积极的在讨论(一定是我们组的孩子都比较矜持hhh),α冲刺开始后就进入了磨合期,磨合到规范的过渡是很快的,因为团队编程一旦有人没有遵守规范很快就会有人提醒。我也不懂我们是否达到了“创造”阶段,可能对于我们的产品来说,还是远远不及格的,但是两个阶段的冲刺,团队里的成员和组长也都有各司其职,努力做好自己的工作,我觉得达到及格还是ok的。
五、怎样证明你学会了软件工程?
- 在用户需求分析的阶段我们就采访了很多各行各业的使用同类型app者和非使用者,α阶段完成后也发放给了一些真实用户做试用,并根据反馈进行改进
- 每天的代码都会通过git提交到团队项目仓库,项目负责人也会在当天进行合并
- 对于每日的工作进度和计划都会汇报和交流,每人都会向组长提交一份今日总结
- 团队成员都会根据团队仓库中的代码规范进行编程,组长会定期更新项目文档。
六、最后
很多人都把软工实践在开始的时候就想成炼狱,所以结束的时候会有一种 哇,终于解放了 的感觉,也许在这样炼狱般的磨练里,很多人都变强了。不过对我来说,因为在开始的时候就没有把它想得多么难熬,所以结束了也没有什么 重见天日的感觉,关于熬夜肝软工,虽然熬夜熬的很凶可是我其实并不敢抱怨,因为如果我开始工作的时间提前一点或者集中精神效率满满的肝我大概是没几次机会熬夜的╮(╯▽╰)╭。感觉因为软工所以这四个月过得非常的快啊,如果让我对它说一句话,我不会选择咬牙切齿地感谢它,而应该是 通过它我知道以后应该怎么做了。
最后的最后,感谢队友还有为软工实践辛勤付出的老师和助教学长们~