JAVA酒店管理系统项目书.docx

上传人:b****1 文档编号:3224565 上传时间:2023-05-05 格式:DOCX 页数:72 大小:106.48KB
下载 相关 举报
JAVA酒店管理系统项目书.docx_第1页
第1页 / 共72页
JAVA酒店管理系统项目书.docx_第2页
第2页 / 共72页
JAVA酒店管理系统项目书.docx_第3页
第3页 / 共72页
JAVA酒店管理系统项目书.docx_第4页
第4页 / 共72页
JAVA酒店管理系统项目书.docx_第5页
第5页 / 共72页
JAVA酒店管理系统项目书.docx_第6页
第6页 / 共72页
JAVA酒店管理系统项目书.docx_第7页
第7页 / 共72页
JAVA酒店管理系统项目书.docx_第8页
第8页 / 共72页
JAVA酒店管理系统项目书.docx_第9页
第9页 / 共72页
JAVA酒店管理系统项目书.docx_第10页
第10页 / 共72页
JAVA酒店管理系统项目书.docx_第11页
第11页 / 共72页
JAVA酒店管理系统项目书.docx_第12页
第12页 / 共72页
JAVA酒店管理系统项目书.docx_第13页
第13页 / 共72页
JAVA酒店管理系统项目书.docx_第14页
第14页 / 共72页
JAVA酒店管理系统项目书.docx_第15页
第15页 / 共72页
JAVA酒店管理系统项目书.docx_第16页
第16页 / 共72页
JAVA酒店管理系统项目书.docx_第17页
第17页 / 共72页
JAVA酒店管理系统项目书.docx_第18页
第18页 / 共72页
JAVA酒店管理系统项目书.docx_第19页
第19页 / 共72页
JAVA酒店管理系统项目书.docx_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA酒店管理系统项目书.docx

《JAVA酒店管理系统项目书.docx》由会员分享,可在线阅读,更多相关《JAVA酒店管理系统项目书.docx(72页珍藏版)》请在冰点文库上搜索。

JAVA酒店管理系统项目书.docx

JAVA酒店管理系统项目书

Java语言程序设计小组课程设计

个人报告书

 

小组题目:

酒店管理系统

完成日期:

2012年1月4日

 

酒店管理系统

1、问题描述

随着信息的迅速发展,信息化管理已经引入并且应用到各行各业的管理领域中去,而一个大型的机电将管理信息化也是势在必行的,大量的客流量,同时还要存储各项业务的信息不断更换的客流信息,员工个人信息和工资发配等任务,若要时还是用人力管理不仅将会影响到盈利的同时无异于又给每一位员工带来了很大的工作量!

本文从开发酒店管理系统的相关技术及可行性分析入手简述了管理系统采用C/S模式的好处及需要实现员工信息管理、预定、简单的财务管理以及进货系统等日程管理信息等功能。

详细介绍了各个功能的实现,以及系统测试的情况。

本文主要功能包括:

从系统安全可靠性,系统功能,软件运行环境等方面对酒店管理系统进行需求分析,说明系统的合理性与可行性,较为详细的阐述了系统的运行情况。

本文最终设计并实现了一个基于C/S模式的酒店管理系统,该系统包括系统设置、日常细细管理、库存管理、预定管理、订餐管理。

测试结果表明,本文所开发的管理系统具有简单管理的功能。

酒店形态具有种种优点,但在目前状况下,它仍存在服务业企业所共有的落后的一面,如:

不能有效地、快速地服务于每个顾客,收款结算速度慢,容易出现服务不周,不易进行服务评价等。

而且在酒店日常管理中,货物的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。

随着酒店形态的高速发展,其经营管理也变的愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。

而企业若想再激烈的市场经济中立足并胜出,就必须拥有一套完善并适应自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息,完善服务质量、提高经济效益、分析市场需求、制定服务计划和目标等管理目的。

21世纪,酒店的竞争也进到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。

技术的提升和管理的升级是酒店业的竞争核心。

2、开发环境搭建

目前,市场上计算机语言和开发工具有很多,但是Eclipse的以其稳定和与平台无关的特性,从众多编程工具中脱颖而出,成为很多Java程序员的首选。

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。

虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。

尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。

Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。

近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。

3、系统功能:

(1)进行系统的需求分析:

系统需对用户登录进行管理。

