(精品)基于C#的酒店管理系统的开发毕业设计

更新时间:2024-01-27 08:21:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文

基于C#的酒店管理系统的开发

摘要: 在信息社会中,企业只有利用各种先进的管理方式和技术手段实现学习的告诉集成,提高获取信息、分析利用信息的能力,发展知识经济。 传统手工的酒店管理过程繁琐而复杂,要想在竞争中取得又是,必须在经验管理、产品服务等方面提高管理知识。通过本系统,我们可以做到信息的规范管理和快读查找,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本,衣应付当今日趋激烈的竞争环境。本系统采用C#语言编辑,实现了与windows操作系统良好的兼容性,通过代码对SQL语言实现了预定、入住、客房更改、用户管理、客房查询、客房状态、客房类型、客户结算功能。酒店管理系统,它可以借用计算机信息化的优势,方便快捷的实现顾客和管理者的交户,方便管理者在第一时间了解顾客的需求,及时做好应对措施,从而可以使经营者在竞争日益激烈的酒店服务行业中取得优势!

关键词: C#;CS结构;SQL;酒店管理系统

Abstract: In the information society, the enterprise only the use of advanced management methods and techniques to achieve learning l integration, improve access to information, analysis of the use of information capacity, the development of knowledge economy. The traditional manual management cumbersome and complex process, wants to be in competition get is, must experience in management, products and services, improve the management of knowledge. Through this system, we can standardize information management and rapid reading search, realized the guest room information management systematic, standardized and automated, so not only reduced the workload management, but also improve the management efficiency, reduce management costs, clothing cope with the increasingly intense competitive environment. The system uses C # language editor, and the realization of the windows operating system compatibility, the code for the SQL language book, occupancy, room change, user management, guest enquiries, room status, room type, customer billing function. Ho management system, it can borrow the computer information superiority, convenient and quick realization of the customers and managers pay the first time to understand the needs of customers, do a good job in a timely response measures, which can make the operator in the increasingly fierce competition of -Tate三家公司共同开发的,于1988 年推出了第一个OS2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。

SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。Microsoft SQL Server 2005 数据库引擎为关系型数据

和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

Microsoft SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。

与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Inligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。

许多因素致使产生了信息存储爆炸。有了新的信息类型,例如图片和视频的数字化,和从RFID标签获得的传感器信息,公司的数字信息的数量在急剧增长。遵守规范和全球化的发展要求信息存储的安全性和在任何时候都可用。同时,磁盘存储的成本显著地降低了,使得公司投资的每一美元可以存储更多的数据。用户必须快速的在大量的数据中找到相关的信息。此外,他们想在任何设备上使用这个信息,并且计划每天使用,例如Microsoft Office系统应用程序。对数据爆炸和用户期望值的增加的管理为公司制造了许多挑战。

Microsoft 数据平台愿景提供了一个解决方案来满足这些需求,这个解决方案就是公司可以使用存储和管理许多数据类型,包括XML、e-mail、时间日历、文件、文档、地理等等,同时提供一个丰富的服务集合来与数据交互作用:搜索、查询、数据分析、报表、数据整合,和强大的同步功能。用户可以访问从创建到存档于任何设备的信息,从桌面到移动设备的信息

SQL Server7.0已比原来的计划几乎晚两年发行。在这段时间内,有关哪个厂商具有Windows NT上最好的数据库解决方案的战斗已经打响,并最终由Oracle获胜。自从1996年以来,Oracle一直是Windows NT上的市场领导者。在过去的四年里,Oracle已在NT上享有令人震惊的2000%的收入增长。在这期间,Microsoft的收入占NT市场的份额实际上已经减少了27.8%。Oracle的伙伴的巨大成功补充了Oracle的客户的成功。一份最近的ARM研究(1998)表明,在1997年的EPT市场中,数据库营业收入的52%进入Oracle,相比之下,Microsoft SQL Server只占5%。事实上,在ASP的3200个NT

安装中,70%是在Oracle上。只有20%是在SQL Server上。 随着它们最新的数据库升级,Microsoft达到了Oracle在十年前通过Oracle6达到的水平。SQL Server7.0仍然比Oracle8i落后几年,并且在可伸缩性、体系结构、功能、安全性、扩展性等方面存在严重问题,这将阻碍它在关键任务应用中的使用。客户对选择SQL Server7.0将持严重的保留态度,特别是在Oraclr8i这样高可靠和先进的产品已经存在的时候。

2.2 C#简介

C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,C#拥有CC++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。C# (C SHARP)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失CC++原有的强大的功能。因为这种继承关系,C#与CC++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

2.3 Visual Studio 2008

Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。 1、具有面向对象的可视化设计方法

