网吧管理系统.docx
- 文档编号:12302401
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:37
- 大小:892.75KB
网吧管理系统.docx
《网吧管理系统.docx》由会员分享,可在线阅读,更多相关《网吧管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
网吧管理系统
单位信管09-1班
学号********
江西农业大学南昌商学院本科毕业论文
(信息管理与信息系统)
网吧管理系统
姓名龚辉
专业信息管理与信息系统
指导教师马朝盛
江西农业大学南昌商学院
二0一二年十月
摘要
网吧管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
本毕业设计包含了网吧各类信息的浏览、查询、添加、删除、修改等功能。
系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成合同信息的修改。
同时查询功能也是系统的核心之一。
关键词:
网吧管理,数据库,管理系统
Abstract
NetBarTimeFeeManagementSystemisatypicalapplicationofManagingInformationSystem(MIS),whichmainlyincludesdevelopingtheapplicationinterfaceoffront-endandbuildingupandmaintainingthedatabaseofback-end.
Thissystemincludefiveaspectssuchadd,delete,modifyetc.toeachkindofthefunctionofinformation.Thecoreofthesystemisthecontactofincrease,modificationanddelete,themodificationsofeachformwillaffecttootherforms,thesystemwillcompletethemodificationofcontractofitselfwhilebeingtocompletetoincreaseordeletetheoperation.Inquiringaboutthefunctionofsearchingalsoistheoneofthesystematicnucleus.
Keyword:
NetBarManage;Database;MIS
绪论
网吧管理系统是迎合网吧发展而产生的,为了减少人力和物力的开销,方便网吧管理员管理网吧的一种管理工具,现在网吧的收益开始降低,运营也同样存在风险,如果没有仔细规划和经营,可能会面临倒闭的危机。
原始的人工计费管理和管理时产生漏洞对投资人带来大量的损失,采用好的网吧管理系统能够产生管理效益与经济效益,使得投资人在经济方面获得更多的利润。
本毕业设计针对网吧管理的基本需求,系统功能基本满足网吧管理的需要,帮助网吧管理人员管理网吧。
1论文概述
本毕业设计是一个网吧管理系统。
该系统功能有管理员添加,网吧会员的管理。
该系统的任务是方便,灵活的管理网吧的各项信息,包括对每台电脑配置管理、会员用户管理、上机时间计算、金额计算等。
系统主要有添加,查找,删除和修改功能模块组成。
本系统希望尽量满足网吧管理日常工作的需要,简化网吧管理的过程,使用方便,安全可靠。
1.1国内外现状
中国的网吧行业,是中国互联网经济的衍生体,1994年中国接入互联网,1996年,互联网开始民间化、商业化和市场化,于是网吧作为最便捷的触网终端场所进入网民视野。
并一度成为仅次于家庭、办公场所之外的网民第三大上网场所。
现在网吧虽然已经开始企业化,正规化,标准化,但是网吧的信息机制还没有完全完善,部分网吧还是存在人工计费的管理模式,
为了进一步的提高网吧效率并规范化管理,就必须有一套完整的网吧管理软建。
1.2开发结构
1.2.1C/S结构
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是Client/Server形式的两层结构。
1.2.2C/S结构的优势
C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
总的来说本系统有以下几个有点:
1.本系统的界面和操作很简单,很人性化。
2.本系统的安全性能可以很容易保证,实现多层认证也不难。
3.由于只有一层交互,因此本系统的响应速度较快。
1.3主要运用技术
1.3.1Java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,Java技术具有卓越的通用性、高效性、平台移植性和安全性。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。
Java舍弃了C++语言中的一些不足。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。
所以本系统不受平台限制,不管网吧管理的电脑使用的是市面上的哪种电脑操作系统,本系统都能正常运行。
Java语言的优良特性使得本系统具有无比的健壮性和可靠性,这也减少了本系统的维护费用。
同时也使得本系统能在以后网吧的发展中添加更多的应用,满足网吧管理的要求。
本系统使用到的相关技术:
1.JDBC(JavaDatabaseConnectivity)提供连接各种关系数据库的统一接口,作为数据源,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。
2.JFC:
主要是由AWTAbstractWindowToolkit(AWT)、Swing以及Java2D三者所构成,若将这些一同搭配运用,则用Java程式语言撰写开发成的使用者介面,无论移转、转移到MicrosoftWindowsWindows、MacOSX或Linux等各种不同的作业平台上,都能保有一致性的图像呈现。
1.3.2SQLServer2008
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。
SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
这个平台有以下特点:
·
可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
·
高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
·
智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
1.4系统的需求分析
1.4.1系统功能结构图
图1.1
1.4.2系统功能需求
客户端:
1.上机:
本功能是给予网吧用户在网吧能正常上网而产生的,这样能节约以前人工记账上网的麻烦,只要账户中含有金额,就能上网,同时保证用户的账号安全。
2.结账下机:
本功能是给予网吧用户在网吧能简单结账而产生的,这样能节约以前人工记账结账的麻烦,一旦账户中没有余额,将自动下机。
3.密码修改:
本功能是为了提高网吧用户上网账号的安全性而产生的,此功能能让上网用户自由更改自己的密码,从而提高自己账号的安全性。
4.查询费用:
本功能是为了让网吧用户及时的知道自己账户的余额而产生的,能有效的提醒用户及时的充值,使得网吧用户正常上网。
服务器端:
1.添加用户:
本功能是为了让管理人员更加简单的帮助网吧用户的册而产生的,提升网吧管理的效率,同时对注册用户的身份证格式进行审核,防止出现意外问题。
2.查询密码:
本功能的作用是使得网吧管理人员能够快速的帮助那些因为忘记密码而无法正常上网用户的。
3.修改密码:
本功能的作业时使得网吧管理人员能够帮助网吧用户修改账号密码,提高账号的安全性。
4.删除用户:
对那些长时间不上网或者希望注销用户进行处理,减少数据库的占用。
5.强制下机:
对某些非法用户或特殊用户的一种下机措施。
6.查询记录:
对某些账号的使用记录进行查询。
7.增加管理员:
出现特殊情况时,增加管理员,协助管理网吧。
8.管理员密码修改:
修改管理员密码。
9.费用充值:
对网吧用户的账号进行充值,使得网吧用户能够正常上网。
1.4.3系统功能使用人员
1.网吧用户:
在本网吧注册上网用户,可以同通过本系统在网吧进行上机,结账下机,密码修改等功能。
2.网吧管理人员:
网吧的管理人员,可以通过该系统在网吧对网吧上网用户的信息进行删除和添加,还能增加管理员用户等功能。
1.5系统的可行性分析
1.5.1系统的经济可行性
本系统的管理和维护比较简单,出了必要设备和前期的开发资金,后期维护所需的资源并不多,系统正常运行后可以提高网吧的管理效率,带来更多的收,本系统在经济上是可行的。
1.5.2系统的社会可行性
本系统能是一款简单,易操作的网吧管理系统,包含了网吧管理的大部分功能,能极大的方便用户对于网吧的管理,同时也使得网吧的上网用户能够及时,快速的上网,从而提高网吧收益,所以本系统在社会上是可行的。
1.5.3系统的技术可行性
本系统是用JAVA作为开发工具的,JAVA支持目前的大多数数据库,而且JAVA是一种面对对象,独立于平台的安全语言。
所以本系统在技术上是可行的。
2系统设计
2.1数据库设计
2.1.1数据库表
(1)Balance(余额表)
Balance表主要是计算用户上网之后账户中剩余的金钱信息,主要包括账号和余额,如表2.1所示。
序号
字段名
数据类型
是否为空
说明
1
ID
Varchar(50)
not
主键
2
balancemony
int
not
余额
表2.1Balance表
(2)Card(上网用户信息表)
Card表主要是储存上网用户的基本信息,其中包括上网用户的账号,密码,上网余额,用户的名字,用户的身份证,此卡的办理时间,此卡的权限,结构如图2.2所示。
序号
字段名
数据类型
是否为空
说明
1
ID
Varchar(10)
not
主键
2
Password
Varchar(50)
not
密码
3
Balance
int
not
余额
4
UserName
Varchar(50)
not
用户名
5
PID
Char(8)
not
身份证
6
Opendata
datatime
not
开卡时间
7
Isvip
bit
not
权限
表2.2Card表
(3)Record(上网记录表)
Record表主要是储存上网用户的上网记录信息。
其中包括记录的ID,记录卡序号,电脑的序号,开始上网的时间,下机的时间以及电脑的状态,结构如图2.3所示。
序号
字段名
数据类型
是否为空
说明
1
ID
Numeric(18,0)
not
主键
2
Cardid
Varchar(10)
not
卡的序号
3
Computerid
int
not
电脑序号
4
Starttime
smalldatetime
not
开始上机的时间
5
Endtime
smalldatetime
not
下机的时间
6
Free
Numeric(18,10)
not
状态
7
Vip
Varchar
(2)
not
权限
表2.3Record表
(4)Computer(电脑信息表)
Computer表主要是记录电脑的基本信息,其中包括电脑的序号,此台电脑正在使用的用户,以及上网记录,其结构如表2.4所示。
序号
字段名
数据类型
是否为空
说明
1
id
int
not
主键
2
Onuser
int
not
正在使用的用户
3
notes
Varchar(50)
not
上网记录
表2.4Computer表
(5)User(管理员表)
User表主要记录了管理员的基本信息,其中包括表的序号,管理员的账号以及管理员的密码,结构如表2.5所示
序号
字段名
数据类型
是否为空
说明
1
ID
int
not
主键
2
UserName
Varchar(50)
not
用户名
3
password
Varchar(50)
not
密码
表2.5User表
2.1.2E-R图
E-R图是奇E-R方法是“实体-联系方法”(Entity-RelationshipApproach)的简称。
它是描述现实世界概念结构模型的有效方法。
是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
图2.1网吧管理E-R图
2.2系统功能设计
2.2.1系统功能流程图
图2.2客户端流程图
客户端流程图:
服务端对用户操作流程图:
服务端对账户操作流程图:
3系统实现
3.1客户端系统的实现
3.1.1客户登陆上机实现
图3.1
主要代码如下:
publicvoidjButton1_actionPerformed(ActionEvente){
Stringusername=UserName.getText();//获取用户名
Stringpassword=newString(Password.getPassword());//获取密码
Stringjiqi=(String)jComboBox1.getSelectedItem();
if(jiqi.equals("-电脑号-")){
txtSystem_Tip.setText("您还没选择电脑号");
}elseif(username.length()==0){
txtSystem_Tip.setText(null);
txtSystem_Tip.setText("您还没输入用户名");
UserName.requestFocus();//聚焦
}elseif(password.length()==0){
txtSystem_Tip.setText(null);
txtSystem_Tip.setText("您还没有输入密码");
Password.requestFocus();//聚焦
}else{
os.println("LoginSucceed:
:
"+username+":
:
"+password+":
:
"+
jiqi+":
:
"+1);
os.flush();
}
}
通过do.get()方法获得上网用户的账号和密码以及上网的电脑号。
从客户端发送信息给服务端,由服务端进行处理。
服务端从数据库中的Card表中获取信息,与客户端发来的ID与Password进行对比,如果没有错误则提示成功登陆,并且服务端对数据库中的Record表加入上网记录。
修改Computer表中电脑的状态。
同时开始计费。
如果登陆成功则如图3.2所示,否则提示用户名或密码错误。
3.1.2客户端登陆之后
图3.2
实现代码:
PopupMenupopup=newPopupMenu();
Stringcaidan[]={"菜单","修改密码","余额","下机"};
for(inti=0;i MenuItemdefaultItem=newMenuItem(caidan[i]); popup.add(defaultItem); defaultItem.addActionListener(listener); } trayIcon=newTrayIcon(image,"系统托盘",popup); trayIcon.setImageAutoSize(true);//这个属性用来调整图标的大小 trayIcon.addActionListener(listener); try{ tray.add(trayIcon); }catch(AWTExceptione){ System.err.println(e); } }else{ } if(trayIcon! =null){ } } 此段代码主要是图标的显示以及菜单栏中的选项。 不做过多的解释。 3.1.3客户端修改密码 主要代码: //客户端密码修改 //向服务端发送更改密码的要求并将更改密码发送过去 publicvoidbtnconfirm_actionPerformed(ActionEvente){ StringUserName=jTextField1.getText(); StringPassword=newString(password.getPassword()); StringPassword_New1=newString(txtpassword01.getPassword()); StringPassword_New2=newString(txtpassword02.getPassword()); if(Password.length()==0){ JOptionPane.showMessageDialog(null,"请输入您的原始密码"); password.requestFocus(); }elseif(Password_New1.length()==0){ JOptionPane.showMessageDialog(null,"请输入新密码"); txtpassword01.requestFocus(); }elseif(! Password_New1.equals(Password_New2)){ JOptionPane.showMessageDialog(null,"两次新密码输入不一致"); txtpassword02.requestFocus(); }else{ os.println("Update_Password: : "+UserName+": : "+Password+": : "+ Password_New1);//向服务器发送要修改的用户的密码 os.flush(); } } //读取从服务端发来的消息 ThreadReadServerMessage=newThread(){ publicvoidrun(){ try{ BufferedReaderis=newBufferedReader(newInputStreamReader( socket.getInputStream())); os=newPrintWriter(socket.getOutputStream()); while(true){ Stringline=null; line=is.readLine(); System.out.println("line: "+line); if(line.length()! =0){ String[]shuju=line.split(": : "); System.out.println(shuju[0]); if(shuju[0].equals("YES")){ JOptionPane.showMessageDialog(null, "修改密码成功,下次登陆时将启用新的密码","系统提示", JOptionPane.INFORMATION_MESSAGE); }elseif(shuju[0].equals("Error")){ JOptionPane.showMessageDialog(null,shuju[1], "系统提示", JOptionPane.INFORMATION_MESSAGE); } } } }catch(Exceptionex){ System.out.println(ex); } } }; 由客户端获得用户的密码和修改后的密码,客户端将其发送个服务端,服务端接收后处理,对数据库中的Card表中的Password字段进行操作,修改成功后将消息发送个服务端并且提示密码修改成功。 3.1.4客户端费用查询 其主要代码: //客户端上机时间查询 publicShowTime(intComputerID){ try{ socket=newSocket("127.0.0.1",1314); os=newPrintWriter(socket.getOutputStream()); os.println("showTime: : "+ComputerID);//向服务端发送信息获取上机时间 os.flush(); }catch(Exceptionex){ System.out.println(ex); } } publicvoidrun(){ try{ BufferedReaderis=newBufferedReader(new InputStreamReader( socket.getInputStream())); while(true){ Stringline=null; line=is.readLine(); if(line! =null){ System.out.println("message"+line); String[]shuju=line.split(": : "); if(shuju[0].equals("showTime")){ time=sh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网吧 管理 系统