JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc

上传人:文库蛋蛋多 文档编号:2387061 上传时间:2023-02-17 格式:DOC 页数:46 大小:527KB
返回 下载 相关 举报
JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc_第1页
第1页 / 共46页
JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc_第2页
第2页 / 共46页
JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc_第3页
第3页 / 共46页
JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc_第4页
第4页 / 共46页
JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc》由会员分享,可在线阅读,更多相关《JAVA面向对象程序设计课程设计JAVA实现旅馆管理系统.doc(46页珍藏版)》请在三一办公上搜索。

1、面向对象程序设计课程设计成绩评定表系(部):信息工程系 班级: 软本094 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名

2、: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以4)分加权分合计评 阅 教 师 签 名: 年 月 日答 辩 小 组 评 审 意 见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要

3、求。0.55432答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。0.55432答辩小组评审成绩(加权分合计乘以8)分加权分合计答辩小组教师签名: 年 月 日课 程 设 计 总 评 成 绩分摘 要随着社会科学技术的迅猛发展,计算机以它卓越的进步已得到各行各业的广泛应用。作为计算机应用的一部分,使用计算机对旅馆进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。这些优点能够极大地提旅馆管理的效率,是旅馆管理越来越科学化、正规化并且和世界接轨。因此,旅馆管理系统为未来旅馆发展打开了方便之门。 JAVA是一种简单

4、的,面型对象的,分布式的,解释型的,健壮安全的,结构中立的,可以值得,性能优异、多线程的动态语言,是目前软件设计中极为常用的编程语言。JAVA不仅可以用来开发大型的应用程序,而且特别适合Internet的应用开发。JAVA确实具备“一次写成,处处运行”的特点,JAVA以成为网络时代最重要的编程语言之一。本报告中介绍了用JAVA语言实现旅馆管理系统的全部过程。此次课程设计是运用JAVA程序语言设计项目帮助学生深入学习掌握JAVA语言,为以后可以熟练使用JAVA编写软件打下基础。通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。本课程设计尝试使用一些较生动的

5、示例和设计项目,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。本次课程设计主要是用JAVA实现旅馆管理系统,其系统主要完成以下功能模块: 客房登记模块: 可以实现添加客户的基本信息功能;客房预定管理模块: 可以实现取消预定和更改预定功能;退房管理和服务费用模块:可以实现计算客户消费信息和录入客户服务功能;客户管理模块:可以查询客户信息和服务信息情况;房间管理模块:可以实现房价调整、查询空房和房价情况;服务管理和顾客数目统计模块:可以实现服务价格调整、查询服务和统计顾客数目。关键词:旅馆管理系统 客户管理 客房管理 JAVA目录摘 要

6、1第1章 系统总体介绍及组内分工21.1系统总体介绍21.2项目开发环境21.2.1硬件环境21.2.2软件环境21.3组内分工2第2章 系统分析42.1需求概述42.2需求分析42.2.1理解需求42.2.2分析需求42.3可行性分析52.4设计思想62.5功能结构图6第3章 数据库设计83.1数据库需求分析8第4章 具体功能实现94.1系统登录94.2系统主界面134.3客房登记功能模块244.4客房预定功能模块294.5退房和服务管理模块334.6 客户管理模块374.7 房间管理模块40结 论42致谢43参考文献44第1章 系统总体介绍及组内分工1.1系统总体介绍随着旅店业竞争的加剧,

7、旅店之间客源的争夺越来越激烈,并且旅店服务行业正面临客流量骤增的压力宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率,而运用计算机技术对旅店进行管理成为当今社会的趋势。“旅店管理系统”可以说是整个旅店计算机信息系统的中心子系统,因为旅店最主要的功能就是为旅客提供客房。本系统主要为了提高宾馆管理的工作效率,为客户提供良好的住宿环境和舒适的心情,我们对该系统做了人性化的设计。使整个工作变得更系统化、规范化。本系统主要有五个功能:客房登记,客房预订,退房和服务,客户管理,房间管理。为开发该系统,我们需要:建立所需的数据库系统首先做好需求分析,在需求分析中,主要内容为数据