在VS中,应用面向对象的程序设计方法(Object-Oriented Programming),把程序和数据封闭起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计的要求,直接在屏幕上“画”出窗口、菜单、命令按钮等到不同类型的对象,并为每个对象设置属性来改变其外观。程序员在编程时只需要对每个对象的事件过程进行模块化编程,而无需编写大量的代码去描述界面元素的外观和位置,就能方便快捷的设计工程界面[2]。 2、事件驱动的编程机制

事件驱动是非常适合图形用户界面的编程方式。续编的面向过程的应用程序是按事先设计的流程运行的。事件可以由用户操作触发,也可以由操作系统或其他的应用程序的消息触发,甚至可由应用本身的消息触发。这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径是不同的。似是而非在图形用户界面的应用程序中,用户的动作即事件,掌握着程序的运行流向。每个事件都能驱动一段程序的运行,程度员把要编写响应用户动作的代码,各个动作之间不一定有联系。这样的应用程序代码较短,使得程序既易于编写又易于维护。 3、交互式的程序开发过程

Visual Studio采用的是交互式方法开发应用程序,使编写源程序、将源程序编译和连接生成可执行的二进制代码和最后运行生成可执行的二进制代码三个步骤之间不再有明显的界限。VB编程在输入代码时便进行解释,即时捕捉并突出显示大多数语法和拼写错误,同时将出现警告对话框,并将出错的源代码以红色显示,方便用户即时修改程序。

4、提供了易学易用的应用程序集成开发环境

在VS集成开发环境中,用户可设计界面、编写代码和高度程序,把应用程序编译成可执行文件。直至把应用程序制作成安装盘,心便能够在脱离VS系统的Windows环境中运行。

5、提供强大的数据库访问工具

随着计算机技术的发展,数据库越来越显示强大的数据存储和数据管理能力。为了满足人们对数据库的需要,VS提供了强大的数据库程序设计能力。它不仅能管理SQL 2000格式的数据库,还能访问其他外部数据库,如FoxPro,Paradox等格式的数据库。 6、强大的数据库操纵功能

VS中利用数据控件可以访问多种数据库系统。使用ADO控件功能强大、使用方便,而且占用内在少,访问速度更快。同时提供的ADO控件,可以用最少的代码创建数据库应用程序。

2.4 .net框架

.NET框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。NET包含许多有助于互联网和内部网应用迅捷开发的技术。

.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。.NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通。从层次结构来看,.NET框架又包括三个主要组成部分:公共语言运行时(CLR:Common Language Runtime)、服务框架(Services Framework)和上层的两类应用模板——传统的Windows应用程序模板(Win Forms)和基于ASP NET的面向Web的网络应用程序模板(Web Forms和Web Services)。

公共语言运行时(CLR),是一个运行时环境,管理代码的执行并使开发过程变得更加简单。CLR是一种受控的执行环境,其功能通过编译器与其它工具共同展现。

在CLR之上的是服务框架,它提供了一套开发人员希望在标准语言库中存在的基类库,包括集合、输入输出、字符串及数据类。

2.5 CS架构

传统的MIS系统的开发是基于CS(ClientServer)模式的。CS结构是现代计算机系统中主流高效率的体系结构,更重要的是它还是一个开放的体系结构。

CS应用系统基本运行关系体现为“请求响应”的应答模式。每当用户需要访问服务器时,CS软件体系结构,即ClientServer(客户机服务器)是由客户给予服务器合作完成的二层结构系统平台模式,是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,CS结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务,并将用户对数据的操作请求发送到服务器。

它的优势在十分广泛地采用了网络技术,将系统中的各部分任务分配给分布在网络上担任不同角色的计算机。它把较复杂的计算和管理任务交给网络上的高档机器-服务器,而把一些频繁与用户打交道的任务交给前端较简单的计算机-客户机(Client)。通过这种结构完全实现了网络上信息资源的共享。

任何一个应用系统,从简单的单机系统到复杂的网络计算,它都由三部分组成:显示逻辑部分(表示层),事务处理逻辑部分(功能层)和数据处理逻辑部分(数据层)。表示层的功能是实现与用户的交互,功能层的功能是进行具体的运算和数据的处理,数据层的功能是实现对数据库中的数据进行查询、修改、更新等任务。两层ClientServer数据库系统的结构如图2.1所示。

图2.1 CS模式结构图

CS模式具有如下优点:

(1)提高数据和服务器的无缝连接。 (2)为联机事务处理提供很高的性能。

由于ClientServer体系结构合理划分功能,均衡分配ClientServer的负载,并减少了网络传输,同时也建设了客户端PC机的处理任务。因而ClientServer结构能够为联机处理提高事务吞吐量,缩短响应时间和支持多用户操作。

(3)开放性和易扩充性。

ClientServer结构的DBMS提供开发的Client接口和Server接口,使得系统可以进行扩充。

