可遇可球——Beta冲刺总结随笔
| 这个作业属于哪个课程 | 软件工程实践-2023学年-W班 |
|---|---|
| 这个作业要求在哪里 | 团队作业—bate冲刺+事后诸葛亮 |
| 这个作业的目标 | 总结可遇可球项目Beta冲刺阶段的进展 |
| 其他参考文献 | 《构建之法:现代软件工程》 |
| 团队置顶集合随笔链接 | 可遇可球——Beta阶段置顶集合随笔 |
目录
- 一、预设任务完成情况
- 1.1 需要改进完善的内容
- 1.2 新增的功能模块
- 二、改进计划完成情况
- 2.1 需要改进的团队分工
- 2.2 需要改进的工具流程
- 三、项目概况
- 3.1 可运行的项目链接
- 3.2 项目各功能的运行图片、gif或视频
- 3.2.1 电话登录
- 3.2.2 短信验证码登录
- 3.2.3 短信验证码注册
- 3.2.4 微信登录/注册
- 3.2.5 首页轮播图(可点击跳转新闻)
- 3.2.6 获取台球厅列表
- 3.2.7 查看指定台球厅详细信息(包含约球列表)
- 3.2.8 申请加入指定请求
- 3.2.9 多选台球厅发起约球
- 3.2.10 快速筛选约球列表
- 3.2.11 根据名称模糊搜索台球厅
- 3.2.12 个人中心页面
- 3.2.13 查看自己发起的约球请求的加入申请
- 3.2.14 同意加入申请(此时将关闭发起的其他约球)
- 3.2.15 查看约球历史
- 3.2.16 评价约球历史
- 3.2.17 编辑个人资料
- 3.2.18 查看历史记录中对方联系方式
- 四、体验、收获及心得
- 五、华为云部署过程、使用说明及体会
- 5.1 部署过程
- 5.2 使用说明与体会(以下以华为云和阿里云作比较)
- 六、贡献度分配
一、预设任务完成情况
1.1 需要改进完善的内容
回应“凡事预则立”中设立的任务:
- 微信注册后存储OpenID并创建新用户逻辑
- 完成
- 微信用户与电话用户绑定逻辑
- 未完成,合并时将导致数据库大量改动(合并所有由两个id关联的所有内容),因此将该功能更改为只有当电话未被注册时可以绑定。
- 请求生成,加入,同意一整套流程
- 完成
- 前后端联调
- 完成
| 模块 | 功能 | 完成情况 |
|---|---|---|
| 改进完善 | 微信注册后存储OpenID并创建新用户逻辑 | 完成 |
| 微信用户与电话用户绑定逻辑 | 未完成,合并时将导致数据库大量改动(合并所有由两个id关联的所有内容),因此将该功能更改为只有当电话未被注册时可以绑定。 | |
| 请求生成,加入,同意一整套流程 | 完成 |
1.2 新增的功能模块
| 模块 | 功能 | 描述 | 完成情况 |
|---|---|---|---|
| 台球厅 | 收藏台球厅 | 完成 | |
| 多家台球厅发起约球 | 完成 | ||
| 已收藏台球厅排序在前 | 完成 | ||
| 请求 | 请求生成 | 完成 | |
| 请求加入 | 没有静态数据,存入Redis | 完成 | |
| 请求同意 | 完成 | ||
| 同意后获取对方联系方式 | 微信二维码或电话 | 微信二维码由于没有购买域名并向注册微信开发者,因此无法获取,转为获取电话 | |
| 个人中心 | 查看本人发起的所有约球要求 | 完成 | |
| 查看指定约球邀请的加入申请列表 | 从Redis中获取 | 完成 | |
| 查看本人想要加入且还在等待同意的加入请求 | 完成 | ||
| 同意加入请求(同时附带关闭本人发起的其他请求) | 完成 |
二、改进计划完成情况
2.1 需要改进的团队分工
目标:
- 由于微信登录模块的问题导致后端项目初步部署较晚,前后端联调时出现新的问题来不及更改。Beta中计划一天一次项目部署与后端自测。
- 规范测试流程,后端部署前,后端组员对当天开发接口进行互相测试,测试无误后部署,由第二天前端使用时反馈测试问题。
完成情况:
- Beta阶段前半段每一天部署一次,而联调阶段每次有新BUG,解决后立刻部署一次,大概每天五到六次
- 严格按照该测试流程进行,BUG的出现有了明显的减少,改进速度也得到了加快
2.2 需要改进的工具流程
目标:
- ApiFox
- 后端部署前更新ApiFox接口文档,之后选择开发环境本地测试当天开发接口。
- 后端部署后使用ApiFox正式环境与云端mock测试服务器上接口。
- 隔天由前端使用接口反馈问题。
- Git
- 每日开发前pull一次。
- push前pull一次,遇到本地冲突进群内讨论,并处理到双方功能均能正常运行。
- push时使用[fix],[feat],[build]等前缀规范推送信息。
完成情况:
- 切实地按照流程进行了工具使用规范,每次部署前都会更新自己所写部分的接口文档,并检查注释是否清晰,是否含有成功示例等。
- 严格按照pull再push的流程,在远程仓库才出现Merge的情况大幅减少,仅出现一次。
三、项目概况
3.1 可运行的项目链接
3.2 项目各功能的运行图片、gif或视频
3.2.1 电话登录

