数据库酒店管理系统.docx
《数据库酒店管理系统.docx》由会员分享,可在线阅读,更多相关《数据库酒店管理系统.docx(19页珍藏版)》请在冰点文库上搜索。
数据库酒店管理系统
数据库课程设计报告
酒店管理系统的设计
系部信息工程系专业计算机软件专业
班级学号____________
姓名_______________课题_____________
指导教师报告成绩______________
酒店管理系统系统的设计
1课程设计目的及要求
数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程。
数据库课程设计对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
本课程分为系统分析与数据库设计、应用程序设计和系统集成调试三个阶段进行。
数据库课程设计的主要目标是:
a.加深对数据库系统、程序设计语言的理论知识的理解和应用水平。
b.通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
2课程设计的主要内容
系统分析与数据库设计阶段
a.通过社会调查,选择一个实际应用数据库系统的课题。
b.进行系统需求分析和系统设计,写出系统分析和设计报告。
c.设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。
应用程序设计阶段
a.完成数据库定义工作,实现系统数据的数据处理和数据录入。
b.实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性和并发控制技术等功能,并针对具体课题问题提出解决方法。
c.系统集成调试阶段
对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。
3数据库设计
3.1需求分析
3.1.1对功能的需求
a.系统帐号管理
第一次用一个管理员账号(系统给定)登陆,登陆成功后,可以设置其他用户,包括密码、权限等。
b.消费管理
为消费客户查询并分配餐桌,纪录客户用餐情况并结帐。
c.住宿管理
为住宿客户查询并分配房间,纪录客户住宿情况并结帐。
3.1.2数据流图
绘制数据流程图的目的是为了方便开发人员与用户的交流,以及为系统的设计提供依据。
数据流程图的绘制过程通常采用自顶向下,逐层分解,直到功能细化为止,形成若干层次的数据流程图。
酒店管理系统的数据流程图如下所示:
顶层:
图3-1酒店管理系统顶层数据流图
0层:
图3-2酒店管理系统0层数据流图
1层:
2号图:
3号图:
4号图:
图3-3酒店管理系统1层数据流图
3.1.3数据字典
该系统具体功能模块以数据字典表示如下:
数据字典(DD,DataDictionary):
是以特定格式记录下来的、对系统的数据流程图中各个基本要素(数据流、加工、存储和外部项)的内容和特征所作的完整的定义和说明。
数据字典是对数据流程图的重要补充和说明。
现简要列出本系统的部分数据字典。
a.外部实体卡片的定义,如表3-4所示。
表3-4外部实体条目
名称:
顾客总编号:
1-001
说明:
客户编号:
001
输入数据流:
无
输出数据流:
无
名称:
管理员总编号:
1-002
说明:
管理员编号:
002
输入数据流:
登陆信息
输出数据流:
无
b.处理过程卡片的定义,如表3-5所示。
表3-5处理过程条目
名称:
管理员信息查看总编号:
2-001
别名:
提交登录请求后,查看管理员信息编号:
P1.2
数据流来源:
D1
数据流去向:
管理员
名称:
消费品信息查看总编号:
2-002
别名:
无编号:
P2.1
数据流来源:
D2
数据流去向:
客户、管理员
名称:
预定客房审核总编号:
2-003
别名:
客户提交未审核订单,管理员审核编号:
P3.2
数据流来源:
P3.1
数据流去向:
管理员、D4
名称:
客房信息查看总编号:
2-004
别名:
无编号:
P4.1
数据流来源:
D5
数据流去向:
管理员、客户
c.数据流卡片的定义,如表3-6所示。
表3-6数据流条目
名称:
消费信息总编号:
3-001
功能:
添加、删除、修改消费信息编号:
F1
输入数据流:
P2.1
输出数据流:
管理员、客户
名称:
住宿信息总编号:
3-002
功能:
添加、删除、修改住宿信息编号:
F2
输入数据流:
P4.1
输出数据流:
管理员、客户
d.数据存储卡片的定义,如表3-7所示。
表3-7数据存储条目
名称:
管理员信息表总编号:
4-001
别名:
无编号:
D1
包含的数据结构:
管理员名称+密码
有关数据流:
P1.1、P1.2
名称:
消费品信息表总编号:
4-002
别名:
无编号:
D2
包含的数据结构:
消费品编号+消费品名称+消费品价格+消费品介绍
有关数据流:
P2.1、P2.2、P2.3、P2.4
名称:
住宿信息表总编号:
4-003
别名:
无编号:
D4
包含的数据结构:
客房号+客房类型+住宿天数
有关数据流:
P3.2、P3.3
e.数据元素卡片的定义,如表3-8所示。
表3-8数据元素条目
名称:
管理员编号总编号:
5-001
类型:
字符编号:
01
长度:
(40)说明:
本系统的管理员编号
有关数据结构:
管理员信息
名称:
消费品名称总编号:
5-002
类型:
字符编号:
02
长度:
(50)说明:
本系统的消费品名称
有关数据结构:
消费品信息
名称:
客房编号总编号:
5-003
类型:
字符编号:
03
长度:
(16)说明:
本系统的客房编号
有关数据结构:
客房编号
f.数据结构卡片的定义,如表3-9所示。
表3-9数据结构条目
名称:
管理员信息总编号:
6-001
说明:
表示管理员的数据结构编号:
01
结构描述:
管理员编号有关的数据流程/数据存储:
D1、F6
管理员姓名
角色、密码
真实姓名
名称:
消费品信息总编号:
6-002
说明:
表示消费品信息的数据结构编号:
02
结构描述:
消费品编号有关的数据流程/数据存储:
D2、F1
消费品介绍
消费品名称
消费品分类介绍
有关数据结构:
消费品信息
名称:
客房信息总编号:
6-003
说明:
表示客房信息的数据结构编号:
03
结构描述:
客房编号编号有关的数据流程/数据存储:
F2、D5
客房标题
客房内容
客房分类介绍
3.2概念设计
3.2.1实体E-R图
由需求分析知,基本实体有客房、楼层、客户、预定单、入住单、账单
a.客房的基本属性有客房编号,类型编号,楼层编号,额定人数,床数,客房描述,备注,状态,如图3-10所示。
图3-10客房
b.楼层的基本属性有楼层编号,楼层名称,如图3-11所示。
图3-11楼层
c.客户的属性有:
客户姓名,性别,证件号,备注,如图3-12所示。
图3-12客户
d.预订单的基本属性有预定单号,会员编号,客房类型,抵店时间,离店时间,单据状态,入住人数,客房编号,客房价格,入住价格,折扣,折扣原因,是否加床,预收款,预定电话,操作员,如图3-13所示。
图3-13预订单
e.入住单的基本属性有入住单号,会员编号,客房类型,抵店时间,单据状态,入住人数,客房编号,客房价格,入住价格,折扣,折扣原因,是否加床,加床价格,预收款,预定电话,备注,操作员,早餐,叫醒,保密,vip,应收账款,是否结账,结账日期,付款方式。
如图3-14所示。
图3-14入住单
f.账单:
账单编号,入住单号,消费内容,消费金额,消费时间,备注。
如图3-15所示:
图3-15账单
3.2.2概念设计的总体E-R图
综合酒店管理系统的各个应用功能,就可以得出系统的总体E-R图。
如下图3-16所示:
3.3逻辑设计
逻辑结构设计的任务就是把概念结构转换为与筛选的DBMS所支持的数据模型相符合的过程。
该系统的逻辑结构就是将概念结构(基本E-R图)转换为SQLSERVER所支持的关系型数据模型,具体转换规则如下:
a.基本E-R图转换为SQLSERVER所支持的关系型数据模式(表),实体的属性就是关系的属性,实体的码就是关系的码
b.一个联系转化为一个关系模式,与该联系相连的各实体的码,以及联系的属性转化为关系属性,对象同码的关系模式进行合并。
根据上述转换原则对该系统的实体进行了分解,同时,采用数据字典的方式对该系统的逻辑结构进行描述。
客房信息(客房编号、客户名称、入住时间、楼层、床数);
范式判定:
客房编号是决定因素,且是主码。
预定单子信息(预定单编号、客房类型、入住价格、客房编号、折扣);
范式判定:
预定单编号是决定因素,且是主码。
消费信息(消费品编号、缴费方式、消费品名称、消费总额、消费日期);
范式判定:
每一个非主属性都不部分依赖于码也不传递依赖于码。
所以客房∈3NF。
客户信息(客户身份证号、客户姓名、客房编号、消费品编号);
范式判定:
非主属性不部分依赖于码也不传递依赖于码,所以投诉∈3NF。
退房信息(客房编号、住房天数、客房类型、消费品编号);
范式判定:
非主属性不部分依赖于码也不传递依赖于码,且每一个决定因素都包含码,所以退房∈BCNF。
说明:
a.下加横线部分表示关系的码
b.以上关系的详细内容说明请参照概念结构设计中的具体内容
3.4物理设计
本系统所使用的数据存储要求为数据库,各个数据选项都要从数据库中存取,存取单位是表格,存储区域在系统的硬盘内,系统数据要满足保密性,每位用户都设定了权限,只有满足权限的用户才能使用某项数据,需要在用户输入用户名时对其权限进行判断。
表3-17顾客信息表
字段名称
类型
大小
是否为空
客房号
字符串类型
16
NOTNULL
姓名
字符串类型
16
NOTNULL
性别
字符串类型
4
NULL
年龄
字符串类型
4
NULL
职业
字符串类型
32
NULL
身份证号码
字符串类型字字符串类型
32
NOTNULL
账单号
字符串类型
16
NOTNULL
退房日期
日期类型
16
NOTNULL
表3-18房间信息表
字段名称
类型
大小
是否为空
客房号
字符串类型
16
NOTNULL
客房类型
字符串类型
8
NOTNULL
客房价
浮点类型
8
NOTNULL
客房折扣
整型
8
NOTNULL
客房人数
日期类型
8
NOTNULL
登记时间
整型
16
NOTNULL
表3-19消费品信息表
字段名称
类型
大小
是否为空
账单号
字符串类型
16
NOTNULL
消费内容
字符串类型
32
NOTNULL
消费金额
浮点类型
16
NOTNULL
消费时间
字符串类型
32
NOTNULL
备注
整型
8
NOTNULL
4程序模块设计
4.1用户登录模块设计
4.1.1用户界面模块分析
该程序是用户登录时所必须要用到的,登陆之前需要验证用户身份的合法性,故而需要用户输入程序,输入用户名及密码来进行身份验证。
本程序为非常驻内存,是子程序、可重用、是顺序处理,在输入之后方能进行验证,如图4-1所示:
4.1.2运行结果
输入:
用户标识caifeng,用户口令0751401223。
处理:
判断用户名和密码是否有效。
填入后点击[登录]按钮,系统将自动从数据库中的管理员信息表中判断是否存在相同的用户名和密码等,如果有则进入系统,如果不存在或密码错误,则提示不是管理员或密码有错误的信息。
输出:
登录成功,进入管理员的功能选择页面,若不成功则显示错误信息页面。
登录界面如图4-2所示:
图4-2系统登录界面
当输入错误的口令是出现时,看到的现象如图4-3所示:
图4-3错误口令界面图
当输入正确的时候出现界面如图4-4所示:
图4-4酒店管理系统主界面
4.2住宿管理模块设计
4.2.1住宿管理模块分析
住宿管理用于对客房类型,客房价格,客房信息,系统参数等项目进行初始化设置,这些设置一般不轻易改动,包含的功能模块如下图4-5及图4-6所示:
图4-6住宿管理
4.2.2运行结果
当有客户入住时,管理员选择酒店管理系统中的入住登记功能!
该功能能方面管理员对客户进行入住的登记。
例如客户选择的客房类型,入住客户的人家,入住的日期等等!
运行图形界面如图4-7所示:
图4-7住宿模块
4.3消费模块设计
4.3.1消费模块分析
消费管理员对顾客消费进行管理,包括提供顾客餐桌,管理顾客所点菜肴,结帐等。
如下图4-8所示:
图4-8消费模块图
4.3.2运行结果
客户消费功能记录了客户在酒店里的一些消费信息,详细的记录了客房在具体的某天,消费了某些物品,以及消费的金额,记录好这些信息以便退房的那天一起付款!
程序运行界面如图4-9所示:
图4-9客户消费模
5小结
通过这次课程设计让我对前面学过的许多课程有了更为深刻的理解,也是我对这三年所学的东西的一个综合体现。
然而这次设计让我感受颇深,让我真正体会到了在整个过程给我带来的无奈与快乐。
综合起来,主要体现在以下几个方面:
首先,急于求成的心情给我带来了很大的困难。
以前我注重是编码过程,以为只要能把最后的功能实现了就可以了,所以一开始我就稍微理了一下思绪就动起手来编码,我原以为很快就能完成此次任务,可万万没想到,编了二三天,自已就陷入了泥潭,进退两难,但后来面临的问题只有重来,这真是给了我很大的打击,这样的反复让我进行了几次。
后来我终于沉住气,吸取前几次的教训,严格的按照“管理信息系统”“软件开发工具”所提到开发管理信息系统所用的方法中都把系统规划和系统分析放在极为重要的位置。
认真细致地对开发过程进行了规划和分析,才逐渐弄清了整个系统的流程,把握整体布局,明确了系统的基本功能,做好业务流程图、数据流图的情况下,在设计好系统各主要部分,将一些细节问题考虑周全后才开始动手进行开发,使得后来的工作才得以顺利进行。
其次,在编程语言的熟悉程度也让我对整个开发过程受到了一定的阻碍。
因为以前只独立编制过一些微型程序,而那些程序涉及面比较窄,实现的功能相当有限,从而要求对语言的熟悉程序不高,然而这次很多都不同,这次设计,不但难度大,而且还要求对一些算法比较熟悉,否则将延迟工作速度,必须停下来再去学习,后因时间问题,本系统还有一些不尽如意之处。
总的来说,这次的课程设计为我提供了一次锻炼的舞台,经过开发这个系统,这不仅仅是一次课程设计,不仅仅是学会了一门开发语言,更重要的是在学习的过程中,所有的问题要自已去面对,有问题也只有靠自已去解决,这们,在学习和解决这些困难的过程中提高了我学习的能力、解决问题的能力和实际工作的能力,学到了许多书本以外的知识。
这次课程设计虽说不能堪称完美,但我会在以后的时间里尽量的完善它,不断的对它进行升级,解决系统可能出现的问题。