项目简介
南波万的聚会是一个专为名侦探学院院人的粉丝打造的综合娱乐平台。该平台汇集了名侦探学院院人所录制的综艺节目和发布的歌曲,为用户提供了一个便捷、丰富的娱乐体验空间。通过该应用,用户可以观看综艺和听歌,并享受在线观看、快捷搜索、收藏等功能。
此文档主要描述本项目PC端及微信端的功能点、以及部分交互细节。本文档的主要读者为前端工程师以及后端工程师。
系统概述
一、系统定义
南波万的聚会是一个专为名侦探学院院人的粉丝打造的综合娱乐平台。该平台集成了综艺管理、音乐管理、院人信息管理、壁纸管理以及收藏综艺与音乐等多个核心功能模块。
综艺管理:管理院人参加的综艺的基本信息
音乐管理:管理院人发表的歌曲,以及所在的专辑详情,方便学分(用户)快速的查询和欣赏音乐
院人信息管理:管理院人的基本信息,方便新粉快速了解院人
壁纸管理:上传院人的照片可以方便学分用户点击保存
收藏综艺与音乐:实现用户点击收藏即可添加到用户喜欢列表处
二、用户角色
管理员:拥有最高权限,负责系统设置、权限分配、数据备份与恢复等维护工作,以及整体业务运营的分析与决策。
学分用户:通过系统观看综艺和听歌
系统架构
南波万的聚会综合娱乐平台采用B/S(浏览器/服务器)架构,前端使用现代Web技术(如HTML5、CSS3、JavaScript及前端框架)构建用户友好的交互界面;后端则基于稳定的服务器平台(如Linux/Windows),结合高效的数据库管理系统SQL server和.NET Core框架开发业务逻辑层,确保系统的高性能与可扩展性。同时,系统支持云部署与本地部署两种方式。
功能需求
一、综艺管理
1.综艺观看:
平台将定期更新名侦探学院院人参与的综艺节目,用户可以直接在平台上点击观看。
2.快捷搜索:
平台内置强大的搜索功能,用户可以通过输入综艺名称、关键词快速定位到想要观看的综艺内容。
二、音乐管理
1.歌曲收藏:
平台汇集了名侦探学院院人发布的歌曲,用户可以在平台上直接点击播放。用户可以创建自己的播放列表,将喜欢的歌曲添加到列表中,方便随时收听。
2.循环播放音乐:
点击专辑页面可以循环播放专辑内的内容
3.查看专辑详情:
点击专辑封面可以跳转到对应的专辑详情页面,有详细的专辑介绍
三、用户信息管理
支持用户修改个人信息、设置头像和背景、修改密码和用户名
四、系统管理
角色管理:
支持系统角色查询、编辑。
系统还原:
支持系统数据库还原、设置初始管理员账户。
功能概要
综艺管理 | 搜索综艺列表 |
综艺页面是否可以顺利播放 | |
点击进入综艺页面时加载不出来的时候的页面 | |
综艺列表页面要求美观 | |
音乐管理 | 点击按钮可以暂停/播放歌曲 |
可以循环播放歌单的歌曲 | |
查看专辑详情 | |
用户信息管理 | 修改个人信息 |
设置头像和背景 | |
修改密码和用户名 | |
系统管理 | 角色管理 |
数据库还原或备份 |
非功能性需求
一、性能要求
响应时间:
系统应确保在用户进行常规操作时,如查询顾客信息、预约服务等,响应时间不超过2秒。对于复杂查询或大量数据处理操作,响应时间应控制在合理范围内,并给出明确的加载提示。
吞吐量:
系统应能够处理高并发访问,支持至少1000个并发用户同时在线操作,保证系统在高负载情况下仍能稳定运行。
资源利用率:
系统应合理优化资源使用,确保CPU、内存、磁盘I/O等资源的利用率在合理范围内,避免资源浪费和瓶颈产生。
可扩展性:
系统应具备良好的可扩展性,能够轻松应对未来用户数量增长、数据量增加以及业务功能扩展的需求。
二、可用性
易用性:
系统界面应简洁明了,操作流程符合用户习惯,提供清晰的操作指引和帮助文档,降低用户学习成本。
可靠性:
系统应具备高可靠性,确保长时间稳定运行,减少故障发生概率。对于可能出现的故障,应有快速恢复机制,确保业务连续性。
容错性:
系统应具备一定的容错能力,对于用户输入错误、网络异常等外部因素导致的问题,应能够给出明确的错误提示并允许用户重新操作。
可维护性:
系统应采用模块化设计,各功能模块之间松耦合,便于维护和升级。同时,应提供完善的日志记录和监控功能,便于快速定位和解决问题
三、兼容性
浏览器兼容性:
系统应支持主流浏览器(如Chrome、Firefox、Safari、Edge等)的访问,确保在不同浏览器上都能正常显示和操作。
操作系统兼容性:
系统应支持多种操作系统(如Windows、Linux、MacOS等)的客户端或服务器端部署,满足不同用户的使用需求。
移动设备兼容性:
系统应提供响应式布局或专门的移动应用版本,确保在手机、平板等移动设备上也能良好运行和访问。
第三方软件兼容性:
系统应与常见的第三方软件(如支付接口、短信服务、邮件服务等)兼容,确保集成过程中的顺利对接和数据交换。
硬件兼容性:
系统应支持多种硬件配置,包括不同型号的服务器、存储设备等,确保在不同硬件环境下都能稳定运行。
数据库设计
一、数据库概念设计
综艺表:综艺id、综艺名、播出平台、地区、综艺类型、介绍、主持人、嘉宾、综艺封面、播放链接、更新期数、开播日期、创建日期
综艺系列表:系列id、系列名、创建日期
综艺系列中间表:id、系列id、综艺id、创建日期
音乐表:音乐id、歌曲名、歌手名、封面图片、播放链接、描述、创建日期
专辑表:专辑id、专辑名、专辑介绍、发行公司、发行时间、创建日期
专辑和音乐的中间表:表id、专辑id、歌曲id、创建日期
院人信息表:id、院人姓名、介绍、毕业院校、出生日期、代表作、籍贯、照片、创建日期
壁纸表:id、壁纸链接、备注、创建日期
院人和壁纸中间表:id、壁纸id、学长id、创建日期
院人和音乐中间表:id、音乐id、学长id、创建日期
学分用户信息表:id、自定义ID、用户名、密码、性别、出生日期、个性签名、手机号码、真实姓名、状态、创建日期
角色表:主键Id、角色名称、角色代号、描述、创建日期
用户角色表:主键Id、用户id、角色id、创建日期
用户收藏音乐表:id、音乐id、用户、创建日期
用户收藏综艺表:id、综艺id、用户、创建日期
首页推送表:id、推送id、类型、创建日期
句子表:id、句子、创建日期
二、数据库物理设计
表1-表名:综艺表(bno_Variety) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | 综艺id | ID | int | 否 | TRUE | |
2 | 综艺名 | VarietyName | varchar(36) | 否 | ||
3 | 播出平台 | PlayPlatform | varchar(32) | 否 | 芒果/优酷/爱奇艺/腾讯 | |
4 | 地区 | Area | varchar(10) | 否 | 中国大陆/中国澳门 | |
5 | 综艺类型 | Type | varchar(36) | 是 | 益智/真人秀/竞技 | |
6 | 介绍 | Introduction | varchar(256) | 是 | ||
7 | 主持人 | Leader | varchar(36) | 是 | ||
8 | 嘉宾 | Guests | varchar(128) | 是 | ||
9 | 综艺封面 | ImageUrl | varchar(256) | 否 | ||
10 | 播放链接 | PlayUrl | varchar(256) | 否 | ||
11 | 更新期数 | EpisodesNumber | int | 否 | 0:持续更新 (大于1的为更新期数) | |
12 | 开播日期 | BroadcastTime | datetime | 是 | ||
13 | 创建日期 | CreateTime | datetime | 否 | ||
表2-表名:综艺系列表(bno_VarietySeries) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | 系列id | ID | int | 否 | TRUE | |
2 | 系列名 | SeriesName | varchar(36) | 否 | 密室大逃脱/名侦探学院 | |
3 | 创建日期 | CreateTime | datetime | 否 | ||
表3-表名:综艺系列中间表(bno_Variety_VarietySeries) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 系列id | SeriesID | int | 否 | ||
3 | 综艺id | VarietyID | int | 否 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表4-表名:音乐表(bno_Music) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | 音乐id | ID | int | 否 | TRUE | |
2 | 歌曲名 | MusicName | varchar(36) | 否 | 数星一整夜 | |
3 | 歌手名 | SingerName | varchar(36) | 否 | 石凯 | |
4 | 封面图片 | ImageUrl | varchar(256) | 否 | ||
5 | 播放链接 | PlayUrl | varchar(256) | 否 | ||
6 | 描述 | Describe | varchar(128) | 是 | 首张专辑 | |
7 | 创建日期 | CreateTime | datetime | 否 | ||
表5-表名:专辑表(bno_Album) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | 专辑id | ID | int | 否 | TRUE | |
2 | 专辑名 | AlbumName | varchar(36) | 否 | ||
3 | 专辑介绍 | Introduction | varchar(256) | 是 | ||
4 | 发行公司 | IssuingCompany | varchar(36) | 是 | ||
5 | 发行时间 | ReleaseTime | datetime | 是 | ||
6 | 创建日期 | CreateTime | datetime | 否 | ||
表6-表名:专辑和歌曲中间表(bno_Album_Music) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | 表id | ID | int | 否 | TRUE | |
2 | 专辑id | AlbumID | int | 否 | ||
3 | 歌曲id | MusicID | int | 否 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表7-表名:院人信息表(bno_bnoInfo) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 院人姓名 | Name | varchar(36) | 否 | ||
3 | 介绍 | Introduction | varchar(256) | 是 | ||
4 | 毕业院校 | Education | varchar(32) | 是 | ||
5 | 出生日期 | Birthday | datetime | 是 | ||
6 | 代表作 | RepresentativeWorks | varchar(128) | 是 | ||
7 | 籍贯 | Location | varchar(32) | 是 | ||
8 | 照片 | ImageUrl | varchar(256) | 是 | ||
9 | 创建日期 | CreateTime | datetime | 否 | ||
表8-表名:壁纸表(bno_Wallpaper) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 壁纸链接 | ImageUrl | varchar(36) | 否 | ||
3 | 备注 | Remark | varchar(256) | 是 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表9-表名:院人和壁纸中间表(bno_BnoInfo_Wallpaper) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 壁纸id | WallpaperID | int | 否 | ||
3 | 学长id | BnoID | int | 否 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表9-表名:院人和音乐中间表(bno_BnoInfo_Music) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 音乐id | MusicID | int | 否 | ||
3 | 学长id | BnoID | int | 否 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表10-表名:学分用户信息表(bno_BnoUserInfo) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 自定义ID | BnoID | varchar(32) | 否 | ||
3 | 用户名 | UserName | varchar(36) | 否 | ||
4 | 密码 | PassWord | varchar(256) | 是 | ||
5 | 性别 | Sex | varchar(36) | 是 | ||
6 | 出生日期 | Birthday | datetime | 是 | ||
7 | 个性签名 | personalSignature | varchar(256) | 是 | ||
8 | 手机号码 | Telephone | int | 是 | ||
9 | 真实姓名 | RealName | varchar(36) | 是 | ||
10 | 状态 | State | int | 否 | 0:使用中 1:注销 | |
11 | 创建日期 | CreateTime | datetime | 否 | ||
表11-表名:角色表(bno_BnoRole) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | 主键Id | Id | int | 否 | TRUE | |
2 | 角色名称 | RoleName | varchar(32) | 否 | ||
3 | 角色代号 | RoleCode | varchar(32) | 否 | ||
4 | 描述 | Description | varchar(128) | 否 | ||
5 | 创建日期 | CreateTime | datetime | 否 | ||
表12-表名:用户角色表(bno_UserRoleInfo) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | 主键Id | Id | int | 否 | TRUE | |
2 | 用户id | UserId | int | 否 | ||
3 | 角色id | RoleId | int | 否 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表13-表名:用户收藏音乐表(bno_MusicCollection) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 音乐id | MusicID | int | 否 | ||
3 | 用户 | UserId | int | 是 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表14-表名:用户收藏综艺表(bno_VatityCollection) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 综艺id | VatityID | int | 否 | ||
3 | 用户 | UserId | int | 是 | ||
4 | 创建日期 | CreateTime | datetime | 否 | ||
表15-表名:首页推送表(bno_Commend) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 推送id | CommendID | int | 否 | ||
3 | 类型 | Class | int | 否 | 1:综艺 2:音乐 3:壁纸 | |
4 | 创建日期 | CreateTime | datetime | 否 | ||
表16-表名:句子表(bno_Sentence) | ||||||
序号 | 字段显示 | 字段名 | 数据类型 | 是否为空 | 主键 | 备注 |
1 | id | ID | int | 否 | TRUE | |
2 | 句子 | Sentence | varchar(256) | 否 | ||
3 | 创建日期 | CreateTime | datetime | 否 |
界面与交互设计
一、移动端
展示部分页面
开发实施和运维
一、开发计划
表 1 开发计划表:
阶段 | 时间范围 | 主要任务 | 负责人 |
需求分析 | 第1-2周 | 1.收集并整理功能需求 | 项目经理 |
2.编写需求规格说明书 | 项目经理, 客户代表 | ||
3.需求评审与确认 | 项目团队, 客户 | ||
系统设计 | 第3-4周 | 1. 系统架构设计 | 技术负责人 |
2. 数据库设计与建模 | 数据库工程师 | ||
3. 接口设计(API、UI等) | 前后端开发人员 | ||
4. 设计评审与文档编写 | 项目团队 | ||
编码实现 | 第5-12周 | 1. 分模块编码(如用户管理、订单处理等) | 开发人员 |
2. 代码审查与合并 | 开发人员, 技术负责人 | ||
3. 编写单元测试 | 开发人员 |
表 2 功能开发计划表:
功能 | 时间 | 功能描述 | 负责人 |
登录 | 1天 | 1.用户输入正确的账号、密码、验证码提示登录成功并跳转到系统首页。 | 开发人员小杨 |
注册 | 1天 | 1.用户输入账号、密码、手机号、性别等信息,注册成功跳转到登录页面。 | 开发人员小杨 |
综艺观看 | 5天 |
| 开发人员小杨 |
听歌 | 7天 |
| 开发人员小杨 |
收藏 | 7天 | 1.点击对应的综艺和音乐,用户可以实现搜索的功能 | 开发人员小杨 |
个人信息页面 | 3天 |
| 开发人员小杨 |
二、测试计划
表 3 测试计划表:
测试类型 | 测试时间 | 测试内容 | 负责人 |
单元测试 | 编码期间并行进行 | 1.各模块功能单元测试 | 开发人员杨斯婷 |
集成测试 | 第13-14周 | 1.模块间接口与交互测试 | 集成测试工程师 |
2.集成后功能验证 | 集成测试工程师 | ||