Violet音乐社区设计文档
Violet音乐社区设计文档
需求分析文档:https://www.cnblogs.com/Keadin/p/11791088.html
一、引言
1.1 编写目的
此文档为“Violet”音乐社区开发团队的指导文档。开发人员阅读此文档有助于团队间合作,同时提高软件质量。开发者应仔细阅读此文档,根据文档需求来进行开发,达到预期功能与效果。
1.2 开发背景
音乐是一门艺术,是由有组织的乐音来表达人们情感、反映人类现实生活情感的艺术。现代科技的发展使得人们可以利用网络随时随地的享受音乐,然而在当今互联网却很少有一个以音乐为媒介的社交平台。本开发团队想以“音乐+社交”的形式,开发一款集听歌、交友和讨论为一体的网上社区——“Violet”音乐社区。Violet多指紫罗兰,也可形容羞怯的人,本团队旨在通过此平台增强人们对音乐的交流,同时拉近人与人之间的距离。
二、用例图设计
2.1游客实例设计

搜索歌曲: 游客在首页搜索栏输入歌曲名称,网页显示歌曲中包含游客输入的搜索信息的歌曲。
搜索相应歌手的歌曲: 游客在首页搜索栏输入歌手名称,网页返回该歌手下对应的歌曲。
浏览评价: 游客在点击具体某一首歌之后可以在网页下方浏览该歌曲的相应的评论。
2.2 管理员实例设计

添加歌曲到曲库:添加歌曲(包括:歌曲名称,歌手,歌曲图片或歌手图片)到曲库中。
下架歌曲:应一些版权方要求或歌词中含有一些不良信息或敏感信息而从曲库中下架歌曲。
限制用户评价歌曲:当某用户发布的评价被其他用户举报(使用不文明词汇,发布不良信息或敏感信息,发布反动言论)且核实后,封禁相应用户在一段时间内无法评价所有歌曲,时间长短视情节严重改变。
限制用户发布动态:当某用户发布的动态被其他用户举报(使用不文明词汇,发布不良信息或敏感信息,发布反动言论)且核实后,封禁相应用户在一段时间内无法发布动态,时间长短视情节严重改变。
限制用户创建圈子:当某用户创建的圈子被其他用户举报(圈子内讨论不正常信息,组织非法活动,组织违反道德底线的活动)且核实后,封禁相应用户在一段时间内无法创建圈子,时间长短视情节严重改变。
解散圈子:当某用户创建的圈子被其他用户举报(圈子内讨论不正常信息,组织非法活动,组织违反道德底线的活动)且核实后,管理员可以解散该圈子。
删除帖子:当某用户发布的帖子被其他用户举报(帖子内发布不正常信息,组织非法活动,组织违反道德底线的活动)且核实后,管理员可以解散该帖子。
删除用户动态:当某用户发布的动态被其他用户举报(使用不文明词汇,发布不良信息或敏感信息,发布反动言论)且核实后,管理员可以删除该动态。
2.3 普通用户实例设计

修改个人信息: 用户可以在个人主页上修改个人信息(包括个人昵称,密码,头像,个人介绍)。
搜索歌曲: 用户在首页搜索栏输入歌曲名称,网页显示歌曲中包含用户输入的搜索信息的歌曲。
搜索相应歌手的歌曲: 用户在首页搜索栏输入歌手名称,网页返回该歌手下对应的歌曲。
创建歌单: 用户可以自己创建歌单。
把歌曲加入歌单: 用户可以把自己喜欢的歌曲加入到自己创建的某个歌单中。
移除歌曲: 用户可以凭借自己喜好把自己某个歌单中的某首歌曲移出歌单。
删除歌单: 用户可以凭借自己喜好删除自己创建的某个歌单。
用户关注: 用户在曲库的评价页面上,通过浏览其他用户的评论寻找志同道合的人进行关注。
取消用户关注: 用户可以在我关注的人页面或者被关注的人的主页进行取消关注用户功能。
创建动态: 用户可以在个人主页上发布动态(可添加图片,动态只能被你自己和关注你的人看见)。
浏览动态: 用户可以进入其他用户动态页面,浏览其他用户的动态(只有关注当前用户才能浏览该用户动态,否则只能查看他的个人介绍信息)。
创建圈子: 用户可以创建一个小组形式的圈子群,并且邀请关注的人加入该圈子。
发布帖子: 用户可以在自己加入的圈子中发布帖子,可供别的用户评论。
邀请用户加入圈子: 可以邀请关注的人加入圈子(需要关注的人同意是否加入该圈子)
删除评论(帖子,歌曲,动态): 用户可以凭借自己喜好删除发布的帖子评论,歌曲评论,动态评论。
添加评论(帖子,歌曲,动态): 用户可以在自己的发布的帖子,动态;别人的帖子动态下面添加评论,亦或是在别人的评论下面追加评论,也可以在歌曲下面述说自己的个人感想。
注册账号:游客可以在页面上注册账号变成用户从而进行具备一些用户的权限。
三、类图设计
3.1 歌手类

