团队作业二(专✌团队)

  • 队名:专✌团队

  • 队员信息:
    3118004954 陈忠明——队长
    3118004976 吴茂平—— PM
    3118004988 郑靓
    3118004981 杨锐龙
    3118004977 吴尚谦
    3118004961 黄海钊


1.需求规格说明书

一、 引言

1.1 定位与目标

音乐充实着我们的生活,在如今高速发展的社会中更充当着重要角色,可以给人听觉以愉悦,净化人的灵魂,使人们的精神得到高度的享受,能帮人排除忧愁和悲问伤,使人不在孤单,可以说音乐的重要性愈发明显。但是音乐歌曲风格迥异,数量繁多,在这音乐盛典下,由于总总原因使某些音乐资源缺失。基于此种现状,我们希望实现一款基于共享为主要宗旨的音乐共享网站,用户可在网站上上传,下载,在这里讨论,以共享为宗旨的美好情怀,是我们的最终愿望,不仅解决了某些歌曲哪找等问题,在共享的同时也提高了人们的情怀。

1.2 对象

本《软件需求规格说明书》的预期读者是:

  • 项目组所有人员
  • 测试组人员
  • SQA 人员
  • 团队授权调阅本文档的其他人员

二、 需求概述

2.1 项目背景

将要开发的项目名为《音乐在线共享》,基于web端实现。本项目的提出者及开发者是广东工业大学计算机学院18级软件工程1班学生团队,主要用户面向全体音乐爱好者。

2.2 需求概述
2.2.1 功能描述

用户在平台上可以在线播放,下载,上传音乐。同时开放评论功能,以提供交流,抒发想法的方式。

2.2.2 真实性

音乐充实着我们的生活,能帮人排除忧愁和悲问伤,共享可以解决的问题也具体真实存在。

2.2.3 可用性

平台面向所有爱好者免费开放,可方便人们找寻各种音乐资源。

2.2.4 价值所在

音乐歌曲风格迥异,数量繁多,在这音乐盛典下,由于总总原因使某些音乐资源缺失,此网站基于次原因让人们有机会共享出手中资源,实现互利共享。

2.2.5 预期用户量

结合实际,我们期望达到的用户数量为300+

2.2.6 需求分析
  • 新用户可以基于有效邮箱注册以获得本平台账号,每个邮箱只允许绑定一个有效账号
  • 用户凭个人账号进入平台,登录是进行各种操作的前提,平台不设游客模式
  • 音乐资源应标明分享者,下载次数等
  • 可以回复他人的评论,被回复者应有消息推送
  • 应实现管理员端对各类音乐资源进行管理
2.3 系统结构

三、 系统功能需求

3.1 功能总览
模块 功能 细节描述
登录注册 用户使用邮箱注册账号
用户凭借账号密码登录
选择忘记密码通过邮箱找回
注册时需要图片验证码
注册成功后邮箱需通过邮件激活以确保为有效邮箱
激活成功后可登陆
忘记密码通过邮件验证码验证身份
发现音乐 首页更新最新资源
首页显示下载排行榜
根据热门歌手发现
通过标签发现
自定义搜索
最新音乐及下载排行每次登陆或刷新时更新
热门歌手实现字母导航
标签包含但不限于语种/风格/场景/情感
输入框搜索对象包含歌手和歌曲名称,前者优先显示,搜索结果根据下载次数排序
上传分享 上传单首
修改上传音乐的信息
原则上歌曲的相关信息由后台自动识别
标签可由用户自行添加
用户可手动修改识别出的歌曲信息
批量上传形式为zip压缩包
下载 下载音乐
打开音乐所在地址
下载时进度条显示
完成后可打开下载的本地文件
可管理下载历史
设置 设置头像
设置用户名
修改邮箱
修改密码
设置下载地址
设置其他
邮箱修改后需新邮箱验证码确保邮箱有效
修改密码需要邮箱验证码
个人主页 显示收藏
删除收藏
显示我的分享
操作的分享
我的评论
操作我的评论
收到别人回复时头像显示小红点
操作分享包括修改歌曲信息,取消分享
评论可删除
播放 播放器
详情页面
评论
参考网易云
管理员 管理音乐资源 暂定
3.2 业务流程图

3.3 数据字典
  • 用户信息表:users_table
