eclipse酒店管理系统javadoc.docx

上传人:b****3 文档编号:27471831 上传时间:2023-07-01 格式:DOCX 页数:80 大小:1.52MB
下载 相关 举报
eclipse酒店管理系统javadoc.docx_第1页
第1页 / 共80页
eclipse酒店管理系统javadoc.docx_第2页
第2页 / 共80页
eclipse酒店管理系统javadoc.docx_第3页
第3页 / 共80页
eclipse酒店管理系统javadoc.docx_第4页
第4页 / 共80页
eclipse酒店管理系统javadoc.docx_第5页
第5页 / 共80页
点击查看更多>>
下载资源
资源描述

eclipse酒店管理系统javadoc.docx

《eclipse酒店管理系统javadoc.docx》由会员分享,可在线阅读,更多相关《eclipse酒店管理系统javadoc.docx(80页珍藏版)》请在冰豆网上搜索。

eclipse酒店管理系统javadoc.docx

eclipse酒店管理系统javadoc

摘要

随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日渐成为必要。

据调查,在酒店和餐厅娱乐业引入电脑服务和管理后明显取得了优良的经济效益和社会效益。

以往传统的酒店管理往往令管理者花大量的时间来处理顾客投诉,例如错误查询、琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,影响出租率。

以上问题可以通过电脑系统辅助一一解决。

    酒店管理的电脑化,不仅是体现酒店现代化形象的一个重要标志,而且对提高员工工作效率,让管理层有时间集中精力规划管理、制定运作策略和实施决策,加速资金周转、降低各项成本以及改善服务质量都有十分积极的作用。

因此为了提高住房出租效率,提升服务管理质量,规范酒店星级管理工作,建立起用户和旅游需求的桥梁,为旅游业的扩展提供优质的物质保证,使资源合理配置,也缓解旅游住宿压力,培育良好的客户群体,根据酒店管理业务实际情况,进行此系统的开发。

 

1序言

1.1目的

针对目前酒店电子化管理的实际需求,和消费客户对跨时域地域预订住宿的要求,本需求分析定义的开发酒店管理系统的总体要求是:

作为两类用户(一般客户和酒店管理人员)和软件开发员互相了解的基础,系统成品提供用户登录、查询、管理员后台管理等四大功能服务。

系统开发目的:

对内是为了使酒店管理更加便捷、高效,员工操作更加明晰、规范,大大提高酒店管理质量。

对外是能让用户自助登录、查询酒店住房信息和酒店服务、实现零距离实时预定酒店房间,为客户提供舒心的出行住宿保证,提高社会效益。

本需求分析包含了初步分析设计各功能模块、提供性能要求、对用户影响的信息、以及对各功能模块功能的描述;同时也是规范开发人员进行设计和部署实施的基础和依据,为整体工作组的工作流程做出明确指导,引导工作组员之间、工作组员与用户之间的沟通。

最终作为总体审核、验证、确认和结项验收的依据;为开发方与客户方提供合法的合同保障。

1.2定义

DrinkeryManage

T店管理系统

2需求分析

2.1需求分析报告

酒店管理系统是面向酒店的的各项事务,包括酒店管理,订单管理、菜系管理等业务处理工作,是利用计算机进行集中管理而开发的系统。

该系统是基于Eclipse连接SQLServer2005数库进行开发的酒店管理系统,力求与实际相结合具有查询、管理等功能,在达到使酒店的管理和运营趋于计算机化,使之更加方便、快捷以提高工作效率。

主要包括五大管理模块:

1)登录管理

提供用户登录、注销等功能

用户登录

用户退出

2)菜品管理

用户可以对菜名、菜品、单位、助记符等进行查询、修改、添加、删除操作。

名称

单位

助记符

3)菜系管理

用户可以对酒店内的所有菜系进行查询、修改、添加、删除操作。

菜系名称

4)台号管理

用户可以对酒店内的所有的台号进行查询、修改、添加、删除操作。

台号

座位数

5)结账管理

操作员可以对系统的使用者以及该系统中数据库里的多张表中数据项进行查询操作

日结账

月结账

年结账

