毕业设计(论文)-酒店管理系统的设计与实现.doc_第1页
毕业设计(论文)-酒店管理系统的设计与实现.doc_第2页
毕业设计(论文)-酒店管理系统的设计与实现.doc_第3页
毕业设计(论文)-酒店管理系统的设计与实现.doc_第4页
毕业设计(论文)-酒店管理系统的设计与实现.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

淮阴师范学院毕业论文(设计)毕 业 设 计 说 明 书学生姓名学 号学院 计算机科学与技术学院专 业计算机科学与技术题 目酒店管理系统的设计与实现指导教师 - 讲师/硕士 (姓 名) (专业技术职称/学位)2011年5月摘 要:酒店管理系统是典型的信息管理系统的一部分,主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本系统采用SQL Server 2008作为后台数据库,Visual Studio 2008作为前台系统开发平台。利用VS提供的各种面向对象的开发工具,开发一个基于B/S体系结构的中小型酒店管理系统。后台实现了对酒店客房信息、用户账号、个人信息的管理以及实时查询酒店收入情况等功能,前台实现了为客户办理房间入住、退房手续并可添加VIP用户等功能。本系统基本满足了酒店对客户管理的需求。关键词:酒店管理系统,SQL Server 2008,Visual Studio 2008,B/SAbstract:The hotel management system is a part of the typical information management system, which mainly includes the setting and maintenance of database and the developi-ng of the frontend application. This system uses SQL Server 2008 as the background da-tabase, Visual Studio 2008 as a development platform of foreground system. It uses all sorts of object-oriented development tools which VS provides and develops a small and medium-sized hotel management system based on B/S architecture. The background of t-he hotel mainly realized the functions of the management of the hotel rooms information, user accounts and personal information and real-time inquiry of the income while front desk deal with room occupancy and check-out for clients and can add VIP users.The sy-stem satisfy the inquiry of the customer management basically.Keywords:hotel management system,sql server 2008,visual studio 2008,B/S目 录1 绪论31.1 开发背景31.2 系统目标32 系统解决方案42.1 Visual Studio.NET平台和C#语言简介42.2 SQL Server 2008 简介42.3 程序运行环境53系统分析53.1 系统可行性分析53.2 系统需求分析64系统设计64.1 系统模块设计64.2 系统结构图74.3 系统功能图75数据库设计85.1 E-R模型85.2 数据库的具体实现96 系统主要/关键技术说明106.1 公共模块106.2 管理员模块166.3 前台模块237 软件测试307.1 软件测试的必要性307.2 测试317.3 调试31结 论33参考文献34致谢351 绪论1.1 开发背景经济的快速发展,人们的消费水平和消费意识的提高,促进了旅游业的发展,同时也造成了流动人口的增加,酒店业面临着机遇和挑战。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,酒店管理系统软件为管理人员带来了极大的方便。操作人员只需输入一些简单的汉字、数字,即可达到自己的目标。对于大中型宾馆来说,利用计算机支持高效率完成日常事务,是适应现代要求、推动管理走向科学化、规范化的必要条件;而且酒店管理又是一项非常烦琐的事情,数量之大,核算极其不便。同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高酒店管理的效率,也是酒店的科学化、正规化管理,与世界接轨的重要条件。因此想要使酒店的工作质量和效率提高,采用先进的计算机网络通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。1.2 系统目标此次设计将要模拟完成建立一个酒店管理系统,实现信息化。通过先进的.NET平台实现前台对房间入住、退房、VIP用户添加等功能。对于酒店管理者可以实现房间信息、人员账号、个人信息的管理并可实时查询酒店营业情况,节省了大量的劳力财力,加强了公司的现代化管理和高效的服务。酒店日常管理中所涉及到的大量数据都由数据库管理系统管理。本文中数据库服务器端采用了商业流行的SQL Server2008作为后台数据库,结合SQL语句强大的处理功能实现酒店管理中各个对象的分类、添加、删除、修改等操作。采用Visual Studio2008作为前台页面设计。经过对酒店管理业务的具体分析,精心对相关信息的学习和在指导老师的指导下,朋友的帮助下多次改进,终于开发制作了这个酒店管理系统。本系统有以下特点:系统中模块划分明确,模块功能设计有较强的针对性。系统操作界面简单,灵活性好、响应时间短,系统安全性高,运行稳定。2 系统解决方案2.1 Visual Studio.NET平台和C#语言简介Visual Studio.NET 2008是一个功能强大、高效并且可扩展的编程环境。有许多激动人心的新功能,它提供统一的集成开发环境,支持在同样的开发环境里用Visual Basic、Visual C+、Visual C#、Visual J#和其他数十种编程语言,可以编写、调试和部署各种应用程序。它充分展现了应用程序的开发潜能、并提供了生成应用程序的所需要的工具和技术。这些应用程序给当今的企业、机构提供了强大的支持,是有始以来功能最强大、最受欢迎的软件开发工具。C#(发音为“C Sharp”)是一门简单、现代、优雅、面向对象、类型安全、平台独立的新型组件编程语言。它虽然是一种新语言,但却很难在这种语言中找到新的概念,其语法风格不仅源自C/C+家族,而且融合了Visual Basic的高效和C/C+强大,因此是微软为奠定其下一代互联网霸主地位而打造的Microsoft.NET平台的主流语言。依本人看来,优点不外乎以下两方面:其一,对于花费很多时间学会C、C+语言的程序员来说,可以不必丢弃以前的知识,就可以使用这种新的语言开发程序,尽管C#中有一些新概念、新技术和新函数,但一般而言它的语言及其语法是跟C、C+类似的,而且对于用C+编写好的代码也可被重用,主要原因是C#具有调用已有代码和系统库中的库函数的机制;其二,组件编程已经成为当今世界软件业面向下一代程序开发的一致选择,是90年代面向对象编程的深度发展。C#生逢其时,占尽天时地利,“第一等的面向组件编程的支持”也决不是简单说说那么轻松。实际上,组件特性已经深深植入C#语言的各个层面,可为是C#锐利(Sharp)之处。2.2 SQL Server 2008 简介SQL Server 2008是Microsoft 公司推出的SQL Server 数据库管理系统的新版本。该版本继承了SQL Server2005 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows server 2003到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。 其特点有如下几点: 1真正的客户机/服务器体系结构。 2图形化用户界面。 3丰富的编程接口工具。 4SQL Server与Windows NT完全集成。 5具有很好的伸缩性。 6对Web技术的支持。7SQL Server提供数据仓库功能。2.3 程序运行环境硬件平台:CPU:P4 1.8GHz内存:512MB以上软件平台:操作系统:Windows xp数据库:SQL Server 2008开发环境: Microsoft Visual Studio 2008开发语言:C#语言3系统分析3.1 系统可行性分析3.1.1经济可行性分析酒店管理系统的开发从长远的角度看,投资可以完全收回,并可以节省管理费用,避免了人工填单操作所带来的一系列不必要的麻烦和相当大的风险,节省了用户和相关工作人员的时间,能够很好的提高工作效率,改进决策质量。同时也对酒店的灵活管理有了很大的提高,有利于提高酒店的运营和服务效率,其开发前景良好并能产生很好的经济和社会效益。3.1.2 技术可行性分析本系统数据库部分采用了目前比较流行的SQL Server 2008,可以方便对数据的修改、查找、删除等功能,同时确保数据的完整性和安全性。同时,采用Visual Studio 2008作为前台界面开发平台,方便、有效,还可以保证画面的美观。3.1.3 法律可行性分析本系统的开发作为计算机毕业设计以巩固以前所学的知识,此程序完全由本人独立开发,仅供个人所用,没有侵犯任何版权,也没有违反国家相关法律法规及相关方面的规定,所以法律方面可行。3.2 系统需求分析根椐调查分析,此系统应便于对酒店客房资源进行综合管理,最终目的是提高工作效率和减轻劳动强度;提高信息处理速度和准确性;为业务、管理提供更方便的服务项目。提高酒店经营效益和市场分析抉择。本系统应根据不同的用户实现相应的功能。首先为管理员,即酒店管理者。该类型用户将实现对房间信息的相关操作,同时还可以对用户进行管理,并可实时查看酒店收支情况。其次是前台用户,此类用户主要实现了为客户办理房间的入住,退房等操作,同时还可添加VIP用户。4系统设计4.1 系统模块设计一、登陆模块必须输入正确的用户名、密码和用户类型才能进入相应的系统界面。任何一处填错或空白都将给出提示信息。二、管理员模块房间信息模块:可以对房间号,位置,描述等信息的查询,修改等操作。房间设施模块:实现对某一类型房间内部设施的统一管理。用户信息模块:里面包含了公司用户和VIP用户两部分。对于公司用户可以执行添加,删除等操作。对于VIP用户信息,只能执行修改、删除操作,添加部分由前台实现。营业状况模块:可以查询某一时间段的收入情况。个人信息模块:实现了对于当前登陆用户的信息查看和密码修改。三、前台模块房间状态模块:可以查看当前的房间状态信息。并为客户办理入住,退房手续(对于VIP客户会享受相应的折扣)。VIP模块:可以对VIP用户信息进行添加、修改、删除等操作。个人信息模块:实现了对于当前登陆用户的信息查看和密码修改。4.2 系统结构图酒店管理系统登陆模块管理员模块前台模块房间信息模块房间设施模块用户信息模块营业状况模块个人信息模块公司用户信息VIP用户信息房间状态模块VIP模块个人信息模块4.3 系统功能图酒店管理系统管理员前台房间信息浏览房间信息修改房间删除房间添加内部设施更改公司用户信息浏览公司用户信息删除VIP用户信息修改收支统计个人密码修改房间状态查看客户入住办理客户退房办理VIP用户添加退出5数据库设计5.1 E-R模型5.1.1 模型简介E-R模型是数据进行第一层抽象的表示方法。它的主要成分包括:实体、联系和属性。使用这三种成分,我们可以建立许多数据库应用系统的E-R模型。对于酒店管理系统中使用到的实体和属性可以定义如下(其中带下划线的属性为主属性):客房:(房间号,规格,位置,状态,描述,单价,床位数,空调,电视)客户:(房间号,身份证号,姓名,入住时间)管理员:(用户名,密码,权限)VIP用户:(VIP卡号,身份证号,姓名,VIP级别,已消费数额)5.1.2 E-R图客房规格位置状态描述单价床位数空调电视客户租赁身份证号姓名入住时间管理员管理用户名密码权限登记VIP用户管理VIP卡号VIP级别身份证号姓名已消费数额5.2 数据库的具体实现该系统采用SQL Server2008作为后台数据库进行存储所有与系统相关的数据。在其中建立名为HTL_manager的数据库,本系统的所有数据信息都将储存在该数据库中。在设计过程中考虑数据完整性约束。数据库上的完整性的约束条件一般有以下两类:(1)属性值的约束这类约束是对属性取值的类型、范围、精度等的限制,和属性的语义有关。 (2)数据之间联系的约束。这类约束反映了数据之间存在的联系,在关系数据模型中指多个属性或多个元组之间联系的约束。比如,属性之间的函数依赖、多值依赖。顾客所住的房间应该在房间列表中存在的;每位工作人员一定属于某个部门,有一定的职位等等。在许多数据模型中都是表明了数据之间的某些依赖关系的,或者是隐式或者是显式的。根据系统功能需要主要包括以下数据表:用户信息表(HTL_user)、房间表(HTL_room)、房间设施表(HTL_room_facilities)、客户表(HTL_guest)、VIP用户表(HTL_vip)、VIP设置表(HTL_vipset)、收入统计表(HTL_count)。具体信息如下:1.用户信息表(HTL_user)列名数据类型长度是否为主键用户名(r_id)nvarchar50是密码(r_pwd)nvarchar50权限(r_permision)int42. 房间表(HTL_room)列名数据类型长度是否为主键房间号(r_id)char10是房间规格(r_slvl)char10位置(r_position)varchar50当前状(r_permision)bit2描述(r_description)varchar50单价(r_price)smallmoney103. 房间设施表(HTL_room_facilities)列名数据类型长度是否为主键规格(r_slvl)nchar10是床位数(bed_num)int4空调(aircondition)bit2电视(tv)bit24. 客户表(HTL_guest)列名数据类型长度是否为主键房间号(r_id)Char10是身份证号(g_id)Varchar50是姓名(g_name)Varchar50入住时间(begindate)Smalldatetime145. VIP用户表(HTL_vip)列名数据类型长度是否为主键VIP卡号(v_cardid)varchar50是身份证号(v_id)varchar50是姓名(v_name)varchar50VIP级别(v_lvl)int4消费数额(v_count)money106. VIP设置表(HTL_vipset)列名数据类型长度是否为主键VIP级别(v_lvl)int4是享受折扣(v_zk)int4最低额(v_leasecount)int4称号(v_title)nchar107. 收入统计表(HTL_count)列名数据类型长度是否为主键房间号(r_id)char10身份证号(g_id)varchar50姓名(g_name)varchar50入住时间(begindate)smalldatetime14退房时间(endtate)smalldatetime14消费额(count)money106 系统主要/关键技术说明6.1 公共模块6.1.1 实现与数据库连接首先要实现与数据库的连接,通过sqldatasource控件添加数据源,并将连接字符串添加进web.config文件中。代码如下:6.1.2配置相关文件 母版页根据软件设计需要,建立后台母版页admin_MasterPage.master.具体如图。其中包含SiteMapPath控件和TreeView控件。其中SiteMapPath控件需要web.sitemap文件支持。因为本系统在前台页面部分也用到一个SiteMapPath控件,则需要在web.config文件中添加相关数据以实现不同的SiteMapPath控件连接相应的web.sitemap上。SiteMapPath控件的主要作用是用于显示当前页面所处的位置。首先,打开web.config文件,在中添加如下代码:其中,siteMapFile中是sitemap的位置,name内部名称不能相同,用于SiteMapPath控件的绑定。添加成功之后,调出SiteMapPathn属性设置面板,将SiteMapProvider属性设置为My_adminWebsitemap,如图所示。图 SiteMapPath属性面板接下来编辑Web.sitemap文件。具体代码如下: 点击TreeView控件右上角标志,编辑TreeView结点,设置结点名称,并设置连接属性。如图6.3.4图6.3.4TreeView结点编辑面板首先建立前台母版页qiantai_MasterPage.master,并编写web.sitemap文件。并将此处SiteMapPath控件的SiteMapProvider属性设置为My_qiantaiWebsitemap。Web.sitemap代码如下: 6.1.3 登陆模块图登陆界面首先进入登陆界面(如图6.2.1),输入正确的用户名,密码和相应的权限,否则将报错(如图6.2.2)。图 出错界面具体代码如下:/从文件Web.config中读取连接字符串 string strconn = ConfigurationManager.ConnectionStringsHTL_ManagerConnectionString.ConnectionString ; /连接本地计算机的HMS数据库 SqlConnection cn = new SqlConnection(strconn); cn.Open(); /构造SQL语句,该语句在Users表中检查用户名和密码是否正确 string mysql = select * from HTL_user where u_name= + this.TextBox1.Text.Trim() + and u_pwd= + this.TextBox2.Text.Trim() + and u_permision=+this.RadioButtonList1.SelectedItem.Value+; /创建Command对象 SqlCommand cmd = new SqlCommand(mysql, cn); /执行ExecuteReader ()方法 SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() this.Label3.Text = ; /保存当前用户名及用户权限 Sessionuname = dru_name.ToString(); Sessionupermision = dru_permision.ToString(); this.Label3.Text = 欢迎您! + Sessionuname; if (Sessionupermision.ToString() = 1) /进入酒店总管界面 Response.Redirect(./admin/admin.aspx); else if (Sessionupermision.ToString() = 2) /进入酒店前台界面 Response.Redirect(./qiantai/all_room.aspx); else this.Label3.Text = 对不起,您的用户名/密码不正确,请重新输入; /关闭连接 cn.Close();6.2 管理员模块6.2.1 管理员界面验证密码完毕,进入管理员界面(如图6.2.1)。6.2.1 房间信息模块 房间信息一览点击房间信息子菜单下的信息一览链接,进入房间信息浏览界面,内部使用了GridView控件,同时连接数据源DataSource1,实现将房间相关信息显示出来,并可以执行删除操作(如图)。图 查找房间号图 未找到房间号点击查询/修改,进入查询页面。可以实现对房间的查找,并可对查到的数据进行修改和删除的操作(如图)。若输入不存在的房号,则提示房间不存在(如图)。具体代码如下:public SqlConnection cn; protected void Page_Load(object sender, EventArgs e) /从文件Web.config中读取连接字符串 string strconn = ConfigurationManager.ConnectionStringsHTL_ManagerConnectionString.ConnectionString; /连接本地计算机的HMS数据库 / SqlConnection cn = new SqlConnection(strconn); cn = new SqlConnection(strconn); cn.Open(); protected void Button1_Click(object sender, EventArgs e) /构造SQL语句,该语句在Users表中检查用户名和密码是否正确 string mysql = select * from HTL_room where r_id= + this.TextBox1.Text.Trim() + ; /创建Command对象 SqlCommand cmd = new SqlCommand(mysql, cn); /执行ExecuteReader ()方法 SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() this.Label8.Text = ; this.Panel1.Visible = true; this.Label3.Text = drr_id.ToString(); this.TextBox2.Text = drr_slvl.ToString(); this.TextBox3.Text = drr_position.ToString(); this.TextBox4.Text = drr_price.ToString(); this.TextBox5.Text = drr_description.ToString(); else this.Label8.Text = 无相关信息!; this.Panel1.Visible = false; /关闭连接 cn.Close(); protected void Button2_Click(object sender, EventArgs e) string m_mysql = update HTL_room set r_slvl=+this.TextBox2.Text.Trim()+,r_position=+this.TextBox3.Text.Trim()+,r_price=+this.TextBox4.Text.Trim()+,r_description=+this.TextBox5.Text.Trim()+ where r_id=+this.TextBox1.Text.Trim()+; SqlCommand m_cmd = new SqlCommand(m_mysql, cn); SqlDataReader m_dr = m_cmd.ExecuteReader(); /if (m_dr.Read() / this.Label8.Text = 修改成功!; this.Panel1.Visible = false; / cn.Close(); protected void Button3_Click(object sender, EventArgs e) string s_sql = select r_state from HTL_room where r_id=+this.TextBox1.Text.Trim()+; SqlCommand s_cmd = new SqlCommand(s_sql, cn); SqlDataReader s_dr = s_cmd.ExecuteReader(); if (s_dr.Read() if (s_drr_state.ToString() = False) this.Label8.Text = 该房已租,无法删除!; cn.Close(); else cn.Close(); cn.Open(); string m_mysql = delete from HTL_room where r_id= + this.TextBox1.Text.Trim() + ; SqlCommand m_cmd = new SqlCommand(m_mysql, cn); SqlDataReader m_dr = m_cmd.ExecuteReader(); /if (m_dr.Read() / this.Label8.Text = 删除成功!; this.Panel1.Visible = false; / cn.Close(); 图 房间添加界面点击房间添加,进入添加页面(如图)。6.2.2 房间设施模块图 房间设施编辑界面功能与上述模块类似,同样使用了GridView控件,但在控件上增加了编辑功能,取消了删除功能。6.2.3 用户信息模块图 添加公司用户本模块中的公司用户信息一览与VIP信息一览与上面模块功能类似,在此不再缀述。在公司用户部分,管理员拥有添加功能(如图),添加成功后会给出提示信息。代码如下: protected void Button1_Click(object sender, EventArgs e) int stat = 0; this.Label4.Visible = false; this.Label5.Visible = false; if (this.TextBox1.Text.Trim() = ) this.Label4.Visible = true; this.Label4.Text = 该项不可为空!; stat+; if (this.TextBox2.Text.Trim() = ) this.Label5.Visible = true; this.Label5.Text = 该项不可为空!; stat+; if (stat = 0) /从文件Web.config中读取连接字符串 string strconn = ConfigurationManager.ConnectionStringsHTL_ManagerConnectionString.ConnectionString; /连接本地计算机的HMS数据库 SqlConnection cn = new SqlConnection(strconn); cn.Open(); /构造SQL语句,该语句在Users表中检查用户名和密码是否正确 string mysql = select * from HTL_user where u_name= + this.TextBox1.Text.Trim() + ; SqlCommand cmd = new SqlCommand(mysql, cn); /执行ExecuteReader ()方法 SqlDataReader dr = cmd.ExecuteReader

温馨提示

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

评论

0/150

提交评论