一、请回望第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 达标方面:完成了一个完整的项目
- 不足:理论课没有好好学
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
- 个人编程1k
- 结对编程4k
- 现场编程1k
- 团队项目8k
2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 耗时 |
---|---|
第一次博客作业 | 1h |
第一次个人编程 | 15h |
第一次团队展示 | 1h |
第一次结对编程 | 6h |
团队项目-选题报告 | 10h |
第二次结对编程 | 50h |
团队项目-需求分析报告 | 8h |
团队Git现场编程实战 | 4h |
Alpha冲刺 | 100h |
Beta冲刺 | 80h |
最终展示 | 20h |
合计 | 295h |
3、哪一次作业让你印象最深刻?为什么?
- 十三水
- 好玩,特别是刷榜的时候
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
- 共约300个小时
- 每周约15个小时
尽可能多的时间
5、学习和使用的新软件;
- Axure
- PyCharm
6、学习和使用的新工具;
- JProfiler
- JUnit
- PyQt5(为了十三水学了一周,发现做出来有点丑,最后还是选择了熟悉的安卓。顺便吐槽一下我选择的PyQt5视频教程,一百多集,每一集就讲一个控件怎么用,非常简单,根本没讲什么实际内容。关键是正版居然还卖到300多块…还好我看的是盗版,心疼那些买了正版的人)
7、学习和掌握的新语言、新平台;
- Python
8、学习和掌握的新方法;
- 原型设计
- 单元测试
9、其他方面的提升。
- 和团队的沟通能力
- 快速开发的能力
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 经验:当决定要做一个相对较大的项目的时候,前期尽量把架构设计好,代码尽量写的规范通用一些,不然到后面改起来会吐血。测试不能马虎,尤其是兼容性测试。
- 实例:团队项目的初期,考虑到时间比较紧迫,代码没有经过精心设计,写的比较快也比较随意,完全没有考虑复用性的问题。到后面发现有很多工作都是模板,与其从旧代码复制,不如一开始就精心设计,先写一些比较通用的代码(尽量找现成的轮子),这样既节省代码量又易于维护,反而比没经过设计直接动手写来的快。另一个是测试的方面,由于我们团队测试的规模很小,而安卓平台各机型差异较大,很难完全得测过去。导致最终答辩时,发布的版本遇到了一些兼容性问题,这些问题本来是可以通过扩大测试范围避免的。
三、这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
- 团队中的所有人, 谢谢大家。
四、个性发挥,包括图文、照片和创意等
说一个不成熟的对课程的小建议吧:
希望理论课和实践课能结合起来;这门课给我的感觉就是,理论课拧螺丝,实践课造航母。比如第一次个人编程,就要求我们使用单元测试,而理论课到第17章才讲到测试。还有UML图什么的,也都是实践作业先于理论课。当然上面说的这些都可以自学,但是我觉得既然开了理论课,为什么不由老师先给我们讲讲呢。