Outfits——冲刺总结随笔
冲刺总结随笔
Outfits——alpha冲刺置顶随笔
这个作业属于哪个课程 | 2021春软件工程实践W班(福州大学) |
---|---|
这个作业要求在哪里 | 团队作业五——站立式会议+alpha冲刺 |
这个作业的目标 | 冲刺总结随笔 |
其它参考文献 |
项目预期计划
- 前后端商定接口传输,后端提供接口文档
- 前后端交互正常,当前端传输合理的请求时,后端能返回正确的数据
- 前端完成除博客搜索页界面外其他界面
- 后端完成除喜好搭配外所有接口
- 算法完成温度搭配与抠图两个功能
项目现实进展
-
前后端已商定好接口文档
-
前端
- 完成预期界面的编写
- 衣柜模块
- 搭配模块
- 博客模块
- 我的模块
- 完成预期界面逻辑跳转
- 实现与后端的交互
- 完成预期界面的编写
-
后端
- 完成预期接口的编写
- 衣柜模块 基本完成
- 搭配模块 除喜好搭配基本完成
- 博客模块 基本完成
- 我的模块 基本完成
- 实现温度搭配算法
- 实现抠图算法
- 完成预期接口的编写
过程体会
-
221801336 陈雨虹
- 开发历程
- 这次冲刺我是负责人的角色,在前期已经为大家分好了前后端的小组,我融入了前端组中。提前规划好了时间安排和人员安排。但是在实际开发中我发现还是存在许多需要及时调整的问题。这次冲刺中我负责的开发部分很少,主要是撰写”我的“页面、”关注“”粉丝“页面及其相关跳转逻辑。在开发过程中,我发现安卓开发的学习成本很高,也导致了我一阵子的怠惰。后来铧钦给我们提供了相关的教程内容,海浪在我出现bug的时候耐心回答我的问题,使得我的开发过程整体还算流畅。
- 心得体会
- 管理方面:要做好提前量的规划,在实际开发过程中,10天的开发周期注定会使得组员感到疲惫,要时时鼓励,时时询问进度。站立式会议给我们很大的帮助,但是在开发中期我们会发现出现了很多比较专业化的问题,而这种问题在站立式会议中提出不如在小组内部中提出,故我认为开发阶段小组内部也需要定期开会统一进度总结问题规避风险。后期的集中开发能够让同学们直接对话,给足组内同学时间来完成代码对接。我认为集中开发在后期式非常有用的,但也确实十分耗时,希望能有更好的方法。
- 开发方面:首先一开始针对自己的模块需要有一个总体的概念,知道如何去布局,其次要不惧怕学习成本的问题,不惧怕出现bug。在开发中期要耐下性子来完成自己出现的问题。
- 未来展望
- 希望我的组员们可以好好休息一阵子hhh
- 开发历程
-
221801210 林子鹏
- 开发历程
- 在这次冲刺,我的角色是后端组长,在开始的2-3天主要制定了后端开发里程碑,并进行了任务分配,在GitHub上建立后端项目,并上传了代码规范,然后和前端组长在开会后,建立了初步的接口文档,以及将数据库部署到了服务器上。在之后的时间中完成属于我的那部分接口的开发和学习,最终完成了搭配接口,以及随时将最新的后端项目部署到服务器上,便于前端进行接口对接。
- 心得体会
- 1、大家共同遵循相同的代码规范,才便于同项目的成员阅读代码。2、使用GitHub上传时粒度不能太小也不能太大,才便于项目管理。3、接口文档编写是项目开发时很重要的一环,这样才好保证前后端的并行开发。4、为了减少开发成本,分配任务时最好考虑不同的任务分给哪个人做是最高效的。
- 未来展望
- 完善已有接口,完成喜好推荐搭配功能
- 开发历程
-
221801201 凌铧钦
- 开发历程
- 在这次alpha冲刺开发中,我主要负责前端的整体规划和安卓端的主要开发。安卓分为衣柜、搭配、社区、我的四个版块,我主要负责的是任务分工、App的总体架构规划与编写、github项目管理,以及衣柜、搭配界面的全部开发、社区部分的与web网页对接逻辑以及个人版块的UI修改。
- 心得体会
- 开发初期开发还算顺利,但给其他队友的学习案例以及资源不够多,造成了他们学习成本有所增加,这点以后应该注意。其中帮助队友部署服务器以及修改抠图算法感觉学到了新的东西,很不错。还有就是以后在项目原型设计阶段一定就要参与,不然很多原型中的界面在开发中很难实现,这样会造成原型和实际有很大差异,而且重新设计比较浪费时间和精力。
- 未来展望
- 后面好好完善一下项目(赶紧弄完吧sos)
- 开发历程
-
221801239 林龙星
- 开发历程
- 在这次冲刺中,我负责后端代码的编写。后端分为了四个模块和算法相关的代码,我负责了"我的"模块的开发。这一模块的代码在后端代码中相对来说是较为简单的部分。在开发初期,我对springboot项目结构不确定,所以在刚刚开始冲刺的时候在等待框架和代码规范定下来。框架定下来以后,我这一部分的接口花了两三天就差不多完成百分之八十,但是后面测试后修改代码逻辑、修改Bug和代码规范又花了很多时间。
- 心得体会
- 首先,在这次开发中,我意识到项目的开发要在一开始就做好详细的设计,包括框架、代码规范等的设计,这样可以提高开发效率。其次,项目的模块的划分也很重要,这影响了项目各个模块之间是否可以并行开发。再有,遇到问题要主动寻求帮助,如果自己已经投入不少时间还是无法解决,那么可以寻求队友的帮助。说不定 可以事半功倍。最后,项目的测试工作也是一个重要的环节,前后端对接进行接口测试可以在项目发布之前发现项目各种不足,提高项目的健壮性。
- 未来展望
- 在后面的开发中,我想继续负责这次冲刺负责的部分接口的完善和补充工作。
- 开发历程
-
131802125 邱梓洛
- 开发历程
- 在这次冲刺中,我负责算法的编写和优化调试,经过十天的冲刺开发,我独立完成了天气推荐算法,与吴晗杰同学共同完成了抠图算法。过程中,我经历了第一次调用API、第一次尝试并学会获取API的JSON数据并完成格式转换、第一次对照论文还原算法并对模型参数进行调整优化、第一次使用JAVA调用python脚本,初步学习了JYTHON…在过程中我学习到了很多新技能,更可贵的是自主解决问题的能力得到一定的提高。
- 心得体会
- 本次冲刺遇到最大的问题就是在对照论文实现天气推荐算法后,发现有几个模型参数有了较大的错误,应该是论文的数据有了不小的偏差。感受就是如果自己今后真的能够攻读研究生的话,一定不能学术造假,否则容易给参考自己论文的人造成很大的麻烦。如果对照论文实现一个很大的系统之后,此时才发现论文模型有不小的错误时,若是推倒重构会花费很大的时间和人力成本,而若是只进行参数微调,算法结果准确性又不能得到有效的保证。另外就是可能自己之前接触到的代码和思考问题的角度更多的是从应用层出发,而在本次开发过程中,用JYTHON调用算法失败的经历让我深深感到,在有一定知识框架后,从底层的角度去debug或者分析算法实现会高效很多,同时也会有更深刻的理解。从而也更能够理解为什么要开设那么多计算机专业基础课程,以前的学习对自己的知识框架构建提供了润物无声的帮助,如同看过的课外书,虽然可能不能在某件事情上给自己带来实质上的帮助,但是实际上那些知识都已经内化了,让自己有更健壮的知识体系,对问题有更全面的看法。所以,还是要打好基础,继续加油!
- 未来展望
- 完成喜好推荐功能
- 开发历程
-
221801401 张海浪
- 开发历程
- 在这次冲刺中,我负责部分前端代码的编写,主要负责“我的”模块的开发编写。最初进行冲刺的时候对android有些必要的知识点有些模糊,所以花了一些时间进行复习,而后在前端组长的引导下学习了Retrofit和Matisse框架。在界面的撰写部分没有遇到很大的问题,主要是在使用Retrofit框架进行网络请求时会用错一些注解,书写格式上也会存在一些问题,这是前中期冲刺遇到的比较难处理的问题。最后就是数据的显示问题,由于采用的是异步请求,所以在数据更新上也遇到了一些问题,不过在询问了前端组长后也能摸索写完。
- 心得体会
- 主要还是意识到自己的能力不足吧,最开始接到自己的任务的时候也分析了大概应该怎么完成自己的这些任务,可能需要的就是那几个知识点,可是到了真正上手要去做的时候却发现没有那么简单,从最初的的框架的学习再到后面数据的异步请求以及更新,都花了不少的时间。虽然说已经做足了准备,但有些时候还是会觉得有些力不从心。这次冲刺,挺感谢组长铧钦的,从最初的的一些学习博客,再到后面的一些问题,bug的修改都给我提供了很多的帮助,自己在这个冲刺的过程中也感觉有了一些提升,不管是专业知识、团队协作还是自身解决问题的能力,不过离自己的理想目标还是有不少的距离,要继续努力。
- 未来展望
- 完善“我的”
- 开发历程
-
221801425 张吴晗
- 开发历程
- 在这次冲刺中,我负责部分前端代码的编写,主要负责登陆注册模块和”我的“模块中的修改资料界面。这几个界面的编写并不是很难,只用了两三天的时间,而接口的编写占用了我大部分的开发时间。最开始得知用Android开发时,由于之前学过这部分课程,所以花了一部分的时间在复习上,而后在前端组长的指导下学习了Retrofit框架。在使用retrofit框架的过程中,由于不是很熟悉,导致了编写接口比较缓慢,好在最后能够尽量完成,也是完成了此次开发。
- 心得体会
- 第一次接触到前端接口的编写,学习了Retrofit框架的使用,中间花费了不少的时间,也从中体现出了自身能力的不足。同时自身改bug的能力还有些不足,每次遇到都需要花费大量的时间。最后感谢下前端组长铧钦吧,在接口编写上给我提供了很多的帮助,也让我受益匪浅。最后在这个冲刺过程中,虽然在时间上觉得有些紧,但是到最后所获得的成果还是足够的,自己的各方面能力也有了极大的提升,自己还需要加倍努力。
- 未来展望
- 完善我负责的部分的页面逻辑和接口,优化代码等
- 开发历程
-
221801307 蔡瑞金
- 开发历程
- 在这次冲刺中,我负责后端接口的编写,主要负责登录注册模块和社区模块的接口的编写。这几个接口并不困难,不过有两个难点,就是手机的注册短信验证码的发送和token的生成和处理比较困难。这里做了两个工具类,一个是进行验证码生成,一个是token的加密以及解密的类,因为token在所有的接口都要使用,所以做个类进行代码复用。后面跟对接的同学进行接口的修改也比较容易订正,修改了接口文档,输出前端同学需要的其他数据。
- 心得体会
- 在一开始就要把大体框架写清楚,把工具类写出来。然后完成一个堪称范本的代码,之后根据这个范本进行模仿编写就能使代码编写更加容易。同时一开始就要跟前端页面的同学进行沟通进行接口文档的设计,不然传参和返回值在之后还要不断修改订正。不过在这次作业中我学习到了挺多新的技能,对idea插件的应用也更加熟悉。
- 未来展望
- 完善代码,进行代码复用等功能实现。
- 开发历程
-
221801208 吴晗杰
- 开发历程
- 在这次冲刺中,我负责后端接口的编写,主要负责衣柜模块和抠图算法和一个图片上传和返回的工具类。只涉及到CRUD的接口编写过程是比较顺利的,例如获取相应类别下的衣物,修改衣物接口,没有太大难度,这些接口大概用了三天时间写,一天debug。相对有些困难的是上传和返回图片的工具类,内部包含了上传图片和获取路径,可供其他接口使用。这个类测试用时较长,部署到服务器上后比本地测试多了不少比较难挖掘的bug,像上传文件大小的限制、nginx配置静态资源url失败等等,经过反复的查找资料逐一解决了。后端经过严格的测试,保证了前端获取到的返回内容是正确无误的。
- 心得体会
- 这次冲刺对服务器的使用更加熟练了。实现上传文件、获取静态文件的url这些操作不仅需要编写代码,还要对服务器进行配置,逐渐习惯了非可视化的操作系统。虽然我写的是后端,用的是springboot框架,但是在前后端交互测试的时候,我对前端的特性也有了进一步了解,例如前端的缓存机制、前端请求参数的方式(form-data与raw的区别)。也学习到了前后端交互时如何排查问题出在前端还是后端(postman是最好的工具)。java调用python脚本也尝试了一下,总而言之收获不仅是提高了代码能力,还学习如何提高测试效率和与队友沟通。
- 未来展望
- 优化抠图算法
- 开发历程
-
221801227 林沧海
-
开发历程
- 这次冲刺,我负责的部分是:outfits软件社区的前端部分,使用web编写,自适应到移动端。共有4个界面,分别是:社区主页、搜索页、博客详情页、搜索结果页;遇到的技术难点有:web界面的移动端自适应、瀑布流的显示,瀑布流切换的再计算,接口测试,web与android交互。最开始3天就进行了瀑布流这一难点的解决,最终使用了相关的vue框架实现,之后的搜索页、搜索结果页、博客详情页都是花了1天左右的时间完成了基本的界面布局和逻辑。在之后的的2天中,主要进行界面布局的优化和逻辑修改。最后两天进行接口连接测试和android的交互
-
心得体会
- 首先,要从一开始就有完善的规划,规划中包括:1.完成过程中会遇到的问题、难点等;2.每天要完成的基本工作量;3.要使用的依赖、框架等;4.与他人交互交流的部分。根据规划拟定计划。此外,要有一部分的分险预计以及学习成本计算,要提前预计可能出现的意外和学习时间而预留足够的时间。经历这次冲刺,我感觉理论知识的掌握和实际的实践是完全不一样的,实践中会遇到各种各样的意想不到的问题。我们要多看、多查别的开发者分享的经验。
-
未来展望
- 美化UI界面,优化逻辑结构
-
组员分工协作
前端开发内容 | 开发者 |
---|---|
拟定接口内容 | 凌铧钦 |
搭建APP开发框架 | 凌铧钦 |
完成登陆注册修改密码界面 | 凌铧钦、张吴晗 |
完成衣柜部分界面 | 凌铧钦 |
- 衣柜主页 | 凌铧钦 |
- 添加衣服页 | 凌铧钦 |
- 修改衣服页 | 凌铧钦 |
完成搭配部分界面 | 凌铧钦 |
- 搭配主页 | 凌铧钦 |
- 添加搭配页 | 凌铧钦 |
- 推荐搭配页 | 凌铧钦 |
完成社区部分界面 | 林沧海、凌铧钦、张海浪 |
- 社区主页 | 林沧海、凌铧钦 |
- 搜索帖子页 | 林沧海 |
- 博客详情页 | 林沧海 |
- 发布博客页 | 张海浪 |
完成我的部分界面 | 陈雨虹、张海浪、张吴晗 |
- 我的主页 | 张海浪、陈雨虹 |
- 修改信息页 | 张吴晗 |
- 关注/粉丝列表页 | 陈雨虹 |
- 用户个人信息页 | 张海浪 |
美化界面、优化界面逻辑 | 凌铧钦 |
后端开发内容 | 开发者 |
---|---|
数据库静态表初始化及部署 | 林子鹏,邱梓洛 |
完成登陆注册接口的编写 | 蔡瑞金 |
完成衣柜部分接口的编写 | 吴晗杰 |
完成搭配部分接口的编写 | 林子鹏 |
完成社区部分接口的编写 | 蔡瑞金 |
完成我的部分接口的编写 | 林龙星 |
穿衣等级计算工具类 | 邱梓洛 |
抠图工具类编写 | 邱梓洛 |
Token及加密工具类 | 蔡瑞金 |
完成抠图算法 | 吴晗杰,邱梓洛 |
服务器部署及维护 | 林子鹏 |
后端测试文档编写 | 林龙星 |
在Alpha阶段的工作量比例
学号 | 贡献度 |
---|---|
221801336 陈雨虹 | 8.88 |
221801307 蔡瑞金 | 10.5 |
221801239 林龙星 | 8.7 |
221801210 林子鹏 | 10.4 |
131802125 邱梓洛 | 7.2 |
221801208 吴晗杰 | 10.5 |
221801227 林沧海 | 9.1 |
221801201 凌铧钦 | 20.3 |
221801425 张吴晗 | 6.16 |
221801401 张海浪 | 8.26 |
下阶段展望
- 前端:完善博客模块、用户模块的功能
- 后端:喜好推荐功能
遇到的问题
-
Q:前端方向的人员分工不够明确,对应的细小界面没有明确DDL?
-
A:由于早期计划过于理想,针对于计划的分工不明确。可能是由于任务量过大和人员时间因素。低估了前端布局设计的难度,导致了后续开发拖延等的问题。
-
Q:GitHub的commit没有明确规则,会出现代码复用冲突。
-
A:通过制定commit的标准来规避commit冲突。小组开发过程中就有出现过代码覆盖导致一部分代码重新返工的结果。在每次commit时都应当在对应小组群中声明,以避免冲突。
-
Q:前端方面低估了对接口的时间,导致后续在测试接口的时候花费了很多的时间和精力。
-
A:安排的时候要预留对接口的时间,才不会在需要对接接口时产生时间冲突。
-
Q:设计原型的时候没有考虑真正实践,原型设计过于理想化。
-
A:下次在原型设计环节中应当找有开发经验的同学来制作原型。
-
Q:在后端根据接口文档开发之后,进行前后端对接测试时,发现前端需要的参数与后端对应不上,甚至有新的参数,要后端不断返工。
-
A:我们觉得可行的解决方案是:接口文档确定之后,前端负责该接口的人员要对接口文档进行审核检查,确保符合前端的要求。否则要在开始编码之前进行修改,得到正确合适的接口文档。
-
Q:接口开发过程中,很多不同模块的接口中有很多共同使用的常量,这导致代码冗余,并且对代码及进行修改的时候也需要做较大的改动。
-
A:把多个接口共同使用的常量定义在接口中,在需要使用的该常量的类中实现该接口。这样可以减少代码冗余,并且修改代码时只需要修改相应的接口。不仅安全,而且节省工作量。