• 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 点赞动态流程

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

  • 相关阅读:
    SetConsoleScreenBufferSize 函数--设置控制台屏幕缓冲区大小
    GetConsoleScreenBufferInfo 函数--获取控制台屏幕缓冲区信息
    CONSOLE_SCREEN_BUFFER_INFO 结构体
    GetStdHandle 函数--获取标准设备的句柄
    设计模式之代理模式(Proxy Pattern)_远程代理解析
    设计模式之状态模式(State Pattern)
    设计模式之组合模式(Composite Pattern)
    设计模式之迭代器模式(Iterator Pattern)
    设计模式之模版方法模式(Template Method Pattern)
    设计模式之外观模式(Facade Pattern)
  • 原文地址:https://www.cnblogs.com/Keadin/p/11885656.html
Copyright © 2020-2023  润新知