广东工业大学数据库课设(点歌系统)

本文档详述了一款基于Java和MySQL的卡拉OK点歌系统设计,包括需求分析、概要设计、详细设计和系统实现。系统采用前后端分离,实现了用户登录、歌曲和歌手管理、账单操作等功能。使用MVC架构,通过JDBC与数据库交互,前端使用Javax.swing。此外,文档还涵盖了数据库设计和系统实现的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本论文主要是对卡拉OK点歌系统的设计过程,后端设计,前端设计,数据库设计的分析。结合软件工程已经数据库系统概论所学知识,详细内容是系统的实现背景,设计过程,功能的实现以及部分的个人感悟。

前言:需要一定的java基础,数据库基础,如何实现图形化界面等,请自行了解整体框架结构,java如何进行数据库的连接等,仅作参考,直接抄估计是运行不了的,运行截图上传不了

其中系统界面的实现部分非常简略,部分功能重复,请酌情参考

目 录

一:绪论 1

1.1 选题介绍 1

1. 2 技术介绍                                                              1

二、需求分析 2

2.1 普通用户 2

2.2 信息需求                                                                     2

2.3 功能分析 2

三、概要分析 3

3.1 数据库设计                                                                   4

3.1.1 E-R图 5

3.2 系统设计                                                                     6

3.2.1系统项目目录 6

3.2.2 分层结构 7

3.2.3 系统功能用例图 8

四:详细设计 9

4.1 数据库设计 9

4.1.1 表格信息 9

4.1.2 表格结构 9

4.2 系统设计 10

4.2.1 MVC架构实现 10

4.2.2 图形化界面 11

五、系统的实现 15

5.1 主要开发技术 16

5.2 开发环境 16

5.3 业务核心模块实现 16

六、回顾与展望 29

致谢 30

__附. 参考文献 31

1  绪 论

1.1选题介绍

我的选题是卡拉OK点歌系统,该系统与现实生活中的KTV点歌,网络上的音乐播放器息息相关。只有拥有账号的用户才能登入系统,对数据库进行操作,和现实生活中的卡拉OK点歌机功能贴近,登入系统后,可以根据歌曲名,歌曲类型,歌手等信息进行检索,找到想要的信息,通过点歌生成账单,结账完成账单,

本系统进行了前后端分离,用户可以通过简单的图形化界面操作数据库,前端主要是图形化接麦你的设计开发以及数据传递,后端则是数据传递,业务功能实现等。

 1.2技术介绍

  1. 前端

调用包:Javax.swing.*

  1. 后端

项目构建:jdk1.8

加密:MD5

  1. 数据库

MySQL8.0.26


2 需求分析

2.1普通用户

登录系统、机器状态管理,歌曲列表管理、歌手列表管理、账单列表管理、结账功能

2.2信息需求

  1. 登录信息:登录编号,登录人名,登录账号,登录密码
  2. 歌曲信息:歌曲编号,歌曲名,歌手名,歌曲类型,单曲价格
  3. 歌手信息:歌手名
  4. 账单信息:账单编号,歌曲名,点歌数目,总金额,点歌日期,支付方式
  5. 机器信息:机器编号,机器状态,预定机器人姓名,预定人电话

2.3功能分析

1、登录系统

根据用户输入的用户名和密码,进行方法调用,判定是否为数据库中的用户

若是则可登入系统,进行后续操

2、显示机器状态

对于机器信息表的查询

3、预定机器

根据用户输入的机器编号,预订人,预定电话,对机器信息表进行更新操作

4、显示所有歌曲

对歌曲信息表进行遍历查询操作

5、显示所有歌手

对歌手信息表进行遍历查询操作

6、选择要唱的歌曲(点单)

根据用户输入的机器编号,所点曲目,所点数量,对账单表进行更新操作,添加新数据

7、查看所点歌曲(账单)

对账单进行遍历查询操作

8、结账

根据用户输入的机器编码,判断是否需要进行结账操作,更新账单表,删除对应的账单数据

9、退出系统


3 概要设计

将java程序分层分为界面层,DAO层,domain层,Service层分析并画出对应的分层结构根据需求定义合适的方法建立合理的符合要求的数据库根据建立的数据库完成ER图的编绘通过JDBCUtils方法进行数据库和java项目的连接,目的:直接通过编写java项目调用数据库语句,完成增删查改功能。

3.1数据库设计

数据表

  1. 登录表:user(id(登录编号),name(登录人名),userId(登录账号),pwd(登录密码)
  2. 歌曲表:songs(id(歌曲编号),songName(歌曲名),singerName(歌手名),ypye(歌曲类型),price(单曲价格))
  3. 歌手表:singers(singerName(歌手名),age(年龄)
  4. 账单表:bill(id(账单编号),billId(歌曲编号),nums(点歌数目),money(总金额),diningMachineNum(机器编号),billDate(点歌日期),payMode(支付方式)
  5. 机器表:diningmachine(machineNum(机器编号),machineStatus(机器状态),orderName(预定机器人姓名),orderPhone(预定人电话)

3.2系统设计

系统架构:MVC三层架构

软件模式:B/S模式

MVC,即Model模型,View模型,Controller模型

Model:承载数据,对用户提交请求进行计算的模块。分为两类,一类称为数据承载Bean,一类称为业务处理Bean。业务处理Bean指的是Service或DAO对象,用于处理用户提出的请求;

数据承载Bean指的是实体类,用于用户承载业务数据,如Student、User

View:试图,为用户提供直观的使用界面,与用户直接进行交互,如本课设中用到的javax.swing所完成的图形化界面

Controller:控制器,用于将用户的请求转发给相应的Model进行,并计算后给予用户反馈

4 详细设计

4.1数据库设计

由底层忘上层逐次编写程序

构思合理的数据库,确保属性名,属性类型等数据的准确无误

根据构思建立相关的数据库

分别有user,bill,diningmachine,songs,singers

user表包含的属性有

id(自增编号),userId(用户编号),pwd(用户密码),name(用户姓名)

bill表包含的属性有

id(自增编号),billId(订单编号),nums(歌曲数目),songId(歌曲编号),money(账单总金额)

billDate(订单时间记录),machineStatus(机器状态)

songs表包含的属性有

id(自增编号),songName(歌曲名),singerName(演唱者),type(曲目类型),price(歌曲单价)

diningmachine表包含的属性有

machineNum(机器编号),machineStatus(机器状态),orderName(预订人名字),orderPhone(预定电话)

数据表的结构

User表

数据类型

列名

字段类型

长度

是否为空

默认值

备注

int

id

int

NO

varchar(50)

userId

varchar

50

NO

char(32)

pwd

char

32

NO

varchar(50)

name

varchar

50

NO

Singer表

列名

数据类型

字段类型

长度

是否为空

默认值

备注

id

int

int

NO

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值