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 用户类型(游客、普通、管理员)

方法:

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音乐社区设计文档的更多相关文章

  1. Violet音乐社区 - 个人总结报告

    一.项目概述 1.1 项目背景 音乐是一门艺术,是由有组织的乐音来表达人们情感.反映人类现实生活情感的艺术.现代科技的发展使得人们可以利用网络随时随地的享受音乐,然而在当今互联网却很少有一个以音乐为媒 ...

  2. Violet音乐社区界面原型手册

    目录 Violet音乐社区界面原型手册 一.引言 1.0 项目前阶段相关文档 1.1 编写目的 1.2 开发背景 二.界面原型展示 2.0 界面设计说明 2.1 首页 2.2 歌单/专辑/单曲界面 2 ...

  3. Violet音乐社区 - 总结报告

    目录 一.项目概述 1.1 项目背景 1.2 编写目的 1.3 项目文档 1.4 项目源码 1.5 项目成果 二.个人工作总结 1.1 工作概览 1.1.1 作为项目组组长 1.1.2 作为项目组成员 ...

  4. Violet音乐社区需求分析说明书

    目录 一.引言 1.1 编写目的 1.2 开发背景 1.3 开发工具 二.项目需求 2.1 角色定义 2.2 模块划分 2.3 功能概述 2.4 数据流图 三.前端页面 四.软件要求 4.1 性能要求 ...

  5. 厨娘ui设计文档

    厨娘ui设计文档 一.概述 中国的饮食文化从古到今源远流长.在生活日益丰富的今天,人们对饮食的要求不仅仅是温饱,更讲究健康和美味.近年来,饮食甚至成为娱乐的一部分,关于吃的流行用语层出不穷,可见在当今 ...

  6. DDD领域驱动设计 - 设计文档模板

    设计文档模板: 系统背景和定位 业务需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体 ...

  7. Atitit.atiagent  agent分销系统 代理系统 设计文档

    Atitit.atiagent  agent分销系统 代理系统 设计文档 1. 启动项目1 2. 首也2 3. 登录功能2 4. 用户中心2 5. 充值查询3 6. 授权下级代理4 7. 我的提成5 ...

  8. Net 通用权限管理系统源码 带数据库设计文档,部署说明文档

    Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389

  9. 基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案 郑昀 基于杨海波的设计文档(转)

    郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档 ...

随机推荐

  1. PMBOK 指南 第二章 项目运行环境

    2.1概述 事业环境因素(EEF)源于项目外部(往往企业外部) 组织过程资产(OPA)源于企业内部 2.2 事业环境因素 项目团队不能控制 2.2.1 组织内部的事业环境因素 组织文化.结构和治理 设 ...

  2. sql server重建全库索引和更新全库统计信息通用脚本

    重建全库索引: exec sp_msforeachtable 'DBCC DBREINDEX(''?'')' 更新全库统计信息: --更新全部统计信息 exec sp_updatestats 实例反馈 ...

  3. Linux Pptpd

    准备环境 1 主机ip:192.168.0.107 2 VPN服务器: ens32:192.168.0.102 ens33:127.16.1.10 软件安装 [root@localhost ~]# y ...

  4. Spring Boot 处理异常返回json

    spring boot 老版本处理异常  对于浏览器客户端,返回error数据 对于非浏览器返回json数据, 主要取决于你的请求head 是什么 但是当我们自定义了:  老版本无论请求什么都会返回j ...

  5. PlayJava Day030

    1.实例化Class类对象 //第一种,可靠高效 Class c0 = String.class ; //第二种,使用对象 Class c1 = "zhangsan".getCla ...

  6. Axure制作dialog效果的动作步骤

    1.在Axure中添加一个弹框按钮  2.将动态面版拖动到界面中    3.双击动态面版,双击state  4.拖入一块图片占位符进来    5.设置图片  6.回到上一个界面设置动态面版的大小,使其 ...

  7. 团队项目之Scrum6

    小组:BLACK PANDA 时间:2019.11.26 每天举行站立式会议 提供当天站立式会议照片一张 2 昨天已完成的工作 2 编辑功能优化 实现主页内容展示 今天计划完成的工作 2 内容展示 根 ...

  8. QT--吃月亮小游戏

    QT--吃月亮小游戏 简介: 该设计使用了鼠标事件.键盘事件.绘图事件,可通过鼠标或者方向键控制人物移动吃到月亮 代码: 1.widget.h文件: #ifndef WIDGET_H #define ...

  9. 2019/12/12学习内容摘要(Linux系统用户与用户组管理②)

    5.命令 chfn 用于修改用户的finger (finger为 /etc/passwd 文件第五个字段中显示的信息) 三,用户密码管理 1.命令passwd  格式 passwd [username ...

  10. 附002.Minikube介绍及使用

    一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...