使用各功能模块时,系统应验证用户身份的有效性,否则要求用户登录。

另外,允许用户对自己的密码进行修改。

系统应提供客房的分类管理功能,可分类制订客房面积、价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。

系统可实现对客房信息的添加、删除以及修改。

在进行入住/退房管理时,系统可以根据客房当前的状态自动提示可用服务(入住/退房)。

如果客房没有客人入住,则该客房的可用服务为“入住”;否则,可用服务为“退房”。

系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。

系统还需要有较好的安全性和可扩展性。

需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。

这个步骤是对理解需求的升华,直接关系到该系统的质量。

住店部分由于考虑到人们日常生活等方面,住店的过程中可能会发生多变的情况,同时也为了方便处理,我们对这个系统对订房、退房进行了处理,使前台工作人员更好为客人服务,我们的系统将会详细的显示出每个房间所处的状态,是预定了、还是有用户入住了、还是空闲,做出较详细的资料显示,同时在退房期间,按照一定规定计算消费金额。

应用软件是直接被用户使用的软件,因此应具有良好的用户界面。

通过用户界面,用户不必去了解许多关于计算机硬件和软件方面的知识,只需按屏幕提示便能方便地完成产品设计。

用户界面的好坏是评价一个软件运行好坏的重要标志之一,一个友好的用户界面应满足以下几个方面的要求:

(1).界面友好:

要考虑到软件的通用。

面向大多数人,尽量采用汉字显示,以克服语言障碍。

(2).使用方便:

提供的用户界面应方便用户使用,无需对用户做过多的界面转换训练工作。

(3).记忆最少原则:

一个好的应用软件应使用户尽量少记各种操作规则、专门名词和特殊符号。

(4).灵活的提示信息:

应用软件运行时,应能给出简单易懂的提示信息,以提高用户的工作效率。

(5).软件具有较强的容错能力:

以便能有效地解决设计者因误操作而造成的运算错误及系统的“死锁”等现象,提高软件使用的安全性和可靠感。

(6).良好的交互方式:

用户使用计算机进行设计时,应使其感到与计算机所进行的信息交换是十分自然的,与人们的日常工作习惯相符合。

把握好屏幕数字菜单、图标菜单、下拉式菜单、对话框等技术的正确使用,有时甚至需要几种技术交叉应用,其目的应便于设计者操作。

(2)系统的总体设计

住房管理模块。

此模块必须具有以下功能:

登录管理:

只有在输入正确的户名和密码才可登录进入操作界面。

房间类型的管理:

可以对房间类型进行增添、删除、修改、查询功能。

房间信息的管理:

可以对房间信息进行增添、删除、修改、查询功能。

开房功能:

记录住户信息,并把相应的房间状态改为“入住”。

退房:

退房时算出总费用(房间价格+加床价格)*天数;退房时要判断当前退房的时间,一般酒店是在中午12点退房,超过12点理论上要多算一天.可弹出提示“是否多加一天”;退房成功后把相应的房间状态改为“空闲”;更新用户消费总金额;更新用户的VIP状态。

数据操作:

可按月查看入住记录,可查看指定日期的入住记录,可搜索指定姓名住户的入住记录。

预订房功能:

提前预定房间,注意房间的状态,预定日期前还是可以由其他房客入住,预定房间到期时未入住的处理。

换房间:

可以在住户需要时办理换房间业务。

员工(服务员)

通过输入相关信息到人员管理信息系统;

软件计算交易总金额;

可使用管理员动态分配的权限进行操作。

酒店经理:

软件录入菜品、原材料、供货商、厂商;

操作软件制定进货计划;

查询计划进货与入库记录;

查询账务情况;

查询库存明细记录;

根据软件发出的库存告警进行入货;

基本信息登记管理;

员工(营业员)操作权限管理。

客户:

查询相关信息、房间信息、个人信息;

可使用管理员动态分配的权限进行操作。

(3)系统的详细设计

主模块设计.

模块

子模块

功能

主模块

整体设计总界面(登陆界面)

对功能模块和公共辅助模块有整体的概览和认知

公共模块设计

模块

子模块

功能

公共辅助模块

1.查询模块

2.信息浏览模块

3.前台管理

4.后台管理

1.查询客房等基本信息

2.便于工作人员及时掌握客房及客人信息

