欢迎来到雷振康的博客

软件工程实践总结&个人技术博客

再见了软工实践


这个作业属于哪个课程|2021春软件工程实践|S班
:---😐:---😐:---:
这个作业要求在哪里|软件工程实践总结&个人技术博客
这个作业的目标|课程回顾和总结
其他参考文献|之前的博客,csdn


课程回顾与总结

以前提问题的博客链接

寒假作业(2/2)


曾经问题的的解答和阐述

1、就结对编程之中的同学们的杂曰有一些疑惑?

讲义中提到有一些同学认为:编程从来就是一个人的活动。学校里这么教的,我们一直以来也是这么做的。两个人本来可以去做两个模块,现在一个模块两个人写是不是一种浪费(这可是两份工资哦)?首先在我学习的课程中,其实是很多实践课是有合作的,但是其实很多人在划水,但是毕竟有时候组队是难以避免的事情,就如同讲义上说的有些公司是有要求结对编程了,在大学的结课编程期间,如果有一些同学划水,但是我们为了课程的成绩,不得不要完成更多的工作量.我在知乎中看到有人说,在公司的结对编程之中,有一些同事有拖延(其实也是划水),把一个本来能几个小时能写完的代码,拖延了好几天,但是我没有查到具体的解决方案,所以想请教一下老师遇到这种情况应该怎么办?

新的理解:我觉得一个结对工作,首先是要有一个好的组长,安排好工作,然后能够带动大家都可以热情地投入,就可以稍微避免一些划水的情况,毕竟组长都安排好了,一般人都不会说不按时交,并且随机组队,一开始大家都不认识,更不好意思这样做了,然后夸一下我们组长在软工实践做得非常好,非常带动我们,并且把一切都安排得很好!


2、就团队合作不同成员的投入我有一些疑惑?

在讲义之中提到团队成员的不同付出,猪的贡献就是全身心的付出.正常一个优秀的团队是要全面优秀,猪和鸡和鹦鹉都有,但是它也提到了一群猪全身心投入看似不错,但无论多么努力,猪没法下蛋。可是我的疑惑就是如果一群猪,都是很努力,现在软件工程这个行业,在我学习的认知中,大部分的事情其实都是只要你付出,认真查资料,在各个方面其实都可以做好,为什么一群努力的人没办法成为一个好的团队呢?

新的理解:术业有专攻,我现在觉得一个好的团队就是要有各个方面不同的人,比如组长就是最好是一个擅长统筹,然后有一些队员擅长写文档,一些擅长编程,甚至是包括气氛地带动都是非常重要的角色,如果大家都是只会编程,即便你很努力,但是可能会产生1+1却小于2的情况,比如你们没有商量好,打了同一段代码(没有安排好的话),反而更加浪费时间


3、关于用户体验以及用户需求和公司需求的疑惑?

讲义中有提到用户界面那一章节中有提到一个微软学术搜索,有一个叫西乔的同学给它的界面提出了优化改进方案,将submit按钮突出,Cancel按钮样式弱化,降低用户丢失操作的可能性.前面还提到了让用户再次确认等等防止操作失误,但是我发现在我们生活中,比如我们卸载一个软件的时候,它经常弱化卸载软件,甚至多次确实,让我们在卸载的过程中造成了很大的麻烦.在用户的角度上我们肯定是希望卸载不要这么麻烦,一次次误导我们不去卸载,但是作为公司和开发人员的角度来说,肯定是希望用户不去卸载该软件,那当我们作为一个开发人员时,应该考虑用户的卸载体验,让他们不至于对该软件产生厌恶,还是考虑公司,诱导用户不去卸载呢?

新的理解:这个确实是不需要纠结的,毕竟开发人员虽然诱导了不去卸载,但是并不是不能卸载,分开的人终究要分开,一方要分手另一方强求也没有用


4、关于PSP的问题?

在讲义中提到了一个软件工程师接到任务之后应该怎么办?说到了首先去PSP表,我认为PSP表里面的内容其实不是全然有用的,像是分析需求,设计文档这种东西,我认为是有用的,毕竟一个任务的开发首先要做好一个充足的准备,但是比如估算开发时间,特别是对于那种较大的项目,作为一个软件工程师,其实很容易在一个bug地方卡很久的,去估算这样的开发时间在我看来其实是意义不大的.

新的理解:经历了软件工程实践的团队,我发现做这些是有一定意义的,但是我是觉得不需要去预估时间就是了,相当于给了你一个方向,比如我们最早弄的原型开发,后面的开发都是基于这个去进行的.


5、关于代码复审的问题?

就如果我们的代码由其他同事来复审,因为有些人的算法会比较特别,不想让人知道,或者说被别人复审会不会产生代码泄露的问题,然后最后背锅的是自己呢?

新的理解:这个我还存在疑问,毕竟我没有经历过工作,但是我个人理解就是要和经理去商量这件事才能给出一个合理的做法


软件工程这门学问有很多 “知识点”, 这门课强调 “做中学”——在实践中学习知识点。

需求阶段:学习到了怎么去设计数据库,类图等等,在后面的编写中通过这些已经写好数据库,我们只需要按着需求分析书进行就可以,虽然可能会发生小部分需求变动,比如老师提的意见,也知道了需求的变动我们需要团队开会讨论来确定这个需求应不应该加.

设计阶段:之前并没有完整地设计过一个稍微大一点的项目,这次的设计阶段和团队一起学习设计的接口文档,后面很方便进行前后端的交互

实现阶段:第一次接触到微信小程序的开发,学习到了很多东西,比如跳转啊,导航栏,通过隐藏来假切换页面等等.

测试阶段:这次主要是测试了前端,在电脑用模拟器测试出来可能和真机不太一样,并且在发布了之后虽然你之前测试得好好的,但是可能会有一些组件的bug.

发布阶段:学习到了如何发布一个小程序上去,虽然有一些麻烦,因为有一些功能是属于企业版的,我们只是普通学生的团队开发.


结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。

心得:首先是在个人作业中,其实主要就是学习了如何撰写一篇博客和修饰自己的博客吧以及对一些课程的理解,然后就是对一个网页的介绍以及使用的介绍.在结对编程中,我觉得我最大的收获就是学习了如何使用vue.js来开发前端吧,但是一开始学习的时候并不知道网上有很多已经做好的组件可以直接使用,也浪费了我不少的时间,就是刚开始没有学习好吧,而且学习了vue.js也为我之后学习小程序打下了基础,在团队项目中我们开发的是一个记账相关的小程序,因为和vue.js比较相似,所以上手起来还是毕竟方便的,学习的都是比较基础的吧,就是这次的工作主要都还是布局的调整,就是把一些基础的东西整合在一起,知道了一种切换页面的假切换方法吧,一些相似的页面可以使用隐藏的功能,这样反而还比较不会卡.


个人技术总结

技术概述:顶部滑动tab在微信小程序的上方有类似自带的滑动tab,点击可以切换到另一个页面,可以通过假切换实现,学习该技术的原因是我们有三个页面,分别为文章审核,评论和点赞,三个页面比较相似,如果弄了新的pages来切换的话实在是没有必要,甚至还会造成页面变卡,难点主要就是下方的高亮显示如何在点击的时候切换到另一个页面高亮显示吧.


链接:个人技术总结

posted on 2021-06-28 01:37  sady哇哈哈  阅读(76)  评论(1编辑  收藏  举报

导航