大型数据库毕业课程设计.docx

上传人:b****8 文档编号:9389576 上传时间:2023-05-18 格式:DOCX 页数:36 大小:2.39MB
下载 相关 举报
大型数据库毕业课程设计.docx_第1页
第1页 / 共36页
大型数据库毕业课程设计.docx_第2页
第2页 / 共36页
大型数据库毕业课程设计.docx_第3页
第3页 / 共36页
大型数据库毕业课程设计.docx_第4页
第4页 / 共36页
大型数据库毕业课程设计.docx_第5页
第5页 / 共36页
大型数据库毕业课程设计.docx_第6页
第6页 / 共36页
大型数据库毕业课程设计.docx_第7页
第7页 / 共36页
大型数据库毕业课程设计.docx_第8页
第8页 / 共36页
大型数据库毕业课程设计.docx_第9页
第9页 / 共36页
大型数据库毕业课程设计.docx_第10页
第10页 / 共36页
大型数据库毕业课程设计.docx_第11页
第11页 / 共36页
大型数据库毕业课程设计.docx_第12页
第12页 / 共36页
大型数据库毕业课程设计.docx_第13页
第13页 / 共36页
大型数据库毕业课程设计.docx_第14页
第14页 / 共36页
大型数据库毕业课程设计.docx_第15页
第15页 / 共36页
大型数据库毕业课程设计.docx_第16页
第16页 / 共36页
大型数据库毕业课程设计.docx_第17页
第17页 / 共36页
大型数据库毕业课程设计.docx_第18页
第18页 / 共36页
大型数据库毕业课程设计.docx_第19页
第19页 / 共36页
大型数据库毕业课程设计.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大型数据库毕业课程设计.docx

《大型数据库毕业课程设计.docx》由会员分享,可在线阅读,更多相关《大型数据库毕业课程设计.docx(36页珍藏版)》请在冰点文库上搜索。

大型数据库毕业课程设计.docx

大型数据库毕业课程设计

