昆明理工大学Java程设计小型酒店管理系统.doc

上传人:仙人指路1688 文档编号:3944963 上传时间:2023-03-28 格式:DOC 页数:29 大小:638.50KB
返回 下载 相关 举报
昆明理工大学Java程设计小型酒店管理系统.doc_第1页
第1页 / 共29页
昆明理工大学Java程设计小型酒店管理系统.doc_第2页
第2页 / 共29页
昆明理工大学Java程设计小型酒店管理系统.doc_第3页
第3页 / 共29页
昆明理工大学Java程设计小型酒店管理系统.doc_第4页
第4页 / 共29页
昆明理工大学Java程设计小型酒店管理系统.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《昆明理工大学Java程设计小型酒店管理系统.doc》由会员分享,可在线阅读,更多相关《昆明理工大学Java程设计小型酒店管理系统.doc(29页珍藏版)》请在三一办公上搜索。

1、 课 程 设 计课程名称: Java EE/.Net课程设计 设计题目: 小型酒店管理系统 学 院: 信息工程与自动化 专 业: 计科 年 级: 09级 学生姓名: 孙浩川(200910405310) 指导教师: 舒国锋 日 期: 2012.6.6 教 务 处 制 课 程 设 计 任 务 书 信息工程与自动化 学院 计科 专业 09 年级学生姓名: 孙浩川 课程设计题目: 小型酒店管理系统 课程设计主要内容:本小型酒店管理系统的开发是针对小型酒店的日常管理业务开发而成的,采用sql server作为后台数据库,java工具来设计程序,实现以下几个功能:一,通过使用计算机能方便的维护,包括插入、

2、删除、修改各信息表;二、能方便的实现基于多个表的连接查询;三、系统具有操作方便、简捷等特点。这些功能模块基本上满足了客人在酒店预订、入住管理等方面的需求。设 计 指 导 教 师 (签字): 教学基层组织负责人(签字): 年 月 日摘要随着经济的发展,旅游业和商贸流通业的繁荣促使宾馆酒店业也得到前所未有的发展。利用以计算机为基础的管理信息系统改善和挖掘宾馆酒店业的市场潜力,从而最大限度地获取营业利润是目前宾馆酒店从业者们在软件环境方面改善和提高服务的一个重要措施。本小型酒店管理系统的开发是针对小型酒店的日常管理业务开发而成的,采用sql server作为后台数据库,java工具来设计程序,实现以

3、下几个功能:一,通过使用计算机能方便的维护,包括插入、删除、修改各信息表;二、能方便的实现基于多个表的连接查询;三、系统具有操作方便、简捷等特点。这些功能模块基本上满足了客人在酒店预订、入住管理等方面的需求。通过以上功能的实现来提供相对比较完善的酒店管理机制的建立。本文详细介绍了酒店入住信息管理系统的开发实现过程,从系统的需求分析、总体设计、详细设计、关键代码及说明、项目测试等各个环节都进行了详尽的分析和描述。关键词:java,课程设计,本小型酒店管理系统,sql server目录一、项目需求分析41.1 功能需求41.2 操作需求41.3 系统性能要求4二、项目总体设计52.1 系统功能模块

4、划分52.2 界面设计62.3 数据库与数据库逻辑结构设计9三、项目详细设计103.1 关于类的设计103.2 数据库的连接103.3 类的功能设计11四、关键代码及说明12五、项目测试23六、 总结26一、项目需求分析1.1 功能需求随着人们生活水平的提高,越来越多的人们出门旅游,酒店的普及让人们越来越方便,所以酒店的管理愈加显得重要。酒店管理系统就是一个简单的数据库管理系统,要做一个系统首先要搞得是调查分析,得出系统的一个逻辑模型,然后构架数据库,然后再进行后面的详细设计,编码,测试等阶段了。酒店管理系统的大致功能应该包括:1、房间的管理,包括房态的查询等2、人员入住登记3、入住人员查询、

5、管理4、人员退房等。根据需求分析,本系统采用的语言:(1)本系统采用Java语言,Java是目前使用最为广泛的计算机语言之一。它具有简单,面向对象,稳定,与平台无关等特点。说他简单,并不是说这门语言很干瘪,而是一种清楚更容易理解的方式实现程序。面向对象是基于对象的变成更符合人的思维方式,使人们更容易编写程序。(2)本系统还采用SQL语言,SQL Server具有许多显著优点:易用性、适合分布组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。(3)本系统有效的利用Java和SQL的优点。1.2 操作需求能够准确地记录相关信息。系统界面友好、操作简单

