2021秋软工实践第二次结对编程作业
这个作业属于哪个课程 | 构建之法-2021秋-福州大学软件工程 |
---|---|
这个作业要求在哪里 | 2021秋软工实践第二次结对编程作业 |
个人学号 | 031902218 |
结对成员学号 | 031902226 |
结对小伙伴的作业博客链接 | https://bbs.csdn.net/topics/601418958 |
GitHub 仓库地址 | https://github.com/BobaDevelopment |
视频演示链接 | https://www.bilibili.com/video/BV1Mf4y1c7jM/ |
重点/难点
微信小程序初上手
由于设计是在微信小程序实现项目,而我们两个人都没微信小程序的开发经验,所以对于上手微信小程序遇到了很大的挑战,但是我们各自确定了学习的方向,分别学习小程序的布局,以及和后端进行交互的部分,
全双工通信实现
由于本次作业立足于多人进行参与,所以普通的http协议无法满足需要,而需要采用全双工的通信方式,是的服务器和小程序端可以互发消息,进行通信。一开始打算采用websocket协议实现通信,但是在测试过程中,一直存在问题,所以最后决定采用传统的轮询方式,实现客户端和服务器的双向通信。
骰子点数识别
由于第一次作业中用小数据进行训练的模型表现效果还不错,所以在这次作业我们采用了增加训练样本的方式,来优化识别精度。最终经过测试,识别精度满足实际需要。
体验描述
YJS
在原型设计时没有想到实际实现的时间仅仅给了一周,所以原型设计时夸下的海口,都成了现在的血和泪。在设计时,计划要采取的一些方案,在测试过程中,因为无法验证其能否使用,也进行否决。经过老师上课的指点后,很快,经过讨论,我们选择抓住当初设计的核心部分来进行实现。最后还是成功把成品肝了出来,尽管没有完全达到当初设计的那个样子,但是已经也达到了心理预期,这一切都需要感谢我的队友日夜加班进行样式的设计实现。此外,没有在小程序上应用上当初打算采用的技术,也因为时间不足,不能将它完美的实现,还是有些许的遗憾,希望在接下来的团队编程中,可以好好打磨作品,力求做到完美。
QJY
九天,从零开始的微信小程序,真是非常的充实且难忘。从刚开始学习相关技术的兴奋,到不断调整界面样式和测试的痛苦,到最后实现预期效果的满足。很高兴仅通过这九天时间就点亮了一颗小程序的技能树,虽然这九天基本都在熬夜挺幸苦的哈哈 。通过这次的结对编程,较为完整地体验了应用从需求分析到原型设计、从具体编程再到测试的过程,加深了对于软件工程的认识。总之,从总体上来说,这次结对编程还是一次非常好的体验,学习了软件工程相关的知识,获的了制作微信小程序的经验,与队友之间的合作也很融洽。期待下一次的团队编程,我们能够创造出更加完美且符合需求的作品。
事件记录
将我的奖品与剩余奖品分离放在主游戏页面两侧
在初期原型设计时我们将我的奖品和剩余奖品放在同一个页面下,打算通过左右滑动的方式进行切换。但是在实际进行页面设计的时候我们发现,如果将我的奖品和剩余奖品放在一起,空间会相对减小,而由于奖品包含图片信息,如果空间太小会显得很不美观。所以我们决定将我的奖品和剩余奖品分别放在单独的页面中,通过下方导览按钮进行切换。
接口对接
前期,节约学习技术的时间成本,我们采取双线方式,即由一个人进行小程序样式的代码编写,另一个人进行小程序的后端接口编写。因为没有时间进行接口文档编写,也没有事先制定好接口规范,所以在接口对接时,常常发生命名上的冲突,好在对接接口时,采取结对编程的方式,在遇到问题时,两个人可以加快对问题进行定位,进行bug的修复。
决定暂不实现排行榜功能
在实现小程序布局的过程中,考虑到要同时实现页面的美化以及剩下的时间,所以经过讨论,不得在原先的原型设计上做一些取舍,最终决定在尽量少的影响产品完整性的前提下,不实现排行榜功能,将省出来的时间用于其他功能的实现。
PSP记录表
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 25 |
· Estimate | · 估计这个任务需要多少时间 | 10 | 10 |
Development | 开发 | 1550 | 1600 |
· Analysis | · 需求分析 (包括学习新技术) | 360 | 400 |
· Design Spec | · 生成设计文档 | - | - |
· Design Review | · 设计复审 (和同事审核设计文档) | - | - |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | - | - |
· Design | · 具体设计 | 100 | 80 |
· Coding | · 具体编码 | 1590 | 1700 |
· Code Review | · 代码复审 | 60 | 45 |
· Test | · 测试(自我测试,修改代码,提交修改) | 360 | 400 |
Reporting | 报告 | - | - |
· Test Report | · 测试报告 | - | - |
· Size Measurement | · 计算工作量 | 10 | 15 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 | 30 |
合计 | 4120 | 4305 |
学习进度条
YJS
第N天 | 新增代码(行) | 累计代码(行) | 当天学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 50 | 50 | 2.0 | 2.0 | 熟悉微信小程序登录程序 |
2 | 300 | 350 | 1.5 | 3.5 | 进行基本接口的代码编写 |
3 | 100 | 450 | 2.5 | 6.0 | 学习websocket协议以及小程序如何与后端进行对接 |
4 | 250 | 700 | 2.0 | 8.0 | 测试websocket接口,以及测试与小程序对接 |
5 | 200 | 900 | 0.5 | 8.5 | 采取轮询方式编写代码,并进行接口测试以及对接 |
6 | 150 | 1050 | 0.5 | 9 | 尝试和小程序端对接接口 |
7 | 50 | 1100 | 0.5 | 9.5 | 尝试和小程序端对接接口 |
8 | 100 | 1200 | 3.0 | 12.5 | 修复和小程序端对接产生的bug |
9 | 150 | 1350 | 5.0 | 17.5 | 修复和小程序端对接产生的bug,美化代码 |
QJY
第N天 | 新增代码(行) | 累计代码(行) | 当天学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 150 | 150 | 7.0 | 7.0 | 阅读微信小程序文档 、学习WXML和WXSS |
2 | 350 | 500 | 8.0 | 15.0 | 学习WXSS,学习javascript基本语法,编写小程序首页 |
3 | 200 | 700 | 6.0 | 21.0 | 学习小程序常用组件、编写小程序房间码进入房间页面 |
4 | 335 | 1035 | 6.0 | 27.0 | 编写创建房间页面 |
5 | 200 | 1235 | 5.0 | 32.0 | 编写创建房间页面,美化样式,学习并尝试解决scroll-view的问题 |
6 | 230 | 1465 | 5.0 | 37.0 | 编写主游戏界面的静态部分,编写一些游戏主要逻辑的交互 |
7 | 400 | 1865 | 6.0 | 43.0 | 继续编写游戏界面的交互,编写选择奖品页面,与后端进行接口 |
8 | 300 | 2165 | 6.0 | 49.0 | 编写剩余奖品和我的奖品页面静态部分 |
9 | 200 | 2365 | 5.0 | 54.0 | 完成剩余奖品和我的奖品页面剩余部分,debug与测试 |
仓库
URL
Boba是项目的小程序端代码仓库
Boba-backend是项目的后端代码仓库
commit截图
小程序部分
后端部分