1、客房资管理系统涉及到:客人信息、客房信息、入住信息、历史信息等多种数据信息。客房管理系统的用户包括系统管理员。系统管理员负责整理工作,如各种基本信息的添加、删除和简单的结账计算等操作。本系统的主要功能包括:客人信息管理:客人信息数据的添加、删除、结账计算。数据查询:查看客人信息数据,查看客房信息数据。数据统计:统计一段时间内的客房情况和月收入等基本统计。3 系统设计3.1 系统模块设计根据系统功能分析和一些旅店客房管理的特点,经过模块化的分析得到如下图所示的系统功能模块结构图。系统功能模块结构图3.2 数据库设计3.2.1 数据流图顶层数据流图第0层数据流图3.2.2 数据字典根据系统功能模块
2、结构图及典型旅店客房管理系统的需求,总结出来如下的数据字典:(1)数据项说明数据项名称含义说明类型长度记录编号惟一标识一条记录bigint8客房编号惟一标识一间客房varchar10离店时间标识离店时间datetime金额标识所收金额money类别标识客房类别smallint2名称标识客房类别名称20价格标识客房价格(2)数据流说明数据流名称含义来源去向组成登陆管理员进入系统操作客房管理系统管理员端编号+密码查询已住房查询住房资料客人信息表统计界面客人信息表+客房编号表查询空房查询空住房客房编号表查询房号查询房号信息计算计算金额登记,删除录入住房信息系统数据库统计统计住房信息(3)数据存储说明
3、数据存储名称组成结构历史记录表存放客房历史的有关信息客房编号+金额存放客人相关的信息个人信息+住店时间+金额客房类别表存放客房对应的价格类别+价格存放客房对应的编号类别+编号管理人员表存放管理员验证信息(4)处理过程说明处理过程名称:审核登陆输入:输出:确认加工逻辑:根据编号和密码管理员,进入主窗体。(其他处理过程略)3.2.3 概念结构设计依据客房管理系统的实际情况,考虑了多方面的因素以后,确定系统的E-R图,如图所示:客房管理系统E-R图3.2.4 逻辑结构设计按照E-R图转换规则,可以得到如下的关系模式:客人信息(客房编号,姓名,性别,年龄,身份证号码,家庭住址,工作单位,来自地的地名,
4、预定入住时间,入住时间,离店时间,押金,需负金额)客人类别(类别,名称,价格)客房编号(编号,类别)历史记录(记录编号,客房编号,离店时间,金额)管理人员(编号,密码)3.2.5 物理结构设计 根据E-R图及数据字典,设计出公司工资管理系统数据库中的各个数据表,包括:客人信息、客房类别、客房编号、历史记录、管理人员共5个数据表。 本系统数据库命名为“客房管理系统”,数据库中的各个数据表名称和结构分别如下所示,为便于说明,各个数据表的结构使用该表在SQL Server企业管理器中的设计视图表示。 关系图: 客人信息:客人信息结构图 客房类别:客房类别结构图 客房编号:客房编号结构图 历史记录:历
5、史记录结构图 管理人员:管理人员结构图4 详细设计4.1 界面设计主窗口(Mainwindow)本窗体为主窗体,用到java的swing中的菜单栏组件,主要代码如下:panel1=new JPanel(); this.setContentPane(panel1); lbPicture=newJLabel(new ImageIcon(管理系统.背景.jpg); panel1.add(lbPicture); /主菜单 jmbMain=new JMenuBar(); jmSystem=new JMenu(系统); jmSearch=new JMenu(查询 jmAdd=new JMenu(登记 jm
6、Count=new JMenu(统计 jmHelp=new JMenu(帮助 setJMenuBar(jmbMain); /添加主菜单 jmbMain.add(jmSystem); jmbMain.add(jmSearch); jmbMain.add(jmAdd); jmbMain.add(jmCount); jmbMain.add(jmHelp); /系统子菜单 jmiLogin=new JMenuItem(登陆 jmiLogin.addActionListener(this); jmSystem.add(jmiLogin); jmiCancel=new JMenuItem(注销 jmiCa
7、ncel.addActionListener(this); jmiCancel.setEnabled(false); jmSystem.add(jmiCancel); jmiExit=new JMenuItem(退出 jmiExit.addActionListener(this); jmSystem.add(jmiExit); /查询子菜单 jmiSearchFullRoom=new JMenuItem(查已住房 jmiSearchFullRoom.addActionListener(this); jmiSearchFullRoom.setEnabled(false); jmSearch.ad
8、d(jmiSearchFullRoom); jmiSearchVoidRoom=new JMenuItem(查空房 jmiSearchVoidRoom.addActionListener(this); jmiSearchVoidRoom.setEnabled(false); jmSearch.add(jmiSearchVoidRoom); jmiSearchName=new JMenuItem(按名字或房号查 jmiSearchName.addActionListener(this); jmiSearchName.setEnabled(false); jmSearch.add(jmiSearc
9、hName); jmiLine.setEnabled(false); jmSearch.add(jmiLine); jmiCalculate=new JMenuItem(结账 jmiCalculate.addActionListener(this); jmiCalculate.setEnabled(false); jmSearch.add(jmiCalculate); /登记子菜单 jmiAdd=new JMenuItem(添加 jmiAdd.addActionListener(this); jmiAdd.setEnabled(false); jmAdd.add(jmiAdd); jmiDel
10、ete=new JMenuItem(删除 jmiDelete.addActionListener(this); jmiDelete.setEnabled(false); jmAdd.add(jmiDelete); /统计子菜单 jmiCircumstances=new JMenuItem(入住情况 jmiCircumstances.addActionListener(this); jmiCircumstances.setEnabled(false); jmCount.add(jmiCircumstances); jmiRate=new JMenuItem(入住率 jmiRate.addActi
11、onListener(this); jmiRate.setEnabled(false); jmCount.add(jmiRate); jmiIncome=new JMenuItem(收入 jmiIncome.addActionListener(this); jmiIncome.setEnabled(false); jmCount.add(jmiIncome); /帮助子菜单 jmiAbout=new JMenuItem(关于 jmiAbout.addActionListener(this); jmHelp.add(jmiAbout); /窗体属性 setBounds(300,150,800,6
12、00); setVisible(true);菜单中的键用到了ActionListener接口来实现 主要代码如下:public void actionPerformed(ActionEvent ae) /退出键 if (ae.getSource()=jmiExit) /登陆键 else if(ae.getActionCommand()=) /注销键 else if(ae.getSource()=jmiCancel) /查已住房间键 else if(ae.getSource()=jmiSearchFullRoom) /查空房 else if(ae.getSource()=jmiSearchVoidRoom) /按名字或房号查 else if(ae.getSource()=jmiSearchName)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1