BUAA SE | 提问回顾与个人总结
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2020春季计算机学院软件工程(罗杰 任健) |
这个作业的要求在哪里 | 提问回顾与个人总结 |
我在这个课程的目标是 | 深入理解软件工程 |
这个作业在哪个具体方面帮助我实现目标 | 对一学期的课程进行总结 |
-
链接到以前提问题的博客
-
请尝试对自己曾经提出的问题进行解答,并阐明,是如何通过看书,实践,或者讨论弄清楚的。
之前在书中看到这样一句话:
经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。
在具体参与到项目后,每当修复BUG进行更新换代后,我们都会及时发布新版本,通过一遍遍完整体验不同版本进行总结反思、发现新的问题,同时收集用户反馈,帮助我们进行改进。
-
是否原来的问题还不明白?如果有,请分析。
没有
-
是否产生了新的问题?如果有,请提出。
如何合理统计贡献度。团队项目分工种类多,每个人的工作难度不好量化,个人感觉这方面还有很多可以商讨的地方。
-
软件工程这门学问有很多 “知识点”, 这门课强调 “做中学” - 在实践中学习知识点。
-
请问你们在项目的 需求/设计/实现/测试/发布/维护阶段(一共6 个阶段)中都学到了什么“知识点”,每个阶段只要说明一个知识点即可。
需求阶段:NABCD需求分析法
设计阶段:从多个角度进行考虑,前期规划一定要做到慎重。以我的团队项目为例,我担任的是游戏策划这一角色,所以前期对游戏关卡的设计要做到考虑周到,设计时思考不全面之后代码实现阶段再修改就会非常麻烦
实现阶段:在第一个组里写网页的时候学习了Node.js的相关知识,以及如何实现设计阶段提出的要求
测试阶段:结对项目中学会了单元测试,利用模块化的测试来更准确的排查错误
维护阶段:以团队项目制作的游戏为例,在得到用户反馈后根据相应的建议,如关卡难度落差较大等对关卡进行了修改
-
-
结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。
-
个人项目
个人项目中,我体会到了前期设计规划的重要性,没有规划好就直接上手写代码会导致反反复复地修改,Bug也会很多
-
结对项目
远程结对感觉还是挺有挑战的,在作业的第一个星期因为我和队友都有冯如杯需要准备还有别的科目任务,所以交流比较少,大家是分头行动,比如增加功能和测试,各司其职;在第二个周开始共享屏幕,视频交流,效率还是提升很多,对接口的设计和使用也更为快捷。
这次项目我和队友的结对分工是,我负责step1扩展功能和step4UI模块,队友负责step2封装和step3错误处理。并且每个人写好各自的部分后都要交给对方测试与检查。所以整个任务的分配并不是完全割裂开来的,彼此都要对对方的任务做到心里有数,要大致浏览对方的代码。
我非常庆幸的是队友的目标很明确,没有仅仅就一个模块埋头写代码,比如她在封装的时候就会非常体贴地考虑UI要怎么和其他模块对接,这为我之后的工作带来了非常大的便利。
虽然留下了些小遗憾,但总体而言,两人结对的过程是非常宝贵且有意义的,我从这次项目学到了非常多东西(不仅限于编程上的知识,还有如何与人合作)当然也和队友结下很深厚的友谊。
-
团队项目
团队项目带给我的体验还算是比较丰富的,前期我参与了网页开发,学习了Node.js相关的知识。后期转到一个开发游戏的组负责了游戏策划和美术的工作。最大的收获就是如何与人合作。由于组内每天都开会汇报进度所以某种程度上也督促了大家,Beta阶段的前期我基本每天都会按时交付新设计好的关卡,方便其他同学及时着手代码实现,整个组配合起来效率都非常高,甚至提前完成了任务。同时由于开发游戏也是很有乐趣的一件事,我也发挥了自己比较擅长的美术特长帮助项目美化UI,所以整个项目在体验上都是非常轻松愉快的。
-