界面原型程序demo:http://kealine.top/SE/demo/
一、引言
1.1 编写目的
此文档为“Violet”音乐社区开发团队的指导文档。开发人员阅读此文档有助于团队间合作,同时提高软件质量。开发者应仔细阅读此文档,根据文档需求来进行开发,达到预期功能与效果。
1.2 开发背景
音乐是一门艺术,是由有组织的乐音来表达人们情感、反映人类现实生活情感的艺术。现代科技的发展使得人们可以利用网络随时随地的享受音乐,然而在当今互联网却很少有一个以音乐为媒介的社交平台。本开发团队想以“音乐+社交”的形式,开发一款集听歌、交友和讨论为一体的网上社区——“Violet”音乐社区。Violet多指紫罗兰,也可形容羞怯的人,本团队旨在通过此平台增强人们对音乐的交流,同时拉近人与人之间的距离。
1.3 开发工具
前端 | 后端 | |
---|---|---|
开发语言 | JavaScript | Python |
框架 | Vue.js | Flask |
二、项目需求
2.1 角色定义
角色 | 定义 |
---|---|
管理员 | 可对音乐库进行乐曲的上传和下架,对普通用户进行管理,对用户动态和圈子进行管理。 |
普通用户 | 可以搜索音乐并播放并且关注其他用户,可以发布动态和创建圈子。 |
游客 | 可以在曲库中搜索音乐并播放,但是无法浏览用户创建的圈子和发布的动态,自身也无法发布动态和创建圈子。 |
2.2 模块划分
“Violet”音乐社区的功能模块可基本分为两个方面:音乐模块以及社交模块。模块示意图如下图所示:
2.3 功能概述
2.3.1 管理员
-
添加歌曲到曲库:添加歌曲(包括:歌曲名称,歌手,歌曲图片或歌手图片)到曲库中。
-
下架歌曲:应一些版权方要求或歌词中含有一些不良信息或敏感信息而从曲库中下架歌曲。
-
限制用户评价歌曲:当某用户发布的评价被其他用户举报(使用不文明词汇,发布不良信息或敏感信息,发布反动言论)且核实后,封禁相应用户在一段时间内无法评价所有歌曲,时间长短视情节严重改变。
-
限制用户发布动态:当某用户发布的动态被其他用户举报(使用不文明词汇,发布不良信息或敏感信息,发布反动言论)且核实后,封禁相应用户在一段时间内无法发布动态,时间长短视情节严重改变。
-
限制用户创建圈子:当某用户创建的圈子被其他用户举报(圈子内讨论不正常信息,组织非法活动,组织违反道德底线的活动)且核实后,封禁相应用户在一段时间内无法创建圈子,时间长短视情节严重改变。
-
解散圈子:当某用户创建的圈子被其他用户举报(圈子内讨论不正常信息,组织非法活动,组织违反道德底线的活动)且核实后,管理员可以解散该圈子。
-
删除帖子:当某用户发布的帖子被其他用户举报(帖子内发布不正常信息,组织非法活动,组织违反道德底线的活动)且核实后,管理员可以解散该帖子。
-
删除用户动态:当某用户发布的动态被其他用户举报(使用不文明词汇,发布不良信息或敏感信息,发布反动言论)且核实后,管理员可以删除该动态。
2.3.2 普通用户
- 修改个人信息:用户可以在个人主页上修改个人信息(包括个人昵称,密码,头像,个人介绍)。
- 搜索歌曲:用户在首页搜索栏输入歌曲名称,网页显示歌曲中包含用户输入的搜索信息的歌曲。
- 搜索相应歌手的歌曲:用户在首页搜索栏输入歌手名称,网页返回该歌手下对应的歌曲。
- 浏览评价:用户在点击具体某一首歌之后可以在网页下方浏览该歌曲的相应的评论。
- 评价歌曲:用户在点击具体某一首歌之后可以在网页下方对该歌曲进行相应的评论。
- 用户关注:用户在曲库的评价页面上,通过浏览其他用户的评论寻找志同道合的人进行关注。
- 取消关注: 用户可以在我关注的人页面或者被关注的人的主页进行取消关注用户功能。
- 创建动态:用户可以在个人主页上发布动态(可添加图片,动态只能被你自己和关注你的人看见)。
- 浏览动态: 用户可以进入其他用户动态页面,浏览其他用户的动态(只有关注当前用户才能浏览该用户动态,否则只能查看他的个人介绍信息)。
- 评论动态: 用户可以对自己的动态或者关注的人的动态进行评价
- 创建圈子: 用户可以创建一个小组形式的圈子群,并且邀请关注的人加入该圈子。
- 发布帖子: 用户可以在自己加入的圈子中发布帖子,可供别的用户评论。
- 评论帖子: 用户可以在自己发布的帖子或者是其他用户发布的帖子下方进行评论,也可对其他用户的评论进行回复。
- 邀请用户加入圈子: 可以邀请关注的人加入圈子
2.3.3 游客
- 搜索歌曲: 游客在首页搜索栏输入歌曲名称,网页显示歌曲中包含游客输入的搜索信息的歌曲。
- 搜索相应歌手的歌曲: 游客在首页搜索栏输入歌手名称,网页返回该歌手下对应的歌曲。
- 浏览评价: 游客在点击具体某一首歌之后可以在网页下方浏览该歌曲的相应的评论。
- 注册账号:游客可以在页面上注册账号变成用户从而进行具备一些用户的权限。
2.4 数据流图
三、前端页面
“Violet”平台选用PC网页端,要求整体界面简洁、风格统一,且与用户有良好的交互性。该平台主要有以下界面:
- 登陆界面
用于用户验证。要求:界面简洁明了。
- 主页面
用于展示热门歌曲、歌单、专辑,并提供索引栏和播放栏。要求:界面简洁、主题色调醒目。
- 曲库搜索页面
用于用户搜索歌曲、歌单、专辑,同时提供热门搜索链接。要求:界面简洁明了。
- 动态页面
用于展示用户所关注的人发的动态
- 圈子页面
用于展示该平台上存在的圈子,可通过分类索引栏找到不同类别的圈子(如华语、摇滚、情歌等)。要求:界面简洁明了、布局合理、用户易上手。
- 个人主页
用于展示用户个人所发的动态、关注的人、加入的圈子。要求:界面简洁明了,布局合理。
(*注:若在开发过程中遇到特殊需求,可合理添加其他页面)
四、软件要求
4.1 性能要求
本平台主要针对普通用户,对时间要求度不高,但仍要保证系统稳定快速地运行,同时面对不同浏览器不会产生兼容性问题,具体要求如下:
- 数据精确性
要求在用户操作过程中传输的数据准确无误。
- 时间特性
要求系统即使在多用户同时访问、负载较高的情况下,也能对用户的操作做出快速响应,对数据的变化做出快速更新。
- 适应性
要求在不同性能的终端,不同的网络环境,不同的浏览器上都能正常运行,不会产生兼容性问题。
4.2 属性要求
本平台在使用过程中,不会对用户系统造成伤害,不会非法窃取用户个人信息,更不会在未经允许的情况下访问除平台数据库外任何用户的文件。
- 安全性
该平台具有用户登录验证功能,对尝试登陆失败次数超过上限的账号,进行暂时拒绝登陆,同时通过绑定的邮箱或手机提醒用户本人该操作。
- 完整性
在遇到突发事故,如硬件损坏、停电等,平台数据不会丢失。
- 可维护性
平台的不同模块之间应具有良好的隔离性,产生bug时可以精确定位问题模块,且不会影响其他模块的正常运行。
- 易使用性
平台界面的功能和索引等元素应具有良好的交互性,便于用户接受,同时提供必要的帮助文档。
五、人员分工
姓名 | 学号 | 具体分工 |
---|---|---|
周佳辉 (组长) | 31701030 | 界面原型,前端开发 |
罗贤哲 | 31701013 | 界面原型,前端开发 |
孙华阳 | 31701015 | 数据库设计,后端开发 |
陈天翼 | 31701007 | 数据流图绘制,后端开发 |
董腾然 | 31701009 | 需求文档撰写,后端开发 |
周家豪 | 31701059 | 需求文档撰写,后端开发 |