(此文档为word格式,下载后您可任意编辑修改!

1引言3

2需求分析3

2.1系统现状3

2.2用户需求4

2.3系统功能需求5

2.4数据描述5

2.4.1E-R图5

2.4.2静态数据及其数据字典7

2.4.3动态数据8

3概要设计9

3.1系统运行环境9

3.2总体设计10

3.2.1处理流程10

3.2.2系统总体结构和模块设计10

3.3接口设计12

3.3.1外部接口12

3.3.2内部接口12

3.4数据结构设计13

逻辑结构设计13

物理结构设计13

3.5运行设计14

3.6出错处理设计14

4数据库模块设计14

5系统详细功能模块说明17

6类图的建立20

7实用例图的建立21

8系统测试23

8.1程序运行时的登录界面23

8.2管理员维护25

8.3用户点歌系统32

总结37

1引言

此需求分析报告是对KTV点歌系统开发的一个需求方面的初步的分析说明性文档,旨在通过该文档清晰的阐述系统的实际功能,方便系统开发人员对系统的理解以及与用户的沟通,文档相关说明部分在目录部分已全部涵盖,阅读此文档的相关人员可以通过目录索引找到相应的部分予以阅读。

此报告是基于KTV点歌系统而编写,该系统是一套基于视频点播技术的卡拉OK电脑点歌系统,它引入先进的多媒体网络技术、多媒体数据库技术代替传统的点歌系统。

期望实际投入使用的系统可以更加方便用户使用和系统需求者的管理,增强娱乐性,力求为需求方达到其预期的收效。

2需求分析

2.1系统现状

KTV的一个特点是数量大。

KTV的发展从登陆内地至今天,经过不短也不长时间的发展,可以说已经很成熟了,也有人说“KTV现在已经有点顶峰造极了”。

具体说,现在的KTV,好的极好,日进万斗,差得也差不多,每天的收入额也不小。

据不完全统计,全国注册登记的各类歌厅在上百万家,快赶上了市市全有,县县全有了,光北京一个城市就可能会有近万家各类歌厅。

再加没有注册的,那数量就可想而知了。

KTV的另一个特点是更新快。

KTV的发展,可以从KTV中的工作人员、影响灯光、点歌系统等方面充分说明。

就比如说点歌方式上吧,KTV最开始是卡带式,后来发展为光碟式,随着IT业的发展,电脑点歌以其容量高、操作方便、效果好等易于管理等特点,很快取代了光碟式。

但是随着电脑嵌入式技术的发展,这就是大家所俗称的机顶盒(VOD点播系统)。

机顶盒以其稳定的性能、高清晰的画面,越来越多受KTV经营者的欢迎,这里面做得好的有很多,其中北京雷石世纪科技有限公司是其中的佼佼者。

北京

雷石世纪科技有限公司成立于上个世纪九十年代,于本世纪之初投入VOD系统的研发中,经过雷石人的努力,短短几年,雷石公司推出了好几款机顶盒,从裕兴机顶盒到龙马机顶盒、实达机顶盒、传奇机顶盒,款款引领VOD点播系统的前沿。

2.2用户需求

从顾客使用点歌系统的角度挖掘需求,点歌系统应当具备多种途径的歌曲查询点播功能,普通点歌系统一般会提供一个纸质的歌单,通常其上的曲目按歌名的首字母进行排序并对每个曲目设定有一个特定的编号,也有部分点歌系统以歌名的字数进行排序,顾客在查找到相应的曲目之后再通过遥控器输入该曲目的编号完成点歌功能。

而本系统追求的是全电子化的系统,因此对曲目的查询要求采用无纸化的操作,通过遥控器即可查询所有曲目,并且需要提供更为丰富的查询方式。

基于方便性与习惯,首先本系统应当提供传统点歌系统的查询方式,即以歌曲编号,歌曲名称的第一个汉字拼音开头的字母和歌曲名称为依据的查询方式,此外,需要增加以歌手名为依据的查询方式为依据的查询方式。

事实上,这些查询方式并没有什么奇特的地方,但是因为可以让不同的顾客选择自己习惯与适应的查询方式,它必将会让用户在消费时感觉更愉快些。

从经营者使用点歌系统的角度挖掘需求,点歌系统应当具备基本的按消费时间计算的计费功能。

此外,点歌系统还应当可以方便地增加新的曲目,也应提供对现有曲目的修改、删除功能,并且,对曲目的管理应当是各包房统一的,而不是必须一个一个包房地进行设置与操作。

另外,因为曲目的管理会影响到整个系统提供的服务,所以这些管理功能应当只能由具有相应权限的管理人员完成,因此,点歌系统中还应提供相应管理人员管理功能及权限控制功能。

2.3系统功能需求

随着PC机性能的不断提高,多媒体应用越来越多地出现在用户的应用系统中。

最初这些应用都是单机运行的,而且多是通过光盘作为载体播放视频和音频信息。

过几年来,随着网络技术的不管发展,促使多媒体应用逐渐由单机模式走向网络模式。

视频播放也采用了网络数字化流机制的应用,即视频点播,以其快速、有效、灵活的特点,得到各领域用户的广泛青眯,越来越成为具有使用价值的时尚潮流。

作为一项新型应用技术,视频点播技术(VOD)越来越多地应用于政府、教育、智能小区、宾馆、KTV等领域,而提高设备档次,对于卡拉OK歌厅显得尤为重要。

2.4数据描述

2.4.1E-R图

通过对KTV点歌操作过程的内容及数据流进行分析,设计出如下的数据项和数据结构。

明星信息的E-R图:

图2-1明星信息

用户信息E-R图:

图2-2用户信息

歌曲信息E-R图:

图2-3用户信息

歌曲类型信息E-R图:

图2-4歌曲类型

2.4.2静态数据及其数据字典

待开发软件的功能已经用层次方框图和顶层数据流图表示出来了,其中涉及到的静态数据及其数据字典如下:

表2.1明星信息

表2.2歌曲信息

字段名

中文描述

类型

是否可以为空

是否作为主键

Music_number

编号

nchar(10)

N

Primarykey

Music_name

歌曲名称

nchar(30)

N

Music_author

歌手

nchar(20)

N

Music_Kind

类型

nchar(20)

Y

Music_langue

语言

nchar(20)

Y

Music_filepath

文件位置

nchar(100)

Y

Music_Ping

歌曲首字母

nchar(10)

Y

Music_date

歌曲日期

datatime

Y

Music_falg

备注

nchar(10)

Y

表2.3歌曲类型

字段名

中文描述

类型

是否可以为空

是否作为主键

codeID

类型编号

nchar(50)

Y

Primarykey

codeName

歌曲类型

nchar(50)

Y

codeReam

备注

nchar(50)

Y

表2.4用户管理

字段号

中文描述

类型

是否可以为空

是否作为主键

cmp_ID

用户编号

nchar(10)

N

Primarykey

cmp_name

用户

nchar(20)

Y

cmp_Paww

用户密码

nchar(20)

Y

cmp_DataTime

申请日期

datatime

Y

cmp_Falg

用户类型

nchar

(1)

Y

2.4.3动态数据

(1)系统点歌:

通过数字,歌曲拼音,明星,歌名点歌

(2)后台数据维护:

歌曲信息:

包括添加,修改和删除编号、歌手、类型、语种、文件路径和拼音。

其中编号和拼音由系统自动生成。

歌曲类型信息:

包括添加,修改和删除类型编号、歌曲类型、和备注。

其中类型编号由系统自动生成。

用户管理信息:

包括添加,修改和删除用户编号、用户名称和用户密码。

其中编号自动生成。

3概要设计

本软件将为用户提供一个界面友好,功能齐全的点歌系统。

可以通过数字点歌,歌星点歌,拼音点歌,歌名点歌。

还可以通过管理员对后台对点歌系统进行管理例如对明星信息的管理,对歌曲类型的管理,歌曲信息管理以及对用户的管理。

辅助管理人员完成全公司产成品入库、出库、库存等方面的管理,可以进行查询、统计、打印报表等工作,提高公司对产成品的管理效率。

在分析阶段,我们已经提出了系统的结构、顶层数据流图和数据字典。

本节我们将对系统的硬件环境作简要介绍,并对待开发系统作概要设计。

3.1系统运行环境

本系统主要运行环境有一定的要求,具体如下:

系统开发平台:

MicrosoftVisualStodio

系统开发语言:

C#

运行平台:

WindowsXP(SP2)Whindows2000(SP4)WhindowsServer2003(SP1)

3.2总体设计

3.2.1处理流程

(1)系统启动,进入身份验证。

(2)初始化系统,导入数据库。

(3)进入消息循环状态,通过事件驱动激活各模块,执行各任务。

(4)一任务执行完毕后重新进入消息循环状态。

(5)通过事件驱动退出系统。

3.2.2系统总体结构和模块设计

通过以上分析,进一步设计出了卡啦OK点歌系统的总体结构模块图(见图3-1。

图3-1系统总体结构图

各模块设计如下:

模块编号

模块名称

M1

身份验证模块

M2

初始化模块

M3

重新验证模块

M4

后台管理模块

M5

点歌系统模块

M6

明星信息模块

M7

歌曲信息模块

M8

歌曲类型模块

M9

用户管理模块

M10

退出模块

M11

歌名点歌模块

M12

数字点歌模块

M13

拼音点歌模块

M14

明星点歌模块

M15

选择模块

M16

播放模块

图3-2系统模块结构图

各模块功能分配如下:

(1)用户登录功能:

身份验证模块(M1)、初始化模块(M2)、重新验证模块(M3);

(2)添加功能:

歌名点歌模块(M11)、数字点歌模块(M12)、拼音点歌模块(M13)、明星点歌模块(M14)、明星信息模块(M6)、歌曲信息模块(M7)、歌曲类型模块(M8)、用户管理模块(M9)

(3)删除功能:

歌名点歌模块(M11)、数字点歌模块(M12)、拼音点歌模块(M13)、明星点歌模块(M14)、明星信息模块(M6)、歌曲信息模块(M7)、歌曲类型模块(M8)、用户管理模块(M9);

(4)修改功能:

歌名点歌模块(M11)、数字点歌模块(M12)、拼音点歌模块(M13)、明星点歌模块(M14)、明星信息模块(M6)、歌曲信息模块(M7)、歌曲类型模块(M8)、用户管理模块(M9);

(5)播放功能:

选择模块(M15)、播放模块(M16);

(6)后台管理功能:

歌名点歌模块(M11)、数字点歌模块(M12)、拼音点歌模块(M13)、选择模块(M15)、播放模块(M16);

(7)系统点歌功能:

明星信息模块(M6)、歌曲信息模块(M7)、歌曲类型模块(M8)、用户管理模块(M9);

(8)身份验证功能:

初始化模块(M2)、重新验证模块(M3)。

3.3接口设计

3.3.1外部接口

(1)用户界面

采用图形用户界面(GUI),包含菜单、按钮、对话框等元素

(2)软件接口

软件运行于MS-DOS3.3以上和UCDOS平台上。

(3)硬件接口

运行于IBMPC386及兼容机以上。

3.3.2内部接口

(1)身份验证模块(M1):

由用户输入验证是否为指定用户。

(2)初始化模块快(M2):

系统初始时由操作系统调用,之后进入消息循环状态。

(3)重新验证模块(M3):

当登录失败时,由操作系统调用。

(4)后台管理模块(M4):

由相应事件驱动消息激活,完成后台数据维护。

(5)点歌系统模块(M5):

由相应事件驱动消息激活,完成数字点歌、歌星点歌、歌曲点歌和拼音点歌功能,之后进入消息循环状态。

(6)明星信息模块(M6):

由相应事件驱动消息激活,完成明星信息的添加、删除和修改功能,之后进入消息循环状态。

(7)歌曲信息模块(M7):

由相应事件驱动消息激活,完成歌曲信息的添加、删除和修改功能,之后进入消息循环状态。

(8)歌曲类型模块(M8):

由相应事件驱动消息激活,完成歌曲类型信息的添加、删除和修改功能,之后进入消息循环状态

(9)用户管理模块(M9):

由相应事件驱动消息激活,完成用户管理功能,之后退出系统。

(10)退出模块(M10):

由相应事件驱动消息激活,完成取消进入系统功能。

(11)歌名点歌模块(M11):

由相应事件驱动消息激活,完成歌名点歌功能,之后进入消息循环状态。

(12)数字点歌模块(M12):

由相应事件驱动消息激活,完成数字点歌功能,之后进入消息循环状态。

(13)拼音点歌模块(M13):

由相应事件驱动消息激活,完成拼音点歌功能,之后进入消息循环状态。

(14)明星点歌模块(M14):

由相应事件驱动消息激活,完成明星点歌功能,之后进入消息循环状态。

(15)选择模块(M15):

由相应事件驱动消息激活,完成要播放歌曲的选择并等待播放功能,之后进入消息循环状态。

(16)播放模块(M16):

由相应事件驱动消息激活,选择的歌曲的播放功能,之后进入消息循环状态。

3.4数据结构设计

逻辑结构设计

在重新设计了卡啦OK点歌系统的点歌功能和系统后台的管理功能,在对个数据实体的所用数据类型、总长、数长、显长等方面进行全面的分析后,我们设计出了系统所用到的数据库的数据字典如下。

物理结构设计

数据库中各表的文件物理结构采用顺序的记录文件。

3.5运行设计

具体步骤:

(1)操作系统启动M1。

(2)M1启动M2。

(3)M2启动M4或者M5。

(4)进入消息驱动状态,M4通过事件驱动启动相应的功能模块,包括M6、M7、M8和M9。

(5)在消息驱动状态下,M5通过事件驱动启动M10、M11、M12、M13、M14、M15和M16。

3.6出错处理设计

(1)系统应具有相当健壮性,避免或降低由系统错误所造成的数据库损坏。

(2)对密码错误或者登录名错误等操作不予以进入系统。

(3)对用户的管理是,只有一个管理员,并且不能删除。

4数据库模块设计

4.1创建表格

通过对E_R的分析和数据字典的分析,在sqlserver2005中用SQLServerManagement Studio方法创建表。

创建数据库以及表如下:

图4—1数据库表的创建

4.2数据库约束

1.创建约束

图4-2约束

2.存储过程

关键代码:

查询明星表所有信息

setANSI_NULLSON

setQUOTED_IDENTIFIERON

go

ALTERprocedure[dbo].[all_author]

as

select*fromtb_authorinfo

删除已选列表所以歌曲

setANSI_NULLSON

setQUOTED_IDENTIFIERON

go

ALTERprocedure[dbo].[del_selected]

as

deletefromSelected

查询所选明星唱的所有歌曲

ALTERprocedure[dbo].[start_music]

as

selectMusic_number,Music_name,Music_author,Music_Kind,Music_langue

fromtb_musicinfo

图4—3数据库中的存储过程

3.创建视图

关键代码

SELECTMusic_name,Music_author,Music_Kind,Music_langue

FROMdbo.tb_musicinfo

图4—4歌曲信息视图

5系统详细功能模块说明

在以上工作的基础上,我们对有输出要求的全部数据进行属性分析、存储分析、关联分析、查询统计分析、数据分类与处理功能分析,进一步研究了整个系统的人机接口,提出系统细化后的数据流图和系统的层次方框图。

见图4.1图4.2。

图5-1系统详细功能模块图

图5-2层次方框图

6类图的建立

类图(Classdiagram)是最常用的UML图,显示出类、接口,以及他们之间的静态结够和关系;我们常用类图表示系统的结构。

图5.1就是卡拉Ok点歌系统的类图。

图6-1

7实用例图的建立

UML用例图是非常有用的一种图,在需求分析中,可以让人们从繁重的文档中解脱出来,并且促使人们在做需求时能够更加准确、直观的表现自己的意思。

常用的语言文字往往是不能将一种事物表达得秀清晰,这时候就需要用其它的方式来进行表达。

图7-1系统总用例图

图7-2点歌系统实例图

图7-3后台数据维护实例图

8系统测试

8.1程序运行时的登录界面

登录时的初始用户名为:

tom,密码为:

112233。

登录时可以根据用户的选择选择登录界面:

管理员和普通用户。

图8-1登录界面选择

说明:

如果用户类型选择错误,密码错误,或者输入项有一个没有输入,界面会弹出对话框提示。

登录界面测试代码:

判断输入项是否为空

if(string.IsNullOrEmpty(textBox1.Text)||string.IsNullOrEmpty(textBox2.Text)||string.IsNullOrEmpty(comboBox1.Text))

{

MessageBox.Show("输入项为空!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);}

判断密码是否匹配

if(textBox2.Text!

=re.GetString(re.GetOrdinal("cmp_Paww")).Trim())

{

MessageBox.Show("密码错误!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

}

判断用户类型

if(re.GetString(re.GetOrdinal("cmp_Flag")).Trim()=="0"&&comboBox1.Text=="管理员")

Informationfrm1=newInformation();跳到管理员界面

frm1.Show();

this.Hide();

elseif(re.GetString(re.GetOrdinal("cmp_Flag")).Trim()=="1"&&comboBox1.Text=="普通用户")

Userwindowsfrm1=newUserwindows();跳转到用户界面

frm1.Show();

this.Hide();

8.2管理员维护

图8-2明星信息管理

图8-3明星信息添加和修改界面

说明:

编号自动生成和时间自动获取是在数据库中实现的,拼音是用函数实现的,不需要用户输入,自动获取。

关键代码:

获取名称拼音缩写函数

publicstaticstringGetCodstring(stringUnName)

{inti=0;

ushortkey=0;

stringstrResult=string.Empty;创建两个不同的encoding对象

Encodingunicode=Encoding.Unicode;创建GBK码对象

Encodinggbk=Encoding.GetEncoding(936);将unicode字符串转换为字节

byte[]unicodeBytes=unicode.GetBytes(UnName);再转化为GBK码

byte[]gbkBytes=Encoding.Convert(unicode,gbk,unicodeBytes);

while(i

{如果为数字\字母\其他ASCII符号

if(gbkBytes[i]<=127)

{

strResult=strResult+(char)gbkBytes[i];

i++;

}

#region否则生成汉字拼音简码,取拼音首字母

else

{

key=(ushort)(gbkBytes[i]*256+gbkBytes[i+1]);

if(key>='\uB0A1'&&key<='\uB0C4')

{

strResult=strResult+"A";

}

elseif(key>='\uB0C5'&&key<='\uB2C0')

{

strResult=strResult+"B";

}

elseif(key>='\uB2C1'&&key<='\uB4ED')

{

strResult=strResult+"C";

}

elseif(key>='\uB4EE'&&key<='\uB6E9')

{

strResult=strResult+"D";

}

elseif(key>='\uB6EA'&&key<='\uB7A1')

{

strResult=strResult+"E";

}

elseif(key>='\uB7A2'&&key<='\uB8C0')

{

strResult=strResult+"F";

}

elseif(key>='\uB8C1'&&key<='\uB9FD')

{

strResult=strResult+"G";

}

elseif(key>='\uB9FE'&&key<='\uBBF6')

{

strResult=strResult+"H";

}

elseif(key>='\uBBF7'&&key<='\uBFA5')

{

strResult=strResult+"J";

}

elseif(key>='\uBFA6'&&key<='\uC0AB')

{

strResult=strResult+"K";

}

elseif(key>='\uC0AC'&&key<='\uC2E7')

{

strResult=strResult+"L";

}

elseif(key>='\uC2E8'&&key<='\uC4C2')

{

strResult=strResult+"M";

}

elseif(key>='\uC4C3'&&key<='\uC5B5')

{

strResult=strResult+"N";

}

elseif(key>='\uC5B6'&&key<='\uC5BD')

{

strResult=strResult+"O";

}

elseif(key>='\uC5BE'&&key<='\uC6D9')

{

strResult=strResult+"P";

}

elseif(key>='\uC6DA'&&key<='\uC8BA')

{

strRe

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2