酒店管理系统(单机版的实现)
随着时代的发展工作效率的提高,人们对信息的处理要求,促进了管理系统(Mis)的发展,其以专门针对性应用,快捷、方便、高效的特点,很快受到了大众用户的喜爱。
本系统的开发是针对中小型酒店的日常管理业务开发而成的,其针对性极强,主要体现在对酒店客户消费清单的打印、特色推荐、方便的业务数据的统计分析、友好的图表数据显示、报表生成、方便的辅助工具使用和多重安全性解决方案设计,通过以上功能的实现来提供相对比较完善的酒店管理机制的建立。
本系统是采用sql server 2003作为后台数据库,vb.net 工具来设计程序,利用ado.net技术来把应用程序与后台数据库相连接。
关键字 : 酒店管理、访问、数据库.
Grogshop management program (stand-alone)
With the times develop and the efficiency creating of works .the needs of human with the information processing speed the develop of MIS . Quickly it gets the good payment by common with it’s identity of special on applying 、shortcut、convenience and high Efficiency .
The purpose of develop The program is apply to the JR. Grogshop for manage it’s daily operation .the high pertinency that mainly in the person of printing the customer’s tab 、recommend particular、easy stat. the data of operation、friendly picture showing 、report forms creating 、using assistant tools and designing the multresolvent and so on .creating the rather perfect system get thread the top of coming true the functions.
This program’s database is sql server 2003 and using visual basic.net 2003 to design the programmer and using the ADO.NET technology to build connection between database and program .
Primary key: Grogshop management、access、database.
目录
3.2.1 visual studio.net 开发平台的介绍 21
3.2.2 使用visual basic.net开发的技术优点 21
1.1 项目背景
当今时代的两个显著特点就是世界经济一体化和以计算机为代表的信息技术的快速发展。一个组织要在激烈的竞争中保持优势和不断发展,必须对迅速变化的环境灵敏地做出有效地反应。管理信息系统的应用能够提供这种有效的决策支持。
信息管理的过程包括信息收集、信息传输、信息加工和信息储存。信息收集就是对原始信息的获取。信息传输是信息在时间和空间上的转移,因为信息只有及时准确地送到需要者的手中才能发挥作用。信息加工包括信息形式的变换和信息内容的处理。信息的形式变换是指在信息传输过程中,通过变换载体,使信息准确地传输给接收者。信息的内容处理是指对原始信息进行加工整理,深入揭示信息的内容。经过信息内容的处理,输入的信息才能变成所需要的信息,才能被适时有效地利用。信息送到使用者手中,有的并非使用完后就无用了,有的还需留做事……
信息系统从技术上说就是为了支持决策和组织控制而收集(或获取)、处理、存储、分配信息的一组相互关联的组件。除了支持决策、协作和控制,信息系统也可用来帮助经理和工人分子问题,使复杂性可视化,以及创造新的产品,从商业角度看,一个信息系统是一个用于解决环境提出的挑战的,基于信息技术的组织管理方案。我们用“信息系统”这个词时,特指依赖于计算机技术的信息系统。
一个基于计算机的信息系统是以计算机软件、硬件、存储和电信等技术为核心的人机系统。
信息在社会和经济的发展中所起的作用越来越为人们所重视。信息资源的开发利用 水平成为衡量一个国家综合国力的重要标志之一。计算机作为信息处理的工具,为适应数据处理需求的迅速提高,满足各类信息系统对数据管理的要求,在文件系统的基础上发展基础数据库系统,数据库方法针对事物处理中大量数据管理需求。我国自从80年代上半期,国家计委统计局计算中心在第一次全国人口普查、工业普查中使用了数据库管理技术以来,随着微机管理系统的推广,数据库信息管理系统的应用逐渐展露头脚,但是也由于发展晚起步低的原因和当代技术 的占有独享性质,导致我国虽然在这方面发展迅速但是发展规模普遍都是中小型方向而且运作机制还很不完善.
有上面的时代背景和发展现状,由于中国现阶段信息化发展程度和各方面人力、物力的限制,我们要想做好,就必须把系统做的相对完善,综合考虑各方面的开发因素,从而实现小而精髓的效果,本系统的开发实施阶段就很好的做到了,充分的调研和分析、综合因素的考虑(包括软件环境因素、机器环境因素、人群特点环境因素等)和可扩展性,所以本系统具有以下特色:
语言角度: 采用了vs.net平台的互通性,使用vb.net开发语言开发
整体设计:系统力求简洁实用,少占资源
技术角度:利用vb语言的简洁性,借助其提供的便利克服了若干技术难题,如通过其windows组件outlook来联系以获取帮助等.
从可扩展性看:系统充分的考虑了扩充需求,可扩展性强。
1.4 工作难度
开发工作难度主要在于以下几点:
- 系统各模块的协调性和关联性解决
- 数据库连接的动态数据实时信息的反馈
- 数据库实施后和系统前期制作的一些缺陷性问题的解决
- 考虑最优化
- 考虑外部环境的多变性
- 扩展性和使用性
本系统是基于单机版结构实现,采用后台数据库存储前台信息系统简洁方便的管理模式,后台数据库采用性能稳定简洁易用的sql server数据库,前台客户端采用vb.net开发的菜单式便捷管理样式体系结构,以进行酒店管理日常业务信息,其系统大体架构如下图:
(2.1 系统架构图)
分析其业务流程,我把其日常业务需求模块划分为六大模块,设计在信息系统菜单栏上其模块划分图如下:
(2.2 模块划分图)
观察现阶段信息系统设计方法, 针对系统的不同的复杂程度,目前有一些常用的系统设计方法,如瀑布设计方法、自顶向下的设计方法、自下向上的设计方法、螺旋设计方法、逐步细化设计方法和并行设计方法等,根据设计对象复杂程度的不同,可以灵活地选择不同的方法, MIS的几个常用开发方法(结构化方法、原型法和面向对象方法),本系统就是采用了结构化方法设计而成,其结构图如下给出.
(2.3 业务流程分析图)
结合当前开发普遍采用五大阶段实施的方法,我也把本信息系统设计步骤划分如下,并详细说明了各个步骤设计阶段所用到的技术和方法,其表示图如下:
(2.4 设计步骤图)
(2.5 数据库设计E-R图)
基本表:
客人信息表(流水帐号,姓名,性别,类型,证件类型,证件号码,光顾历史次数,历史消费金额)
开台表(流水帐号,房台号,人数,押金,入住日期,结帐日期,活动编号)
房台信息表(房台号,类型,价格,状态)
点菜表(帐单编号,流水帐号,酒菜名,服务员,折扣)
酒菜信息表(酒菜名,类别,价格,特色介绍)
优惠活动表(活动编号,活动名称,对象,内容,开始日期,截止日期)
操作员表(姓名,职位,帐号,密码,权限级别)
视图:
客人信息表v(CREATE VIEW dbo.客人信息v
AS
SELECT dbo.客人信息.姓名, dbo.客人信息.性别, dbo.客人信息.类型, dbo.客人信息.证件类型,
dbo.客人信息.证件号码, dbo.开台.房台号, dbo.开台.人数, dbo.开台.押金,
dbo.开台.入住日期, dbo.开台.结帐日期, (CASE ISNULL(dbo.开台.结帐日期, '')
WHEN '' THEN dbo.房台信息.状态 ELSE '已结帐' END) AS 房台状态, dbo.房台信息.价格,
dbo.房台信息.类型 AS 房台类型
FROM dbo.客人信息 INNER JOIN
dbo.开台 ON dbo.客人信息.流水帐号 = dbo.开台.流水帐号 INNER JOIN
dbo.房台信息 ON dbo.开台.房台号 = dbo.房台信息.房台号
)
房台信息v(CREATE VIEW dbo.房台信息v
AS
SELECT 房台号 AS Expr1, 类型 AS Expr2, 价格 AS Expr3, 状态 AS Expr4
FROM dbo.房台信息)
月统计v(CREATE VIEW dbo.月统计v
AS
SELECT dbo.客人信息.姓名, dbo.客人信息.性别, dbo.客人信息.类型, dbo.客人信息.证件类型,
dbo.客人信息.证件号码, dbo.开台.房台号, dbo.开台.人数,
dbo.开台.入住日期 AS 统计日期
FROM dbo.开台 INNER JOIN
dbo.客人信息 ON dbo.开台.流水帐号 = dbo.客人信息.流水帐号
)
消费打印v(CREATE VIEW dbo.消费打印v
AS
SELECT dbo.客人信息.流水帐号, dbo.客人信息.姓名, dbo.客人信息.性别, dbo.客人信息.类型,
dbo.开台.人数, dbo.客人信息.证件类型, dbo.客人信息.证件号码, dbo.开台.房台号,
dbo.开台.押金, dbo.开台.入住日期, dbo.开台.结帐日期, dbo.点菜.帐单编号,
dbo.点菜.酒菜名, dbo.酒菜信息.价格, dbo.点菜.服务员, dbo.点菜.折扣,
dbo.优惠活动.活动名称, dbo.优惠活动.对象, dbo.优惠活动.内容
FROM dbo.客人信息 INNER JOIN
dbo.开台 ON dbo.客人信息.流水帐号 = dbo.开台.流水帐号 LEFT OUTER JOIN
dbo.点菜 ON dbo.客人信息.流水帐号 = dbo.点菜.流水帐号 LEFT OUTER JOIN
dbo.酒菜信息 ON dbo.点菜.酒菜名 = dbo.酒菜信息.酒菜名 LEFT OUTER JOIN
dbo.优惠活动 ON dbo.开台.活动编号 = dbo.优惠活动.活动号
)
消费清单(CREATE VIEW dbo.消费清单
AS
SELECT dbo.客人信息.姓名, dbo.点菜.酒菜名,
dbo.点菜.折扣 * dbo.酒菜信息.价格 AS 消费额
FROM dbo.客人信息 INNER JOIN
dbo.点菜 ON dbo.客人信息.流水帐号 = dbo.点菜.流水帐号 INNER JOIN
dbo.酒菜信息 ON dbo.点菜.酒菜名 = dbo.酒菜信息.酒菜名
)
酒菜信息v(CREATE VIEW dbo.酒菜信息v
AS
SELECT 酒菜名, 类别, 价格, 特色介绍
FROM dbo.酒菜信息
)
存储过程:
得到客流高峰期的日期
datemax(CREATE PROCEDURE datemax(@date datetime )
AS
Select Max(P.入住日期) As 入住日期
From
(select sum(人数) As Total,入住日期 from 开台 where month(入住日期)=month(@date) group by 入住日期)P
where P.Total=
(select Max(Total) As MaxCount from
(select sum(人数) As Total,入住日期 from 开台 where month(入住日期)=month(@date) group by 入住日期 ) As A)
GO)
2.月客流量统计
flows(CREATE PROCEDURE flows (@date datetime)
AS
select sum(人数) as 月客流量 from 开台 where month(入住日期)=month(@date) and year(入住日期)=year(@date)
GO)
3.数据库初始化(由于数据的重要性这里紧对优惠活动表初始化)
initialization (CREATE PROCEDURE initialization
AS
delete from 优惠活动
GO)
4. 计算房台使用率
per(CREATE PROCEDURE per
AS
select count(*)/(select count(*) from 房台信息 where 状态='使用') from 房台信息
GO)
5.客人消费金额
total(CREATE PROCEDURE total
AS
select sum(消费额) from 消费清单
GO)
5.折扣置零
huifuyuanjia (CREATE PROCEDURE huifuyuanjia
AS
update 点菜表 set 折扣=0
go)
·基本信息录入和修改
·重要和敏感信息录入和修改
·业务数据查询
·打印数据和为客户结帐
·管理员管理权限(数据备份、恢复、初始化数据库、更改管理员帐户信息等)
·辅助工具使用
·利用帮助
·基本信息录入和修改
·重要和敏感信息录入和修改
·业务数据查询
·打印数据和为客户结帐
·辅助工具使用
·利用帮助
·基本信息录入和修改
·重要和敏感信息录入和修改
·业务数据查询
·打印数据和为客户结帐
·管理员管理权限(数据备份、恢复、更改管理员帐户信息等)
·辅助工具使用
·利用帮助
通过在外公司的实习锻炼,掌握了真实性的商业化软件开发的注意点和开发流程,结合自己开发实例逐渐渗透应用到自己的信息系统中,在开发过程中不断提高技巧和优化影响性能的模块,总结起来其中主要应用到的技术有:
在不断的学习和外部环境的影响下,我了解到数据显示实时性的重要,在对数据如插入或者删除处理后,如果不能实时更新数据显示和处理数据冲突,会带来数据混乱从而影响系统的正常运行,而且这样也更适应了现代化信息实时反馈的要求 .其中用到了xxxx.databinding、CurrencyManager管理绑定、treeview和listbox多路数据绑定显示技术等.
考虑到数据库安装环境的复杂性,数据库连接的可扩展性要好,所以在数据库连接方面尽量使用实(local)或者127.0.0.1来作为机器名字,使用专用的帐户来建立与数据库的连接.
考虑到系统的方便使用性,通过大量的网上查询和msdn的查询,针对系统的特点使用托盘技术来在系统实现快捷方便的停放和调用,从而是数据的管理效率大大提高.
在系统设计的时候其中写系统托盘的程序时候,总结各种写托盘程序的案例,为实现简单的托盘图标化,使用了调用系统API函数创建notifyicon效果.
充分利用了vb.net 的结构化处理专利,在代码的debug阶段利用它捕获错误信息等.