3.在此界面可以通过单击和双击图标来查看桌台信息,可以直接通过图标来看桌台是否已使用,可以选中图标单击右键选择相应业务,非常友好和方便。

4.便于查看桌台信息和使用情况

功能模块设计

功能模块

用户登录

用户登录

房间类型管理模块

1.增添房间类型

2.修改房间类型

3.删除房间类型

4.查询房间类型

房间信息管理模块

1.增添房间信息

2.修改房间信息

3.删除房间信息

4.查询房间信息

开房功能模块

记录用户信息并将房间状态改为“入住”

退房功能模块

1.算出总费用

2.判断当前退房的时间

3.退房成功后把相应的房间该为“空闲”

4.更新用户消费总金额

5.更新用户VIP状态

数据操作模块

1.可按月查询入住记录

2.可查看指定日期的入住记录

3.可搜索指定姓名住户的入住记录

4、任务模块

本人主要负责界面设计和查询部分

5、测试数据

包括正确的输入及其输出结果,以及含有错误的输入及其输出结果。

测试数据要能全面地测试所设计程序的功能。

6、程序模块调用关系图。

7、代码

查询部分代码:

/**

*[模块名]:

营业查询模块

*[文件实现功能]:

组织营业查询窗口及功能

*/

packagecom.hotel.query;

importjavax.swing.*;//提供一组“轻量级”(全部是Java语言)组件,尽量让这些组件在所有平台上的工作方式都相同。

importjavax.swing.border.*;//提供围绕Swing组件绘制特殊边框的类和接口。

importjavax.swing.table.*;//提供用于处理javax.swing.JTable的类和接口。

importjava.awt.*;//包含用于创建用户界面和绘制图形图像的所有类。

importjava.awt.event.*;//提供处理由AWT组件所激发的各类事件的接口和类。

importjava.sql.*;//提供使用JavaTM编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的API。

importjava.util.*;//包含collection框架、遗留的collection类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。

importcom.hotelhotelsdk.sql.*;//公共类库

importcom.hotel.hotelsdk.system.*;

importcom.hotel.hotelsdk.swing.*;

importcom.hotel.mainframe.HotelFrame;//加载主窗口