8、流图、数据字典(数据项、数据结构、数据流、数据存储、处理过程);其次做概念设计,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R图转换为计算机系统所支持的逻辑模型。进行编码和测试在已有数据库的基础上进行功能模块化编码,最终组合成一个完整的宾馆客房管理应用平台。1.2项目开发环境1.2.1硬件环境PC机1.2.2软件环境(1) 操作系统:Windows(2) 开发工具:MyEclipse 7.0、NetBeans ID6.9(3) 数据库:Access数据库1.3组内分工具体分工如表1.1所示。表1.1 组内分工表姓名任务成绩组长孟昭鹏整体设计

9、、数据库创建、登陆界面、房间管理模块组员孙雨薇主界面设、计服务管理模块、客房管理模块缪斯客户登记、预定设置和退房管理模块第2章 系统分析2.1需求概述该系统设计的五大功能:(1)客房登记功能,主要是录入客户的基本信息,包括身份证号、姓名、电话、房间号、预定日期、逗留天数等。预订信息和存储入住登记信息。(2)客房预定功能,主要是预定的设置,包括取消预定和更改预定。(3)退房和服务功能,主要是根据客户住的房间类型、客户的服务和逗留的天数来确定退房信息,录入客户服务时是根据客户的房间号,进行处理的。(4)客户管理功能,主要是包括客户信息的查询(基于姓名)、客户信息的查询(基于房间号)和服务的查询。(

10、5)房间管理功能,主要是为了了解房间的情况,有助于让管理员妥善的为客户安排房间,以达到客户的需求。2.2需求分析2.2.1理解需求旅店管理系统分为前台和后台两个部分,前台的操作对象主要是客户,对客户进行的操作主要是登记和记录各种订房和入住登记信息,即修改客房的状态和其它信息。后台的操作就是针对管理员了,管理员通过查询功能查询有关客户和客房的相关信息,特别是结账时,管理员查询客户的消费状况,最终生成账单给客户。管理员还可以设置及修改自己的密码和个人相关信息。下面是系统所要达到的几条要求:(1)系统运行在Windows平台下,需要有良好的用户界面。(2)要求系统准确的记录各种信息。(3)系统要提供

11、丰富的查询功能。(4)系统具有良好的可扩展性,良好的可移植性。2.2.2分析需求随着市场经济的快速发展,旅店行业之间的竞争也越来越激烈,为了提高旅店的整体竞争水平,必须要变革管理模式 ,提高管理水平。要想给消费者带来更多的方便,同时又能提高旅店的管理水平和工作效率,这无疑要求旅店要拥有一个强大的管理系统,来帮助完成旅店的日常管理,特殊服务等各项业务。引入旅店计算机管理系统,对旅店的日常业务进行科学化、现代化的管理,是提高旅店的形象、档次和服务水准的有力表现方式。为旅店强化内部管理、提高服务质量,减少工作中的差错,防止跑单漏单提供了可靠的技术手段和技术保障。根据实际的酒店需求调查分析,我们的管理

12、系统要求如下:需求分析:能够进行酒店中员工及客户的基本信息录入及管理,处理酒店的日常数据;能够对客户的消费信息进行统一管理,每条记录都记有详细的日期及负责人,以便日后进行核实;够进行实时查询,分层系查询,能够提供最快捷的各种资料查询功能和信息统计功能;够进行账单式结算功能并且保留原始数据以便日后核实。系统性能要求:系统安全、可靠;功能齐全;操作方便;易于维护和扩充。统的功能分析:信息维护:为了对每一条信息进行管理。系统维护包括对各种表记录的修改、删除、添加,查找等操作;系统查询:按客户号、员工号、房间号、具体消费项目号等相关信息进行实时查询。2.3可行性分析(1)技术可行性分析计算机配置均可达

13、到P4 2.8GHZ、256M内存、160G硬盘、768*1024分辨率的显示器同时我们掌握了数据库及其应用技术、数据库原理、计算机网络技术、Java等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力。(2)经济可行性主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑就可以了。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作。(3)运行可行性随着社会的飞速发展,人口流动性越来 越大,无论是