6、易行,查询灵活方便,数据储存安全可靠。系统维护安全、方便、可靠,并且能够实现实用性,先进性的要求。经分析我认为本酒店管理系统的具体要求为:1、通过使用计算机能方便的维护(包括插入、删除、修改)各信息表2、能方便的实现基于多个表的连接查询3、系统具有操作方便、简捷等特点。1.3 系统性能要求操作系统: Windows 7开发软件: MyEclipse 、SQL Server二、项目总体设计2.1 系统功能模块划分1)新建函数 Link Create(Link Head);/ 创建一个带头节点的空链表 2)修改函数 Link Modify(Link Head);/修改单个节点3)删除函数 Link

7、 Del(Link &Head);4)查询函数bool Search(Link Head)/ 查询同时满足“姓名”和“房间号”的入住人员信息Link Search_Unique_Front(Link Head)/ 查询满足“身份证号“的入住人员信息(身份证号必需唯一)5)保存函数 void Save_ByFile(Link Head)/6)排序函数(包括按房间号排序和按姓名进行字典排序)/Link Sort(Link Head)/Link Sort_byname(Link Head)7) 显示函数 void Display_List(Link Head)2.2 界面设计1. 管理员登陆界面2.

8、 主界面3. 客人资料编辑页面4. 客人信息修改界面主界面模块部分示例代码:import java.awt.*;import java.awt.event.*;class WindowExit extends Frameimplements ActionListener MenuBar menubar; Menu menu1,menu2,menu3; MenuItem item1,item2,item3,item4,item5,item6,item7,item8; WindowExit() menubar=new MenuBar(); menu1=new Menu(资料查询); menu2=n

9、ew Menu(客人编辑); menu3=new Menu(房间编辑); item1=new MenuItem(客人资料查询); item2=new MenuItem(房间资料查询); item3=new MenuItem(添加客人资料); item4=new MenuItem(修改客人资料); item5=new MenuItem(删除客人资料); item6=new MenuItem(添加房间资料); item7=new MenuItem(修改房间资料); item8=new MenuItem(删除房间资料); menu1.add(item1); menu1.add(item2); men

10、u2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6); menu3.add(item7); menu3.add(item8); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); setMenuBar(menubar); item1.addActionListener(this); item2.addActionListener(this); item3.addActionListener(this); item4.addActionListen

11、er(this); item5.addActionListener(this); item6.addActionListener(this); item7.addActionListener(this); item8.addActionListener(this);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setBounds(110,100,300,300); setVisible(true); validate(); public void

12、 actionPerformed(ActionEvent e) if(e.getSource()=item1)WindowText1 win=new WindowText1(客人查询界面); if(e.getSource()=item2)WindowText2 win=new WindowText2(房间查询界面); if(e.getSource()=item5)WindowText5 win=new WindowText5(客人删除界面); if(e.getSource()=item3)WindowText3 win=new WindowText3(客人添加界面); if(e.getSour

13、ce()=item8)WindowText8 win=new WindowText8(房间删除界面); if(e.getSource()=item6)WindowText6 win=new WindowText6(房间添加界面); if(e.getSource()=item7)WindowText7 win=new WindowText7(房间修改界面); if(e.getSource()=item4)WindowText4 win=new WindowText4(客人修改界面); public class example public static void main(String args

14、) WindowExit win=new WindowExit(); 2.3 数据库与数据库逻辑结构设计经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。(=代表主码,代表外码)客人资料(证件号码,姓名,性别,年龄,电话,证件名称)客房资料(房间号,客人姓名,客人证件号,入房时间,退房时间,入房人数)总额(房间号,客人姓名,证件号码,入住人数,总额)分析以上关系模式,已不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是有个别关系模式中存在着些许数据冗余,但可以提高查询效率。数据库的物理设计就是为逻辑数据模型选取一个最合

15、适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。三、项目详细设计3.1 关于类的设计所有的方法均以类为基础。所涉及到的类包括:Class Person 入住人员类;该类是一个基类,设置了属于保护类的入住人员基本属性,以及构造函数Person(char 证件号码,varchar 姓名,char 性别,int 年龄,char 电话,varchar 证件名称)。Class Room 管理类;该类定义了管理函数,即几个模块功能的实现方法,链表的使用也包括其中。此类的作能在于

16、将所有功能模块集成并定义本系统使用的主要方法。3.2 数据库的连接import java.awt.*;import java.awt.event.*;public class login extends Frame implements ActionListener Label username=new Label(管理员号:);/使用文本创建一个用户名标签 TextField t1=new TextField();/创建一个文本框对象 Label password=new Label(密码:);/创建一个密码标签 TextField t2=new TextField(); Button b1

