一. 团队
1. 队名
同舟共济队
2. 团队组成
姓名学号黄峻声(组长)3123001598魏杰宗3123004197郑邦洲3123004767林佳俊3123004748蔡宜桓3123004217庄楷彬3123004250覃锴锋3123004240廖唯宇3123004747二. 需求&原型改进
1. 需求的修改
问题1:过长的消息需要用户频繁滚动屏幕,降低沟通效率
修改1:限制单次消息大小,优化了用户体验,提升了系统稳定性。
问题2:低端手机可能因自动缓存大量高清图片而频繁弹出“存储不足”警告,同时也可能直接耗尽当月剩余流量,无法正常使用其他功能。
修改2:默认不自动下载大文件,用户点击后才下载,这样节省流量和存储空间。
2. 需求规格说明书的修改
1. 功能考虑不全
- 个人资料只可修改昵称,用户无法同时通过头像和名称快速找到想聊天的好友
- 聊天记录描述不够详尽,用户可以随时向服务器请求该用户所有的聊天记录数据,也可删除。
2. 用户故事
小明更新了资料,上传了自拍头像并改昵称「露营达人」。小红在聊天列表里,通过小明的帐篷头像和新昵称,一眼认出了刚改名的小明。
周末约爬山时,小红在聊天记录搜索框输入「北山集合点」,瞬间定位到三个月前的对话坐标。下山后她长按过期的路线讨论记录,批量删除了67条旧消息,手机存储空间多了200MB。
3. 功能分析的四个象限
必须做且重要:
登录注册、好友对话,好友管理是聊天软件的核心功能。
必须做但不重要:
聊天记录管理,可随时下载服务器存储的历史聊天记录,也可随时删除本机存储的聊天记录。
不必做但重要:
确保平台的用户界面简洁直观,新手首次使用也能在10秒内找到聊天入口,实现无门槛的即时通讯体验。
不必做且不重要:
语音消息功能。
4. 任务分解WBS及相应的项目进度计划
开发模块时间周期用户模块1周好友管理模块1周好友对话模块1周聊天记录模块1周三. 系统设计
1. 系统架构设计
为了实现聊天的需求, 主要包括以下几个部分:
- 业务逻辑层: 使用springboot框架开发后端, 使用maven进行管理项目
- 数据访问层: 使用Mybatis框架与MySQL数据库进行交互, 使用SpringDataRedis客户端与Redis数据库进行交互
- 日志记录: 使用Logback框架进行日志的记录
- 邮箱验证功能:基于SMTP协议创建邮件会话,实现用户注册/登录场景的邮箱验证流程
2. 数据库设计
四. Alpha任务分配计划
1. 功能项选取
用户模块
好友管理模块
好友对话模块
消息列表模块
2. Sprint Backlog
2.1 前端
任务描述预期需要时间登录注册界面3小时个人资料界面3小时好友对话界面6小时好友管理界面2小时会话管理界面3小时2.2 后端
任务描述预期需要时间登录接口8小时注册接口6小时个人信息管理6小时好友关系管理5小时实时消息传输8小时消息存储与查询6小时会话列表管理4小时五. 测试计划
1. 产品
一个轻巧的聊天软件,在为低配置设备用户提供流畅的实时聊天及图片传输功能的同时,也为学习能力较弱的人群提供了简单易用的聊天服务。
2. 测试方案
功能测试
a. 登录注册
- 注册:ID唯一性校验、密码复杂度提醒、重复注册拦截
- 登录:正确/错误凭证响应、登录状态保持
- 信息修改:昵称更新同步、输入长度限制
b. 好友对话
- 消息收发:文字图片即时传输
- 异常处理:断网重连补发、大图压缩发送
c. 好友管理
- 增删查:精准搜索ID、添加双向确认、删除后关系解除
- 状态显示:在线/离线实时更新
d. 聊天记录
- 存储验证:本地与服务端数据一致性
- 加载效率:快速加载历史消息
界面测试
- 布局兼容:主流分辨率的显示完整性
- 交互反馈:按钮/输入框响应效果
性能测试
<ul>并发能力:模拟100用户同时登录/收发消息的响应时间
资源占用:单设备内存占用峰值(目标 |