酒店管理系统毕业设计.doc_第1页
酒店管理系统毕业设计.doc_第2页
酒店管理系统毕业设计.doc_第3页
酒店管理系统毕业设计.doc_第4页
酒店管理系统毕业设计.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

苏州市职业大学毕 业 论 文 题 目: 酒店管理系统 作 者: 杨明 学 号: 136313230 系 : 计算机网络技术 专 业: 计算机网络技术 班 级: 13软件2班 指导者: 姒茂新 讲师 毕业设计(论文)摘要酒店管理系统摘要 近年来,旅游业务得到了极大的发展,与之相生的酒店业务也得到了极大的发展,而酒店管理在酒店业务中也是非常之重要的。这个系统使用了C#.net语言和SQL server2005数据库开发的酒店管理系统。 其组建主要有后台数据库的创建和维护以及前端应用程序的开发两个方面。后台数据库要建立数据的完整性和保密性好的数据库。前段则要求程序齐全,使用方便等特点。本酒店管理系统具有以下好处: .顾客可以在网上预订,减少排队时间,也提高酒店效率。 .酒店管理层可以快捷便利的了解到酒店的赢损状态。 .减少了员工的工作量度,提高工作效率。 关键字 酒店管理系统、数据库、C#.net应用。目 录1 引言12 系统概述12.1 目标13 开发环境13.1 C#.NET简介13.2 SQL Server 2005简介23.3 结构化查询语句SQL简介24 系统需求分析34.1 可行性分析34.2 需求分析44.3 功能需求44.3.1 功能划分44.3.2 功能描述44.4 安全性需求54.5 系统业务流程分析54.6 本章小结55 系统总体设计55.1 系统简介55.2 系统开发原则65.3 系统模块图65.4 本章小结76 系统数据库设计76.1 系统系统E-R图76.1.1 客人实体76.1.2 查询实体76.1.3 客房实体86.1.4 退房实体86.1.5 系统实体E-R图96.2 表/字段分析96.2.1 用户信息数据表96.2.2 宾客信息数据表96.2.3 员工信息数据表106.2.4 房间信息数据表106.2.5 顾客房间消费信息数据表116.3 数据库创建116.3.1创建数据库116.3.2 创建表116.4 本章小结127 系统功能模块实现127.1 数据库的实现127.2 主要功能模块127.2.1 用户登录127.2.2 系统主界面137.2.3 客房入住登记147.3 本章总结158 系统前台主要界面设计及相关代码158.1 登陆界面设计158.2 主界面设计178.3 顾客开单界面设计318.4 客房预订界面设计358.5 客房管理界面设计388.6 退房收银结账模块界面设计428.7 本章小结43系统操作说明44总 结45参考文献46致 谢47第 39 页 共 47 页1 引言现如今,随着社会的发展,人们对酒店业务的需求也日益增加。人们要求在外出行时有一个便捷、快速、好评的酒店,能提供给他们。一个完整,好的酒店管理系统会为客户带来他们想要的需求。2系统简介这个系统的开发主要是为了为客户提供便捷快速的酒店服务,同时也为就酒店管理方减少工作重量,提高工作人员的办公效率。本系统致力于快捷,迅速安全的管理系统。3 开发环境3.1 C#.NET简介C#是一个语言,.net是一个平台,上面支持用C#或者VB .Net写代码。另外,C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,这就是区别。. NET 是 Microsoft 的 XML Web 服务平台。不论操作系统或编程语言有何差别,XML Web 服务能使应用程序在 Internet 上传输和共享数据。Microsoft® .NET 平台包含广泛的产品系列,它们都是基于 XML 和 Internet 行业标准构建,提供从开发、管理、使用到体验 XML Web 服务的每一方面。XML Web 服务将成为您今天正在使用的 Microsoft 的应用程序、工具和服务器的一部分 并且将要打造出全新的产品以满足您所有业务需求。更具体地说,Microsoft 正在五个方面创建 .NET 平台,即工具、服务器、XML Web 服务、客户端和 .NET 体验。若是单纯以概念来说,你可以把 .NET当做一个工作平台一般,它是一个开发环境的基底,提供了解其运作的相关机制那是有助于你利用它来开发。C#和 .NET主要是应用在网际网络。3.2 SQL Server 2005简介1.Service的增强功能;2.数据库引擎增强功能;3:数据库访问接口方面的增强功能;4:Analysis Services的增强功能;5:Integration Services的增强功能;6:全文搜索的增强功能;7:Notification Services的增强功能;8:复制增强;9:Reporting Services的增强功能;10:工具和使用工具的增强功能;3.3 结构化查询语句SQL简介 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。4 系统需求分析4.1 可行性分析可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。(1)经济可行性:这个系统主要是个人完成,经济方便没有多少,我们致力于本系统的好用,便捷。(2)技术可行性:这个软件其实也是挺简单的。利用c#和数据库就可以做出这个软件,主要是以后的维护和检测。所以说在技术方面是完全没有问题的。4.2 需求分析随着酒店规模的不断扩大,酒店客房数量的急剧增加,客人流动量也在不断成倍增长。面对庞大的信息量,就需要有酒店管理系统来提高客房管理工作的效率。通过这样的系统,我们可以做到信息的规范管理,从而减少了管理方面的工作量。传统手工的客房管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理,实现了客房管理的系统化、规范化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。4.5 系统业务流程分析酒店管理系统业务流程图如图(4-1)所示。 4.6 本章小结本章是对本系统进行一个简单的说明,好让客户的快速的了解我们这个系统。5 系统总体设计5.1 系统简介我们这个系统是一个小型的酒店管理系统。主要就是一个酒店入住,结账,预订等着方面。我们还为管理员提供了最高权限,在使用方面是没有任何问题的。5.2 系统开发原则设计这个系统要遵循的原则:1 界面要好看。2 常用按钮要在容易使用的地方。3 要提供报错功能。5.3 系统模块图这个系统主要有一下及部分:收银、入住查询、退房办理、系统设置、客房信息。其功能模块图 如图(5-1)所示入住开单酒店管理系统客房登记查询统计客房管理系统设置客房信息客房预定填写信息退房客人结账客人住宿修改密码便签修改密码修改权限预定信息客房状态宾客信息图(5-1)5.4 本章小结这章主要将系统进行了一个详细的了解。7 系统功能模块实现7.1 数据库的实现本系统通过SQL Server数据库和前台界面通过后台.NET代码进行连接,采用的数据库为Microsoft公司的SQL Server2005,数据库共有10个表。用户表主要是用来记录用户的信息,包括用户名、密码及用户的权限信息等等。管理员可以对普通用户的信息进行修改,管理员可以对客房、来宾信息进行增加、删除、修改、查询。7.2 主要功能模块7.2.1 用户登录登录界面如图(7-1)所示,登录时,需要输入用户名、密码及角色,并单击“登录”按钮,完成登录过程。 如图(7-1) 功能:本模块的主要功能是对操作用户身份的验证,只有系统的默认用户才能进入系统。在进行系统登录过程中,登录模块将调用数据库里的用户表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登录才会成功,否则提示错误。并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或错误操作,以便用户进行正确的登录。7.2.2 系统主界面当管理员想进入系统时,在登录窗口(图7-1)中输入用户名和密码,点击登录按钮,就可进入酒店管理系统的主窗体界面(图7-2),从这个界面中用户可以进行不同的操作。系统主界面如果登录者的输入是正确的,则直接进入“酒店管理系统”模块的主界面,如下图: 图(7-2)7.2.3 客房入住登记当顾客到酒店入住时,需要完成入住登记表(图7-3)。界面如下: 图(7-3)7.3 本章总结本章介绍了系统的主要功能的实现效果:登陆界面、主界面、顾客开单。8 系统前台主要界面设计及相关代码一个系统前台的界面是很重要的、界面的美观,及界面的友好性,都是决定着一个系统成败的关键。本系统的主界面(图7-2)采用的是,先把系统的全部功能模块分为八大功能模块。八大功能模块的按钮放在系统的上面,点击按钮则会在系统的中间位置,显示出本模块含有的功能模块,而系统的左面也有三大模块的菜单,点击会弹出含有本模块的几个小模块的菜单,在主菜单下面还有几个快速启动的按钮。是比较常用的几个功能模块,点击后会直接启动功能模块,是比较方便的。8.1 登陆界面设计代码如下:namespace 酒店管理系统 public partial class LoginUI : Form public LoginUI() InitializeComponent(); if (txtName.Text = ) MessageBox.Show(“请输入用户名,”警告,MessageBoxButtons.OK, MessageBoxIcon.Warning); else if (txtPwd.Text = ) MessageBox.Show(请输入密码, 警告,MessageBoxButtons.OK MessageBoxIcon.Warning); else SqlConnection conn = new SqlConnection(Data Source=.;Integrated Security=true;Initial Catalog=GropshopManage); conn.Open(); SqlCommand cmd = new SqlCommand(select count(*) from Employee where UserName= + txtName.Text + and UserPwd= + txtPwd.Text + , conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) cmd = new SqlCommand(select * from Employee where UserName= + txtName.Text + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); string UserPower = sdrpower.ToString().Trim(); conn.Close(); Main main = new Main(); main.power = UserPower; main.Names = txtName.Text; main.Times = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); else MessageBox.Show(用户名密码错误); 8.2 主界面设计代码如下:namespace 酒?店管理系统3 public partial class Main : Form public string power; public string Names; public string Times; private void Main_Load(object sender, EventArgs e) switch (power) case 0: toolStripStatusLabel13.Text = 老?板?; break; case 1: toolStripStatusLabel13.Text = 经-理; break; case 2: toolStripStatusLabel13.Text = 员工; break; toolStripStatusLabel2.Text = Names; toolStripStatusLabel11.Text = Times; If (power = 1 | power = 2) toolStripMenuItem5.Enabled = false; private void 标准房ToolStripMenuItem_Click(object sender, EventArgs e) RoomInfoUI aa = new RoomInfoUI();/客房?中D心? aa.ShowDialog(); private void 标准双人?床2ToolStripMenuItem_Click(object sender, EventArgs e) consumeroom consumerm = new consumeroom(); consumerm.ShowDialog(); private void toolStripMenuItem1_Click_1(object sender, EventArgs e) openroom openrm = new openroom(); openrm.ShowDialog(); private void 房间预定toolStripMenuItem_Click(object sender, EventArgs e) distineroom aa = new distineroom(); aa.Show(); private void 查看预定ToolStripMenuItem_Click(object sender, EventArgs e) lookdistine aa = new lookdistine();/查看预定 aa.Show(); private void toolStripMenuItem4_Click_1(object sender, EventArgs e) closeroom aa = new closeroom(); aa.Show(); private void 计?算?器ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(calc.exe); private void 记?事?本?ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(notepad.exe); private void 日?历ToolStripMenuItem_Click(object sender, EventArgs e) frmCalender calender = new frmCalender(); calender.ShowDialog(); private void 权限管理ToolStripMenuItem_Click(object sender, EventArgs e) frmQxGl qx = new frmQxGl(); qx.ShowDialog(); private void 员工查看ToolStripMenuItem_Click(object sender, EventArgs e) employee aa = new employee(); aa.Show(); private void 锁定系统ToolStripMenuItem_Click(object sender, EventArgs e) frmLock locksystem = new frmLock(); locksystem.Owner = this; locksystem.ShowDialog(); public Main() InitializeComponent(); RoomVisible aa = new RoomVisible(); panel1.Visible = aa.roomVisible(label130.Text.ToString(); panel2.Visible = aa.roomVisible(label131.Text.ToString(); panel3.Visible = aa.roomiVisible(label132.Text.ToString(); panel4.Visible = aa.roomVisible(label133.Text.ToString(); panel5.Visible = aa.roomVisible(label99.Text.ToString(); panel6.Visible = aa.roomVisible(label105.Text.ToString(); panel7.Visible = aa.roomVisible(label115.Text.ToString(); panel8.Visiblei = aa.roomVisible(label121.Text.ToString(); panel9.Visible = aa.roomVisible(label114.Text.ToString(); panel10.Visible = aa.roomVisible(label134.Text.ToString(); panel11.Visible = aa.roomVisible(label135.Text.ToStringi(); panel12.Visible = aa.roomVisible(label136.Text.ToString(); panel13.Visible = aa.roomVisible(label137.Text.ToString(); panel14.Visible = aa.roomVisible(label138.Text.ToString(); panel15.Visible = aa.roomVisible(label139.Text.ToString(); panel16.Visible = aa.roomVisible(label140.Text.ToString(); panel17.Visible = aa.roomVisible(label141.Text.ToString(); panel18.Visible = aa.roomVisible(label142.Text.ToString(); panel19.Visible = aa.roomVisible(label143.Text.ToString(); panel20.Visible = aa.roomVisible(label144.Text.ToString(); private void tabControl2_SelectedIndexChanged(object sender, EventArgs e) String roomSort = this.tabControl2.SelectedTab.Text; this.button3.Text = * + roomSort; if (roomSort = 标准单房) label117.Text = 一楼; label26.Text = ; label27.Text = ; label28.Text = ; label29.Text = ; label30.Texti = ; label31.Text = ; label32.Text = ; if (roomSort = 标准双人房) label117.Text = 二楼; label26.Text = ; label27.Text = ; label28.Text = ; label29.Text = ; label30.Text = ; label31.Text = ; label32.Text = ; if (roomSort = 豪华套房?) label117.Text = 三楼; label26.Text = ; label27.Text = ; label28.Text = ; label29.Text = ; label30.Text = ; label31.Text = ; label32.Text = ; if (roomSort = 行t套房) label117.Text = 四楼; label26.Text = ; label27.Text = ; label28.Text = ; label29.Text = ; label30.Text = ; label31.Text = ; label32.Text = ; if (roomSort = 总统套房) label117.Text = 五楼; label26.Text = ; label27.Text = ; label28.Text = ; label29.Text = ; label30.Text = ; label31.Text = ; label32.Text = ; RoomVisible aa = new RoomVisible(); panel1.Visible = aa.roomVisible(label130.Text.ToString();/一楼 panel2.Visible = aa.roomVisible(label131.Text.ToString(); panel3.Visible = aa.roomVisible(label132.Text.ToString(); panel4.Visible = aa.roomVisible(label133.Text.ToString(); panel8.Visible = aa.roomVisible(label121.Text.ToString();/二楼 panel7.Visible = aa.roomVisible(label115.Text.ToString(); panel6.Visible = aa.roomVisible(label105.Text.ToString(); panel5.Visible = aa.roomVisible(label99.Text.ToString(); panel12.Visible = aa.roomVisible(label136.Text.ToString();/三楼 panel11.Visible = aa.roomVisible(label135.Text.ToString(); panel10.Visible = aa.roomVisible(label134.Text.ToString(); panel9.Visible = aa.roomVisible(label114.Text.ToString(); panel16.Visible = aa.roomVisible(label116.Text.ToString();/四楼 panel15.Visible = aa.roomVisible(label139.Text.ToString(); panel14.Visible = aa.roomVisible(label138.Text.ToString(); panel13.Visible = aa.roomVisible(label137.Text.ToString(); panel20.Visible = aa.roomVisible(label144.Text.ToString();/5楼 panel19.Visible = aa.roomVisible(label143.Text.ToString(); panel18.Visible = aa.roomVisible(label142.Text.ToString(); panel17.Visible = aa.roomVisible(label141.Text.ToString(); private void button130_Click(object sender, EventArgs e) ClickData aa = new ClickData(); dataGridView1.DataSource = aa.ClickDatas(label130.Text).Tables0; label26.Text = aa.getname(label130.Text); label27.Text = aa.getprice(label130.Text); label28.Text = aa.getphone(label130.Text); label29.Text = label130.Text; label30.Text = aa.getdata(label130.Text); label31.Text = Convert.ToString(DateTime.Now.ToShortDateString() + + DateTime.Now.ToShortTimeString(); label32.Text = aa.getdeposit(label130.Text); private void button131_Click(object sender, EventArgs e) ClickData aa = new ClickData(); dataGridView1.DataSource = aa.ClickDatas(label131.Text).Tables0; label26.Text = aa.getname(label131.Text); label27.Text = aa.getprice(label131.Text); label28.Text = aa.getphone(label131.Text); label29.Text = label131.Text; label30.Text = aa.getdata(label131.Text); label31.Text = Convert.ToString(DateTime.Now.ToShortDateString() + + DateTime.Now.ToShortTimeString(); label32.Text = aa.getdeposit(label131.Text); private void button132_Click(object sender, EventArgs e) ClickData aa = new ClickData(); dataGridView1.DataSource = aa.ClickiDatas(label132.Text).Tables0; label26.Text = aa.getname(label132.Text); label27.Text = aa.getprice(label132.Text); label28.Text = aa.getphone(label132.Text); label29.Text = label132.Text; label30.Text = aa.getdata(label132.Text); label31.Text = Convert.ToString(DateTime.Now.ToShortDateString() + + DateTime.Now.ToShortTimeString(); label32.Text = aa.getdeposit(label132.Text); private void button133_Click(object sender, EventArgs e) ClickData aa = new ClickData(); dataGridView1.DataSource = aa.ClickDatas(label133.Text).Tables0; label26.Text = aa.getname(label133.Text); label27.Text = aa.getprice(label133.Te

温馨提示

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

评论

0/150

提交评论