酒店管理系统设计报告书文档格式.docx
《酒店管理系统设计报告书文档格式.docx》由会员分享,可在线阅读,更多相关《酒店管理系统设计报告书文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
客房资管理系统涉及到:
客人信息、客房信息、入住信息、历史信息等多种数据信息。
客房管理系统的用户包括系统管理员。
系统管理员负责整理工作,如各种基本信息的添加、删除和简单的结账计算等操作。
本系统的主要功能包括:
客人信息管理:
客人信息数据的添加、删除、结账计算。
数据查询:
查看客人信息数据,查看客房信息数据。
数据统计:
统计一段时间内的客房情况和月收入等基本统计。
3系统设计
3.1系统模块设计
根据系统功能分析和一些旅店客房管理的特点,经过模块化的分析得到如下图所示的系统功能模块结构图。
系统功能模块结构图
3.2数据库设计
3.2.1数据流图
顶层数据流图
第0层数据流图
3.2.2数据字典
根据系统功能模块结构图及典型旅店客房管理系统的需求,总结出来如下的数据字典:
(1)数据项说明
数据项名称
含义说明
类型
长度
记录编号
惟一标识一条记录
bigint
8
客房编号
惟一标识一间客房
varchar
10
离店时间
标识离店时间
datetime
金额
标识所收金额
money
类别
标识客房类别
smallint
2
名称
标识客房类别名称
20
价格
标识客房价格
(2)数据流说明
数据流名称
含义
来源
去向
组成
登陆
管理员进入系统操作
客房管理系统
管理员端
编号+密码
查询已住房
查询住房资料
客人信息表
统计界面
客人信息表+客房编号表
查询空房
查询空住房
客房编号表
查询房号
查询房号信息
计算
计算金额
登记,删除
录入住房信息
系统数据库
统计
统计住房信息
(3)数据存储说明
数据存储名称
组成结构
历史记录表
存放客房历史的有关信息
客房编号+金额
存放客人相关的信息
个人信息+住店时间+金额
客房类别表
存放客房对应的价格
类别+价格
存放客房对应的编号
类别+编号
管理人员表
存放管理员验证信息
(4)处理过程说明
处理过程名称:
审核登陆
输入:
输出:
确认
加工逻辑:
根据编号和密码管理员,进入主窗体。
(其他处理过程略)
3.2.3概念结构设计
依据客房管理系统的实际情况,考虑了多方面的因素以后,确定系统的E-R图,如图所示:
客房管理系统E-R图
3.2.4逻辑结构设计
按照E-R图转换规则,可以得到如下的关系模式:
客人信息(客房编号,姓名,性别,年龄,身份证号码,家庭住址,工作单位,来自地的地名,预定入住时间,入住时间,离店时间,押金,需负金额)
客人类别(类别,名称,价格)
客房编号(编号,类别)
历史记录(记录编号,客房编号,离店时间,金额)
管理人员(编号,密码)
3.2.5物理结构设计
根据E-R图及数据字典,设计出公司工资管理系统数据库中的各个数据表,包括:
客人信息、客房类别、客房编号、历史记录、管理人员共5个数据表。
本系统数据库命名为“客房管理系统”,数据库中的各个数据表名称和结构分别如下所示,为便于说明,各个数据表的结构使用该表在SQLServer企业管理器中的设计视图表示。
●关系图:
●客人信息:
客人信息结构图
●客房类别:
客房类别结构图
●客房编号:
客房编号结构图
●历史记录:
历史记录结构图
●管理人员:
管理人员结构图
4详细设计
4.1界面设计
主窗口(Mainwindow)
本窗体为主窗体,用到java的swing中的菜单栏组件,主要代码如下:
panel1=newJPanel();
this.setContentPane(panel1);
lbPicture=newJLabel(newImageIcon(管理系统."
背景.jpg"
)));
panel1.add(lbPicture);
//主菜单
jmbMain=newJMenuBar();
jmSystem=newJMenu("
系统"
);
jmSearch=newJMenu("
查询"
jmAdd=newJMenu("
登记"
jmCount=newJMenu("
统计"
jmHelp=newJMenu("
帮助"
setJMenuBar(jmbMain);
//添加主菜单
jmbMain.add(jmSystem);
jmbMain.add(jmSearch);
jmbMain.add(jmAdd);
jmbMain.add(jmCount);
jmbMain.add(jmHelp);
//系统子菜单
jmiLogin=newJMenuItem("
登陆"
jmiLogin.addActionListener(this);
jmSystem.add(jmiLogin);
jmiCancel=newJMenuItem("
注销"
jmiCancel.addActionListener(this);
jmiCancel.setEnabled(false);
jmSystem.add(jmiCancel);
jmiExit=newJMenuItem("
退出"
jmiExit.addActionListener(this);
jmSystem.add(jmiExit);
//查询子菜单
jmiSearchFullRoom=newJMenuItem("
查已住房"
jmiSearchFullRoom.addActionListener(this);
jmiSearchFullRoom.setEnabled(false);
jmSearch.add(jmiSearchFullRoom);
jmiSearchVoidRoom=newJMenuItem("
查空房"
jmiSearchVoidRoom.addActionListener(this);
jmiSearchVoidRoom.setEnabled(false);
jmSearch.add(jmiSearchVoidRoom);
jmiSearchName=newJMenuItem("
按名字或房号查"
jmiSearchName.addActionListener(this);
jmiSearchName.setEnabled(false);
jmSearch.add(jmiSearchName);
jmiLine.setEnabled(false);
jmSearch.add(jmiLine);
jmiCalculate=newJMenuItem("
结账"
jmiCalculate.addActionListener(this);
jmiCalculate.setEnabled(false);
jmSearch.add(jmiCalculate);
//登记子菜单
jmiAdd=newJMenuItem("
添加"
jmiAdd.addActionListener(this);
jmiAdd.setEnabled(false);
jmAdd.add(jmiAdd);
jmiDelete=newJMenuItem("
删除"
jmiDelete.addActionListener(this);
jmiDelete.setEnabled(false);
jmAdd.add(jmiDelete);
//统计子菜单
jmiCircumstances=newJMenuItem("
入住情况"
jmiCircumstances.addActionListener(this);
jmiCircumstances.setEnabled(false);
jmCount.add(jmiCircumstances);
jmiRate=newJMenuItem("
入住率"
jmiRate.addActionListener(this);
jmiRate.setEnabled(false);
jmCount.add(jmiRate);
jmiIncome=newJMenuItem("
收入"
jmiIncome.addActionListener(this);
jmiIncome.setEnabled(false);
jmCount.add(jmiIncome);
//帮助子菜单
jmiAbout=newJMenuItem("
关于"
jmiAbout.addActionListener(this);
jmHelp.add(jmiAbout);
//窗体属性
setBounds(300,150,800,600);
setVisible(true);
菜单中的键用到了ActionListener接口来实现主要代码如下:
publicvoidactionPerformed(ActionEventae){
//退出键
if(ae.getSource()==jmiExit)
{
}
//登陆键
elseif(ae.getActionCommand()=="
)
//注销键
elseif(ae.getSource()==jmiCancel)
//查已住房间键
elseif(ae.getSource()==jmiSearchFullRoom)
//查空房
elseif(ae.getSource()==jmiSearchVoidRoom)
//按名字或房号查
elseif(ae.getSource()==jmiSearchName)