一. 需求&原型改进
1.改进:在最初,我们只是想单纯的实现一个简单的资源共享平台,但是在老师的提醒下,我们要面对用户考虑,应该尽可能让这个平台更加人性化和满足用户需求。
2.需求规格说明书
- 项目背景:如今,音乐成为人们排除忧愁和放松身心的一大利器,但是越来越多的音乐被挂上了vip的标签,导致普通用户没有办法畅享音乐此平台旨在让人们有歌可听,实现资源共享
- 功能:此平台主要功能为音乐资源的分享,让用户有音乐可听。在此基础上实现附加功能。如音乐推荐,和对音乐的讨论等。
- 用户使用:
通过账号登录系统(如无账号可注册)
在本系统可以查找音乐并下载或评论该资源,而且还可以听歌哦
在下载中心查看下载,可实时查看下载进度
忽然发现手里有歌曲资源想要分享,别慌,我们满足你,但是要按要求填入歌曲信息哦!
如果你发现自己的密码太过简单或者太复杂,想修改密码,可在个人中心进行修改,
在这里你也可以修改自己的头像,让自己更有分辨性
功能分析的四个象限
外围功能 |
杀手功能 |
|
必要需求 |
上传下载音乐 |
管理员管理音乐 评论音乐 |
辅助需求 |
播放音乐 界面优化 |
发现音乐 用户收藏 |
二. 系统设计
1. 系统功能模块
模块 | 功能 | 细节描述 |
---|---|---|
登录注册 | 用户使用邮箱注册账号 用户凭借账号密码登录 选择忘记密码通过邮箱找回 |
注册时需要图片验证码 注册成功后邮箱需通过邮件激活以确保为有效邮箱 激活成功后可登陆 忘记密码通过邮件验证码验证身份 |
发现音乐 | 首页更新最新资源 首页显示下载排行榜 根据热门歌手发现 通过标签发现 自定义搜索 |
最新音乐及下载排行每次登陆或刷新时更新 热门歌手实现字母导航 标签包含但不限于语种/风格/场景/情感 输入框搜索对象包含歌手和歌曲名称,前者优先显示,搜索结果根据下载次数排序 |
上传分享 | 上传单首 修改上传音乐的信息 |
原则上歌曲的相关信息由后台自动识别 标签可由用户自行添加 用户可手动修改识别出的歌曲信息 批量上传形式为zip压缩包 |
下载 | 下载音乐 打开音乐所在地址 |
下载时进度条显示 完成后可打开下载的本地文件 可管理下载历史 |
设置 | 设置头像 设置用户名 修改邮箱 修改密码 设置下载地址 设置其他 |
邮箱修改后需新邮箱验证码确保邮箱有效 修改密码需要邮箱验证码 |
个人主页 | 显示收藏 删除收藏 显示我的分享 操作的分享 我的评论 操作我的评论 |
收到别人回复时头像显示小红点 操作分享包括修改歌曲信息,取消分享 评论可删除 |
播放 | 播放器 详情页面 评论 |
参考网易云 |
管理员 | 管理音乐资源 | 暂定 |
2.系统结构
3.系统数据库
ER图
数据库设计
用户信息表:users_table
id |
int unsigned |
主键(递增) |
name |
varchar(22) |
用户名(唯一) |
password |
varchar(22) |
密码 |
mailbox |
varchar(32) |
用户邮箱 |
gender |
bit |
性别(0:女,1:男) |
phone |
varchar(22) |
手机号(默认为null) |
head_picture |
varchar(50) |
头像图路径(可用可不用,暂定) |
create_time |
datetime |
创建时间 |
enabled |
bit |
用户状态(0:已经注销1:正常状态) |
song_number |
int |
歌曲分享数 |
用户歌曲收藏表user_share_song_table
id |
int unsigned |
主键(递增)® |
user_id |
int unsigned |
用户id |
song_id |
int unsigned |
收藏的歌曲id |
用户主评论表comment_table(主评论)
comment_id |
int unsigned |
主键(自增) |
user_id |
int unsigned |
用户id |
song_id |
int unsigned |
歌曲id |
content |
text |
评论内容 |
praise_number |
int unsigned |
被点赞数 |
time |
datetime |
评论时的时间 |
用户互相回复表(次表)replay_table
comment_id |
int unsigned |
被评论的主评论id |
passive_user_id |
int unsigned |
被回复用户id(若为0则是直接对主评论的回复,否则是在该主评论下对其他用户的回复) |
user_id |
int unsigned |
主评论用户id |
content |
text |
评论内容 |
time |
datetime |
评论时的时间 |
歌曲信息表:song_table
song_id |
int unsigned |
主键(递增) |
path |
varchar(50) |
歌曲路径 |
name |
varchar(22) |
歌曲名 |
author |
varchar(22) |
歌曲作者 |
uploader_time |
datetime |
上传日期 |
downloader_number |
int unsigned |
下载数量 |
歌手信息表singer_table
singer_id |
int unsigned |
主键(递增) |
name |
varchar(22) |
姓名 |
gender |
bit |
性别(0:女,1:男) |
picture |
varchar(50) |
歌手图路径(暂定) |
歌手歌曲关联表singer_song_table
id |
int unsigned |
主键(递增) |
singer_id |
int unsigned |
歌手id |
song_id |
int unsigned |
歌曲id |
(注:插入前各id是否存在在程序里实现,一个singer_id对应多个song_id)
三.Alpha任务分配计划
序号 | 模块 | 功能 | 负责人 | 工时 |
---|---|---|---|---|
1 | 登录注册 | 用户使用邮箱注册账号 用户凭借账号密码登录 选择忘记密码通过邮箱找回 |
吴茂平,郑靓 | 2h |
2 | 上传分享 | 上传单首 批量上传 修改上传音乐的信息 |
陈忠明,吴尚谦 | 4h |
3 | 下载 | 下载音乐 打开音乐所在地址 下载历史管理 |
杨锐龙,黄海钊 | 4h |
4 | 发现音乐 | 首页更新最新资源 首页显示下载排行榜 根据热门歌手发现 通过标签发现 自定义搜索 |
陈忠明 ,郑靓 | 8h |
5 | 设置 | 设置头像 设置用户名 修改邮箱 修改密码 设置下载地址 设置其他 |
吴茂平,吴尚谦 | 8h |
6 | 个人主页 | 显示收藏 删除收藏 显示我的分享 操作的分享 我的评论 操作我的评论 |
陈忠明 ,郑靓 | 8h |
7 | 播放 | 播放器 详情页面 评论 |
吴茂平,吴尚谦 | 4h |
9 | 管理员 | 管理音乐资源 | 吴茂平,吴尚谦 | 4h |
四.测试计划
测试模块 | 测试内容 |
登录注册 |
用户注册账号 用户登录账号 |
上传下载 |
用户上传不同音乐文件 用户下载音乐 |
音乐评论 |
用户评论他人评论 用户删除评论 |
设置 |
用户修改昵称,头像 修改密码和绑定邮箱 |
播放音乐 |
能否正常播放音乐 |
个人主页 |
查看删除收藏内容 直接对评论进行管理 |