14、公干出差还是外出旅游,大多数人都会入住旅店,同时计算机的发展也是非常迅猛的,计算机的价格也在不断地下降,旅店管理系统的操作简单,因此非常的具有运行可行性。(4)法律可行性该旅店管理系统没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。由此可知,在小范围内该系统还是具有可行性的。2.4设计思想本系统开发设计思想有以下几点:(1) 充分利用现有资源,提高系统开发水平和应用效果的目的。(2) 系统应符合管理人员的具体要求,满足日常的管理工作需要,而且要达到使用中的直观、快捷、实用、安全、稳定等要求。(3) 系统采用模块化的程序设计方法,既便于系统功能的各种组合和修改,又便于未参与

15、开发的技术维护人员补充、维护。(4) 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等功能。2.5功能结构图本系统主要为了实现旅店管理的工作效率,为客户提供良好的住宿环境和舒适的心情,我们对该系统做了人性化的设计。使整个工作变得更系统化、规范化。经过实际的研究,我们大概设计了五大功能:客房登记功能,客房预定功能,退房和服务功能,客户管理功能,房间管理功能。(1)客房登记:是旅店管理系统的核心部分,它的主要功能是录入客户的基本信息,包括身份证号、登记姓名、电话、客房标准、押金、房间号、预定日期、逗留天数等。(2)客房预定:在预定设置里包括取消预定和更改预定,管理员根据客户的

16、不同需求,对客户的预定进行设置。(3)退房和服务:主要是录入客户的服务和退房处理,录入客户服务时是根据客户的房间号,进行处理的,退房处理是根据客户住的房间类型、客户的服务和逗留的天数来确定的。(4)客户管理:主要是为了更方便的管理客户,它包括客户信息的查询(基于姓名)、客户信息的查询(基于房间号)和服务的查询。(5)房间管理:主要是为了了解房间的情况,有助于让管理员妥善的为客户安排房间,它包括房间查看、空房查询、空客房查询、空豪华间查询、房价查询和房价的调整,房间的查看是为了总体查看现在有多少房间被用;空房查询是细化的查看房间有多少被用,都是那些房间被占;房间更改是根据不同的需要更改房价,以达

17、到客户的需求。系统的功能模块图如图2.1所示。旅馆管理系统客房登记退房和服务客户管理服务信息查询客户信息查询服务录入服务更改客户退房客房预定更改预定取消预定房间管理空房查询房价调整图2.1 系统功能模块图第3章 数据库设计3.1数据库需求分析需求分析简单地说就是分析用户的需求。需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。本系统的数据库需求分析应该分为:客户信息部分、房间信息部分、房间类型部分、客房服务部分、客户登记部分和转化六部分。通过调查人们的基本的信息,综合分析后,选出有代表性的作为客户信息部分;房间用那种方式好管理,主要采

18、用的方式,将分析出房间信息部门;而现在的房间都有那些类型,包括什么部分,各类型的房间需配备那些设备,价格是多少,综合分析后得出房间类型部分;根据人们现在的不同需要,调查那些服务是人们必须有的,而且是人们想有的,从而得到客房服务部门;客户要进行房间的结算就必须由管理员进行必要的登记,在登记的基础上分析出客户主要的消费方式,综合得到客户登记部分和转化部分。第4章 具体功能实现4.1系统登录系统管理登陆界面需要管理员输入正确的用户名和密码,如果密码错误,会进行必要的提示,当然如果密码正确,会进入顺利的进入系统,在此,用户名和密码都存在数据库中,在你输入用户名和密码时,程序会连接到数据库,将你输入的信

19、息和数据库中的信息比较。因此得到旅馆管理登陆界面图,如图4.1所示。 图4.1旅馆管理登陆界面图下面是登录界面的主要代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import javax.swing.table.*;public class Login_1 extends JFrame private Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); / Determine users screen siz

20、e /* Creates new form NewAccount */ public Login_1() initComponents(); private void initComponents() setResizable (false); setLocation (d.width / 2 - getWidth() / 2, d.height / 2 - getHeight() / 2); jLabel1 = new JLabel(); jLabel2 = new JLabel(); admin_userid = new JTextField(); admin_password = new