17、=new Button(登陆);/创建登陆按钮 Button b2=new Button(取消);/创建取消按钮 public login() this.setTitle(酒店管理系统);/设置窗口标题 this.setLayout(null);/设置窗口布局管理器 username.setBounds(50,40,60,20);/设置姓名标签的初始位置 this.add(username);/ 将姓名标签组件添加到容器 t1.setBounds(120,40,80,20);/ 设置文本框的初始位置 this.add(t1);/ 将文本框组件添加到容器 password.setBounds(5

18、0,100,60,20);/密码标签的初始位置 this.add(password);/将密码标签组件添加到容器 t2.setBounds(120,100,80,20);/设置密码标签的初始位置 this.add(t2);/将密码标签组件添加到容器 b1.setBounds(50,150,60,20);/设置登陆按钮的初始位置 this.add(b1);/将登陆按钮组件添加到容器 b2.setBounds(120,150,60,20);/设置取消按钮的初始位置 this.add(b2);/ 将取消按钮组件添加到容器 b1.addActionListener(this);/给登陆按钮添加监听器

19、b2.addActionListener(this);/ 给取消按钮添加监听器 this.setVisible(true);/设置窗口的可见性 this.setSize(300,200);/设置窗口的大小 addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); );/通过内部类重写关闭窗体的方法 public void actionPerformed(ActionEvent e) if(e.getSource()=b1)/处理登陆事件 String name=t

20、1.getText(); String pass=t2.getText(); if(name!=null&pass.equals(000123)/判断语句 new WindowExit(); public static void main(String args)/主函数 new login(); 3.3 类的功能设计模块一:增加入住人员函数Add();增加通讯录基本信息。模块二:删除入住人员函数Delete();删除指定的入住人员的基本信息。模块三:修改人员函数Modify();修改指定的通讯录基本信息。模块四:查询人员信息函数Query();查询指定的入住人员信息。模块五:数据存盘,载入函

21、数Save()以及Load();储存与载入基本信息。模块六:预览数据void Look();预览比较详细的信息。模块七:删除奖罚信息表void DesTory();删除已载入的所有的信息。模块八:基础数据设置函数void TJ();;统计男女的人数,以及总人数。四、关键代码及说明import java.awt.*;import java.awt.event.*;public class login extends Frame implements ActionListener Label username=new Label(管理员号:);/使用文本创建一个用户名标签 TextField t1

22、=new TextField();/创建一个文本框对象 Label password=new Label(密码:);/创建一个密码标签 TextField t2=new TextField(); Button b1=new Button(登陆);/创建登陆按钮 Button b2=new Button(取消);/创建取消按钮 public login() this.setTitle(酒店管理系统);/设置窗口标题 this.setLayout(null);/设置窗口布局管理器 username.setBounds(50,40,60,20);/设置姓名标签的初始位置 this.add(usern

23、ame);/ 将姓名标签组件添加到容器 t1.setBounds(120,40,80,20);/ 设置文本框的初始位置 this.add(t1);/ 将文本框组件添加到容器 password.setBounds(50,100,60,20);/密码标签的初始位置 this.add(password);/将密码标签组件添加到容器 t2.setBounds(120,100,80,20);/设置密码标签的初始位置 this.add(t2);/将密码标签组件添加到容器 b1.setBounds(50,150,60,20);/设置登陆按钮的初始位置 this.add(b1);/将登陆按钮组件添加到容器 b

24、2.setBounds(120,150,60,20);/设置取消按钮的初始位置 this.add(b2);/ 将取消按钮组件添加到容器 b1.addActionListener(this);/给登陆按钮添加监听器 b2.addActionListener(this);/ 给取消按钮添加监听器 this.setVisible(true);/设置窗口的可见性 this.setSize(300,200);/设置窗口的大小 addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit

25、(0); );/通过内部类重写关闭窗体的方法 public void actionPerformed(ActionEvent e) if(e.getSource()=b1)/处理登陆事件 String name=t1.getText(); String pass=t2.getText(); if(name!=null&pass.equals(000123)/判断语句 new WindowExit(); public static void main(String args)/主函数 new login(); public class example public static void mai

26、n(String args) WindowExit win=new WindowExit(); import java.awt.*;import java.awt.event.*;class WindowExit extends Frameimplements ActionListener MenuBar menubar; Menu menu1,menu2,menu3; MenuItem item1,item2,item3,item4,item5,item6,item7,item8; WindowExit() menubar=new MenuBar(); menu1=new Menu(资料查询

27、); menu2=new Menu(客人编辑); menu3=new Menu(房间编辑); item1=new MenuItem(客人资料查询); item2=new MenuItem(房间资料查询); item3=new MenuItem(添加客人资料); item4=new MenuItem(修改客人资料); item5=new MenuItem(删除客人资料); item6=new MenuItem(添加房间资料); item7=new MenuItem(修改房间资料); item8=new MenuItem(删除房间资料); menu1.add(item1); menu1.add(i

28、tem2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6); menu3.add(item7); menu3.add(item8); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); setMenuBar(menubar); item1.addActionListener(this); item2.addActionListener(this); item3.addActionListener(this); item4.addAc