3.2.2 短信验证码登录

3.2.3 短信验证码注册

3.2.4 微信登录/注册

3.2.5 首页轮播图(可点击跳转新闻)

3.2.6 获取台球厅列表

3.2.7 查看指定台球厅详细信息(包含约球列表)

3.2.8 申请加入指定请求


3.2.9 多选台球厅发起约球



3.2.10 快速筛选约球列表

3.2.11 根据名称模糊搜索台球厅

3.2.12 个人中心页面

3.2.13 查看自己发起的约球请求的加入申请

3.2.14 同意加入申请(此时将关闭发起的其他约球)

3.2.15 查看约球历史

3.2.16 评价约球历史

3.2.17 编辑个人资料

3.2.18 查看历史记录中对方联系方式

四、体验、收获及心得
|
222100213_何智锦 1. 不切实际的预期。一开始野心很大,QQ,微信都想做第三方登录。但实际上手后发现需要购买域名并注册开发者,使用官方API。最后无奈下只能阉割QQ登录并且使用测试公众号绕过微信开发者注册。花费了较多的时间但结果不理想。 2. 后端数据存储策略出错。由于设计阶段一直将约球请求的难度,抽烟情况等选项称为标签,因此在数据库中也使用标签的方式存储。然而这种存储方式实际上应该是用于用户提供自定义个人标签时有用,实际上这些东西使用几个字段即可存储,搞到现在采用了前端传来标签类别ID和类别内序号的方式进行通信,加大了对接难度,后端接口的处理速度也受到了影响。 3. 项目功能还是考虑不周到。比如同意本人发起的某个约球请求的他人加入请求这个接口,后端在接口开发时有些想当然了,且用ApiFox测试接口时不够直观。一直到前后端联调时才发现没有做同意某个加入请求时应该把其他的加入申请关闭并且关闭本人发起的其他接口。主要是因为我作为组长兼任后端组长,因此接口文档是由后端先写代码将注释写好直接生成的,也就是后端驱动的模式,而不是提前整个组开会确定好接口文档并定死。导致前后端联调期间不断进行修改。 |
|
222100406_陈麓同 在这次为期7天的软件工程β冲刺任务中,我收获了很多。虽然是新加入团队的成员,但是在组长和伙伴们的帮助下,学会了更有效地分配任务和跟踪进度,提升了项目管理技能;团队协作的重要性在此次任务中得到了深刻体现,大家在任务分配、问题解决和成果共享方面都进行了密切合作;我的技术能力也得到了显著提升,通过查阅资料、请教同伴和反复试验,解决了很多技术难题,拓宽了我的技术视野;在实践敏捷开发的过程中,我更加深入地理解了其高效和灵活的特点。在整个过程中,充分的准备和组长周密的计划是成功的关键,高频次的沟通和反馈机制不可或缺,而灵活应对变化和持续学习改进则确保了项目的顺利推进。这次冲刺任务不仅让我在技术上有了明显的提升,也让我更加深刻地认识到团队合作和灵活应对的重要性。 |
|
222100203_何诗茵 本次Beta冲刺,我主要负责一些测试工作和冲刺博客,经过这一项目的实践,我从大多数东西都不会,到现在学到很多工具的使用,感觉很充实很开心,队友也很给力,很感谢他们,很开心能和他们一起完成这段时间的冲刺;与此同时我也看见自己在各方面需要提升的地方,希望能在之后的日子里能够继续进步。 |
|
222100204_何颖 回顾整个项目过程,我深刻体会到了团队合作的力量。我们小组每个成员都发挥了自己的专长和优势,为项目的成功完成贡献了自己的力量。同时,我也学会了如何与他人沟通、如何解决问题、如何面对挑战。这些经验对我未来的学习和工作都将产生深远的影响。 |
|
222100211_吴昊 在参与这个项目的过程中,我们前端小组选择Vue作为开发框架。其中,Vue的组件化开发模式极大地提升了我们的工作效率,因为它允许我们将复杂的界面拆分成多个可复用的、独立的组件。每个组件都有明确的职责和边界,使得代码更加清晰、易于理解和维护。 组件化开发不仅提高了开发效率,也为多人共同开发项目带来了极大的便利。通过明确的组件划分和接口定义,团队成员可以并行工作,互不干扰。当某个组件需要修改或更新时,只需要关注该组件本身及其依赖的接口,大大降低了代码耦合度和维护成本。 |
|
222100216_陈烨 通过这次项目,我明白在实际生产中团队合作的必要性,多人合作将极大提高生产效率以及减少项目中的困难。 在前端的开发过程中,我进一步了解Web的知识和前端常用框架vue的知识。在开发过程中,遇到了不少bug,通过查资料、问其他成员等方式解决了不少问题,锻炼了debug能力。 |
|
222100217_陈逸舟 经过这次深入的项目实践,我深切体会到了在实际生产环境中团队合作的重要性。这种多人协作的模式,不仅显著提升了项目的整体生产效率,而且有效地降低了在推进过程中遇到的各种困难和挑战。 在项目的每一个阶段,团队成员都扮演着不可或缺的角色,我们各自发挥专长,相互补充,形成了一个高效且富有凝聚力的整体。通过定期的沟通和讨论,我们能够及时发现并解决问题,避免了工作中的重复和冲突,确保了项目的顺利进行。 特别是在前端开发的过程中,我深入学习了Web开发的基础知识,并对前端框架Vue有了更为全面的了解。Vue的轻量级、易用性和灵活性让我印象深刻,它极大地提高了我的开发效率,也让我更加深入地理解了前端开发的精髓。 在Vue的学习和实践过程中,我不仅掌握了其基本语法和常用指令,还深入了解了其组件化开发的思想和原理。通过不断地实践和探索,我逐渐掌握了Vue的路由管理、状态管理、数据请求等高级用法,能够独立开发具有一定复杂度的前端应用。 此外,我还学会了如何与后端开发人员协同工作,确保前后端数据的顺利交互和呈现。通过与团队成员的紧密合作,我深刻体会到了跨领域合作的重要性,也学会了如何在团队中发挥自己的优势,为项目的成功贡献自己的力量。 总之,这次项目实践让我收获颇丰。我不仅提高了自己的专业技能,也深刻体会到了团队合作的力量。在未来的工作和学习中,我将继续发挥自己的优势,与团队成员紧密合作,共同创造更多的价值。 |
|
222100223_林烨坤 1. 项目开始时在微信扫码登录上耗费了不少时间,并且没有提前写一些其他功能接口的demo,在后续要增添额外功能时有心无力了。在核心功能约球上,我对mybatis-plus在稍微复杂的项目流程中的使用,有了真正的提升,主要是不断阅读官方文档改进代码。同时对apifox的使用也愈发熟悉,能够提供给前端真正测试充分的接口,减少了来回返工的次数。 2. 在和前端组员真正对接需求时,发现自己对于项目功能的需求还是太想当然了,也就是组长说的后端驱动带来的弊端。在真正从前端的角度理解项目后,对代码增补重构的过程中,我对前后端联调的重要性也有了新的认识。 3. 总体来说这次beta冲刺,让我体验到了短时间内完成项目重要功能的刺激感和成就感,期待以后还有这样的机会。 |
五、华为云部署过程、使用说明及体会
5.1 部署过程
由于在阿里云上已经有过docker部署经验,因此简单的在华为云服务器上部署docker并将镜像迁移即可
- 注册华为云并购买HECS试用实例

