*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2014年春季学期
数据库 课程设计
题 目: 酒店管理系统 专业班级: 计算机科学与技术1班 姓 名: 甄浩玲 学 号: 11240136 指导教师: 王 燕 成 绩:
目 录
摘 要 ....................................................................................................................... 1 1. 需求分析 .......................................................................................................... 2 1.1系统的主要功能 ......................................................................................... 2 1.2功能模块设计 ............................................................................................. 3 1.3数据字典 ..................................................................................................... 4 1.4 系统数据流图 ............................................................................................ 5 2. 概念结构设计 .................................................................................................. 6 2.1 局部E-R图 ................................................................................................ 6 2.2总体E-R图 ................................................................................................. 7 3. 逻辑结构设计 .................................................................................................. 8 3.1 关系模式: .................................................................................................. 8 3.2系统数据表 ................................................................................................. 8 3.3 关系图 ..................................................................................................... 10 4. 系统实现 ........................................................................................................ 10 4.1 用SQL Server建立数据库 ..................................................................... 10 4.2 界面实现 .................................................................................................. 12 5. 系统测试 ........................................................................................................ 15 5.1测试方法 ................................................................................................... 15 5.2 测试用例 .................................................................................................. 16 参考文献 ................................................................................................................. 17 课程设计总结 ......................................................................................................... 18
摘 要
酒店餐饮管理系统是为了实现酒店餐饮自动化管理而设计的,它完全取代了原来酒店餐饮管理一直使用的人工处理的工作方式,并且避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成酒店餐饮管理工作提供了强有力的工具和管理手段。针对传统的酒店餐饮管理带来的诸多不便,文章介绍了新型的酒店餐饮管理模式。在开发酒店餐饮管理系统中,采用了sqlserver 2008数据库管理系统,java主流开发技术进行了实现实现流程规范化,数据灵活化配置一套餐饮管理系统。通过系统的开发掌握软件的基本的开发流程,了解了系统的业务。从而掌握软件开发整体过程,把知识运用实际生产中。
关键词:数据库;餐饮管理系统;系统设计;java; sql server 2008
1
1. 需求分析
项目需求分析就是描述系统需求,通过定义系统中的关键域类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此,酒店餐饮管理系统的需求分析也是开发人员和用户一起完成的。需求分析的第一步是描述酒店餐饮管理系统的功能,即定义用例,以此确定系统的功能需求。该系统主要从酒店的订餐方面来分析。
酒店餐饮管理系统也是一个酒店不可缺少的部分,它的内部无论对于客户还是员工来说都至关重要,所以一个系统应该能够为用户提供充足的快捷的信息和方便的查询方式,而且不应有时间和地域的限制。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的部分,使用计算机对酒店餐饮的管理具有着手工管理所无法比拟的优点:
(1)客户和工作人员可以随时了解有关酒店餐饮的相关信息。 (2)减轻了工作人员的工作负担。 (3)查询、修改更加方便、快捷。 1.1系统的主要功能
根据餐饮行业的特点和该企业的实际情况,该系统以餐饮业务为基础,突出前台管理,从专业角度出发,提供科学有效的管理模式。点菜方面采取图形界面加数据的方式,使用户能直观地管理数据信息,并能有效地管理每个开台所点的酒菜。点菜收银管理可实现点菜、结账、清台。营业分析可对客人点单情况、房台营业情况、酒菜销售情况、销售收入等进行分析。点菜收银、营业分析的有机结合,可为酒店经营方向提供依据,为酒店餐馆的发展提供重要保证。
根据该企业的具体情况,系统主要功能设计有五大部分,分别为前台管理,财政管理,应收应付管理,系统初始化,系统管理,。
1、前台管理:主要是对酒店前台收银的管理。包括订餐管理、结账管理、当日结账数据分析、日结算管理。
2、财政管理:主要是对酒店财务方面的管理。包括日结算管理、月结算管理、
2
年结算管理。
3、应收应付管理:主要是对酒店的往来账款进行管理。
4、系统初始化:主要是对酒店的基础设置信息的管理。包括订餐管理,收款管理,交班管理,餐饮成本核算。
5、系统管理:主要是对权限进行管理。 1.2功能模块设计
采用本系统可以大大减少前台的服务人员的人数,直接和厨房联系加快上菜速度。由于采用计算机操作,可以大大提高操作速度。为了能够适应信息化发展的需要,提高餐饮部门的工作效率,引入了该信息系统。
根据分析,酒店餐饮管理系统可分为以下三个模块:登录模块、订餐模块、后台管理模块。其系统模块图1.1所示。
图1.1系统功能模块图
3
1.3数据字典
数据字典是系统中各类数据描述的集合,是进行详细的数据的收集和数据分析秘获得的主要成果。数据字典部分如下:
表1.1餐桌信息表
数据流 系统名:餐饮管理系统 条目名:餐桌信息 来源:区域餐桌信息 数据结构: 餐桌信息:{ 桌号,名称,状态,主菜单ID,其他} 简要说明:餐桌信息表主要是查看餐桌的当前状态 表1.2菜单信息表 数据流 系统名:餐饮管理系统 条目名:菜单信息 来源:菜单信息 去处:菜单信息添加,删除查询 去处:餐桌信息预定查询 数据结构:菜单信息表主要是查看菜单的信息 菜单信息:{ 菜号,菜名,描述,价格,菜单ID} 简要说明:菜单信息,主要是管理员对菜单信息的添加与删除 表1.3订餐信息表 数据流 系统名:餐饮管理系统 条目名:订餐信息 来源:订餐 数据结构: 订餐信息:{ 菜号,菜名,订餐时间,客户号,客户姓名} 简要说明:酒店登陆系统,订餐
4
去处:订餐信息删除查询
1.4 系统数据流图
图2.7酒店餐饮管理系统顶层数据流图
图2.8一层数据流图
图2.9 P1的明细图
5
2. 概念结构设计
2.1 局部E-R图
概念设计是一种面向对象的数据模型。它描述了从用户角度看到的数据,反映了用户的实现环境。概念设计中最著名的方法就是实体联系方法,建立E-R模型,用E-R图表示概念结构,得到数据库的概念模型 。本系统的主要的实体有订餐信息,客户信息,菜谱信息,结算信息等。实体关系图如下所示:
订餐信息:包括的数据项有桌号、菜号、菜名、数量、价格、订餐日期,就餐日期等;订餐信息实体关系图如图2.2所示。
菜谱信息:包括的数据项有菜谱号、名称、种类、价格、描述等;菜谱实体关系图如2.3所示。
客户信息:包括的数据项有客户编号、客户姓名、年龄、性别、联系电话、所在单位等;客户实体关系图如图2.4所示。
结算信息:包括的数据项有客户号、桌号、结算日期、打折情况、总计等;结算实体关系图如图2.5所示。
图2.1 订餐信息实体关系图 图2.2 菜谱实体关系图
6
2.3客户信息实体关系图 图2.4结算信息实体关系图 2.2总体E-R图
逻辑设计的目的是把概念设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构。这些模型在功能上、完整性和一致性约束及数据库的可扩展性等方面均应满足用户的各种要求[2]。因而,根据上节的实体E-R图,总体E-R图如下:
图2.5 总体ER图
7
3. 逻辑结构设计
3.1 关系模式:
订餐信息(桌号、菜号、菜名、数量、价格、订餐日期,就餐日期) 菜谱信息(菜谱号、名称、种类、价格、描述)
客户信息(客户编号、客户姓名、年龄、性别、联系电话、所在单位) 结算信息(客户号 、桌号 、结算日期、打折情况、总计)
3.2系统数据表
表3.1餐桌表dinnertalbe
字段名称 数据类型 字段大小 说明 id Areaid Name State Menuid Memo Int Int Nvarchar Int Int Nvarchar 4 4 50 4 4 100 编号 区域ID 名称 状态 主菜单ID 其他 索引 Primary Key Primarykey 是否为空 NO NO Yes Yes Yes Yes 该表是用来记录餐桌的信息,及当前的使用状态。
8
表3.2 订餐表dinnermenu
字段名称 Id State Guesttype Guestid Gusetcount 数据类型 字段大小 说明 Int Int Smallint Smallint Smallint 4 4 2 2 2 4 ID 状态 用户类型 用户id 用户数 餐桌ID 索引 Primarykey 是否为空 No Yes Yes Yes Yes Yes sumToPay Discount Waiterid Memo Real Real Int Nvarchar 4 4 4 50 总合 打折率 服务员ID 其他 Yes Yes Yes Yes Dinnertableid Int 该表是用来记录订餐信息,主要有客户信息,订餐人数等。
表 3.3 菜单添加表menuitem
字段名称 数据类型 字段大小 说明 id Int 4 50 50 4 4 编号 区域名称 描述 价格 菜单id 索引 Primary Key 是否为空 NO NO Yes Yes No dishname nVarchar Memo Price Menuid nVarchar Real Int 该表是用来记录菜单信息,和添加菜单信息。
表3.4退菜表 reject
字段名称 数据类型 字段大小 说明 Id Reason Memo Itemid Int nVarchar nVarchar Int 4 50 50 4 菜号 原因 描述 菜品id 索引 Primary Key 是否为空 NO NO Yes Yes 该表是用来记录退菜的信息和退菜的原因。
9
3.3 关系图
图3.1关系图
4. 系统实现
4.1 用SQL Server建立数据库 SQL Server程序:
create database 酒店管理系统; 1)、创建客户信息表
SQL Server程序: create table 客户
(客户号 char (5)primary key, 菜号 char (3), 客户姓名 char (8), 年龄 char(3),
性别 char(2),
联系电话 char(11), 所在单位 char(20), );
2)、创建菜谱信息表 SQL Server程序: create table 菜谱
(菜号 char (3) primary key,
10
名称 char (10),
种类 char(10), 价格 char(5), 描述 char(30), ); 3)、创建订餐信息表 SQL Server程序: create table 订餐
(桌号 char (5)primary key, 菜号 char (3), 菜名 char (10),
数量 char(3), 价格 char(5), 订餐日期 char(8), 就餐日期 char(8),
foreign key (菜号) references 菜谱(菜号) ); 4)、创建结算信息表 SQL Server程序: create table 结算
(客户号 char (5) ,
桌号 char (5), 结算日期 char(8), 打折情况 char(10), 总计 char(5),
餐饮成本 char (10),
primary key (客户号,桌号),
foreign key (客户号) references 客户(客户号), foreign key (桌号) references 订餐(桌号) );
11
4.2 界面实现
1、用户登陆界面如下图4.1
图4.1 用户登录界面
2、功能界面如下图4.2
图4.2 功能界面
12
3、菜单管理界面如下图4.3所示
图4.3 菜单管理
4、订餐管理界面如下图4.4所示
图4.4 订餐管理
13
5、管理员界面如下图4.5所示
图4.5 管理员界面
6、结账管理界面如下图4.6所示
图4.6结账管理
14
5. 系统测试
5.1测试方法
系统功能测试最常见的两种方法是黑盒测试和白盒测试,黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,研究软件的外部特性。根据软件的需求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试是否相符。
(1)链接测试
链接是应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
(2) 表单测试
当用户给应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果表单只能接受指定的某些值,则也要进行测试。
(3) 数据库测试
在应用技术中,数据库起着重要的作用,数据库为应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。
在使用了数据库的应用系统中,一般可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
15
5.2 测试用例
1、本系统在订餐时必须填写桌号和订餐日期才可以订餐成功,如下图5.1:
图5.1 订餐测试图
2、修改密码模块必须先输入原来的密码在进行修改,如下图5.2所示::
图5.2 密码修改测试图
16
参考文献
1. 赵艳铎等(译). 数据库原理(第5版) [M]. 清华大学出版社, 2011 2. 杨冬青等(译). 数据库系统概念(第6版) [M]. 机械工业出版社, 2012 3. 金名等(译). 数据库系统设计、实现与管理(第8版) [M]. 清华大学出版社, 2012
4. 刘智勇. SQL Server 2008宝典[M]. 电子工业出版社,2010
5. 苏金国等(译). Oracle Database 9i/10g/11g编程艺术[M]. 人民邮电出版社, 2011
6.张跃平等. JSP程序设计[M]. 清华大学出版社, 2009,8
7.吴长忠,曹树坤,陶立英,桑曙光.高校毕业设计管理系统设计与构建研究[J].科技创新导报,2009年35期
8.张建伟,王璐,蔡增玉,陈娟娟. 基于Web的高校毕业设计全程管理的系统设计与实现[J].郑州轻工业学院学报(自然科学版) ,2009年05期 9. 李华. PowerBuilder程序设计教程[M]. 清华大学出版社,2010
17
课程设计总结
本次数据库课程设计历史两周,是一个学习和实践的过程,它使我获得了一些开发小型系统的经验。至此,本系统的大部分模块已经实现,提供的界面友好,美观。但由于一些客观原因的限制,有些功能还没有实现。
通过这次所做的酒店管理系统,我真正了解到了什么叫做编程,以及做一个系统的思路和步骤,对软件工程也有了一个非常清晰明确的概念。这次的课程设计让我有了一个明确的学习目标。有些东西想起来比较容易做起来却难,只有真正做的时候,才会发现有许多知识是自己不懂的。比如设计时想好要如何实现订餐系统,但是实际操作时遇到了很多的问题,例如:数据库的连接,页面美化等,在实际操作过程中都遇到了或这或那的问题。但是通过这些问题,学到了很多遗漏的知识。第一次做如此正规的系统,难免会有些遗漏和疏忽的地方,系统也会有不稳定,不完善的地方。但这些都是需要我们改进的地方。只有实践了,才知道问题所在,才能使自己在今后避免同样的错误。一个完整的系统仅仅靠两周的分析和设计而开发时远远不够的,它需要更长的时间来测试并完善。所以,该系统可以在此基础上继续改进和扩展。
这次课程设计具有非同一般的意义,对我的很多方面都产生了积极的影响。让我对专业知识有了更深刻地认识,对今后的在数据库开发上也有了更多的自信。
18
因篇幅问题不能全部显示,请点此查看更多更全内容