103
社区成员
这个作业属于哪个课程 | 软件工程实践F班 |
---|---|
这个作业要求在哪里 | 团队作业——站立式会议+alpha冲刺 |
这个作业的目标 | outfits项目alpha冲刺 |
其他参考文献 | CSDN 《构建之法》 |
1、后端:
(1)完成已有接口的测试,写出已有接口的接口文档,包括传入参数的形式和返回数据的格式等。
(2)完成数据库的构建,包括原有数据库的重构以及需要新增数据库的构建,编写数据库结构文档。
(3)完成项目的部署、服务器python环境的配置。
2、前端:
(1)完成已有的页面的测试,对已有页面进行必要的修改。
(2)编写需要新增的接口文档,包括接口传入的参数、需要返回的数据等。
3、算法:
(1)完成基于协同过滤的推荐七日穿搭算法的实现。
(2)完成基于协同过滤的推荐相似用户算法的实现。
(3)完成根据上传图片自动区分衣服种类的算法的实现。
4、共同完成部分:
(1)完善登录注册功能,新增注册成功后选择感兴趣标签的接口,用户在注册成功后可以至多选择5个感兴趣的标签。
(2)完善服装搭配功能,根据最近七天的天气情况给出七日的穿搭建议。
(3)完善博客列表,新增下拉刷新功能。
(4)完善获取博客详情功能,在获取博客信息的同时还能获取到博客对应的标签和话题。
(5)完善发布博客的功能,在发布博客的同时可以选择标签、话题等。
(6)新增推荐相似度较高用户的功能,我用户推荐0-5个相似度较高的用户。
(7)新增穿搭排行列表的功能,为用户筛选出十篇点赞量、阅读量和浏览量最高的博客。
(8)新增发表评论的功能,用户可以在阅读的文章下面发表自己的评论,并且可以在个人界面查看自己发表过的评论以及对应的评论过的文章。
(9)新增话题页面,包括话题的排行、话题详情等。用户在查看话题详情的同时可以看到所有话题相关的博客。同时,用户还可以根据关键词搜索自己感兴趣的话题,系统会返回所有带有该关键词的话题供用户进行选择。
(10)新增浏览历史功能,用户在浏览过感兴趣的文章之后可以通过个人主页中的浏览历史界面再次浏览该博客。
1、已完成的部分
(1)后端数据库的建立、已有接口的测试,项目的部署
(2)前端已有界面的测试,需要新增的接口的接口文档编写。
(3)基于协同过滤的推荐穿搭算法,基于协同过滤的相似用户推荐算法,根据图片区分衣服种类的算法。
(3)完善了登录注册功能、服装搭配功能、博客列表下拉刷新功能、获取博客详情功能、发布博客功能。
(4)实现了匹配相似度较高用户的功能、穿搭排行列表功能、发表评论功能、话题排行、话题详情、话题搜索已经浏览历史功能。
2、未完成部分
(1)服务python环境的搭建遇到问题,导致在程序部署之后远端.py文件无法正常运行。问题来源于服务器上pip版本过低问题,在执行更新命令之后pip版本完成更新,但是服务器的pip版本没有改变。此问题将会在beta阶段进行完善。算法在本地已完成测试,具有较高的准确度。
(2)根据图片对服装进行自动分类功能。此功能的python算法已经完成,识别成功率较高。遇到的问题是在pycharm中代码可以正常运行并且输出,但是在java中调用此算法的时候无法获取到输出流,拿不到python运行之后的返回值。
221900323 吴佳伟
1、 在项目开始之前应该提前规划好项目的分工,合理地利用好每个成员的技术优势,安排最合适的任务给不同的成员,以便达到最高效的开发。
2、在实现后端的时候,应该统一好代码的规范以及数据库的结构,避免在整合项目的时候花费大量的精力在修改数据库结构和代码结构上。在编写接口的时候应该严格按照接口文档进行编写,
3、避免在前后端对接的时候因为参数、路径等问题导致对接出错。如果在编写接口的时候有对接口的参数、路径等作出改变,应该要及时更新接口文档,并且通知前端人员,避免前端人员在测试时做“无用功”。
4、在设计数据库时应该更加详细的分析需求,争取在后期编程时尽量少的修改数据库。如果实在是要修改数据库结构的话,应该及时通知其他成员,避免因为数据库不同而导致的代码冲突,浪费时间和精力在一些“莫须有”的bug上面。
221900328 余一鸣
1、代码需要留注释说明功能,参数,返回值,对函数内一些变量也要加上注释供人理解
2、接口文档定下之后就不需要修改了,需要修改的只有代码而不是文档
3、每个人能力不一样,进度不一样,积极度不一样都会导致项目推进速度有影响
4、及时解决BUG很重要,善用搜索引擎更重要
221900337 林雪柔
1、善于利用Github等代码管理工具,方便项目后期代码整合管理。
2、前后端调试应尽早进行,预留出充足的试错空间。
3、合作时及时确认沟通,避免重复工作。
4、迭代开发过程中,提前熟悉之前的代码更有利于工作效率的提高。
221900411 何仕松
在项目开发的过程当中,应该实时更新项目文档并在编写接口时严格按照接口文档编写。在实际的开发迭代过程之中,由于先前的代码和数据库和先前的文档存在着巨大的差异,因此在开发的过程当中带来了不小的困难。项目进度的实时跟进很大程度上解决了人员项目时间分布不均的问题,通过不断的站立式会议,大家在积极的交流过程当中,不断的促进项目向着更好的方向发展。对于开发中的数据方面,更应该使用动态的数据,可以做到前后端交互以及允许用户自行修改并保证安全性的措施,而非之前的静态数据。通过项目组成员之间积极的配合和相互的鼓励,最终使得项目成功完成了阿尔法冲刺。
221900434 陈黎莉
1、如果对接口文档进行了修改,应该告知组内成员,避免做无用功
2、要及时交流进度,方便及时调整
3、AndroidStudio导入项目很容易出错
4、学到了一些实用技术,例如web嵌套
221900338 潘艺璇
首先是对任务量的预估有误差,没有仔细的看代码,只是大致的浏览了一下,导致任务量估计分配错误,有的功能迭代新增会导致那一板块的内容都要重写,耗时巨大。其次这次开发有很多新知识和问题都是之前没有遇到的,比如第一次遇到表单形式的数据格式,之前没有接触过AndroidRetrofit的网络请求框架,个人中心的Viewpager2的重新构架,还是有很多需要学习和锻炼的地方的。迭代开发和自己开发还是有很大的区别的,下一次开发要吸取教训,争取做的更好。
221900102 陈纪耀
1、应充分利用git等工具进行开发,可以有效提高团队开发的效率
2、适当的注释能够对后续的开发起到关键的作业
3、应及时更新每日进度,以对今后的安排进行合理的规划
4、迭代项目需要很多的耐心,不论是开发文档还是代码,依然会有很多不足的地方需要修改
221900118 刘浩
1、迭代开发最好能和上一届团队主要负责人得到交流,否则比从头开始开发更加困难
2、前后端应该注意事先约定好接口,然后根据依赖倒置原则,面向接口开发
3、开发人员一定要被要求写规范的文档,不仅仅便于用户阅读理解,更重要的是便于开发团队间沟通,这次团队任务在这方面吸取了教训
姓名 | 分工 |
---|---|
潘艺璇 | 浏览历史、发布文章添加话题(可选列表)、下拉刷新 、个人中心的重新构架 |
陈黎莉 | 七日天气展示、穿搭排行列表、我的评论列表、博客评论列表、发表评论功能 |
林雪柔 | 话题排行列表、话题详情、推荐相似度高用户、发布文章添加标签(可选列表)、选择感兴趣标签 |
吴佳伟 | 数据库的构建,标签写入数据库,标签的更新,文章评论表、点赞、收藏数以及文章标签的存储,用户阅读、搜索文章时调用博客内容接口的实现 |
陈纪耀 | 社区功能刷新功能数据传输,排行榜导出,相关热门话题推荐,博客推荐,个人评论博客列表导出,个人浏览历史记录,数据库查询算法优化,静态表优化 |
何仕松 | 后端功能测试,近七天天气数据获取,及数据的处理,算法岗需要的服装数据接口实现 |
余一鸣 | 用户推荐协同过滤算法优化修改、天气推荐算法优化修改 |
刘浩 | 自动识别衣物信息算法、博客推荐协同过滤算法 |
学号 | 工作内容 | 贡献度 |
---|---|---|
221900323 | 数据库的构建,标签写入数据库,标签的更新,文章评论表、点赞、收藏数以及文章标签的存储,用户阅读、搜索文章时调用博客内容接口的实现 | 13% |
221900411 | 后端功能测试,已有接口的测试及接口文档,数据处理,项目部署 | 12% |
221900102 | 社区功能刷新功能数据传输,排行榜导出,相关热门话题推荐,博客推荐,个人评论博客列表导出,个人浏览历史记录,数据库查询算法优化,静态表优化 | 12% |
221900434 | 七日天气展示、穿搭排行列表、我的评论列表、博客评论列表、发表评论功能 | 13% |
221900328 | 用户推荐协同过滤算法优化修改、天气推荐算法优化修改、获取天气数据接口 | 13% |
221900118 | 自动识别衣物信息算法、博客推荐协同过滤算法 | 12% |
221900337 | 话题排行列表、话题详情、推荐相似度高用户、发布文章添加标签(可选列表)、选择感兴趣标签 | 12% |
221900338 | 浏览历史、发布文章添加话题(可选列表)、下拉刷新、个人中心的重新构架 | 13% |
在alpha冲刺阶段,我们完成了大部分的工作,大约占据了总工作量的70%,还需要完成的功能包括配置服务器的python环境,使算法能够正常运行,以及前后端交互时bug的测试。一些代码实现逻辑的修改等。
下一阶段我们会完成服务器的python环境搭建,进行拓展功能的展开,修改发现的bug,进行系统的测试。发布内测版本,邀请同学对软件进行测试,积极收集大家的建议来进行更改和调整,给予用户舒适的体验,同时我们会吸取这次开发时的经验,争取做到高效合作和开发,避免之前的问题的不足。