结束啦
这个作业属于哪个课程 | 2021春软件工程实践|W班(福州大学) |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 课程回顾与总结 |
第一部分:课程回顾与总结
博客链接
提问
1.第一章中对软件开发者提出了要开发出足够好的软件,那么对于足够好的软件的定义到底是什么,是没有bug,还是满足用户需求,还是经过足够长时间的测试,亦或是三者同时满足
经过这个学期的学习中,我认为这三个衡量的方式都是片面的,好的软件应该是多方面满足而不是某个方向优秀。
2.第五章中提到团队的模式,那在团队开发中如何才能找到正确的团队模式才能调动所有团员的积极性来主动一起完成团队项目?如何妥善的分配任务给各个队员?如何减少队员的摸鱼现象?
在这个学期的alpha冲刺中,我们小组基本是自由讨论后自行承接任务的方式,依靠自己的能力来确定自己能完成的项目。并且鼓励组员之间多交流,有困难也可以直接咨询其他同学帮忙解决。就我而言,我认为给每个组员分配相对应的任务是必要的,但是这种自由讨论自行承接任务的方式可以很好的调动大家的积极性,而且也能很好的分配任务。
3.第十六章中,提到成功的企业往往难以创新,成功的企业为什么会停下创新的脚步?
现在回过头来看这个提问,我认为主要是有两点,一是技术没有太大的变革,二是没有竞争激烈的环境压力。技术没有颠覆性的变革,我们肯定是倾向于使用发展久、已经成熟完善的老技术,因为其稳定且为人们带来的好处并不比新技术差多少。而且没有竞争激烈的环境压力,成功的企业会逐渐垄断市场,只要没有出现颠覆性的技术,守着技术的老本也能赚的盆满钵满。
4.第八章中提到要分清估计和目标,如何正确估计自己的能力从而不设立过高的目标?
现在回过头来总结就是……拖延症满分,以前老是喜欢拖延,并非自己估计的有问题,而是自己太喜欢拖延,明明自己一天集中精力花三个小时就能完成的事情偏偏喜欢拉长到一周的战线,每天有事没事开起来写一点就关闭。这也是我之前一直痛苦的原因。这几次冲刺写代码,把以前拖延的毛病都扔的一干二净,完成的速度也是最快的。
5.第四章中提到,结对编程相当于是两个人同时处理一份代码,但人和人的想法毕竟是不同的,会不会产生对代码想法的冲突从而降低效率?
这学期的结对编程我和王铭震同学合作的非常愉快,主要是因为我们之间交流了很多,在分配工作上分的很清楚,并且在一开始就把代码的思路说好,所以编写工作推进的很快,全程几乎没什么矛盾。
是否产生了新的问题
暂无
请问你在项目的需求/设计/实现/测试/发布阶段(一共5个阶段)中,每个阶段收获最大的知识或能力是什么?
-
需求
收获:学会了使用NABCD模型科学的分析需求。
之前做项目都是根据要求做,第一次自己分析需求也没有经验,全靠“以己度人”的思想,后来才知道应该通过多方面去调查。
-
设计
收获:学会了使用原型工具(如墨刀)来设计我们需要实现的功能和完成用户的需求。
虽然成品和原型的外观差距很大,但我觉得做好原型基本就把功能定下来,后期开发就不会因为功能的问题耽搁很多时间。
-
实现
收获:与前后端沟通的能力,android的编写能力
我是负责前端的编写,在与后端对接的时候常常会有数据难处理的情况,因此要一直和后端进行沟通,达成一个两人都满意的结果才能推进编写的进度。
虽然以前很早就接触android的项目,但确实也有一段时间没有写过,因此一开始上手也颇为生疏。浏览了之前的常用学习网站和看了一些视频才逐渐上手。
-
测试
收获:发现bug,修复bug的能力
我主要是负责前端的编写,所以只能简单的对程序进行一些功能的测试。在前后端对接的时候发现的bug相对而言是最多的,我也负责找对应的后端负责人解决问题。
-
发布
发布后,我们也制作了一份小问卷小范围的调查了一遍,并整理了用户的反馈。
结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。
个人项目:了解了正则表达式,学会了简单的应用,对简化代码和优化算法有很大帮助。
结对编程:第一次学习使用jsp框架,学会了serlvet的传参方法,也复习了java连接数据库的方法。
团队项目:复习了android的编写,学会了团队项目中与他人的沟通,也学到了很多技术上的新知识。