6)用户管理

操作员可以进行查询、添加、删除用户信息等操作,并可以修改自己的用户密码

修改密码

用户管理

7)菜单管理

当前操作员可以进行开单、签单、取消等操作,并进行金额结账

开单签单

金额结账

2.2数据流图

客户信息管理人员信息

收银信息系统管理

菜单信息

           

图1. 顶级数据流图

数据

                      数据

 

                        数据

图2. 第二层流程图

 

3数据库概念设计

在酒店管理系统中,存在菜品、菜系、台号、定单、用户等几个对象实体,以菜品、菜系、台号、定单以及用户这几个对象为例,一个定单对应多个菜品,同时一个菜品只能属于一个菜系;一个定单中有多个菜系,一个菜系拥有多个菜品。

一个定单对应一个操作员,一个操作员只能对应一个定单;一个定单对应一个台号,一个台号只能对应一个定单。

(1)上述分析对应的实体-属性图如下所:

图3.1菜品

 

图3.2菜系

 

 

图3.3台号

 

 

 

图3.4订单

 

 

 

图3.5菜品单

 

 

图3.6用户

(2)实体-联系图如下:

 

 

图3.8实体-联系图

4数据库的逻辑设计

E-R模型所表示的全局概念结构,是对用户数据需求的一种抽象表示形式,它独立于任何一种数据模型。

为了实现用户的需求,必须将概念结构进一步转化为与我们选用的具体的机器上DBMS产品所支持的数据模型相符合的逻辑结构,这就是数据库逻辑设计的任务。

首先要实现的是E-R模型向关系模型的转换,将E-R模型转换为关系模型实际上就是要将实体、实体的属性和实体间的联系转换为关系模式的过程。

这种转换一般遵循如下规则:

(1)对于实体类型的转换:

将每个实体类型转换成一个关系模式,实体的属性为关系模式的属性,实体的码即为关系模式的码。

(2)对于实体间联系的转换,根据三种不同情况作出不同的处理:

1若实体间的联系是1:

1,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的码和联系的属性。

2若实体间的联系是1:

N,则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的码和联系的属性。

3若实体间的联系是N:

M,则将联系类型也转换成关系模式,其属性为两端实体类型的码加上联系类型的属性,而关系的码则为两端实体的码的结合。

通过以上所述原则,由E-R图转换得到如下的关系模式

表4.1系统中所用到的基本信息表及用途

表名

用途

Tb_desk

台号

Tb_menu

菜品

Tb_order_form

订单

Tb_order_item

菜品单

Tb_sort

菜系

Tb_user

用户

表4.2台号基本信息表(Tb_desk)

表4.3菜品信息表(Tb_menu)

表4.4订单信息表(Tb_order_form)

表4.5菜品单信息表(Tb_order_item)

表4.6菜系信息表(Tb_sort)

表4.7用户信息表(Tb_user)

5系统设计

在本章中,我将就小区管理中各个模块做一些介绍,从系统的预览中可以看到各个模块的设计风格是相同的,都是由一个框架页面来实现的。

在这我具体来就几个重点模块进行说明。

5.1系统的功能结构图

图5.1功能结构图

5.2用户身份验证模块

登录名和密码由系统管理员授予给用户,一般用户有查询、插入、更新、删除的权力,而管理员不仅拥有这些权力,还有添加删除用户、密码维护等权力。

在如图所示的界面登录。

选择下拉框,并输入密码。

5.3酒店管理模块

在登录后出现的界面,上方是签单列表、开台列表,中间横条可输入进行开单签单操作,左下方显示时间和操作员,接着有消费金额、实收金额、找零金额,右下方有菜品管理、菜系管理、台号管理、日结账、月结账、年结账,修改密码、用户管理、退出系统九个图标,点击则进入相应模块。

5.3.1菜品管理

菜品管理界面为酒店管理模块的菜名界面,此界面可以查看、添加和删除菜品资料。

5.3.2菜系管理

此界面可以查看菜系信息,并对菜系信息进行修改、删除、添加。

在删除相应记录时,只需选择相应记录,点击删除按钮即可进入删除界面,点击确认,即可提交。