| 属性 | 含义 |
|---|---|
| singer_id | 歌手id |
| singer_name | 歌手姓名 |
| singer_img | 歌手图片 |
| play_times | 播放次数 |
| thumbs_up_num | 点赞数 |
| info | 歌手介绍 |
方法:
Load_singer:用户或游客在进入网站时调用此方法加载歌手
Add_singer:管理员通过调用此方法向数据库中添加歌手。
Delete_singer:管理员通过调用此方法向数据库中删除歌手。
Search_singer:游客和用户通过调用此方法来搜索用户
Modify_singer:管理员通过调用此方法来修改用户各项信息。
3.2 歌曲类

| 属性 | 含义 |
|---|---|
| song_id | 歌曲id |
| song_name | 歌曲名字 |
| song_img | 歌曲图片 |
| play_times | 播放次数 |
| thumbs_up_num | 点赞数 |
方法:
Search_song:游客和用户调用此方法来搜索歌曲。
Search_song_by_singer:游客和用户调用此方法通过歌手搜索此歌手下的歌曲。
Load_song:游客和用户进入网站时调用此方法来加载一些歌曲。
Add_song:管理员调用此方法来向数据库中添加歌曲。
Modify_song:管理员调用此方法来修改歌曲信息。
Delete_song:管理员调用此方法来下架歌曲。
3.3 歌单类

| 属性 | 含义 |
|---|---|
| sheet_id | 歌单id |
| sheet_name | 歌单名字 |
| owner | 歌单拥有者 |
| sheet_img | 歌单图片 |
| play_times | 播放次数 |
| info | 介绍信息 |
| thumbs_up_num | 点赞数 |
| follow_num | 关注量 |
方法:
Add_sheet:用户调用此方法来添加自己的歌单。
Delete_sheet:用户调用此方法来删除自己的歌单。
Load_sheet:游客或用户在进入网站时调用此方法来加载一些歌单。
Modify_sheet:用户调用此方法来修改自己的歌单。
Search_sheet:游客或用户调用此方法来搜索歌单。
3.4 用户类

| 属性 | 含义 |
|---|---|
| user_id | 用户id |
| user_nickname | 用户昵称 |
| password | 用户登录密码 |
| gender | 用户性别 |
| birthday | 用户生日 |
| motto | 用户个性签名 |
| info | 介绍信息 |
| thumbs_up_num | 点赞数 |
| user_type | 用户类型(游客、普通、管理员) |
方法:
Modify_user_info:用户调用此方法来修改自己的个人简介(管理员不需要,根本没人看得到他)
Register_user:游客调用此方法来注册一个新的用户。
Delete_user:管理员调用此方法来删除普通用户,不能删除管理员。
3.5 评论类

| 属性 | 含义 |
|---|---|
| comment_id | 评论id |
| user_id | 该条评论的用户id |
| item_type | 用于区别此评论在哪里出现(音乐、圈子、歌单…) |
| item_id | 评论出现地(音乐、圈子、歌单…)的id |
| content | 评论内容 |
| create_time | 评论时间 |
| thumbs_up_num | 点赞数 |
方法:
Load_comment:游客进入歌曲页面时调用此方法加载歌曲评论,用户在进入帖子,动态,歌曲页面时调用此方法加载相应项目的评论。
Add_comment:用户调用此方法添加对应项目下的评论。
Delete_comment:用户或管理员调用此方法删除相应的评论。
Modify_comment:用户调用此方法来修改评论。
Report_comment:用户调用此方法对相应评论进行举报。
3.6 点赞类

