咖啡厅经营管理系统.docx
《咖啡厅经营管理系统.docx》由会员分享,可在线阅读,更多相关《咖啡厅经营管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
咖啡厅经营管理系统
摘 要
此次课程设计的题目为“咖啡厅经营管理系统数据库设计”,其中将通过数据库开发与设计的几个步骤进行设计,包括需求分析,概念设计,逻辑设计,模式求精,及物理设计等5个步骤,由于缺少了应用与安全设计,此次设计会在安全方面有所欠缺。
本文在第二节中进行的需求分析,讨论了现当近社会咖啡厅经营管理系统的发展趋势及发展状况,确定了其所缺少或不足的地方,并以此为依据展开业务需求及功能需求的讨论与分析;三、四节中则着重讨论此次设计数据库的各方面内容,包括实体集的确定,联系集的确定以及E-R图的设计,同时对数据库的优化进行适当的讨论,以避免数据的冗余太过严重,使数据库的运行能够更方便快捷;第五章中则包含了数据库和基表的创建,以使数据库能够运行和使用。
本文讲述的是基于客户和管理员的咖啡厅管理系统,实现了咖啡厅管理的信息化。
使咖啡厅的管理能够更加方便和易于管理,从而加强咖啡厅的经营实力,减少咖啡厅的运营成本或增加其营业利润,实现利润最大化。
本系统涉及数据库方面的技术,采用SQL语言实现。
关键词:
数据库设计;需求分析;数据库创建;利润最大化;SQL语言
1 前言3
1.1课题简介ﻩ3
1.2 设计目的3
2 需求分析4
2.1 业务需求及处理流程ﻩ4
2.2功能需求分析ﻩ6
2.3业务规则分析7
3 概念结构设计ﻩ9
3.1确定实体集及属性9
3.2确定联系集及E-R图9
3.1.1局部E-R图ﻩ9
3.1.2全局E-R图12
4 逻辑结构设计13
4.1E-R图向关系模型的转换13
4.2数据模型的优化ﻩ13
5.2数据的载入18
5.3数据的查询ﻩ20
结束语ﻩ21
参考文献ﻩ22
1前言
此次设计的咖啡厅管理系统是一款咖啡厅管理软件。
它集前台收费系统,员工管理系统,会员管理系统等功能为一身,系统界面简洁优美,操作直观简单,无需专门培训即可正常使用。
咖啡厅管理软件为咖啡厅经营者提供了强大的成本分析,利润分析,物流管理等诸多功能,能广泛应用于咖啡厅日常管理,连锁咖啡店管理等场合。
1.1课题简介
在信息高度发达的今天,随着人们生活水平的不断提高,餐饮业的种类在千变万化之中,餐饮业消费持续增长,同行业之间的竞争越来越激烈。
为了提高工作效率,这就迫切需要引入准确、高效的计算机管理方式。
该软件使用计算机对咖啡厅经营进行管理,目的在于让许多咖啡经营企业可以拥有完整的计算机管理,具有手工管理所无法比拟的优点,能够极大地提高运营管理的效率。
其业务涉及的各个工作环节已不再仅仅是传统的管理、结算业务,而是更广、更全面的服务性行业代表。
1.2设计目的
近年来我国的咖啡经营业面临更加激烈的同业竞争,如何提供更多的工作流程和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强顾客个人信息管理、进行客户业务再造,提高员工的工作效率和业务竞争能力是摆在各家餐饮企业面前的一个迫切需要解决的问题。
本系统设计的主要目的在于切实有效地指导工作人员规范业务操作流程,更高效、快捷地实现业务的管理,保障顾客信息的安全,提高管理水平和工作效率,进而提高业务竞争能力。
2需求分析
2.1 业务需求及处理流程
随着人民物质文化于精神文化的日益丰富,咖啡厅收费管理也越来越多的使用了计算机管理的方式。
相对于传统的纸单收费,由于传统的纸质账单从印刷到下发需要较长的时间,在存储和查询方面都有一定的困难。
而计算机收费管理系统采用数据库管理账单的方式,开单,结账,账单都可由计算机生成,极大的节省了时间提高了收费效率,并且方便查询, 便于统计相关营业信息。
据此,系统主要实现了以下几个方面的功能:
(1)根据消费额对会员进行等级分配,可以享受不同等级的折扣优惠。
(2)根据统计员工的工作情况对员工进行等级分配,从而实现发放薪水和提成等功能。
(3)开单:
选择,修改,删除商品,更改商品数量,计算总消费额,如果是会员则根据等级计算折扣优惠后的实际支付额.。
(4)结账:
账单信息添加到数据库中。
(5)会员设置:
添加会员,删除会员。
业务处理流程如下图所示:
客户的点单及订单的生成:
图2-1 订单生成
②订单的审核与受理:
图2-2订单受理
③员工信息的查询与修改:
图2-3员工信息处理
④商品的上餐与处理:
图2-4 商品处理
2.2 功能需求分析
根据2.1中的业务需求分析,总结出系统的功能需求如下:
点单消费
增加消费:
凡在店接受服务(已登记)的宾客,可以通过点单操作提出消费要求,本模块将为接受消费的客人安排所需的消费服务并记录在册,本模块只对具体的消费项目进行登记。
②服务员查询:
此模块用来查询已记录在本系统的所有服务员的详细信息,可按服务员所在区域分类查询、导出、打印服务员信息。
收银结账
宾客结账:
本模块将自动统计每个登记客人在店时所发生的所有消费额和应付款额,并完成结帐收银操作。
合并账单:
合并两个或两个以上的帐单为一个帐单,合并后的账单可同时结账。
拆分账单:
将合并后的账单拆分成单个的账单。
会员管理
基本信息管理:
此模块用于增加会员、修改会员信息、删除会员、会员信息查询、导出和打印等功能。
消费信息管理:
用于查询本店登记在册会员的所有消费记录,并可列出每次消费记录的详细消费信息。
商品管理
当前库存查询:
主要用来查询当前库存情况,进行商品统计分析和库存报警的查询。
②销售查询:
主要用于查询商品在一段时间内的销售情况,包括销量、销售额、毛利等。
库存盘点:
主要用于盘点库存
成本分析:
主要实现在某一时间段各种商品营业量、总成本、总销售额和毛利的核算。
系统维护
①修改密码:
为保证本系统数据的安全,此模块允许操作员修改登录密码。
数据备份、恢复:
为保证数据的安全要定期进行数据备份,一旦出现数据遭到破坏可使用最近备份的数据进行恢复,恢复后的数据只能是备份过的数据,没备份的数据将丢失。
③系统设置:
主要完成系统运行前基础数据的设置(包括:
商品项目设置、服务生设置、会员设置、操作员设置、计费设置、打印设置)。
2.3 业务规则分析
通过对数据库之间约束及数据库约束的分析,总结得出咖啡厅业务规则如下:
1、所有客户都可在本店点单消费,但只有注册会员后才能按销售额进行等级分配并享受打折服务。
2、每位会员由会员编号唯一标识,会员编号由系统按时间顺序生成。
3、每位职员由职员编号唯一标识,职员编号由系统按时间顺序生成。
4、每个商品有商品编号唯一标识,商品编号由系统按时间顺序生成。
5、商品应记录商品状态,包括在库存,已售出等状态。
6、每次客户点单消费对应一张发票。
发票用发票的实际编号唯一标识。
7、客户点单后才能生成账单,每个账单用账单编号唯一标识。
账单需记录当前状态,包括未审核、退回、已审核、已处理结束等状态。
8、消费账单中的商品采取先到先上餐原则。
若账单中的商品未同时有货,可拆分成不同配送单上餐;但是账单中的商品只有库存足够时才安排上餐。
9、同一消费账单可以账购多种商品,且账购数量可以不同。
账单中的每种商品应记录其状态,包括未上餐,已上餐等状态。
10、当消费账单中的商品送到后,则更新该商品的状态为“已上餐”。
11、当消费账单结付后,更新账单状态为“已处理结束”。
12、普通会员可以享受9.5折优惠,当普通会员消费金额达到10000元,即升级成为三级会员,享受9折优惠;消费金额达到20000元时,升级为二级会员,享受8.5折优惠;消费金额达到30000元时,升级为一级会员,享受8折优惠
13、每个员工有自己的等级信息,等级由餐厅内部决定
3概念结构设计
3.1确定实体集及属性
根据以上的功能分析,一共设计了5个实体集来存储所有的会员、会员消费额、员工、管理员、员工等级信息、商品信息及销售信息,包括:
1.会员信息(包含属性:
会员编号,姓名,性别,注册时间,等级,电话,消费额,消费时间等)
2.员工信息(包含属性:
员工编号,姓名,性别,销售额,等级,薪水,电话等)
3.商品信息(包含属性:
商品编号,商品名,单价,销售状态等)
4.账单(包含属性:
账单号,会员编号,开单时间,结账时间,总消费额,实际支付额,折扣等)
5.消费信息(包含属性:
账单号,消费项目,消费时间,消费数量等)
3.2确定联系集及E-R图
基于上节设计得到的实体集,可确定如下联系集:
•商品和消费信息之间的“消费”联系集。
它是一个一对多联系集,其描述属性有:
消费金额。
•会员和账单之间的“建立”联系集。
它是一个一对多联系集。
•账单和商品之间的“包含”联系集。
它是一个多对多联系集。
•会员和员工之间的“服务”联系集。
它是一个多对多联系集,其描述属性有:
服务时间。
3.2.1局部E-R图
局部E-R图如下:
商品信息实体集:
图3-1商品实体集E-R图
会员信息实体集:
图3-2会员实体集E-R图
账单实体集:
图3-3账单实体集E-R图
员工信息实体集:
图3-4员工信息实体集E-R图
消费信息实体集:
图3-5账单实体集E-R图
3.2.2全局E-R图
图3-6全局E-R图
4逻辑结构设计
4.1 E-R图向关系模型的转换
图3-5中咖啡厅管理系统数据库E-R图可转化为以下关系模式:
1.由实体集转化而来的关系模式:
(1)会员实体集:
会员(会员编号,会员姓名,性别,消费时间,等级,消费额,注册时间,电话,账单号)
(2)账单实体集:
账单(账单号,开单时间,结账时间,总消费额,实际支付额,折扣)
(3)商品实体集:
商品(商品编号,商品名,销售状态,单价,账单号,消费金额)
(4)消费信息实体集:
消费信息(账单号,消费项目,消费数量,消费时间)
(5)员工实体集:
员工(员工编号,姓名,性别,薪水,销售额,电话,等级)
2.由关系集转化而来的关系模式:
(1)服务联系集:
服务(会员编号,员工编号,服务时间)
(2)包含联系集:
包含(商品编号,账单号)
4.2 数据模型的优化
通过对以上数据库分析及E-R图的建立,发现数据库在实体集分类上所采取的分类项目太少,不足以对咖啡厅复杂的经营管理方面产生的业务进行全面而系统的管理,因此,先要对该数据库的实体集再进行更深一步的分类和总结,以适应现实生活中复杂的经营方式。
由上,可加入的实体集有:
历史明细账单实体集,可用于调出在店注册会员的消费者以往在店的明细消费账单,通过这个步骤可以更好的总结出会员对本店商品的喜爱程度,也可据此推出新产品;②来往单位实体集,可用于记录与本店有经济上或其它方面往来的单位,可以通过它对往来单位进行分类,有利于加强本店商品的更新效率;
留言实体集,用于记录在店员工或外来消费者对本店所提出的宝贵意见,对留言进行整理可以更全面的了解客户及员工对店面管理的建议,从而对店面管理做好必要的改变;④管理员实体集,用于对本系统的操作员进行管理由于本次课程设计的时间比较紧张,未能将上述内容做出进一步的整理,下面的内容中并没有进行补充更正。
5数据库的实施
5.1数据库与基表的创建
本节将通过MicrosoftSQL Server进行数据库和基表的创建
1.建立咖啡厅经营管理系统数据库MyCoffeeDB:
createdatabase MyCoffeeDB
on
primary
(name=MyCoffeeDB,
filename='D:
\MyCoffeeData\MyCoffeeDB.mdf',
size=5,
filegrowth=15%),
filegroupMyCoffeeHisDB,
(name=MyCoffeeHisDB1,
filename='D:
\MyCoffeeData\MyCoffeeHisDB1.mdf',
size=10,
filegrowth=15%),
filegroupMyCoffeeBakDB,
(name=MyCoffeeBakDB1,
filename='D:
\MyCoffeeData\MyCoffeeBakDB1.mdf' ,
size=10,
filegrowth=15%),
(name=MyCoffeeBakDB2,
filename='D:
\MyCoffeeData\MyCoffeeBakDB2.mdf',
size=10,
filegrowth=15%),
(name=MyCoffeeBakDB3,
filename='D:
\MyCoffeeData\MyCoffeeBakDB3.mdf',
size=10,
filegrowth=15%),
Logon
(name=’MyCoffeeHisDB1’,
filename='D:
\MyCoffeeData\MyCoffeeLogDB1.ldf',
size=5MB,
filegrowth=2MB),
(name=’MyCoffeeHisDB2’,
filename='D:
\MyCoffeeData\MyCoffeeLogDB2.ldf' ,
size=5MB,
filegrowth=2MB)
说明:
以上所创建的数据库中,日志文件包含了两个磁盘文件MyCoffeeLogDB1.ldf和MyCoffeeLogDB2.ldf;数据文件被分为3个逻辑设备,主设备只有一个文件MyCoffeeDB.mdf;用户设备有两个,一个用户设备是MyCoffeeHisDB,包含一个磁盘文件MyCoffeeHisDB1.mdf;另一个用户设备是MyCoffeeBakDB,包含三个磁盘文件MyCoffeeBakDB1.mdf,MyCoffeeBakDB2.mdf,MyCoffeeBakDB3.mdf。
2.建立咖啡厅经营管理系统中的7张表:
CREATE TABLE Member(
memberID char(10)NOTNULL,
namechar(10)NOTNULL,
sex char (2)NULL,
pay floatNULL,
salesVolume floatNULL,
degree char(10) NULL,
phonevarchar (50) NULL,
CONSTRAINT MemberPK PRIMARY KEY(memberID)
)
CREATE TABLE VIP(
VIPID float NOT NULL,
username char(10)NOTNULL,
degree int NULL,
sex char(2) NULL,
registTimedatetime NULL,
phone varchar(50) NULL,
expenseTime float NULL,
expenseMoneyfloatNULL,
CONSTRAINT VIPPKPRIMARYKEY(vipID)
)
CREATETABLE Commodity (
commodityIDintNOTNULL,
commodityName char(10) NOTNULL,
unitPrice floatNOTNULL,
sell char
(2) NULL,
CONSTRAINTCommodityPK PRIMARY KEY(commodityID),
FOREIGNKEY(billNO)REFEENCESCommodity(commodityID)
)
CREATETABLEBill(
billNOfloat NOTNULL,
billtimedatetime NULL,
checktime datetimeNULL,
totleConsumption float NULL,
amountPaid float NULL,
discount float NULL,
CONSTRAINTbillPKPRIMARYKEY(billNO)
FOREIGNKEY(VIPID)
)
CREATE TABLE Consume(
consumeNO float NOTNULL,
articlechar(10) NULL,
consumeTimedatetimeNULL,
consumeQuantityint NULL,
consumeMoney float NULL,
CONSTRAINTconsumePKPRIMARY KEY(consumeNO)
)
CREATETABLE Inculde(
billNO char(10) NOT NULL,
commodityIDint NOTNULL,
PRIMARY KEY(billNO,commodityID))
CREATETABLEServer(
memberIDchar(10) NOTNULL,
VIPIDchar(10) NOT NULL,
serverTimedatetime NULL,
PRIMARYKEY(memberID,VIPID))
上述程序所创建的基表如下图所示:
表5.1member
表5.2 VIP
表5.3 commodity
表5.4Bill
表5.5consume
表5.6 Include
表5.7Server
5.2数据的载入
通过实际的调查分析,在上节所建基表中载入数据:
表5.7员工表
表5.8会员表
表5.9 商品表
表5.10账单表
表5.11 消费信息表
表5.12 包含表
表5.13服务表
5.3 数据的查询
本节将对上述表中数据进行SQL查询,仅给出3个查询的例子:
(1)查询会员姓名为蒋旻伟的会员的全部信息:
SELECT *
FROM VIP
WHEREusername=’蒋旻伟’
其查询结果如表5-1所示:
表5-1
(2)查询每个会员的会员编号,会员名称,等级,消费时间,消费金额,消费账单编号,账单金额,实际支付额,若无消费账单则用NULL标出,账单编号正序排序输出:
SELECTa.VIPID,username,degree,ExpenseTime,ExpenseMOney,billNO,
totlCconsumption,amountPaid
FROM VIP a RIGHTOUTERJOINBillbONa.VIPID=b.VIPID
ORDER BYbillNO
其查询结果如表5-2所示:
表5-2
(3)查询和蒋旻伟等级相同的会员的会员编号,会员名称,性别,等级:
SELECTb.VIPID,b.username,b.sex,b.degree
FROMVIPa,VIPb
WHEREa.degree=b.degreeANDa.username='蒋旻伟'
其查询结果如表5-3所示:
表5-3
ﻬ结束语
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
通过这次课程设计增加了很多认识。
在确定课程设计题目后,我先做了整体的分析,把要设计的表,表的属性,表间的关系全部弄清楚,并画了相应的关系图和E-R 图,从而也就基本形成了这次设计的整体构架。
在写代码的过程中明显感觉到很轻松,就是照着所设计的思路一步一步地进行。
并得到以下总结:
首先,流程是一切的根源,进度控制是项目顺利进行的基础。
没有大局观,面对问题和变更就会不知所措了。
其次,构架是很重要的,整体框架搭好,具体细节实现起来就是顺理成章的事了。
最后,实践比一切空谈和理论更能学到东西。
平时学的那些理论都不过是皮毛罢了,一旦不用很快就忘记,始终要在实践中才会发现问题才会努力去解决才能成长。
在这些日子里,可以说是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,提高自己的实际动手能力和独立思考的能力,才能真正为社会服务。
在设计的过程中,可以说得是困难重重,毕竟是第一次做这样的设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固, 例如在设计整体架构设计各表之间的关系时,总是考虑不够周到,数据的完整性和一致性把握不准。
理论不够规范化,关系模式不够优越。
我也参阅了很多关于数据库设计方面的书,从中受益匪浅.
最后,在这次课程设计过程中,深刻感觉到自己知识的缺乏,还需要课外继续学习,不断完善和增加自身的知识和经验.
参考文献
[1]王珊,萨诗煊.数据库系统概论.4版.北京:
高等教育出版社,2006.
[2]冯建华,周立柱.数据库系统设计与原理.2版.北京:
清华大学出版社,2007.
[3] 徐洁磬,柏文阳,刘奇志.数据库系统实用教程.北京:
高等教育出版社,2006.
[4]周志奎,郭贵锁,陆耀,等.数据库系统原理.北京:
清华大学出版社,2006.
[5]孙建怜,林怀忠.数据库原理与应用.北京:
高等教育出版社,2006.
[6]史嘉权.数据库系统概论.北京:
清华大学出版社,2006.
[7] 万常选,刘喜平.XML数据库技术.2版.北京:
清华大学出版社,2008.
[8] 吴京慧,杜宾,杨波.Oracle数据库管理及应用开发教程.北京:
清华大学出版社.2007.
[9]王意洁.面向对象的数据库技术.北京:
电子工业出版社,2003.