酒店管理系统--单机版的实现——毕业论文_第1页
酒店管理系统--单机版的实现——毕业论文_第2页
酒店管理系统--单机版的实现——毕业论文_第3页
酒店管理系统--单机版的实现——毕业论文_第4页
酒店管理系统--单机版的实现——毕业论文_第5页
免费预览已结束,剩余47页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于sql server 2003 数据库的单机版酒店业务管理系统 郑 州 轻 工 业 学 院 专科毕业设计(论文)题 目 酒店管理系统 单机版的实现 学生姓名 * 专业班级 *学 号 * 院 (系) * 指导老师 * 完成时间 年 月 日 52郑州轻工业学院毕业设计(论文)任务书题目 酒店业务管理系统单机版的实现 专业 * 学号 * 姓名 * 主要内容:伴随着时代的进步,信息化产业的不断发展,一种简洁高效的管理理念和管理模式应运而生,它就是信息系统管理(MIS),这次毕业设计是针对中小型企业的日常运营模式和管理理念的特点设计而成的,主要体现了严谨的结构设计理念和MIS带给人们日常生活的效率和方便等实用性。基本要求:设计严谨、功能完备;使用方便;充分考虑到系统未来的扩充性、易于维护;性能良好,高度安全机制的建立。主要参考资料等:1.参考文献1基于C/S模式的数据库系统2Visual S 平台程序开发3windows应用程序开法4SQL SEVER 数据库开发技术.5软件工程技术.2.环境条件 硬件环境在实习公司利用多余时间和机器环境完成. 软件环境microsoft windows 2000安装有sql server 2003和2003.完 成 期 限:2006年6月10日指导教师签章: 专业负责人签章: 年 月 日酒店管理系统(单机版的实现)摘要随着时代的发展工作效率的提高,人们对信息的处理要求,促进了管理系统(Mis)的发展,其以专门针对性应用,快捷、方便、高效的特点,很快受到了大众用户的喜爱。本系统的开发是针对中小型酒店的日常管理业务开发而成的,其针对性极强,主要体现在对酒店客户消费清单的打印、特色推荐、方便的业务数据的统计分析、友好的图表数据显示、报表生成、方便的辅助工具使用和多重安全性解决方案设计,通过以上功能的实现来提供相对比较完善的酒店管理机制的建立。本系统是采用sql server 2003作为后台数据库, 工具来设计程序,利用技术来把应用程序与后台数据库相连接。 关键字 : 酒店管理、访问、数据库.Grogshop management program (stand-alone)SummaryWith 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 its identity of special on applying 、shortcut、convenience and high Efficiency .The purpose of develop The program is apply to the JR. Grogshop for manage its daily operation .the high pertinency that mainly in the person of printing the customers 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 programs database is sql server 2003 and using visual 2003 to design the programmer and using the ADO.NET technology to build connection between database and program .Primary key: Grogshop management、access、database.目录摘要3Summary41 绪 论71.1 项目背景71.2 发展状况71.3项目开发特色81.4 工作难度82 项目分析设计92.1 系统架构92.2 逻辑模型102.3 功能实现思路及设计结构图102.3.1业务流程分析图:102.3.2结构设计流程思路规划图:112.3.3概念结构设计图:122.3.4逻辑结构设计:132.4 权限设计182.4.1. 管理员权限182.4.2. 录入员权限182.4.3. 部门经理权限183技术介绍193.1主要开发技术193.1.1 数据绑定技术193.1.2 ADO.NET动态数据库连接技术193.1.3 系统托盘技术193.1.4 系统API函数的使用193.1.5 结构化数据处理技术193.1.6 外部程序的调用203.1.7 外部组件调用203.2 开发工具及相关技术优点介绍213.2.1 visual 开发平台的介绍213.2.2 使用visual 开发的技术优点214 项目实现254.1 数据库设计结果254.2 应用程序设计294.2.1 登陆界面设计:294.2.2 用户登陆后的主界面设计30 第一部分 菜单项30 第二部分 工具栏3 第三部分 窗体的主体3 第四部分 窗体的状态栏324.2.3 详细设计思路及涉及相关技术说明3 客人信息设置窗体3 房台信息设置窗体3 酒菜信息设置窗体3 优惠活动信息设置窗体3 点菜菜单窗体3 房台使用情况查询窗体3 入住客人信息查询窗体3 打印窗体40数据统计窗体4 工具辅助功能实现40 帮助的实现424.3 开发信息系统中遇到的难题以及获取解决的途径424.3.1 开发过程遇到的难题424.3.2 最终获取解决的途径424.4 项目总结43结束语44致 谢45参考文献46附 录481 绪 论1.1 项目背景 当今时代的两个显著特点就是世界经济一体化和以计算机为代表的信息技术的快速发展。一个组织要在激烈的竞争中保持优势和不断发展,必须对迅速变化的环境灵敏地做出有效地反应。管理信息系统的应用能够提供这种有效的决策支持。 信息管理的过程包括信息收集、信息传输、信息加工和信息储存。信息收集就是对原始信息的获取。信息传输是信息在时间和空间上的转移,因为信息只有及时准确地送到需要者的手中才能发挥作用。信息加工包括信息形式的变换和信息内容的处理。信息的形式变换是指在信息传输过程中,通过变换载体,使信息准确地传输给接收者。信息的内容处理是指对原始信息进行加工整理,深入揭示信息的内容。经过信息内容的处理,输入的信息才能变成所需要的信息,才能被适时有效地利用。信息送到使用者手中,有的并非使用完后就无用了,有的还需留做事 信息系统从技术上说就是为了支持决策和组织控制而收集(或获取)、处理、存储、分配信息的一组相互关联的组件。除了支持决策、协作和控制,信息系统也可用来帮助经理和工人分子问题,使复杂性可视化,以及创造新的产品,从商业角度看,一个信息系统是一个用于解决环境提出的挑战的,基于信息技术的组织管理方案。我们用“信息系统”这个词时,特指依赖于计算机技术的信息系统。 一个基于计算机的信息系统是以计算机软件、硬件、存储和电信等技术为核心的人机系统。1.2 发展状况 信息在社会和经济的发展中所起的作用越来越为人们所重视。信息资源的开发利用 水平成为衡量一个国家综合国力的重要标志之一。计算机作为信息处理的工具,为适应数据处理需求的迅速提高,满足各类信息系统对数据管理的要求,在文件系统的基础上发展基础数据库系统,数据库方法针对事物处理中大量数据管理需求。我国自从80年代上半期,国家计委统计局计算中心在第一次全国人口普查、工业普查中使用了数据库管理技术以来,随着微机管理系统的推广,数据库信息管理系统的应用逐渐展露头脚,但是也由于发展晚起步低的原因和当代技术 的占有独享性质,导致我国虽然在这方面发展迅速但是发展规模普遍都是中小型方向而且运作机制还很不完善.1.3项目开发特色 有上面的时代背景和发展现状,由于中国现阶段信息化发展程度和各方面人力、物力的限制,我们要想做好,就必须把系统做的相对完善,综合考虑各方面的开发因素,从而实现小而精髓的效果,本系统的开发实施阶段就很好的做到了,充分的调研和分析、综合因素的考虑(包括软件环境因素、机器环境因素、人群特点环境因素等)和可扩展性,所以本系统具有以下特色:语言角度: 采用了平台的互通性,使用开发语言开发整体设计:系统力求简洁实用,少占资源技术角度:利用vb语言的简洁性,借助其提供的便利克服了若干技术难题,如通过其windows组件outlook来联系以获取帮助等.从可扩展性看:系统充分的考虑了扩充需求,可扩展性强。1.4 工作难度开发工作难度主要在于以下几点:1) 系统各模块的协调性和关联性解决2) 数据库连接的动态数据实时信息的反馈3) 数据库实施后和系统前期制作的一些缺陷性问题的解决4) 考虑最优化5) 考虑外部环境的多变性6) 扩展性和使用性2 项目分析设计2.1 系统架构 本系统是基于单机版结构实现,采用后台数据库存储前台信息系统简洁方便的管理模式,后台数据库采用性能稳定简洁易用的sql server数据库,前台客户端采用开发的菜单式便捷管理样式体系结构,以进行酒店管理日常业务信息,其系统大体架构如下图:用户(管理员、录入员、部门经理)登陆本机后,登陆酒店业务管理系统操作酒店管理信 息系统系统后台数据库(2.1 系统架构图)2.2 逻辑模型 分析其业务流程,我把其日常业务需求模块划分为六大模块,设计在信息系统菜单栏上其模块划分图如下:酒店管理信息系统基本业务信息管理日常数据的查询辅助帮助及系统帮助结帐和数据单的打印更改登陆帐户管理员帐号管理数据的详细统计分析管理员模块数据库初始化系统日志记录数据备份和恢复(2.2 模块划分图)2.3 功能实现思路及设计结构图 观察现阶段信息系统设计方法, 针对系统的不同的复杂程度,目前有一些常用的系统设计方法,如瀑布设计方法、自顶向下的设计方法、自下向上的设计方法、螺旋设计方法、逐步细化设计方法和并行设计方法等,根据设计对象复杂程度的不同,可以灵活地选择不同的方法, MIS的几个常用开发方法(结构化方法、原型法和面向对象方法),本系统就是采用了结构化方法设计而成,其结构图如下给出.2.3.1业务流程分析图:客人信息登记房台入住开台酒菜单点菜消费帐单打印结帐(2.3 业务流程分析图)2.3.2结构设计流程思路规划图: 结合当前开发普遍采用五大阶段实施的方法,我也把本信息系统设计步骤划分如下,并详细说明了各个步骤设计阶段所用到的技术和方法,其表示图如下:逻辑设计阶段概念设计阶段需求分析阶段物理设计阶段数据库实施阶段综合、收集和分析信息.概念结构的设计(考虑简单、易于用户理解性,我选择了实体联系方法).逻辑结构的设计、数据模型的优化和总体的规划.设计物理结构(数据库的存储结构和存取方法(本系统选用索引法和聚簇法相结合).创建数据库、录入测试数据、调试应用程序.(2.4 设计步骤图)2.3.3概念结构设计图:客人信息表流水帐号类型姓名性别证件类型证件号码光顾历史次数历史消费金额房台信息表房台号类型状态开台人数押金入住日期结帐日期点菜酒菜信息表酒菜名类别价格特色介绍服务员折扣优惠活动表活动名称活动编号内容开始日期截止日期操作员姓名职位帐号密码权限级别价格对象帐单编号(2.5 数据库设计E-R图)2.3.4逻辑结构设计:基本表:客人信息表(流水帐号,姓名,性别,类型,证件类型,证件号码,光顾历史次数,历史消费金额)开台表(流水帐号,房台号,人数,押金,入住日期,结帐日期,活动编号)房台信息表(房台号,类型,价格,状态)点菜表(帐单编号,流水帐号,酒菜名,服务员,折扣)酒菜信息表(酒菜名,类别,价格,特色介绍)优惠活动表(活动编号,活动名称,对象,内容,开始日期,截止日期)操作员表(姓名,职位,帐号,密码,权限级别) 视图:客人信息表v(CREATE VIEW dbo.客人信息vASSELECT 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.房台信息vASSELECT 房台号 AS Expr1, 类型 AS Expr2, 价格 AS Expr3, 状态 AS Expr4FROM dbo.房台信息)月统计v(CREATE VIEW dbo.月统计vASSELECT dbo.客人信息.姓名, dbo.客人信息.性别, dbo.客人信息.类型, dbo.客人信息.证件类型, dbo.客人信息.证件号码, dbo.开台.房台号, dbo.开台.人数, dbo.开台.入住日期 AS 统计日期FROM dbo.开台 INNER JOIN dbo.客人信息 ON dbo.开台.流水帐号 = dbo.客人信息.流水帐号)消费打印v(CREATE VIEW dbo.消费打印vASSELECT 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.消费清单ASSELECT dbo.客人信息.姓名, dbo.点菜.酒菜名, dbo.点菜.折扣 * dbo.酒菜信息.价格 AS 消费额FROM dbo.客人信息 INNER JOIN dbo.点菜 ON dbo.客人信息.流水帐号 = dbo.点菜.流水帐号 INNER JOIN dbo.酒菜信息 ON dbo.点菜.酒菜名 = dbo.酒菜信息.酒菜名)酒菜信息v(CREATE VIEW dbo.酒菜信息vASSELECT 酒菜名, 类别, 价格, 特色介绍FROM dbo.酒菜信息)存储过程:得到客流高峰期的日期datemax(CREATE PROCEDURE datemax(date datetime )ASSelect Max(P.入住日期) As 入住日期From (select sum(人数) As Total,入住日期 from 开台 where month(入住日期)=month(date) group by 入住日期)Pwhere 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)ASselect sum(人数) as 月客流量 from 开台 where month(入住日期)=month(date) and year(入住日期)=year(date)GO)3.数据库初始化(由于数据的重要性这里紧对优惠活动表初始化)initialization (CREATE PROCEDURE initialization ASdelete from 优惠活动GO)4. 计算房台使用率per(CREATE PROCEDURE per ASselect count(*)/(select count(*) from 房台信息 where 状态=使用) from 房台信息GO)5.客人消费金额total(CREATE PROCEDURE total ASselect sum(消费额) from 消费清单GO)5.折扣置零huifuyuanjia (CREATE PROCEDURE huifuyuanjia ASupdate 点菜表 set 折扣=0go)2.4 权限设计2.4.1. 管理员权限基本信息录入和修改重要和敏感信息录入和修改业务数据查询打印数据和为客户结帐管理员管理权限(数据备份、恢复、初始化数据库、更改管理员帐户信息等)辅助工具使用利用帮助2.4.2. 录入员权限基本信息录入和修改重要和敏感信息录入和修改业务数据查询打印数据和为客户结帐辅助工具使用利用帮助2.4.3. 部门经理权限基本信息录入和修改重要和敏感信息录入和修改业务数据查询打印数据和为客户结帐管理员管理权限(数据备份、恢复、更改管理员帐户信息等)辅助工具使用利用帮助3 技术介绍3.1主要开发技术通过在外公司的实习锻炼,掌握了真实性的商业化软件开发的注意点和开发流程,结合自己开发实例逐渐渗透应用到自己的信息系统中,在开发过程中不断提高技巧和优化影响性能的模块,总结起来其中主要应用到的技术有:3.1.1 数据绑定技术 在不断的学习和外部环境的影响下,我了解到数据显示实时性的重要,在对数据如插入或者删除处理后,如果不能实时更新数据显示和处理数据冲突,会带来数据混乱从而影响系统的正常运行,而且这样也更适应了现代化信息实时反馈的要求 .其中用到了xxxx.databinding、CurrencyManager管理绑定、treeview和listbox多路数据绑定显示技术等.3.1.2 ADO.NET动态数据库连接技术 考虑到数据库安装环境的复杂性,数据库连接的可扩展性要好,所以在数据库连接方面尽量使用实(local)或者来作为机器名字,使用专用的帐户来建立与数据库的连接.3.1.3 系统托盘技术 考虑到系统的方便使用性,通过大量的网上查询和msdn的查询,针对系统的特点使用托盘技术来在系统实现快捷方便的停放和调用,从而是数据的管理效率大大提高.3.1.4 系统API函数的使用 在系统设计的时候其中写系统托盘的程序时候,总结各种写托盘程序的案例,为实现简单的托盘图标化,使用了调用系统API函数创建notifyicon效果.3.1.5 结构化数据处理技术 充分利用了 的结构化处理专利,在代码的debug阶段利用它捕获错误信息等. 代码如下: 在ContextMenu实例中加入菜单项 Me.NotifyIcon1.ContextMenu = Me.ContextMenu1 Me.ContextMenu1.MenuItems.Add(Me.MenuItemshow) Me.ContextMenu1.MenuItems.Add(Me.MenuItemhide) Me.ContextMenu1.MenuItems.Add(Me.MenuItemclose) Me.MenuItemshow.Index = 0 Me.MenuItemshow.Text = 显示主窗口 Me.MenuItemhide.Index = 1 Me.MenuItemhide.Text = 隐藏主窗口 Me.MenuItemclose.Index = 2 Me.MenuItemclose.Text = 退出 对NotifyIcon实例的Icon属性赋值,完成简单托盘程序 Me.NotifyIcon1.Icon = Me.Icon 如果要实现图标的动态,在此处设置默认图标,再在Timer1_Tick 时间中写相应的代码 Me.AutoScaleBaseSize = New System.Drawing.Size(6, 13) Me.ShowInTaskbar = False Me.NotifyIcon1.Text = 酒店管理系统 Me.NotifyIcon1.Visible = True3.1.6 外部程序的调用 外部程序的调用又不同于系统API函数的调用,系统API函数的调用是调用windows底层的服务组件,而外部程序调用是启动该外部程序的一个进程来实现调用,如: Public Sub transfer note () Process.Start(notepad.exe)End Sub3.1.7 外部组件调用 通过外部组件我们可以实现我们自己不能设计编写出来,而我们又想实现的功能,如调用外部 的.dll来实现某个功能等.3.2 开发工具及相关技术优点介绍3.2.1 visual 开发平台的介绍 Visual Studio.NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic.NET、Visual C+.NET、Visual C#.NET 和 Visual J#.NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。Visual Basic .NET 是下一代的 Visual Basic,致力于开发分布式应用程序,如 Web 或企业的 n 层系统优点与技术要求1) 增强的面向对象支持,如继承2) 结构化的异常处理3) 新的线程选择4) 垃圾收集 (Garbage collection)5) 创建 Web 窗体与与创建 Windows 窗体同样容易6) 快速创建 Web 服务7) 新版本的 ActiveX Data Objects (ADO) 实现非连接数据源的访问存取8) 支持跨语言继承(Visual Basic 开发的类可以自其他语言写的类继承而来)9) Visual Basic .NET 与其他 Visual Studio .NET 语言完全集成10) 使用 Web 窗体与 Microsoft ADO.NET 快速开发可伸缩的网站11) 简单的应用程序部署过程,通过目录对目录的拷贝执行文件和组件实现12) 用统一的调试器调试多语言应用程序Visual Basic .NET 的调试优点在 Consensus 3.0 的开发过程中显现无疑。在这个项目中,.NET 框架的非封装性调试显著的减少了几乎 50% 的调试时间,以至于 Consensus 的开发人员不再愿意使用旧的调试环境。3.2.2 使用visual 开发的技术优点作为开发要求,Visual Basic .NET 需要公共语言运行库,以及 .NET 框架类库和 Visual Studio .NET IDE。ADO.NET 提供了若干好处。这些好处分成以下几个类别:互操作性 ADO.NET 应用程序可以利用 XML 的灵活性和广泛接受性。由于 XML 是用于在网络中传输数据集的格式,因此可以读取 XML 格式的任何组件都可以处理数据。实际上,接收组件根本不必是 ADO.NET 组件:传输组件可以只是将数据集传输给其目标,而不考虑接收组件的实现方式。目标组件可以是 Visual Studio 应用程序或无论用什么工具实现的其他任何应用程序。唯一的要求是接收组件能够读取 XML。作为一项工业标准,XML 正是在谨记这种互操作性的情况下设计的。可维护性 在已部署系统的生存期中,适度的更改是可能的,但由于十分困难,所以很少尝试进行实质的结构更改。这是很遗憾的,因为在事件的自然过程中,这种实质上的更改会变得很有必要。例如,当已部署的应用程序越来越受用户欢迎时,增加的性能负荷可能需要进行结构更改。随着已部署的应用程序服务器上的性能负荷的增长,系统资源会变得不足,并且响应时间或吞吐量会受到影响。面对该问题,软件设计者可以选择将服务器的业务逻辑处理和用户界面处理划分到单独计算机上的单独层上。实际上,应用程序服务器层将替换为两层,缓解了系统资源缺乏。该问题并不是要设计三层应用程序。相反,它是要在应用程序部署以后增加层数。如果原始应用程序使用数据集以 ADO.NET 实现,则该转换很容易进行。请记住,当用两层替换单个层时,将安排这两层交换信息。由于这些层可以通过 XML 格式的数据集传输数据,所以通信相对较容易。可编程性 Visual Studio 中的 ADO.NET 数据组件以不同方式封装数据访问功能,帮助您加快编程速度并减少犯错几率。例如,数据命令提取生成和执行 SQL 语句或存储过程的任务。同样,由这些工具生成的 ADO.NET 数据类导致类型化数据集。这又使您可以通过已声明类型的编程访问数据。例如,请考虑下面这行代码(它访问未声明类型的数据集内的数据成员): Visual BasicIf TotalCost DataSet1.Tables(Customers).Rows(i)(AvailableCredit) Then/ C#if (TotalCost DataSet1.TablesCustomers.RowsiAvailableCredit) 访问已声明类型的数据集内的数据成员的等效代码行如下所示: Visual BasicIf TotalCost DataSet1.Customers(Jones).AvailableCredit Then/ C#if(TotalCost DataSet1.Customers(Jones).AvailableCredit) 已声明类型的数据集的代码更易阅读。因为提供了语句结束,所以它还便于编写。例如,“AvailableCredit”在完成以下语句的选择列表中:IF TotalCost Customer.最后,已声明类型的数据集的代码更安全,原因在于它提供对类型的编译时检查。例如,假定 AvailableCredit 表达为货币值。如果程序员误向 AvailableCredit 分配了字符串值,则环境会在编译时向程序员报告该错误。当使用未声明类型的数据集时,程序员直到运行时才会知道该错误。性能 对于不连接的应用程序,ADO.NET 数据库提供的性能优于 ADO 不连接的记录集。当使用 COM 封送在层间传输不连接的记录集时,会因将记录集内的值转换为 COM 可识别的数据类型而导致显著的处理开销。在 ADO.NET 中,这种数据类型转换则没有必要。可伸缩性 因为 Web 可以极大增加对数据的需求,所以可缩放性变得很关键。Internet 应用程序具有无限的潜在用户供应。尽管应用程序可以很好地为十几个用户服务,但它可能不能向成百上千个(或几百万个)用户提供同样好的服务。使用数据库锁和数据库连接之类资源的应用程序不能很好地为大量用户服务,因为用户对这些有限资源的需求最终将超出其供应。ADO.NET 通过鼓励程序员节省有限资源来实现可缩放性。由于所有 ADO.NET 应用程序都使用对数据的不连接访问,因此它不会在较长持续时间内保留数据库锁或活动数据库连接。4 项目实现4.1 数据库设计结果数据库基本表设计结构界图如下:(4.1.1 优惠活动表设计图)(4.1.2 客人信息表设计图)(4.1.3 开台表设计图)(4.1.4 房台信息表设计图)(4.1.5 操作员表设计图)(4.1.6 点菜表设计图)(4.1.7 酒菜信息表设计图)数据库表结构联系图如下:(4.1.8 酒店管理系统数据库表结构图)4.2 应用程序设计4.2.1 登陆界面设计:(4.2.1 用户登陆界面)用户登陆界面的设计鉴于安全性的考虑采用了不使用dataset来存储,而使用dataread来快速读取数据,从而避免客户端存储登陆用户信息,登陆时会有严格的登陆条件限制,而且当条件符合登陆时还要验证用户的权限级别,从而确定其对数据库操作的权限,然后来决定其是否在相应模块有使用的权利.4.2.2 用户登陆后的主界面设计(4.2.2 酒店管理系统主窗体)其结构布局设计如下: 第一部分 菜单项菜单项有信息设置、信息查询、生成打印/结帐、数据统计、管理员设置、辅助工具、关于等七大项,其分别对应七大模块。信息设置菜单中主要是添加、删除、修改等对客人和酒店的基本业务信息而操作的,然后往下面细分有客人信息设置、 房台信息设置 、酒菜信息设置、 优惠活动信息设置 、点菜、 退出,而其中把客人信息设置和开设房台业务整合在一起到客人信息设置模块。信息查询菜单中主要是帮助及时查询房台的使用情况和入住客人的详细情况,其中划分了两个模块分别是房台使用情况和客人入住信息查询。生成打印/结帐中主要是负责未结帐客户的消费清单的打印、客户结帐业务,下也有两大模块消费清单打印、结帐。数据统计菜单项中主要是业务数据信息的信息分析统计,其中化分未三个模块分别是月数据统计、日数据统计、数据信息统计。管理员设置菜单项中主要是管理帐号的管理、更改登陆帐号、数据库数据的初始化、数据库的备份和恢复等功能,模块划分为管理员管理、更改登陆帐户、期初设置、系统日志查看、数据备份、数据恢复项。辅助工具菜单项的设计主要是为了在日常业务数据的管理中,提高数据的管理效率,其中有一些常用的工具,主要包括记事本、计算器、语音录制和提醒、屏幕键盘模块项。关于菜单项是用户在使用的过程中获取简要帮助而设计,它包括系统、联系我两个模块。 第二部分 工具栏在菜单项的下面列了若干工具栏,设计工具栏里放置了酒店管理业务中经常遇到的信息管理模块及工具,并添加了有代表说明性的图片和附有详细的备注提示供用户使用。 第三部分 窗体的主体这一部分没有什么好说的,但是值得一提的是,主题正中显示welcome to my application!字体,这是我自己设计的一个小程序,其效果是动态显示字体实现word里面彩色效果一样,其设计思路是利用编程的逻辑算法改变字体的属性以达到动态的效果,其代码如下:font colorchange If b = 1 Then b += 1 Label1.ForeColor = ColorDialog1.Color.Honeydew ElseIf b = 2 Then b += 1 Label1.ForeColor = ColorDialog1.Color.GreenYellow ElseIf b = 3 Then b += 1 Label1.ForeColor = ColorDialog1.Color.Red ElseIf b = 4 Then b -= 3 Label1.ForeColor = ColorDialog1.Color.SpringGreen End If 第四部分 窗体的状态栏 状态栏有包括三部分左、中、右。左部分的实现是基本的属性设置;中部分显示登陆帐户信息,其实现是同过用户在登陆窗口登陆的时候把其登陆的相关信息,传递到一个公共变量里面,然后在主窗口中显示出来;右边部分显示即时时间,其实现是通过一个控件timer并设置其属性ToolTipText来控制时间和获取提示信息。4.2.3 详细设计思路及涉及相关技术说明 客人信息设置窗体(4.2.3 客人信息设置窗体界面)在此窗体中主要设计了数据表的添加、删除、更新操作等,其中重点在于此窗体涉及到多数据表的更新,和多数据表结合的数据处理技术,还有数据的动态显示效果,其设计周期在设计中占了相当时间,其部分重要代码如下:Private Sub save() Try Dim lszh As String = TextBox1.Text Const null As String = rzrq = Today Select Case null Case TextBox2.Text MessageBox.Show(姓名不能为空!, 警告:, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) Case ComboBox1.Text If ds.Tables(房台信息).Rows.Count = 0 Then MsgBox(已经没有可以入住的房间了, MsgBoxStyle.Exclamation, 警告) Exit Sub Else 设置开台表 If rs = Then rs = 0 cm.CommandText = insert into 开台(流水帐号,房台号,人数,押金,入住日期) values ( & CInt(lszh) & , & fth & , & CInt(rs) & , & yj & , & rzrq & ) cn.Open() cm.ExecuteNonQuery() cn.Close() 设置房台为使用或预定状态 cm.CommandText = update 房台信息 set 状态=使用 where 房台号= & TextBox4.Text & cn.Open() cm.ExecuteReader() cn.Close() 这里重新生成一个流水帐号 TextBox1.Text = ; TextBox2.Text = ;TextBox3.Text = TextBox4.Te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论