- 安装docker

- 拉取docker可视化工具portainer并访问

- 迁移nginx和openjdk17镜像

- 打包后端jar包传输至服务器,用docker build构建新镜像
- 使用docker run创建容器poolpal-server并开放8081端口且运行

- 使用docker run创建容器poolpal-frontend,同时挂载数据卷,将前端项目替换dist文件夹,并开放80端口且运行

5.2 使用说明与体会(以下以华为云和阿里云作比较)
- 跟大部分云服务器提供商界面类似,都是在控制台查看与操作实例。比较不同的是,华为云内置了cloudShell以及VNC两种远程登录方式,分别提供了根据公网IP登录以及通过华为云个人账号控制台直接登录的方式,多样且较为方便。

- 在操作实例的界面上,跟阿里云有较大的差别。华为云更改安全组的选项中,仅可更改当前实例要使用哪个安全组配置,而无法直接对安全组具体配置进行更改。需要点击新建安全组跳转至网络控制台界面,才可对全局安全组进行配置。即在网络控制台页面对全局安全组进行配置,再选择将安全组应用到哪些实例上。而阿里云在操作实例的界面上就可以进行全局更改了,对此,笔者更喜欢阿里云的处理。


- 在响应时间上,可以说阿里云是较为领先的。无论是登录后获取用户数据,还是创建实例的创建过程,亦或是实例的重启耗时,在笔者的感官中都是阿里云较为迅捷,体验上较为优越。
六、贡献度分配
| 小组 | 学号 | 姓名 | 分工 | 贡献度 |
|---|---|---|---|---|
| 前端 | 222100217 | 陈逸舟 | 约球主页面、部分公共组件、个人中心页面,以及相关的接口使用和界面优化 | 15.80% |
| 222100211 | 吴昊 | 部分台球厅详情页面及编辑资料页面,以及相关的接口使用和界面优化 | 12.05% | |
| 222100216 | 陈烨 | 部分台球厅详情页面、主页、部分公共组件和快速筛选页面,以及相关的接口使用和界面优化 | 12.05% | |
| 后端 | 222100213 | 何智锦 | 登录注册模块,个人中心模块,约球模块加入、同意部分 | 13.05% |
| 222100406 | 陈麓同 | 短信验证码获取与检验模块,台球厅模块 | 13.80% | |
| 222100223 | 林烨坤 | 约球模块、微信登录 | 13.05% | |
| PM | 222100203 | 何诗茵 | 测试、撰写博客、答辩PPT | 10.10% |
| 222100204 | 何颖 | 测试、撰写博客、答辩PPT | 10.10% |
相关推荐
zjx-Beta2.md
zjx-Beta2.md
pm-v1.0-beta:用于推送到v1.0 Beta的项目管理存储库
pm-v1.0-beta:用于推送到v1.0 Beta的项目管理存储库
SpaceDash:SpaceDash是一个开源应用程序,可提供有关SpaceFlights的信息。 SpaceDash还包括有关所有载具和任务的新闻和更新
太空冲刺 太空仪表板... :rocket: :rocket: :rocket: SpaceDash是一个开源应用程序,可提供SpaceFlights的信息。 SpaceDash还包括有关所有载具和任务的新闻和更新。 该应用程序目前处于开发的第二阶段,正在确定范围/构建一些新功能。 这些功能包括SpaceX各种运载工具的AR视图以及来自更多航天局的事件更新! 该项目使用测试驱动敏捷开发流程,将需求转化为测试用例,并在此基础上改进代码。 注意 目前,App Store审核小组不接受新版本。 由于最近对r / SpaceX API进行了更新,导致我们的应用在启动时崩溃,无法更新我们的应用,因此我从应用商店中将其删除。 该小组正在努力为该应用程序添加功能,该功能将成为该应用程序的第2版。 该版本的第2版将于1月上旬至中旬推出。 要仍然使用和测试该应用,您可以使用上面的Testflight链接使用Beta版。 :camera_with_flash: 屏幕截图
Jira流伴侣(测试版)「Jira flow companion (beta)」-crx插件
Jira流伴侣是对Jira Data进行强大分析的工具。 该工具由Jira CFD报告页面触发。 Jira Flow同伴是一种用于对Jira Data进行强大分析的工具。该工具从“ Jira CFD”报告页面触发,并使用与创建jiras CFD相同的数据。它以其他方式可视化数据,可以帮助您更好地了解交付 *创建易于使用的CFD(缩放,缩短时间范围时从0开始完成,观察一段时间内的各个状态。*吞吐量报告选择所需的时间段和所需的分辨率(1-4周),并具有您可以根据需要更改rollig average,以更好地理解数据*频谱分析可用于Leadtime和Cycletime,可以缩放数据并以(1天,1-3周,1个月)的分辨率查看数据*冲刺报告*积压增长*积压年龄*蒙特卡洛模拟创建预测 支持语言:English
饼干:用于软件项目管理的命令行界面
饼干 是用于软件项目管理的免费命令行界面工具。 该项目使您能够遵循Agaile方法。 当前版本(0.1.0)是Beta版,到目前为止,它仅具有Scrum的实现。 命令被设计为直观且易于记忆。 您的工作将另存为json文件,位于您的主目录( $HOME$/biscuit/ )下。 产品特点 自动竞争能力 彩色控制台输出 仪表板视图 添加,编辑和删除项目 添加和编辑发行版 添加和编辑冲刺 添加和编辑用户故事 添加和编辑任务 积压视图 列出发布,冲刺,用户案例和具有过滤和排序功能的任务 更改发布,冲刺,用户案例和任务的状态(状态:已创建,打开,计划中,计划外,进行中,正在测试,已完成,过期,已删除)