5.3.3台号信息

此界面可以查看台号信息,并对台号信息进行修改、删除、添加。

在删除相应记录时,只需选择相应记录,点击删除按钮即可进入删除界面,点击确认,即可提交。

图5.5楼宇概况

5.3.4日结账、月结账、年结账查询

此界面可以查询所有的菜单信息,在下拉框选择年、月、日,即可查询相应的日、月、年的所有消费记录。

 

5.4用户管理及密码模块

点击用户管理,即可进入用户管理模块。

本模块包括用户基本信息、密码信息。

用户基本信息提供操作员信息的查询功能,添加、删除用户信息。

在密码修改区可更改当前用户的密码。

 

5.5订单管理模块

在此模块,当前操作员可以选择台号、输入菜单信息,进行开单、签单操作。

签单后,消费金额显示当前金额,在实收金额输入正确金额(大于等于实收金额),找零金额显示应找金额。

6系统的实现与调试

6.1系统的实现

在经过需求分析、概念设计、逻辑设计、系统设计四个阶段后,接下来要做的是系统的实现。

1.确定你的SQLSERVER2005的用户登录名和密码,在代码JDBC.java中修改好相应的信息。

2.打开SQLSERVER2005,在对象资源管理器中附加db_DrinkeryManage数据库。

3.打开登录界面

6.2系统的调试

开发一个系统,调试是一个必不可少的环节,也是一个非常重要的环节。

系统测试是系统开发中比较重要而耗时的过程,是系统能否成功运行的保证之一。

通过测试可以发现系统中存在的错误和漏洞,所以测试过程必须认真谨慎严格对待。

测试的方法分为两种:

人工测试和机器测试。

机器测试又分为:

黑盒测试和白盒测试。

人工测试分为:

个人复查、走查、会审。

人工测试只用个人复查。

由于本系统并不是真正要应用到实际当中,本人的精力和时间有限,只能进行个人测试。

在测试系统过程中,遇到不正确或不理想的地方时,给予修改。

7小结

7.1系统的功能

较为完整的星级酒店管理软件应该覆盖酒店的整个管理自动化系统,包含结账管理、账单管理、住房管理、餐饮管理、KTV等服务功能。

而本酒店管理软件主要包含与订单相关的结账管理、账单管理、菜类管理。

下面具体说明酒店管理软件一般包括的模块功能:

1)用户登录模块

用户身份验证模块实现用户合法性检查,把用户名以及密码保存到数据库表中,而在后面的页面中通过读取用户信息来登陆。

在这个模块中还提供用户提出的功能

2)菜品管理模块

在菜品管理模块里主要包括了对菜品信息的查询,添加、删除功能。

有编号、菜名称、助记符、单位、价格等信息。

3)菜系管理模块

菜系管理模块主要提供的是查看,添加,删除菜种类的基本信息。

4)台号管理模块

台号管理模块主要提供的是对酒店内的台号的基本信息进行查看,添加和删除操作。

有台号、座位数相关信息。

5)结账管理模块

操作员可以对系统的使用者以及该系统中数据库里的多张表中数据项进行查询操作。

有日结账、月结账、年结账。

6)用户管理模块

操作员可以进行查询、添加、删除用户信息等操作,在密码修改区可更改当前用户的自己的登录密码。

7)菜单管理模块

结账管理模块包括开单列表、开台列表、金额收结。

在此模块,当前操作员可以选择台号、输入菜单信息,进行开单、签单操作。

签单后,消费金额显示当前金额,在实收金额输入正确金额(大于等于实收金额),找零金额显示应找金额。

7.2系统的特点

1.整个系统是个框架结构的单机界面,各个模块中框架结构相似。

2.整个系统的主色为灰色,以绿色和红色作为辅色。

3.本系统提供密码登录,未授予登录名和密码的用户无法登录。

4.代码维护简单。

本系统提供了代码维护功能,可以修改代码。

5.系统数据库中的表数据简洁,冗余度低,效率高。

6.用户有查询、插入、更新、删除的权力,还有添加删除用户、密码维护等权力。

7.3系统开发过程的特点