字段名 字段类型 说明
id unsigned int 主键(递增)
name varchar(22) 用户名(唯一)
password varchar(22) 密码
mailbox varchar(22) 用户邮箱
gender bit 性别(0:女,1:男)
phone varchar(22) 手机号(默认为null)
head_picture varchar(50) 头像图路径(可用可不用,暂定)
create_date datetime 创建时间
enabled bit 用户状态(0:已经注销1:正常状态)
song_number int 歌曲分享数
  • 用户歌曲收藏表user_song_table
字段名 字段类型 说明
user_id unsigned int 用户id
song_id unsigned int 收藏的歌曲id
  • 用户主评论表comment_table(主评论)
字段名 字段类型 说明
comment_id unsigned int 主键(自增)
user_id unsigned int 用户id
song_id unsigned int 歌曲id
content text 评论内容
praise_number unsigned int 被电赞数
time datetime 评论时的时间
  • 用户互相回复表(次表)replay_table
字段名 字段类型 说明
comment_id unsigned int 被评论的主评论id
passive_user_id unsigned int 被回复用户id(若为0则是直接对主评论的回复,否则是在该主评论下对其他用户的回复)
user_id unsigned int 主评论用户id
content text 评论内容
time datetime 评论时的时间
  • 歌曲信息表:song_table
字段名 字段类型 说明
song_id unsigned int 主键(递增)
path varchar(50) 歌曲路径
name varchar(22) 歌曲名
author varchar(22) 歌曲作者
uploader_time datetime 上传日期
downloader_number unsigned int 下载数量
  • 歌手信息表singer_table
字段名 字段类型 说明
singer_id unsigned int 主键(递增)
name varchar(22) 姓名
gender bit 性别(0:女,1:男)
picture varchar(50) 歌手图路径(暂定)
  • 歌手歌曲关联表singer_song_table
字段名 字段类型 说明
singer_id unsigned int 歌手id
song_id unsigned int 歌曲id
(注:插入前各id是否存在在程序里实现,一个singer_id对应多个song_id)

四、 软硬件及外部系统接口需求

4.1 用户界面

用户界面是程序中用户能看见并与之交互作用的部分,设计一个好的用户界面是非常重要的,本设计将为用户提供美观,大方,直观,操作简单的用户界面。

4.2 硬件需求

具有高的可靠性,可用性和安全性。

4.3 运行环境
  • Web 浏览器:0+、Chrome、Opera、Safari、Firefox及任何支持HTML5标准的浏览器。
  • 标准分辨率:1024*768、1920*1080、2K

五、 技术需求分析

5.1 性能需求
  • 并发处理
    按照实际情况的规划,系统至少能承载的最大并发用户数要求达到总用户数2/3
  • 响应时间
    用户最终得到结果的响应时间除了与系统响应速度有关外,还与网络状况有关,目标平均响应时间500ms内
5.2 技术选型
前端
技术项目 具体技术
编程语言 JavaScript
脚手架 vue cli 4.1.1
框架 vue 2.6.11
页面路由 vue-router 3.1.5
数据状态管理 vuex 3.1.2
UI组件库 element-ui 2.13.1
后台
技术项目 具体技术
编程语言 Java
JDK 1.8.0
开放框架 springboot
通讯协议 HTTP
数据库 mysql Redis
数据库连接 JDBC
代码版本控制 git
服务器系统 Linux

六、参考文献

[1] 《构建之法——现代软件工程》作者邹欣,2015年3月人民邮电出版社出版
[2] 软件需求规格说明书范例


2.团队计划安排

一、团队github仓库

1.1 项目github地址

https://github.com/gdut-RuanGongSteam/Music_sharing

1.2 issue截图

二、项目时间安排表

