4 系统设计
4.1 系统概要
在对该方法进行了系统的解析之后,进行了一个包括了整体和细节的记性系统的设计。整体的设计仅仅是一个整体的方案,通过整体的方案,我们可以将整个体系中的某些部分分割开来,比如文件,文档,数据等等。经过整体的规划,我们可以将这些软件的各个部分,都分成了不同的部分。不过这仅仅是一种初步的分类,并未实际实施。
总体来说,这是一个初步的方案,也是一个工程。我们可以进行多种方案的综合,在比较中,从性能、成本、效益三方面进行比较,最后得出最佳的产品,选用好的总体设计能够减少成本,提高效益,从这一点来讲,整体设计非常重要的。
音乐欣赏与推荐网站工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2 系统结构设计
构图是系统的体系结构,体系结构是体系结构体系的一部分,体系结构体系是体系结构体系的重要组成部分。音乐欣赏与推荐网站的整体结构设计如图4-2所示。
图4-2 系统整体架构图
4.3数据库设计
在电脑资讯系统中,以资料库为基础。当前计算机体系中最重要的是数据库。数据库的发展好坏,直接关系到整个系统的性能与运行效率。
4.3.1 数据库设计原则
利用 ER模式进行数据库的概念结构设计。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是一个关于工作环境中的事件的信息,而一个属性是关于物理特征的说明。在系统的设计过程中,资料库发挥了关键作用。下面设计出这几个关键实体的实体—关系图。
4.3.2 数据库实体
在一个资料模式中,一个被称作“实例”的实体,与真实的“事件”或者“物体”相匹配,可以与其它物体区分开来。例如,公司中的每个员工,家里中的每个家具。
本系统的E-R图如下图所示:
1、 用户信息E-R图如图4-3所示:
图4-3用户信息E-R图
2、音乐信息E-R图如图4-4所示:
图4-4音乐信息E-R图
3、热门音乐E-R图如图4-5所示:
图4-5热门音乐E-R图
4.3.3 数据库表设计
音乐欣赏与推荐网站有一个内部数据库。对于数据库系统设计一般基于对我国现有数据库系统进行优化管理的操作系统。通常广泛采用的数据库资源管理软件系统主要类型包括mysqlserver、mysql、oracle等。该管理系统主要采用了mysql大型数据库资源管理软件。
下表将详细列出音乐欣赏与推荐网站的数据库中所有列表。每一份量表的设计成果列出数据库的表信息属于设计的一部分,下面介绍数据库中的各个表的详细信息。
表4-1:菜单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
menujson | longtext | 4294967295 | 菜单 |
表4-2:音乐信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-3:热门音乐评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-4:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghumima | varchar | 200 | 用户密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
shoujihaoma | varchar | 200 | 手机号码 |
表4-5:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-6:音乐信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
songname | varchar | 200 | 歌名 | ||
songfile | longtext | 4294967295 | 音乐文件 | ||
singer | varchar | 200 | 歌手 | ||
fengmian | longtext | 4294967295 | 封面 | ||
zhuanjimingcheng | varchar | 200 | 专辑名称 | ||
geci | longtext | 4294967295 | 歌词 | ||
faxingriqi | date | 发行日期 | |||
yinleleixing | varchar | 200 | 音乐类型 | ||
yinlebiaoqian | varchar | 200 | 音乐标签 | ||
storeupnum | int | 收藏数量 | |||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | |||
thumbsupnum | int | 赞 | |||
crazilynum | int | 踩 |
表4-7:音乐类型
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yinleleixing | varchar | 200 | 音乐类型 |
表4-8:管理员
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
username | varchar | 200 | 用户名 | ||
password | varchar | 200 | 密码 | ||
role | varchar | 200 | 角色 |
表4-9:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-10:我的收藏
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | refid | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | ||
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 | ||
userid | bigint | 用户id |
表4-11:热门音乐
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yinleleixing | varchar | 200 | 音乐类型 | ||
fengmian | longtext | 4294967295 | 封面 | ||
zhuanji | varchar | 200 | 专辑 | ||
shizhang | varchar | 200 | 时长 | ||
faxingriqi | date | 发行日期 | |||
songname | varchar | 200 | 歌名 | ||
songfile | longtext | 4294967295 | 音乐文件 | ||
singer | varchar | 200 | 歌手 | ||
thumbsupnum | int | 赞 | |||
crazilynum | int | 踩 |
表4-12:音乐资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
4.4 系统时序图
4.4.1 注册时序图
注册时序图,如图4-1所示。
图4-1 注册时序图
4.4.2 登录时序图
登录时序图如图4-2所示。
图4-2 登录时序图
4.4.3 管理员修改用户信息时序图
管理员修改用户信息时序图如图4-3所示。
图4-3 管理员修改用户信息时序图
4.4.4 管理员管理系统信息时序图
管理员管理系统信息时序图如图4-4所示。
图4-4管理员管理系统信息时序图
5 系统的实现
5.1 基本任务
该系统的实施方式是指能精确地描绘要实施的对象,以便后续的代码可以按照系统的实际情况用编程的方式来写相应的软件。
系统实现的基本任务如下:
(1)模块的数据结构进行设计,在之前的需求分析、概要设计中更加明确地界定更加含糊的资料类型。
(2)更加精确地对每个模板进行了更加细致的算法设计,并对每个组件的处理过程进行了算法的说明。
(3)执行实体化的资料库。
(4)其他设计:有时候,还要考虑到系统的不同,如:输入/输出格式设计、代码设计、人机对话设计等。
(5)对系统的说明书进行编写。
(6)评审:审查程序中的规则和数据库的实体构造。
系统结构可分为具有三个不同功能的包的java源代码、系统的数据库文件、界面代码。java源代码中三个不同包分别为控制、逻辑、缩写层,分别控制也不同的程序具有不同的性质。有了他们就能对系统的数据进行增删改查,完成界面的显示和数据统计,产生随机数和属性文件的读取。定时器类、翻页工具类等,包含了日期转换、字符串处理、获取编译环境等信息。这些类极大地方便了Java编程,日常开发中,经常要用来这些类。
5.2 前台用户功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到音乐欣赏与推荐网站的导航条显示首页、音乐信息、热门音乐、个人中心。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示:
图5-2用户注册界面图
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示:
图5-3用户登录界面
用户点击音乐信息,在音乐信息页面的搜索栏输入歌名,进行查询,然后查看歌名、音乐文件、歌手、封面、专辑名称、发行日期、音乐类型、音乐标签等;还可以进行收藏或者评论等操作;如图5-4所示:
图5-4音乐信息页面
用户点击热门音乐,在热门音乐页面的搜索栏输入歌名、歌手,进行查询,然后查看音乐类型、封面、专辑、时长、发行日期、歌名、音乐文件、歌手等;还可以进行点赞、评论等操作;如图5-5所示:
图5-5热门音乐页面
在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对修改密码、兑换订单、订单发货、订单签收、答题测试记录、错题本、我的收藏进行详细操作,如图5-6所示:
图5-6个人中心界面
5.3 后台管理员功能模块
管理员登录,通过登录页面填写用户名、密码、角色,点击登录,如图5-7所示。
图5-7管理员登录界面图
管理员登录进入音乐欣赏与推荐网站可以对首页、轮播图管理、管理员管理、音乐资讯管理、音乐信息管理、热门音乐管理等功能,进行详细操作,如图5-8所示。
图5-8管理员功能界面图
音乐资讯功能在视图层(view层)进行交互,比如点击“新增”按钮或填写音乐资讯表单。这些音乐资讯动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增、更新或删除音乐资讯,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便音乐资讯功能可以看到最新的信息或相应的操作反馈。在音乐资讯页面的输入栏中输入标题进行搜索,可以查看到音乐资讯详细信息,并根据需要进行修改或者删除等操作;如图5-9所示。
图5-9音乐资讯界面图
音乐信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写音乐信息表单。这些音乐信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增、更新或删除音乐信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便音乐信息功能可以看到最新的信息或相应的操作反馈。在音乐信息页面的输入栏中输入歌名、歌手、音乐标签进行搜索,可以查看到音乐信息详细信息,并根据需要进行修改或者删除等操作;如如图5-10所示。
图5-10音乐信息界面图
管理员点击热门音乐,在热门音乐页面中可以对音乐类型、封面、专辑、时长、发行日期、歌名、音乐文件、歌手等信息,可以进行搜索、新增或者删除热门音乐等操作,如图5-11所示。
图5-11热门音乐界面图
管理员登录进入音乐欣赏与推荐网站进行不同模块信息管理的总体流程图如图5-12所示。
6 系统测试
6.1 测试环境
音乐欣赏与推荐网站的测试环境如表6-1所示。
分类 | 名称 | 版本 |
操作系统 | Windows | 7 |
数据库 | MySQL | 8.0 |
浏览器 | Chrome | 87.0.4280.88 |
6.2 测试目的
在本系统中,主要测试前台和后台,分别对系统的不同模块进行测试,比如用户登录等功能是否实现,实现过程中是否出现问题等。是否能够处理不同的数据。前台主要测试:用户界面的实现和不同界面的交互情况,后台主要测试系统经过管理后前后台链接是否顺畅,前台界面是否及时更新,更新是有误[13]。
6.3 测试概述
(1)测试应该以用户的需要为基础。从用户的观点来考虑,最大的问题是软件不能达到用户的预期。有时候,软件产品的测试结果非常完美,但却不是客户最终想要的产品,那么软件产品的开发就是失败的,而测试工作也是没有任何意义的。因此测试应依照客户的需求配置环境,并且按照客户的使用习惯进行测试并评价结果。
(2)尽早测试。由于软件开发过程中的各种不同的环节都会出现问题,所以要及早进行测试,将软件的检测工作渗透到整个软件的整个寿命过程,使测试者可以及早地察觉并防止这些缺陷。减少了 bug修理费用。
(3)穷尽测试是不可能的。因为受时间和财力的制约,无法实现所有不同的输入和输出的综合测试,测试者能够基于测试的风险和轻重缓急等来决定测试的重点,由此来进行测试,并在测试成本、风险和收益间找到一个平衡点。
这是因为测试者不能按时进行测试案例的升级,也可能是因为他们太了解测试案例和目标而导致的。
2.测试的方法
测试方法主要有人工测试和机器测试两种测试方法。
(1)人工测试
人工测试又称代码复审,包括个人复查、走查、会审三种方法。
(2)机器测试
计算机检测有两种方式:黑盒测试和白盒测试。黑盒测试:从外观上找出它的缺点和错误。黑盒测试是在编程接口上进行的,它仅仅是为了检验样品的执行情况,而不是根据要求规范的要求进行;白盒测试:对软件的内在构造进行了剖析,即在编程接口上进行了试验,其目的仅仅在于检验样品的执行情况,而不能满足要求规范的要求,检测来寻找问题。
在最终的检测中,本研究采取了将后黑盒子检测与白盒子检测相融合的方式。黑箱试验是为了对系统的输入、输出性能进行测试,以发现其性能上的误差和潜在的不足。白箱试验的目的是为了检测程序和程序的运行路线,从而找出运行中的问题。该系统有两种方式:单位试验和综合试验。
6.4 单元测试
6.4.1 注册测试
在对注册模块进行测试时,先键入用户名和密码等信息,再按下注册键测试是否能正常注册系统。如果信息填写错误,能否弹出弹框,用来提示用户何处输入错误。
注册测试用例如下表所示。
表6-2注册测试用例
测试模块 | 用户注册模块测试 |
测试目的 | 测试当注册信息输入不符合要求时,系统是否能进行相应处理并给出提示。 |
测试方法 | 黑盒测试 |
测试数据 | 1不输入用户名和密码,直接点击注册。 2输入未注册过的用户名。例如:qwer 3输入正确用户名,两次密码不一样。例如:用户名qwerty、密码 0001,确认密码1111 |
预期结果 | 1 界面不跳转,弹出对话框,提示用户输入必填项。 2界面跳转,弹出对话框,提示用户注册成功。 3界面不跳转,弹出对话框,提示两次密码不一致。 |
实际结果 | 与预期结果相同。 |
结论 | 注册模块实现成功。 |
6.4.2 登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮,如果信息添加正确,是否正常进入系统首页。如果信息填写错误,能否弹出弹框,提示用户信息输入有误。登录测试用例如下表所示。
表6-3登录测试用例
测试模块 | 用户登录模块测试 |
测试目的 | 测试当登录信息输入不符合要求时,系统是否能进行相应处理并给出提示。 |
测试方法 | 黑盒测试 |
测试数据 | 1不输入用户名和密码,直接点击登录。 2输入未注册过的用户名。例如:qwertyu 3输入正确用户名,错误密码。例如:用户名qwertyu、密码 000 4输入正确用户名,正确匹配密码。例如:用户名qwertyu、密码 111 |
预期结果 | 1 界面不跳转,弹出对话框,提示用户输入必填项。 2界面不跳转,弹出对话框,提示用户当前用户名尚未注册。 3界面不跳转,弹出对话框,提示用户密码错误。 4界面实现跳转,登录功能正常进行。 |
实际结果 | 与预期结果相同。 |
结论 | 登录模块实现成功。 |
6.5 集成测试
集成测试的方案主要如下所述:
(1)在完成安装部署后,将该系统移植到其他电脑,并可以顺利地运行该系统。
(2)用户信息管理模块综合测试,新增一个新的使用者 qq,指定一个普通的角色,查看普通角色的特权,并储存设定。作为 qq 登录,以了解所具有的权利。
(3)根据音乐欣赏与推荐网站的具体设计和实施,采用多种角色的方式,对各个模块的性能进行检测,并检测各个模块之间的逻辑功是否正确。
通过实验证明,该开发的系统能够满足音乐欣赏与推荐网站程序和基础需求。
本地小程序商城开发公司武汉最新新闻疫情网络项目资源html网页制作表单欢迎访问上海人才网微信小程序开发平台官方做跨境电商的流程家具单页设计国外香精网站站酷网素材图库购买划算吗?网站风格指什么如何网址创建快捷方式哪家小程序开发公司排名游戏开发网页游戏开发优化方案及方法互联网服务平台单位用户怎么办理企业信息系统模型机床编程入门先学什么莆田人口无锡广告公司有哪些汽车网站源码策划公司宣传文章优化为什么软通动力一直招人益阳做网站网络推广员砍价二维码怎么设置学习软件库html代码行缩进快捷键响应式布局有什么用购买网站服务器需要多少钱如何维护管理公司网站内容