| 属性 | 含义 |
|---|---|
| user_id | 点赞用户的id |
| item_type | 点赞的类型(音乐、圈子、歌单…) |
| item_id | (音乐、圈子、歌单…)的id |
方法:
Add_thumbsup:用户调用此方法对歌手、歌曲、歌单、用户、评论、帖子、圈子或是动态点赞。
Delete_thumbsup:用户调用此方法取消对歌手、歌曲、歌单、用户、评论、帖子、圈子或是动态的点赞。
Is_up:显示是否已点赞,不显示的调用。
3.7 关注类

| 属性 | 含义 |
|---|---|
| user_id | 用户id |
| to_user_id | 被关注用户id |
方法:
Add_follow:用户调用此方法添加对某个用户的关注。
Delete_follow:用户调用此方法删除对某个用户的关注。
Load_follow:用户在查看自己关注的人的页面调用此方法来加载自己所关注的人。
Is_follow:显示是否已关注,不显示的调用。
3.8 圈子类

| 属性 | 含义 |
|---|---|
| group_id | 圈子id |
| user_id | 圈子创建用户id |
| group_name | 圈子名称 |
| create_time | 创建时间 |
| info | 介绍信息 |
| thumbs_up_num | 点赞数 |
| follow_num | 关注数 |
方法:
Add_group:用户调用此方法来创建一个圈子。
Delete_group:用户或管理员调用此方法来解散一个圈子。
Load_group:用户在进入圈子页面时调用此方法来加载已加入圈子信息。
Invite_user:用户调用此方法来邀请其他用户加入相应圈子。
Manage_group:管理员调用此方法管理圈子
3.9 帖子类

| 属性 | 含义 |
|---|---|
| post_id | 帖子id |
| group_id | 帖子所属圈子id |
| user_id | 发帖用户id |
| title | 帖子标题 |
| content | 帖子内容 |
| create_time | 创建时间 |
| recent_time | 最新评论发表时间 |
| thumbs_up_num | 点赞数 |
方法:
Add_post:用户调用此方法来添加帖子。
Load_post:用户在进入具体圈子后调用此方法来加载该圈子下的帖子信息。
Delete_post:用户或管理员调用此方法来删除帖子
Modify_post:用户调用此方法来修改帖子信息。
3.10 个人动态类

| 属性 | 含义 |
|---|---|
| zone_id | 空间动态id |
| user_id | 动态所有者id |
| create_time | 创建时间 |
| content | 内容 |
| item_type | 动态的类型(音乐、圈子、歌单…) |
| item_id | (音乐、圈子、歌单…)的id |
| thumbs_up_num | 点赞数 |
方法:
Add_zone:用户调用此方法来添加个人动态。
Delete_zone:用户或管理员调用此方法来删除动态。
Load_zone:用户在进入动态页面调用此方法来加载一些动态。
Modify_zone:用户调用此方法来修改个人动态。
四、顺序图设计
4.1 关注用户流程
用户登录之后通过点击用户来到相应用户主页,并且点击关注,往数据库里添加关注数据信息之后成功返回。

4.2 添加帖子评论流程
用户首先找到自己加入的圈子,点击相应的圈子进行查看,查找到具体的帖子然后添加评论,往数据库里添加评论数据信息后成功返回。

4.3 封禁用户流程
管理员首先找到相应的圈子,查看里面某用户发布的帖子,判断帖子违规后,对用户进行限制发帖等措施。

4.4 删除评论流程
管理员首先查找到相应的用户,再找到该用户下面的违规评论,删除违规评论,删除成功并返回。

4.5 删除个人动态流程
管理员首先找到用户,再找到该用户下的违规个人动态,进行删除,删除成功并返回。

4.6 通过歌单查找歌曲流程
用户先搜索到想要的歌单,点开歌单后找到歌单中对应的歌曲。

4.7 通过歌手查找歌曲流程
用户先搜索到歌手,再找到该歌手下对应的歌曲。

4.8 加载帖子流程
用户先查找到圈子,再点击圈子加载该圈子下所有帖子。

4.9 加载动态流程
用户先找到关注的用户,再点开他的个人动态页面加载他的所有个人动态。

4.10 点赞动态流程
用户找到关注的用户,点开他的个人动态页面加载他的所有个人动态,然后对具体某一条个人动态进行点赞,往数据库中添加相应点赞信息之后成功返回。