数据库应用是当前计算机应用的一个非常重要的方面,在目前的数据库应用技术中普遍采用的就是ClientServer体系结构。在这种体系结构中,所有的数据和数据库管理系统都在服务器上,客户机通过标准的SQL语句等方式来访问数据库中的数据。这种

体系结构把数据和对数据的管理都放在了服务器上,保证了数据的安全性和完整性,同时也可以充分利用服务器高性能的特点。而且ClientServer技术可以降低软件开发和维护成本,增强应用的可移植性,改善网络和系统的性能,提高用户的工作效率,保护用户的投资。正因为CS体系结构有这些优点,所以得到了广泛的应用。因而管理信息系统中从系统结构设计、网络结构设计、系统平台、数据库平台及应用软件系统的选择体现了ClientServer体系结构的设计思想。在CS这种模式结构中,所有的应用逻辑都在Client端,从而使Client端变得很“胖” ,Server端则成为数据库服务器,进行数据处理和维护,因此Server相对变得很“瘦” ,这就使应用系统可维护性和可扩展性较差。如果系统有大量用户,并且用户是分布的和流动的,那么系统的安装会很困难,在系统进行修改后,所有客户机上的应用软件都会受到影响。因此基于CS模式结构的管理信息系统在InternetIntranet环境下的使用受到很大限制,不能满足企业发展的需要,较好的解决办法是使用三层或多层结构。

2.6 T-SQL

SQL 程式设计语言的增强版,它是用来让应用程式与 SQL Server 沟通的主要语言。T-SQL 提供标准 SQL的DDL 和 DML 功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性。

Transact Structured Query Language 它是ANSI和ISO SQL 标准的Microsoft SQL Server方言或扩展,中文理解为:SQL SERVER专用标准结构化查询语言增强版。在 Microsoft SQL Server 7.0 中 T-SQL 有着为数不少的新增功能,包括新的预存程序、系统资料表、函数、资料型别、陈述式以及现存陈述式中的选项。这些都被保留在 SQL Server 2000 中,因此我们在这里要先回顾 (特别是在您还不很熟悉 SQL Server 7.0 中 T-SQL 的功能,这个温习就很重要了)。因为有太多的新功能需要讨论,在此我们仅为每个类别举少数例子来加以介绍。

系统预存程序是 SQL Server 提供来执行管理与其他工作,包括了系统资料表更新以及从系统资料表中检索资料等。系统预存程序是和 SQL Server 一起安装,名称以 sp_ (系统预存程序) 或 xp_ (延伸的预存程序)开头。这些预存程序储存在 master 资料库中,权限归系统管理者所有。不过,许多程序可以从使用者自订的资料库执行,用来在特定资料库中从系统资料表检索资讯。当您执行一个系统预存程序,它是在目前资

料库的系统资料表中展开作业。

sp_cycle_errorlog 关闭目前的错误日志档案,重新命名为errorlog.1(以及,如果需要的话,将旧的errorlog.1重新命名为errorlog.2,依此类推),以及开始一个新的错误日志档案。

sp_”

组件需求:Microsoft .NET Framework 1.1, Microsoft MDAO 2.7, ASP.NET 1.1

第四章 系统设计

4.1 系统功能模块概要设计

按照结构化的系统设计方法,将整个系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到系统的功能模块结构图。本系统的功能模块结构如图4.1所示。

登陆酒店管理系统前台操作数据管理系统管理客户查询客户查询客户入住客户结算客房类型客房信息客户管理客房管理 图4.1系统功能概要设计

4.2 系统功能的详细设计

人机界面,是人与机器进行交互的操作方式,即用户与机器互相传递信息的媒介,其中包括信息的输入和输出。好的人机界面美观易懂、操作简单并且具有引导功能,使用户感觉愉快、增强兴趣,从而提高使用效率。

本系统基于Windows操作系统,因此在人机界面上遵循Windows的传统风格,由标题栏、菜单栏、快捷工具按钮、对话框等要素组成。与Windows操作系统一致的人机界

面,使得用户只要具备Windows操作基础,就能很快适应本管理系统的操作使用,因此能够大大降低系统培训费用,提高系统的可推广性。 4.2.1客户预订功能模块

客户预定用例图如图4.2所示。

空房<><><>查询<>预定客户预定

图4.2客户预定用例图

4.2.2客户入住功能模块

客户入住用例图如图4.3所示。

空房<><><>查询<>预定<>登记<>入住客户<>停用图4.3客户入住用例图

4.2.3客户查询功能模块

客户查询用例图如图4.4所示。

空房<><>查询<>预定客户<>预定图4-4客房查询用例图

4.2.4客户结算功能模块

客户结算用例图如图4.5所示。

查询客房信息<><>房间信息反馈<>酒店管理员<>费用信息核对<><><>客户客户退房

图4.5客户结算用例图

4.3 数据库设计