21、 JPasswordField(); btnOk = new JButton(); /new ImageIcon(img/login.jpg) Icon login = new ImageIcon(img/login.jpg); JLabel computer = new JLabel(login); Icon tabbed = new ImageIcon(img/admin.gif); JLabel tab = new JLabel(tabbed); getContentPane().setLayout(null); setTitle(旅店管理登录界面); getContentPane().

22、add(computer); computer.setBounds(40, 0, 273, 216); /Admin Username label jLabel1.setForeground (Color.black); jLabel1.setHorizontalAlignment(SwingConstants.RIGHT); jLabel1.setFont(new Font(Tahoma, 1, 11); jLabel1.setText(Username :); getContentPane().add(jLabel1); jLabel1.setBounds(50, 265, 75, 25)

23、; /Admin Password label jLabel2.setForeground (Color.black); jLabel2.setHorizontalAlignment(SwingConstants.RIGHT); jLabel2.setFont(new Font(Tahoma, 1, 11); jLabel2.setText(Password :); getContentPane().add(jLabel2); jLabel2.setBounds(50, 300, 75, 25); getContentPane().add(admin_userid); getContentPa

24、ne().add(admin_password); admin_userid.setBounds(130, 265, 150, 25); admin_password.setBounds(130, 300, 150, 25); getContentPane().setBackground(Color.white); getContentPane().add(btnOk); getContentPane().add(tab); tab.setBounds(35, 225, 280,110); /Login button btnOk.setText(LOGIN); btnOk.setFont(ne

25、w Font(Tahoma, 1, 9); btnOk.setBackground(Color.white); btnOk.setBounds (236, 336, 70, 25); btnOk.setToolTipText(Click to login);btnOk.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) if(admin_userid.getText().equals(zhwg) & !admin_password.getText().equals()/输入的用户

26、名和密码不能为空verifyadminLogin(); elseJOptionPane.showMessageDialog(Component) null, 请输入正确用户名和密码!, Login Error, JOptionPane.INFORMATION_MESSAGE); ); setIconImage (getToolkit().getImage (img/logo_1.png);setSize (330, 400);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setVisible(true); public stat

27、ic void main(String args) Login_1 ad=new Login_1(); private JButton btnCancel; private JLabel jLabel1; private JLabel jLabel2; private JPasswordField admin_password; private JButton btnOk; private JTextField admin_userid; private JTextField insert; private Icon login; private JLabel computer; privat

28、e Icon tabbed; private JLabel tab; private Icon tabbed2; private JLabel tab2; private JTextField staff_userid; private JPasswordField staff_password;void verifyadminLogin() Connection con=null;String url=jdbc:odbc:lhm;/数据库名Statement st=null; try String val1=admin_userid.getText(); val1=val1.trim();

29、String val2 = (String)admin_password.getText(); val2 = val2.trim();Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); con=DriverManager.getConnection(url); st = con.createStatement();ResultSet rs=st.executeQuery(Select password from login where username=+val1+)while(rs.next()String user = rs.getString(1);

30、boolean b=user.equals(val2);if(b)setVisible(false);JOptionPane.showMessageDialog(Component) null, Welcome to Come Manage System!, Login Success, JOptionPane.PLAIN_MESSAGE);/MainMenu menu=new MainMenu(); To link to other page, replace it with yours new JWindowDemo();/打开进度界面 elseJOptionPane.showMessag

31、eDialog(Component) null, 密码错误 , Login Error, JOptionPane.INFORMATION_MESSAGE);admin_password.setText();admin_password.requestFocus(); catch(SQLException ex) System.out.println(Unable to access the database); catch(ClassNotFoundException ex) System.out.println(Class not found); catch(Exception ex) Sy

32、stem.out.println(Exception raised is:+ex); finally con=null; 4.2系统主界面系统界面设计,采用合理的布局和标准的规格,操作方便快捷,插入的图片形象化,相当于快捷方式。界面的左边是一个树型结构,目的是快捷的实现管理员的操作;菜单条分各功能,简单明了;切片按扭,使得按扭和面板一体化。因此得到系统界面设计图,如图4.2所示。 图4.2系统界面设计图主界面的代码如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import

