软工实践总结——LADAO
软工实践总结——LADAO
这个作业属于哪个课程 | 2021春软件工程实践 W班(福州大学) |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 课程回顾与总结 个人技术总结 |
其他参考文献 | 无 |
第一部分:课程回顾与总结
提问链接
回顾问题并尝试解答
-
Q:在大多数的企业现在的开发流程中单元测试究竟应该由谁来做呢?
A:单元测试一般由开发该模块的程序员来完成,其他集成测试等由测试工程师完成。
-
Q:年纪大的程序员如何去应对年龄变大以后学习能力和精力不如年轻人的这个问题呢?
A:这次软工实践看起来对解答这个问题没有太大的帮助,但是我在做开发的过程中确实体会到了学习新技术的重要性,当我尝试使用ViewPager的时候,Google已经在最近的更新中推出了新的ViewPager3,而这个时候强大的学习能力就显得非常重要了,由于这是一个比较新的技术,所以你在使用中文进行搜索时不一定会找到合适的内容,这就需要你去google还需要去甄别哪些才是有用的信息。所以我认为保持对新技术的热忱,维持住自身良好的学习能力是提升自己竞争力的关键,否则很难长时间呆在开发岗位甚至当团队leader。
-
Q:由于极差的交互设计导致体验者的体验反馈很差,应该如何去避免这个问题的发生?如何有效的让自己的创新技术让目标用户所接受?如果有设计师负责交互界面的设计那又应该如何有效的将自己的想法传达给他呢?
A:在这次开发OUTFITS确实遇到了类似的问题,我们的原型设计和我的想法有较大的差异,导致有些细节实现起来非常麻烦。经过这次的实践,我现在认为比较合理的方法是,先让创意的提出者、开发人员、美工一起交流商量出大概的雏形,确保大方向上的方向正确,由美工在较短的时间内完成一份初稿后,创意提出者与开发人员再在功能需求方面以及实现难度方面对原型雏形进行细节的修改打磨。
-
Q:那么在实际的开发环境中,一次团队复审的周期是多久呢?我的想法是按照一项功能开发完成度来确定周期,也就是没有固定的代码复审周期,根据功能开发安排计划来进行。
A:根据具体项目选择的开发模型以及整个项目的开发周期来确定复审环节的周期。
在项目的需求/设计/实现/测试/发布阶段(一共5个阶段)中,每个阶段收获最大的知识或能力是什么?
需求阶段
需求不是画饼,合理的需求制定分析很重要,要合理取舍每一个需求,如果想要的太多,可能后面的开发阶段就会非常麻烦了。
设计阶段
设计阶段决定了整个产品的雏形,不能忽视其重要性,后面开发中如果不按照原型来开发另起炉灶的话,很容易出现差错。
实现阶段
实现阶段应该有详尽的计划,确定每一个阶段应该完成哪些内容,要实现哪些功能,这样才不会导致在最后DDL前疯狂修复bug或是意识到还有哪个功能没有完成然后才临时抱佛脚。
测试阶段
测试阶段需要专门安排人员来完成测试工作,通过方法得当、覆盖全面的测试才能确保项目的健壮性,确保在交付后能够正常的使用。
发布阶段
需要及时根据用户反馈来完善产品,打磨细节,保证用户的反馈有所回应,否则产品的口碑会急速下滑。
结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得
在个人项目中,我第一次接触到了一直只知道名字但是从来没有试过的Java单元测试、覆盖率等测试内容。在结对编程过程中,由于结对的同学比较熟悉,我们在开发过程中沟通顺畅,很流畅的就完成了需求分析、设计、实现等环节,完成度也比较高,在结对编程环节中我也学习到了很多新的技术知识,所以体验非常好。在团队项目中,由于团队规模达到了10个人,所以团队协作就成了一个很棘手的问题,由于我们小组前端基本上只有我有安卓开发基础,所以大部分安卓的开发工作以及所有的bug修复由我来完成,做完α以及β冲刺的实际体验也可以说是累瘫了,但是无论如何也算是一次很宝贵的团队协作开发经验了。