1.本系统的整个开发过程由三人完成,以课程设计的方式提交。

2.本系统的开发工具为Eclipse+SQLServer2005,开发系统速度快,但功能上受到限制。

3.由于自学开发系统,开发本系统是一个不断学习、不断进步的过程,直到系统验收那一刻前,我们都一直在作修改。

7.4存在的问题与改进方向

我开发的酒店管理系统是按照用Swing+SQLSERVER开发的酒店管理系统模板做的,而我是用Eclipse+SQLSERVER20005开发,在实现系统功能上受到了一定的限制。

其次,一个系统存在问题在所难免,何况我们需要在短时间内自学Eclipse和Java,提交系统。

本系统存在的问题如下:

1.在界面登录时,如果用户或密码输入错误,在点击登录按钮会出现卡死的问题,以任务管理器结束进程。

2.在提供查询功能时,做到了精确定位,没有提供模糊查询。

模糊查询只需将条件改成like,再加上通配符就可以了。

选择精确定位还是模糊查询取决于实际需求。

对于本系统而言,由于操作员熟悉酒店业务情况,提供精确定位功能,效率会更高。

3.有时不当操作会清空三张表:

tb_user、tb_order_item、tb_order_form,所有需时常做好数据备份。

7.5自我体会

汪伟1010431014:

本次课程设计收获良多。

从初期的无从下手,到现在较完整完成数据库课程设计。

中间遇到了很多问题,也解决了很多问题。

感觉在解决问题的过程中,我在一步步成长,在一点点积累知识。

学习Java语言,看Eclipse教学视频,学习SQLServer2005。

边学边做,期间挡在面前的很多问题,都需要自己去弄懂、学习,XX、谷歌都是自己理解问题、解决问题的途径。

到最终的成品出来,这也是对自己的一次肯定。

对以后的课程设计及毕业设计,本次实践有着不可替代的意义,相信自己在以后的项目开发过程中都会有着良好的习惯,能学到更多的东西。

以下摘取些遇到的问题及解决:

1、将eclipse连接到SQLServer:

详细步骤见《Eclipse连接SQL+Server+2005数据库》文档

2、Exceptioninthread"main"com.microsoft.sqlserver.jdbc.SQLServerException:

无法打开登录所请求的数据库"db_DrinkeryManage"。

登录失败。

ClientConnectionId:

f194c087-3b95-4d59-a0f2-fccd5d0bec8b

解决:

URL="jdbc:

sqlserver:

//localhost:

1433;DatabaseName=db_DrinkeryManage"

USERNAME="sa"

PASSWORD="q"

3、LoadCONFIG.INIisfalse!

!

界面排版:

对于尺寸、分割、边框,需要安排好整个界面大小及各个块的大小

徐怀群1010431120:

做了本学期的课程设计,有很多有关于数据库方面的心得体会。

在同学的相互合作下,终于把整个系统完成了,实现了预定的功能,SQL语言及java语言没学扎实,一开始的程序这块儿就要令我抓狂了。

后来在几天几夜的努力,终于有了头绪,然后又在同学的帮助下,找到了一些参考书,又在这写书的帮助下了解了系统设计的各种方法,在编译过程中常常出现的问题,和解决的方法。

没想到这项看起来不需要多少技术的工作却是非常的劳心劳力。

我看到有很多人跟我一样,都他们是三三两两,一同讨论学习。

当我想放弃的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你一定要拿出来一件成品。

一个学期后我们的程序终于完成了,而且放到一起也能用。

在机房调试虽然出现了一些问题,但都解决了。

最后,我发现自己对编程竟然也有了一点兴趣。

王乾坤1010431124:

一学期的时间很快就过去了,这学期不敢说自己有多大进步,获得了多少知识,但起码是了解了项目开发的部分过程。

虽然学习了数据库相关课程,但没有亲身经历数据库开发的相关工作,这次课程设计给了一次很好的锻炼机会。

从各种文档的阅读到开始需求分析,概念结构设计,逻辑结构设计,物理结构设计,亲身体会了一次系统开发的过程,在这个过程中我们深刻理解所学的知识,同时也可以学到很多可实用的东西。