表4.1 客房类型表

字段名 RT-N Room-Type Area Bed UnitPrice Broadband Rem

数据类型 varchar varchar int Int Money char varchar

允许为空 否 否 是 是 是 是 是

长度 10 10 4 4 8 2 50

说明 自动编号 客房类型 面积 床位 单价 宽带 备注

表4.2 客房状态表

字段名 Room-N Room-Type Rposition Book Empty Stop Rem

数据类型 varchar varchar varchar char char char varchar

允许为空 否 否 是 是 是 是 是

长度 10 10 50 2 2 2 50

说明 自动编号 客房类型 楼层 预定 空房 停用 备注

表4.3 客房预定表

字段名 数据类型 允许为空 长度 说明

Book-N Name Sex LType L-ID Room-N InDate Days DMoney Rem

int varchar char varchar varchar varchar varchar

否 是 是 是 是 是 是

4 10 2 50 50 50 10 4 4 4 50

订单号 性别 证件类型 证件号 房间号 入住时间 入住天数 押金 备注

smalldatetime 是 Int smallmoney varchar

是 是 是

表4.4 客户入住表

字段名 C-N Name Sex LType L-ID CType Room-N InDate Days DMoney Rem

数据类型 int varchar char varchar varchar varchar varchar varchar

允许为空 否 是 是 是 是 是 是 是

长度 4 10 10 50 50 50 10 10 10 8 4 50

说明 编号 性别 证件类型 证件号 客户类型 房间号 入住时间 入住天数 押金 备注

smalldatetime 是 Int smallmoney varchar

是 是 是

表4.5 客户结算表

字段名 C-N Name Sex LType L-ID CType Room-N InDate Check_Out Discount AddMoney SumMoney Rem

数据类型 int varchar char varchar varchar varchar varchar varchar smalldatetime datetime float money moneyr varchar

允许为空 否 是 是 是 是 是 是 是 是 是 是 是 是

长度 4 10 2 50 50 50 10 10 8 8 8 8 8 50

说明 编号 性别 证件类型 证件号 客户类型 房间号 入住时间 退房时间 折扣 额外消费 消费总额 备注

4.5 安全性设计

本系统应采用了管理员登录认证制度。在系统中,只设置了酒店管理员的登录,并且采用实名登记制。对于管理员向系统提交的数据只有进行审核后才能进入系统数据库。为了防止管理员的口令泄密,一方面对管理员的口令进行安全校验,在管理员口令输入错误时提醒管理员,另一方面在口令的存储环节采用了加密措施,以维护管理员口令安全。

第五章 系统实现

系统设计阶段主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。

5.1 系统架构实现

按照结构化的系统设计方法,将整个系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到系统的总功能功能模块。本系统的主界面如图5.1所示。

图5.1 系统主界面

5.2 数据库实现

1.客户预定信息表如图5.2所示。

图5.2 客户预定信息表

2.客户入住信息表如图5.3所示。

图5.3客户入住信息表

3.客户退房信息表如图5.4所示。

图5.4客户退房信息表

4.客房状态表如图5.5所示。

图5.5客房状态表

5.客房类型表如图5.6所示。

图5.6客房类型表

5.3 安全性的角色实现

管理员表存储管理员账号信息,在本系统中,系统管理员是由一个默认的中心用户担任的,它的账号信息在建立表时就已经存储在管理员表中,权限固定为1,由它添加的管理员的权限自动固定为2,权限值不可更改。使用管理员账号和权限值联合实现角色界定和权限分配。

管理员在进入后台管理时,启动系统登录页面,就会强制转向验证输入表单。 配置服务器的虚拟目录

完成服务器环境安装后就可以在IIS中创建虚拟目录发布站点了。 虚拟目录中对站点本地路径的访问权限应设为读取、记录访问和索引资源。 目录安全性中因允许匿名访问,但同时为保证后台系统不会被外来用户恶意侵入,应在IP地址和域名限制中进行相应设置,主要是对管理节点文件的访问仅限于学校内部网络。

为确保数据安全,需要定期对站点进行备份。

5.4 系统界面实现

5.4.1 登录界面

主要是一个身份验证的过程,使用者为管理员,验证用户名和密码的合法性,进入主界面。 管理员对系统有管理、维护、更新的权限,可以对系统进行添加、修改删除和完善。当输入管理员 和密码都正确时,点击“确定”,系统会自动进入到主界面。当 或密码错误时,点击“确定”,系统会提示“没有此用户”。

1、用户登录界面如图5.7所示:

图5.7 登录界面

登陆代码如下:

private void button2_Click(object sender, EventArgs e) { if (textUser.Text != \ { if (textUser.Text == \ { this.Close(); this.DialogResult = DialogResult.OK;

本文来源:https://www.bwwdw.com/article/a3sw.html

Top