2.1 原安排表
序号 模块 功能 时间安排
1 登录注册 用户使用邮箱注册账号
用户凭借账号密码登录
选择忘记密码通过邮箱找回
5.5 - 5.8
2 上传分享 上传单首
批量上传
修改上传音乐的信息
5.9 -5.10
3 下载 下载音乐
打开音乐所在地址
下载历史管理
5.11
4 发现音乐 首页更新最新资源
首页显示下载排行榜
根据热门歌手发现
通过标签发现
自定义搜索
5.12 -5.15
5 设置 设置头像
设置用户名
修改邮箱
修改密码
设置下载地址
设置其他
5.15-5.17
6 个人主页 显示收藏
删除收藏
显示我的分享
操作的分享
我的评论
操作我的评论
5.18-5.20
7 播放 播放器
详情页面
评论
5.21 - 5.22
8 管理员 管理音乐资源 5.23 -5.25
2.2 改进后安排表
序号 模块 功能 时间安排 负责人
1 登录注册 用户使用邮箱注册账号
用户凭借账号密码登录
选择忘记密码通过邮箱找回
5.6 - 5.7 陈忠明 ,郑靓
2 上传分享 上传单首
批量上传
修改上传音乐的信息
5.6 -5.9 吴茂平,吴尚谦
3 下载 下载音乐
打开音乐所在地址
下载历史管理
5.8 - 5.9 杨锐龙,黄海钊
4 发现音乐 首页更新最新资源
首页显示下载排行榜
根据热门歌手发现
通过标签发现
自定义搜索
5.8 -5.12 陈忠明 ,郑靓
5 设置 设置头像
设置用户名
修改邮箱
修改密码
设置下载地址
设置其他
5.10-5.12 吴茂平,吴尚谦
6 个人主页 显示收藏
删除收藏
显示我的分享
操作的分享
我的评论
操作我的评论
5.12-5.14 陈忠明 ,郑靓
7 播放 播放器
详情页面
评论
5.13 - 5.14 吴茂平,吴尚谦
8 Alpha 1.0 测试 生成测试文档 5.15 - 5.16 杨锐龙,黄海钊
9 管理员 管理音乐资源 5.17 -5.25 吴茂平,吴尚谦
10 Alpha 2.0 在第一版测试结果上进行改进 5.17 -5.25 陈忠明 ,郑靓
11 Alpha 2.0 测试 5.26 - 5.27 杨锐龙,黄海钊
2.3 矫正计算方法
  • 根据任务量更正安排时间
  • 将任务具体安排到负责人
  • 分版本开发测试发布

三、团队分工

职责 负责人
ui 郑靓,吴尚谦
前端 郑靓,吴尚谦,杨锐龙
后台 陈忠明,吴茂平,黄海钊
测试 杨锐龙,黄海钊
文档和复审 陈忠明,吴茂平

四、本周小结

4.1 团队完成任务
  • 后台完成项目初始化
  • 项目数据库初版建立
  • ui给出第一版设计
  • 团队仓库建立
  • 明确任务并提交issue
  • 完成《项目需求规格说明书》
  • 团队成员学习必要开发技术
  • 确定开发编码规范——《阿里巴巴Java开发手册》
4.2 个人情况
姓名 完成情况 个人感想
陈忠明 1.参与项目数据库初版建立
2.参与完成《项目需求规格说明书》
3.学习开发必要技术
近期抓紧学习git版本控制,冲突解决,以及复习sql语句对数据库表的相关操作等,
与队友们讨论需求相关细节,总的来说收获颇丰,清楚自身不足,加油^0^~我们是专✌团队!
郑靓 1.参与ui给出第一版设计
2.参与完成《项目需求规格说明书》
3.学习开发必要技术
1.团队交流十分顺畅,分工明确
2. 本周为即将到来的开发任务做了初步尝试
3. 尝试了eolinker进行前后端接口发布
杨锐龙 1.参与项目数据库初版建立
2.确定开发编码规范——《阿里巴巴Java开发手册》
3.学习开发必要技术
认真学习了怎么划水,队友确定的技术层面看起来都比较新颖,分配到的任务也是比较基础的,
pm认真负责,分工明确,责任分拉满
吴尚谦 1.参与ui给出第一版设计
2.团队仓库建立
3.学习开发必要技术
1. 认真学习了vue.js,学习过程中感受到vue开发带来的便利性;
2.第一次参与团队ui设计,在设计过程中受益颇多。
黄海钊 1.参与完成项目初始化
2.参与完成《项目需求规格说明书》
3.学习开发必要技术
我的能力比较弱,在这次团队合作中,很多东西对我来说都是新事物,学习空间很大,
同时也给了我不小的学习压力。好好学习,加油!
吴茂平 1.参与完成《项目需求规格说明书》
2.明确任务并提交issue
3.学习开发必要技术
1.第一次写《项目需求规格说明书》,感觉学到了很多。
2.认真学习了一遍springboot为开发做准备。
3.也认真学习了团队合作开发方法,期待和大家一起努力。
posted @ 2020-05-04 17:53  sabot_v  阅读(346)  评论(0编辑  收藏  举报