团队作业2-《需求规格说明书》
一. 团队
1. 队名
同舟共济队
2. 团队组成
| 姓名 | 学号 |
|---|---|
| 黄峻声(组长) | 3123001598 |
| 魏杰宗 | 3123004197 |
| 郑邦洲 | 3123004767 |
| 林佳俊 | 3123004748 |
| 蔡宜桓 | 3123004217 |
| 庄楷彬 | 3123004250 |
| 覃锴锋 | 3123004240 |
| 廖唯宇 | 3123004747 |
二. 需求规格说明书
1. 项目背景
当前市场上多数聊天软件功能复杂、占用内存高,导致低配置设备(如老旧手机、入门级智能设备)用户难以流畅使用。本项目旨在开发一款轻量级聊天工具,专注于核心功能(文字聊天、图片传输),优化资源占用,提升低端设备用户体验。
2. 项目概述
该项目是一个轻巧的聊天软件,在为低配置设备用户提供流畅的实时聊天及图片传输功能的同时,也为学习能力较弱的人群提供了简单易用的聊天服务。
3. 面向用户分析
| 用户类型 | 用户特征 | 用户需求 |
|---|---|---|
| 低端设备用户 | 使用老旧手机或低端智能机 | 在低配置下流畅聊天 |
| 老年用户 | 学习能力差 | 快速上手聊天软件 |
4. 功能性需求
-
登录注册模块
注册:用户通过填写用户id,密码信息可完成注册。
登陆:用户需通过用户id和密码登录平台,不支持找回密码功能。
个人信息:用户在登陆后,可修改自己的昵称等个人信息。
-
好友对话模块
用户可以选择好友进行一对 一聊天,实时发送和接收消息。可发送文字,单独发送图片。
-
好友管理模块
用户可以查看自己的好友列表,添加好友、删除好友、查询好友状态等。
-
聊天记录模块
在服务端保存所有的聊天记录。在客户端,可从本地或服务器请求聊天记录数据,查看历史聊天记录
5. 技术需求
后端服务实现基于以下技术:
- 使用 Java + Spring Boot + Mybatis-Plus开发,基于maven构建
- 基于 Spring Security 实现 SSO 登录方案
- 前后端联合使用WebSocket 和Http协议进行通信,接口设计遵循 Restful 规范
- 使用 MySQL 持久化存储数据,使用Navicat作为数据库管理工具
- 利用Redis 实现缓存控制保存聊天记录
- 利用log4j日志记录
前端服务实现基于以下技术:
- 利用html,css,javascript构建项目基础页面
- 使用webpack打包项目
- 使用vue3优化页面构建
6. 性能需求
- 响应时间:文字消息发送到接收延迟小于3秒,好友列表加载时间小于1秒
- 内存占用:运行内存小于50MB
7. 可扩展性
模块化设计,方便后续语音、视频等模块的增加
8. 易用性
设计界面美观简洁,操作逻辑简单,三步操作内完成一个核心功能,如发送图片,文字。
9. 预期的用户数量
项目刚上线时,我们预计使用人数大概在1000人上下。随着后续的宣传推广和产品优化,我们预计使用人数能逐步增加到大约1万人。
10. 系统的真实性,可用性,有价值性
-
真实性
本项目基于调研所得到的真实结果,希望为用户提供一个功能完善,轻量化的聊天工具。
-
可用性
本聊天软件将采用简洁直观的设计,让用户三步完成操作即可开始对话。界面重点突出核心功能,新手首次使用也能在10秒内找到聊天入口,实现无门槛的即时通讯体验。
-
有价值性
这款聊天软件主打轻量化,内存占用极小,老手机也能流畅运行。采用智能省电技术,同电量下比主流软件能收发更多的消息。
11. issues截图
前端