29、tionListener(this); item5.addActionListener(this); item6.addActionListener(this); item7.addActionListener(this); item8.addActionListener(this);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setBounds(110,100,300,300); setVisible(true); validate(); p

30、ublic void actionPerformed(ActionEvent e) /if(e.getSource()=item1)WindowText1 win=new WindowText1(客人查询界面); /if(e.getSource()=item2)WindowText2 win=new WindowText2(房间查询界面); if(e.getSource()=item5)WindowText5 win=new WindowText5(客人删除界面); if(e.getSource()=item3)WindowText3 win=new WindowText3(客人添加界面);

31、/if(e.getSource()=item8)WindowText8 win=new WindowText8(房间删除界面); if(e.getSource()=item6)WindowText6 win=new WindowText6(房间添加界面); / if(e.getSource()=item7)WindowText7 win=new WindowText7(房间修改界面); / if(e.getSource()=item4)WindowText4 win=new WindowText4(客人修改界面); import java.awt.*;import java.awt.event

32、.*; import java.sql.*;import javax.swing.border.*;import javax.swing.*; class WindowText3 extends Frame implements ActionListener TextField t1,t2,t3,t4,t5; Choice c1; Button b,b0,b01; Box b1,b2,b3,b4,b5,b6; WindowText3 (String s) super(s);setLayout(new FlowLayout(); c1=new Choice();c1.add(男);c1.add(

33、女);t1=new TextField(15);t2=new TextField(15);t3=new TextField(15);t4=new TextField(15);t5=new TextField(15);b=new Button(添加);b0=new Button(清空);b01=new Button(返回);b1=Box.createVerticalBox(); b1.add(Box.createVerticalStrut(15); b1.add(new Label(证件号); b1.add(Box.createVerticalStrut(15); b1.add(new Labe

34、l(姓名); b1.add(Box.createVerticalStrut(15); b1.add(new Label(性别);b2=Box.createVerticalBox(); b2.add(Box.createVerticalStrut(15); b2.add(new Label(年龄); b2.add(Box.createVerticalStrut(15); b2.add(new Label(电话); b2.add(Box.createVerticalStrut(15); b2.add(new Label(证件名称);b3=Box.createVerticalBox(); b3.ad

35、d(Box.createVerticalStrut(15); b3.add(t1); b3.add(Box.createVerticalStrut(15); b3.add(t2); b3.add(Box.createVerticalStrut(15); b3.add(c1); b4=Box.createVerticalBox(); b4.add(Box.createVerticalStrut(15); b4.add(t3); b4.add(Box.createVerticalStrut(15); b4.add(t4); b4.add(Box.createVerticalStrut(15); b

36、4.add(t5); b5=Box.createVerticalBox(); b5.add(Box.createVerticalStrut(15); b5.add(b); b5.add(Box.createVerticalStrut(15); b5.add(b0); b5.add(Box.createVerticalStrut(15); b5.add(b01); b6=Box.createHorizontalBox(); b6.add(b1); b6.add(Box.createHorizontalStrut(20); b6.add(b3); b6.add(Box.createHorizont

37、alStrut(20); b6.add(b2); b6.add(Box.createHorizontalStrut(20); b6.add(b4); b6.add(Box.createHorizontalStrut(20); b6.add(b5); add(b6);add(new Label(备注);add(new TextArea();b0.setBackground(Color.pink);b01.setBackground(Color.pink);b.setBackground(Color.pink);b1.setBackground(Color.cyan);b2.setBackgrou

38、nd(Color.cyan);b3.setBackground(Color.cyan);b4.setBackground(Color.cyan);b5.setBackground(Color.cyan);this.setForeground(Color.blue);b.setFont(new Font(楷体_GB2312, Font.BOLD, 18);b0.setFont(new Font(楷体_GB2312, Font.BOLD, 18);b01.setFont(new Font(楷体_GB2312, Font.BOLD, 18);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); b.addActionListener(this);b0.addActionListener(this);b01.addActionListener(this); setBounds(300,150,490,490); setVisible(

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号