我们学习并运用了sql语言,对数据库的创建,修改,删除方法有了一定的了解,学会了对表的一些操作。

很多事情不是想象的那么简单,它涉及各种实体,属性,数据流程,数据处理等等,不论做什么,我们都应该相信自己,不怕困难,努力尝试。

参考文献

[1].王珊,萨师煊.数据库系统概论.北京:

高等教育出版社,2006,5

[2].印晏.Java语言与面向对象程序设计.北京:

清华大学出版社,2000,9

[3].张峰.Java程序设计与项目实战.北京:

清华大学出版社,2011,8

[4].陈刚.Eclipse从入门到精通[M].北京:

清华大学出版社,2006

[5].SQLServer2005.北京:

清华大学出版社,2006

附录

附录:

核心代码

1.连接数据库

publicclassJDBC{

privatestaticfinalStringDRIVERCLASS="com.microsoft.jdbc.sqlserver.SQLServerDriver";

privatestaticfinalStringURL="jdbc:

sqlserver:

//localhost:

1433;DatabaseName=db_DrinkeryManage";

privatestaticfinalStringUSERNAME="sa";

privatestaticfinalStringPASSWORD="q";

privatestaticfinalThreadLocalthreadLocal=newThreadLocal();

static{//通过静态方法加载数据库驱动

try{

Class.forName(DRIVERCLASS).newInstance();//加载数据库驱动

}catch(Exceptione){

e.printStackTrace();

}

}

publicstaticConnectiongetConnection(){//创建数据库连接的方法

Connectionconn=threadLocal.get();//从线程中获得数据库连接

if(conn==null){//没有可用的数据库连接

try{

conn=DriverManager.getConnection(URL,USERNAME,PASSWORD);//创建新的数据库连接

threadLocal.set(conn);//将数据库连接保存到线程中

}catch(SQLExceptione){

e.printStackTrace();

}

}

returnconn;

}

publicstaticbooleancloseConnection(){//关闭数据库连接的方法

booleanisClosed=true;

Connectionconn=threadLocal.get();//从线程中获得数据库连接

threadLocal.set(null);//清空线程中的数据库连接

if(conn!

=null){//数据库连接可用

try{

conn.close();//关闭数据库连接

}catch(SQLExceptione){

isClosed=false;

e.printStackTrace();

}

}

returnisClosed;

}

2.查询数据库

publicclassDaoextendsBaseDao{

privatestaticDaodao;

static{

dao=newDao();

}

publicstaticDaogetInstance(){

returndao;

}

//tb_user

publicVectorsUser(){

returnselectSomeNote("selectname,sex,birthday,id_card,freezefromtb_userwherefreeze='正常'");

}

publicVectorsUserNameOfNotFreeze(){

returnselectSomeValue("selectnamefromtb_userwherefreeze='正常'");

}

publicVectorsUserByName(Stringname){

returnselectOnlyNote("select*fromtb_userwherename='"+name+"'");

}

publicbooleanuPasswordByName(Stringname,Stringpassword){

returnsuper.longHaul("updatetb_usersetpassword='"+password

+"'wherename='"+name+"'");

}

publicbooleanuFreezeByName(Stringname,Stringfreeze){

returnsuper.longHaul("updatetb_usersetfreeze='"+freeze

+"'wherename='"+name+"'");

}

publicbooleaniUser(Stringvalues[]){

Stringsql="insertintotb_user(name,sex,birthday,id_card,password,freeze)values('"

+values[0]

+"','"

+values[1]

+"','"

+values[2]

+"','"

+values[3]+"','"+values[4]+"','"+values[5]+"')";

System.out.println(sql);

returnlongHaul(sql);

}

//tb_order_form

publicVectorsOrderFormOfDay(Stringdate){

returnselectSomeNote("select*fromtb_order_formwheredatetimebetween'"

+date+"00:

00:

00'and'"+date+"23:

59:

59'");

}

publicStringsOrderFormOfMaxId(){

Objectobject=selectOnlyValue("selectmax(num)fromtb_order_form");

if(object==null){

return

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

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1