后端
三. 团队工作情况
1. 时间安排
原时间安排
| 周数 | 任务内容 |
|---|---|
| 第6周 | 1. 团队组队、团队博客 2. 团队介绍、成员展示、角色分配、选题确定 3. 制定团队计划安排,团队贡献分的规定 |
| 第7周 | 1. 需求规格说明书 2. 原型设计,队员估计任务难度并学习必要的技术 3. 编码规范完成、平台环境搭建完成、初步架构搭建 |
| 第8周 | 1. 原型改进(给目标用户展现原型,并进一步理解需求) 2. 架构设计,WBS,团队成员估计各自任务所需时间 3. 测试计划 |
| 第9、10周 | 1. 团队项目Alpha任务分配计划 2. 连续7天的Alpha敏捷冲刺,7篇每日Scrum Meeting博客+代码提交 |
| 第11周 | 1. 用户反馈+测试计划改进 2. 团队Alpha阶段个人总结 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
| 第12周 | 1. 团队项目Alpha博客:事后分析 |
校正后的时间安排
| 周数 | 任务内容 |
|---|---|
| 第6周 | 1. 团队组队、团队博客 2. 团队介绍、成员展示、角色分配、选题确定 3. 制定团队计划安排,团队贡献分的规定 |
| 第7周 | 1. 需求规格说明书 2. 原型设计,队员估计任务难度并学习必要的技术 3. 编码规范完成、平台环境搭建完成、初步架构搭建 |
| 第8周 | 1. 原型改进(给目标用户展现原型,并进一步理解需求) 2. 架构设计,WBS,团队成员估计各自任务所需时间 3. 测试计划 |
| 第9、10周 | 1. 团队项目Alpha任务分配计划 2. 连续7天的Alpha敏捷冲刺,7篇每日Scrum Meeting博客+代码提交 |
| 第11周 | 1. 用户反馈+测试计划改进 2. 团队Alpha阶段个人总结 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
| 第12周 | 1. 团队项目Alpha博客:事后分析 |
校正计算方法
当前项目进展顺利,暂时不需要调整原定计划。
2. 团队分工
| 姓名 | 工作 |
|---|---|
| 黄峻声 | 项目管理,监督项目整体进度 |
| 庄楷彬、覃锴锋 | 前端开发与UI设计 |
| 郑邦洲、魏杰宗 | 后端开发,性能优化 |
| 林佳俊、蔡宜桓 | 产品测试 |
| 廖唯宇 | 文档管理 |
3. 成员感想
| 姓名 | 个人感想 |
|---|---|
| 黄峻声 | 作为项目经理,我主要负责安排项目计划、协调大家合作。在开始管理项目后,我发现管理做得好不好直接关系到项目能不能成功。 |
| 魏杰宗 | 作为后端开发,需要有清晰的架构思维,和规范的协作能力,需要关注性能优化。这次也明白了协作是成功的关键。 |
| 郑邦洲 | 本项目让我对后端开发有了更深入的理解和实践经验,同时也增强了我的问题解决能力。 |
| 林佳俊 | 通过本项目,我掌握了功能测试的方法和流程,也提升了自己的测试能力和团队协作能力。 |
| 蔡宜桓 | 经过本次项目,我了解到了各种测试方法和技术,学习了很多有关测试的流程,令我受益匪浅。并且通过小组合作,也提升了我的沟通能力。 |
| 庄楷彬 | 在这次项目开发中,我负责前端开发部分。这次项目能让我将我学习的内容转化为实际项目,锻炼我的代码编写能力,也能提高我对知识的理解。同时,在团队合作中也能提高我的团队协作能力。 |
| 覃锴锋 | 作为前端开发,我主要负责页面功能的实现与交互设计。通过这次项目,我提升了与后端协作和处理实时通信的能力,也更理解了前端在整个系统中的重要性。 |
| 廖唯宇 | 在本次项目中,我负责博客编写,在博客编写的过程中,与组员深入交流了项目的实现与优化,显著提升了自我的沟通能力和代码编写水平。 |


浙公网安备 33010602011771号