Violet音乐社区设计文档的更多相关文章
- Violet音乐社区 - 个人总结报告
一.项目概述 1.1 项目背景 音乐是一门艺术,是由有组织的乐音来表达人们情感.反映人类现实生活情感的艺术.现代科技的发展使得人们可以利用网络随时随地的享受音乐,然而在当今互联网却很少有一个以音乐为媒 ...
- Violet音乐社区界面原型手册
目录 Violet音乐社区界面原型手册 一.引言 1.0 项目前阶段相关文档 1.1 编写目的 1.2 开发背景 二.界面原型展示 2.0 界面设计说明 2.1 首页 2.2 歌单/专辑/单曲界面 2 ...
- Violet音乐社区 - 总结报告
目录 一.项目概述 1.1 项目背景 1.2 编写目的 1.3 项目文档 1.4 项目源码 1.5 项目成果 二.个人工作总结 1.1 工作概览 1.1.1 作为项目组组长 1.1.2 作为项目组成员 ...
- Violet音乐社区需求分析说明书
目录 一.引言 1.1 编写目的 1.2 开发背景 1.3 开发工具 二.项目需求 2.1 角色定义 2.2 模块划分 2.3 功能概述 2.4 数据流图 三.前端页面 四.软件要求 4.1 性能要求 ...
- 厨娘ui设计文档
厨娘ui设计文档 一.概述 中国的饮食文化从古到今源远流长.在生活日益丰富的今天,人们对饮食的要求不仅仅是温饱,更讲究健康和美味.近年来,饮食甚至成为娱乐的一部分,关于吃的流行用语层出不穷,可见在当今 ...
- DDD领域驱动设计 - 设计文档模板
设计文档模板: 系统背景和定位 业务需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体 ...
- Atitit.atiagent agent分销系统 代理系统 设计文档
Atitit.atiagent agent分销系统 代理系统 设计文档 1. 启动项目1 2. 首也2 3. 登录功能2 4. 用户中心2 5. 充值查询3 6. 授权下级代理4 7. 我的提成5 ...
- Net 通用权限管理系统源码 带数据库设计文档,部署说明文档
Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389
- 基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案 郑昀 基于杨海波的设计文档(转)
郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档 ...
随机推荐
- vue项目的开发
vue项目的开发 我们已经通过命令行创建了一个vue项目,并且打开了这个项目.下面是这个文件的src文件夹,这个文件夹放了整个项目的核心代码. 一.vue文件的用处简介. 1.assets文件夹,用来 ...
- LAMP环境搭建与配置(1)
安装和配置MySQL.Apache.PHP 概念 LAMP是Linux Apache MySQL PHP 的简写,把Apache.MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的 ...
- [C]struct结构化数据的一些要点
1.用typedef声明一个短语代替冗长的struct成员声明 int main(void) { typedef struct Hores Hores; struct Hores { int age; ...
- BP_Adaboost 模型及其分类应用
一.BP_ Adaboost模型 Adaboost 算法的思想是合并多个“弱”分类器的输出以产生有效分类.其主要步骤为 : (1)首先给出弱学习算法和样本空间(x, y) ,从样本空间中找出 m 组训 ...
- flyway 非常坑爹的中文乱码问题
flyway 也真是够了, 动不动乱码,烦死了! 我的 命令是这样的: flyway -driver=com.mysql.jdbc.Driver -user=root -password=12345 ...
- Docker安全扫描工具之docker-bench-security
简介 Docker Bench for Security检查关于在生产环境中部署Docker容器的几十个常见最佳实践.这些测试都是自动化的,其灵感来自CIS Docker基准1.2.0版. 这种安全扫 ...
- What happened when new an object in JVM ?
原文链接:https://www.javaspring.net/java/what-happened-when-new-an-object-in-jvm I. Introduction As you ...
- sklearn集成支持向量机svm.SVC参数说明
经常用到sklearn中的SVC函数,这里把文档中的参数翻译了一些,以备不时之需. 本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方.(PS: libsvm中的二次规划问题的解 ...
- linux下的服务器上传与下载
上传 scp 文件 用户名@服务器ip 服务器保存路径 例如:scp bookmarks_2019_6_24.html root@192.168.0.103:/home 下载 scp 用户名@服务器i ...
- console 有没有小伙伴跟我一样想知道这个对象呢
晚上看了会代码,没什么简单又好分享的 -0- 突然想到console这个对象,就把它打印了出来看看吧 ; for(var key in console){ i++; ){ document.write ...