作业链接:个人作业——软件工程实践总结作业
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
通过软工实践,我觉得自己相比与开学初的时候,编码能力有了一定的提升,自己被分配到去写后台,对于框架的用法能够有一定的了解,对后端的一些基本的交互和操作能够完成,高端的境界还有很多路要走啊。。。不过有遗憾的地方是本来想着团队作业的时候可以web端和app端一起写的,不过后来由于工作量和成员的考虑最后取消了web端的开发,全部去致力于app的开发了,自己没有用到之前学到的web的技术。在整个软工实践过程中,我觉得真的是东西越学越多,每个方面都得学,感觉有点力不从心。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
大致估计了一下,除去框架给的代码,真正完成的代码量在1000~2000行。
2、软工实践的各次作业分别花了多少时间?(做一个列表)
序号 | 内容 | 时间/h |
---|---|---|
1 | 预备作业 | 2 |
2 | 数独 | 15 |
3 | 结对原型设计 | 8 |
4 | 结对编码 | 15 |
5 | 同学录 | 12 |
6 | alpha开发 | 90 |
7 | beta开发 | 30 |
8 | 个人博客 | 5 |
9 | 华为云测评 | 8 |
10 | 总结博客 | 8 |
共计 | 193 |
3、哪一次作业让你印象最深刻?为什么?
当然是团队作业,熬夜,讨论,编码,赶进度,各种准备工作。。。等等,比较起来,其他的作业真的没什么了
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
这个分时段吧,刚开始没花特别久的时间,后来开发阶段花的时间比较多,共计大约200个小时,平均每天1~2小时吧,多起来就一下午加一个晚上....
5、学习和使用的新软件;
6、学习和使用的新工具;
- processon
在线绘图工具,省去了安装的一系列步骤,套用模板可以很快的思路理清,很不错。 - vscode
强力推荐的ide,可以直接连接到github,代码的编译,对于网页的代码调试真的不错,还可以安装各种插件,推荐可以和sublime一起用,效果更佳。不过这次开发只是用了他的一丢丢的功能,只用了他来写markdown,本来是用来写前台界面的,结果只是在最后阶段才用上,没有发挥很大用途。 - 墨刀
非常容易上手的原型设计工具,中文非常的友好,功能也很强大,如果新手不知道用什么来开始原型设计,墨刀是个不错的选择。 - postman
写后台接口是不可少的吧,这个postman就可以发挥很大的用途了,支持chrome下的插件安装和本地安装,用起来也很方便,定义接口清晰明了,优点显而易见
7、学习和掌握的新语言、新平台;
- php的CI框架
- git的团队合作
- leangoo的todo-list
8、学习和掌握的新方法;
新方法???这就多了,这么说吧,在软工课上学的东西百分之90以上都是以前没接触过的,具有很强的实践性,方法太多了,对自己也有很大帮助。。。
9、其他方面的提升。
技术上成熟了???不存在的...代码写的越多,发现自己有更多的不足,倒是思想上有很大的提升,感觉要学的太多,保持一个空杯心态吧,树立活到老的心态。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
团队项目实践的经验:
每次验收演示之前总是会出各种各样的bug,平时没有的问题全部暴露了出来,只能一点一点硬着头皮去改,最后也就是熬夜到很晚了,所以每次做事情都要提前啊,因为你也不知道下一秒会出现多少个bug,给自己预留出一定的时间来处理这些问题,以免措手不及!
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
如果下一届的同学来问我要不要选择软工实践,我会先问他一些问题:
- 你能够接受持续一段时间的熬夜吗?
- 你能够接受组内各种意见不合还能保持心态良好吗?
- 你能抽出很大的时间和精力来完成软工吗?
- 你能够有足够的信心、耐心和解决问题的能力吗?
如果这些回答都是肯定的,相信软工是什么样的你应该心里也有数了,报软工应该是自己能够决定的了。
要不要换队员?如果要换就要尽早换,个人感觉在团队项目进行到一半的时候换比较好,能够有充分的时间融入新团队,也比较贴合实际,这样也不至于在后期换人的时候磨合期太短,感觉什么都没做就结束了,更不会让换人变成一种形式。。。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
√ 萌芽阶段(团队交流)
√ 磨合阶段(团队任务)
√ 规范阶段(alpha)
x 创造阶段
除了最后一个,其他的感觉都算达到了吧。。。(个人感觉)
五、怎样证明你学会了软件工程?
研发出符合用户需求的软件;通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件;并且通过数据展现软件是可以维护和继续发展的。
1.leangoo用的挺多,前前后后团队总共发布了70个任务,每个人都有自己的任务安排,能够较好的规划进度
2.git就不说了,前面的团队博客有相应的链接,实行前后端分离,代码也比较清楚。
3.进度是跟着课程的各种博客要求完成的,应该勉强给个及格吧
4.软件的各种兼容性测试和后台服务器的压力测试在以前的博客也有涉及,自己参与了部分的测试的工作,所以软件的性能是有一定的可靠性的