33、javax.swing.table.*;import javax.swing.tree.*;import javax.swing.event.*;import .*;import java.io.*;import java.applet.*; class Myhotel extends JFrame implements TreeSelectionListener,ActionListener JTree tree=null;JTextField xiaojtf=new JTextField(15); MenuItem item1_1=new MenuItem(客户信息查询(基于姓名); De

34、faultMutableTreeNode node2_1;DefaultMutableTreeNode node2_1_1;AudioClip clip; JButton btnOk1up= new JButton(new ImageIcon(images/1.gif); JButton btnOk2up= new JButton(new ImageIcon(images/3.gif); JButton btnOk3up= new JButton(new ImageIcon(images/2.gif); JButton btnOk4up= new JButton(new ImageIcon(i

35、mages/4.gif); JButton btnOk5up= new JButton(new ImageIcon(images/7.gif); JButton btnOk6up= new JButton(new ImageIcon(images/9.gif); JButton btnOk7up= new JButton(new ImageIcon(images/10.gif); JButton btnOk8up= new JButton(new ImageIcon(images/5.gif); JButton btnOk9up= new JButton(new ImageIcon(image

36、s/6.gif); JButton btnOk10up= new JButton(new ImageIcon(images/8.gif); Myhotel() super(旅店管理系统); setExtendedState(MAXIMIZED_BOTH) ; FlowLayout flow=new FlowLayout(); flow.setAlignment(FlowLayout.LEFT); Container container=getContentPane(); JTextField jtfInfo; JSplitPane chai; JSplitPane xiaochai; Font

37、 f = new Font(TimesChinese,Font.PLAIN,12); setFont(f); JToolBar JTB=new JToolBar(); JToolBar JTBXIA=new JToolBar(); JTextField qu=new JTextField(); JScrollPane scr=new JScrollPane(qu); JTabbedPane jtp=new JTabbedPane(); JPanel pWest=new JPanel();JPanel pWest1=new JPanel();JPanel pSouth=new JPanel();

38、JPanel pCerten=new JPanel();JPanel pCerten1=new JPanel();JPanel pCerten2=new JPanel(); pWest.setLayout(flow); pWest1.setLayout(flow); pSouth.setLayout(flow); jtp.addTab(客房登记,null,new RoomEnrollTabPane(),客房登记); jtp.addTab(取消预订,null,new BookCancelTabPane(),取消预订); jtp.addTab(更改预订,null,new BookReworkTab

39、Pane(),更改预订); jtp.addTab(退还房间,null,new RoomReturnTabPane(),退还房间); jtp.addTab(服务费用入帐,null,new ServerCostEnrollTabPane(),服务费用入帐); Menu menuTheme1=new Menu(客户管理(K); Menu menuTheme2=new Menu(房间管理(R); Menu menuTheme3=new Menu(服务管理(F); Menu menuTheme4=new Menu(顾客统计(G); Menu menuTheme5=new Menu(系统设置(X); Me

40、nuItem item1_2=new MenuItem(客户信息查询(基于房号); MenuItem item1_3=new MenuItem(服务信息查询); menuTheme1.add(item1_1); menuTheme1.add(item1_2); menuTheme1.add(item1_3); MenuItem item2_1=new MenuItem(房间查看); MenuItem item2_2=new MenuItem(空房列表); MenuItem item2_3=new MenuItem(空豪华间); MenuItem item2_4=new MenuItem(空余客

41、房); MenuItem item2_5=new MenuItem(房价查询); MenuItem item2_6=new MenuItem(房价调整); menuTheme2.add(item2_1); menuTheme2.add(item2_2); menuTheme2.add(item2_3); menuTheme2.add(item2_4); menuTheme2.add(item2_5); menuTheme2.add(item2_6); MenuItem item3_1=new MenuItem(服务列表); MenuItem item3_2=new MenuItem(服务价格调整); MenuItem item3_3=new MenuItem(服务事项列表(基于日期); menuTheme3.add(item3_1); me

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号