publicclassQueryextendsJDialogActionListener,MouseListener{//ActionListener超级接口是EventListener,子接口是:

Action

privateJLabeltop;//呈现列表中的一个项

privateJTabbedPanetp;//一个组件,它允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换。

//如果为制表符指定一个组件,则JTabbedPane将不会呈现为该制表符指定的任何文本或图标。

privateJPanelpanelMain;

//=========结帐单查询

privateJTextFieldtf11,tf12,tf13,tf1;//是一个轻量级组件,它允许编辑单行文本

privateJButtonbt11,bt12;//创建不带有设置文本或图标的按钮。

privateJCheckBoxchk11,chk12;//复选框的实现,复选框是一个可以被选定和取消选定的项,它将其状态显示给用户。

按照惯例,可以选定组中任意数量的复选框

privateJTabletb1;//将此对象作为其头的表,默认值为null。

privateDefaultTableModeldtm1;

privateJScrollPanesp1;//JScrollPane不支持重量级组件。

//=========全部宾客信息查询

privateJTextFieldtf21,tf2;//JTextField是一个轻量级组件,它允许编辑单行文本

privateJButtonbt21,bt22,bt23;

privateJTabletb2;

privateDefaultTableModeldtm2;

privateJScrollPanesp2;

//=========在店宾客消费查询

privateJTextFieldtf31,tf32,tf33,tf3;

privateJButtonbt31,bt32;

privateJRadioButtonrb31,rb32;

privateJTabletb3;

privateDefaultTableModeldtm3;

privateJScrollPanesp3;

//=========离店宾客消费查询

privateJTextFieldtf41,tf42,tf43,tf4;

privateJButtonbt41,bt42;

privateJCheckBoxchk41,chk42;//复选框的实现,复选框是一个可以被选定和取消选定的项,它将其状态显示给用户。

按照惯例,可以选定组中任意数量的复选框

privateJComboBoxcb41;

privateJTabletb4;

privateDefaultTableModeldtm4;

privateJScrollPanesp4;

/**=============================================================**/

*[##publicQuery(JFrameframe){}]:

构造函数

*参数:

JDialog对象表示本对话框的父窗口

*返回值:

*修饰符:

public

*功能:

组建营业查询模块

**=================================================================**/

publicQuery(JFrameframe){

super(frame,"营业查询",true);

top=newJLabel();//假空格

panelMain=newJPanel(newBorderLayout(0,5));

tab();//制作系统设置项目标签面板

addListener();//加入事件监听

panelMain.add("North",top);

panelMain.add("Center",tp);

this.setContentPane(panelMain);

this.setPreferredSize(newDimension(800,500));

this.setMinimumSize(newDimension(800,500));

this.setResizable(false);//不允许改变窗口大小

pack();

sunswing.setWindowCenter(this);//窗口屏幕居中

}

/**=============================================================**/

*[##privatevoidaddListener(){}]:

加事件监听

*参数:

*返回值:

*修饰符:

private

*功能:

加事件监听

**================================================================**/

privatevoidaddListener(){

bt11.addActionListener(this);//加动作监听

bt12.addActionListener(this);

bt21.addActionListener(this);

bt22.addActionListener(this);

bt23.addActionListener(this);

bt31.addActionListener(this);

bt32.addActionListener(this);

bt41.addActionListener(this);

bt42.addActionListener(this);

bt11.addMouseListener(this);//加鼠标监听

bt12.addMouseListener(this);

bt21.addMouseListener(this);

bt22.addMouseListener(this);

bt23.addMouseListener(this);

bt31.addMouseListener(this);

bt32.addMouseListener(this);

bt41.addMouseListener(this);

bt42.addMouseListener(this);

}

/**==============================================================**/

*[##privatevoidtab(){}]:

*参数:

*返回值:

*修饰符:

private

*功能:

制作系统设置项目标签面板

**=================================================================**/

privatevoidtab(){

JPaneljp1,jp2,jp3,jp4;

///////////////////////////////////////////////-----------模块接口

jp1=pay();//结账单查询

jp2=allCustomer();//全部宾客信息查询

jp3=stay();//在店宾客消费查询

jp4=leave();//离店宾客消费查询

//////////////////////////////////////////////////////////////////

tp=newJTabbedPane();

tp.addTab("结帐单查询",newImageIcon("pic/u04.gif"),jp1);

tp.addTab("全部宾客信息查询",newImageIcon("pic/u02.gif"),jp2);

tp.addTab("在店宾客消费查询",newImageIcon("pic/u03.gif"),jp3);

tp.addTab("离店宾客消费查询",newImageIcon("pic/v04.gif"),jp4);

}

/**=============================================================**/

*[##privateJPanelpay(){}]:

*参数:

*返回值:

JPanel

*修饰符:

private

*功能:

结帐单查询

**================================================================**/

privateJPanelpay(){

tf11=newTJTextField(13);

tf12=newTJTextField(13);

tf13=newTJTextField(13);

tf1=newJTextField("结帐状态信息");

tf1.setHorizontalAlignment(JTextField.CENTER);

tf1.setBackground(newColor(199,183,143));

tf1.setBorder(newLineBorder(newColor(87,87,47)));

tf1.setEditable(false);

bt11=newTJButton("pic/find.gif","查 询","查询结帐单信息");

bt12=newTJButton("pic/b1.gif","刷 新","刷新结帐单信息");

chk11=newJCheckBox("结帐时间:

");

chk12=newJCheckBox();

dtm1=newDefaultTableModel();

tb1=newJTable(dtm1);

sp1=newJScrollPane(tb1);

////////////////////////填写表格

StringsqlCode="selecta.chk_no帐单号,b.r_no房间号,b.c_name宾客姓名,b.foregift已收押金,a.money实收金额,a.chk_time结算时间,a.remark备注"+"fromcheckoutasa,liveinasbwherea.delmark=0anda.in_no=b.in_no";

sunsql.initDTM(dtm1,sqlCode);

JLabellb1,lb4,lb5,lb8,lb9,lb10,lb11;

lb1=newJLabel("起始时间 ");

lb4=newJLabel("  终止时间 ");

lb5=newJLabel(" ");

lb8=newJLabel("姓名/房间号/帐单号:

");

lb9=newJLabel("  ");

lb10=newJLabel(" ");

lb11=new

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

当前位置:首页 > 人文社科 > 法律资料

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

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