1、酒店管理系统酒店管理系统摘要:设计报告论述了分析、开发、设计一个酒店管理系统的过程。该系统十分明确的实现了酒店管理的需求,可以提高酒店管理的效率,该系统可以记录酒店的入住、客房管理、客户查询等功能,使酒店管理的各项业务规范化,科学化。综合先进的计算机技术,采用Microsoft Visual Studio 2010和SQL Server 2008 开发而成。 设计报告介绍了课题相关内容,并通过设计分析,将系统划分为五个功能模块:客房管理、客房查询、客户查询、客户入住、客户结算。着重叙述了客房查询与客户入住这两个功能模块的功能实现,这些模块基本上满足了用户(酒店)的管理功能,系统中的各个模块相互
2、连接,通过查询等功能完成了客户的入住与结算等功能,并运用了C#中ADO.NET和数据集等功能实现了数据库中的数据的显示,增,删,改,查的功能。关键词: 酒店管理;数据库;ADO.NET;数据集目录1 系统需求分析 51.1 项目背景 51.2系统目标 51.3可行性分析 52 系统概念设计 62.1系统框架 62.1.1经济可行性分析 62.2系统功能模块设计 62.3系统总体设计 73 数据库设计 83.1 设计思想 83.2项目概念设计 93.3项目逻辑结构设计 103.4 项目物理结构设计 103.4.1系统数据库表及功能 103.4.2客户信息表 113.4.3 客房信息表 114 编
3、码及项目测试 124.1主界面及实现代码 124.2客房查询界面及实现代码 144.3 客户查询界面和实现代码 194.4客户入住界面和实现代码 214.5客户结算界面和实现代码 235 总结 26致 谢 27参考文献 28指导教师评语 291 系统需求分析1.1 项目背景科学技术迅速发展的今天,人们的衣食住行发生了很大变化。离家出门已经非常普遍,无论繁华都市还是僻静乡村都有酒店开张以满足市场需求。而一个好的酒店管理系统,为酒店提供了简单易用,高度灵活的应用工具。在工作人员具备一定的计算机操作能力的前提下,特编此酒店管理系统软件以提高酒店的管理效率和节约酒店的运行成本。1.2系统目标此次设计将
4、要模拟完成建立一个酒店管理系统系统,实现信息化。酒店日常管理中所涉及到的大量数据都由数据库管理系统管理。本文中数据库服务器端采用了商业流行的SQL Server 2008作为后台数据库,结合SQL语句强大的处理功能实现酒店管理中各个对象的分类、添加、删除、修改等操作,采用免费的VS2010编程平台,使开发成本降到最小。经过对酒店管理业务的具体分析,精心对相关信息的学习和在同学的帮助下多次改进终于开发制作了这个酒店管理系统,本系统的设计中运用C#技术和SQL语言操作后台数据库。该系统的操作界面简洁,适合各类管理人员应用。本系统有以下特点:系统中模块划分明确,模块功能设计有较强的针对性。系统操作界
5、面简单,灵活性好、响应时间短,运行稳定。1.3可行性分析系统的可行性分析是对课题的通盘考虑, 是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。2 系统概念设计2.1系统框架2.1.1经济可行性分析模拟酒店管理系统的开发从长远的角度来看,投资可以完全收回,并可以节省管理费用,避免了人工填单操作所带来的一系列不必要的麻烦,节省了用户和相关工作人员的时间,能够很好地提高工
6、作效率,改进决策质量。同时也对酒店的灵活管理有了很大的提升,有利于提高酒店的运营和服务效率,其开发前景良好并能产生很好的经济和社会效益。本系统采用C#编程技术和微软商业数据库。数据库SQL Server 2008是个成熟的数据库管理软件,其安全性,可靠性和实用性满足酒店管理系统的设计要求,估计利用现有技术条件应完全可以达到该系统的功能目标。VS2010编程平台使得开发成本大大减少。VS2010和SQL2008都可以从Microsoft公司的网站中直接免费下载。2.2系统功能模块设计根据自己的实际调查和查找相关资料,酒店管理系统的各个部分的具体功能的系统结构图,如下图所示。2.3系统总体设计通过
7、在需求阶段对系统的总体功能的要求,我们得到了这个信息管理软件的总体功能结构,它应包括6大基本功能:客房管理:完成对房间的查询工作,房间号、房间类型、房间楼层,人数查询。客户查询:输入客户的账号,可以查询到客户的相关信息。客户入住:完成顾客的入住登记操作,主要是记录顾客信息、分配房间和其他信息。客户结算: 完成顾客的退房结算操作,主要是根据入住登录信息,计算房费信息。系统帮助:完成系统的设计者和电话的要求。退出系统:完成退出当时的系统,达到退出的目的。2.4 数据流图收款3 数据库设计3.1 设计思想系统采用SQL Server 2008 作为后台数据库。针对一般酒店管理系统的要求,通过对酒店管
8、理工作过程的内容和数据流程分析,设计如下面的主要数据项和数据结构:客户信息:包括客户的房间号,顾客ID,姓名,性别,籍贯,入住时间以及客户的备注等。客房信息:包括客房的号码,客房类型,客房的位置以及客房的状态。3.2项目概念设计通过建立系统的数据模型(E-R图)来理解和表示问题的信息域。通过对酒店管理系统的分析,可以得出该系统涉及三个实体:客户、酒店。通过对各实体数据关系的整理,我们可以画出如下ER图: m n 图 3.1入住登记的初始局部E-R图 m n 图3.2查询登记的初始局部E-R图3.3项目逻辑结构设计在本酒店管理系统中,“客人”联系与“客房”联系是多对多联系,将它们转换为关联模式如
9、下:由E-R图及由其导出一般关系模型的基本原则,可得以下关系模型:入住(凭证号码、姓名、房间号、入住日期、籍贯、性别、备注)房间类型(类型编号、客房类型、价格、备注)3.4 项目物理结构设计3.4.1系统数据库表及功能使用SQL Server 2008 新建一个数据库,将其命名为HotleManage。酒店管理系统数据库中包含的数据表及其功能如下表所示。数据表功能客房信息存放客房信息客户信息存放客户信息3.4.2客户信息表 客户信息表是存放客户信息的表,包括客户的编号,姓名,性别,籍贯。 表 3-3客户信息表字段名类型大小说明客户ID文本16客户凭证号姓名文本50客户姓名性别文本2客户性别籍贯
10、文本20客户归属地 3.4.3 客房信息表客房信息表是存放客房信息的表,包括客房的房间号,类型,楼层,额定人数和已入住人数。表 3-4 客房信息表字段名类型大小说明房间ID文本4房间号房间类型文本20客房的类型房间位置文本20客房楼层额定人数文本额定人数实际人数文本已住人数床铺信息文本单双人床客房备注信息备注20客房备注信息4 编码及项目测试4.1主界面及实现代码下面是系统登录的主页面:代码: private void button6_Click(object sender, EventArgs e) ClientCheck check = new ClientCheck(); check.S
11、how(); private void RoomTypeManage_Click_1(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) Search info = new Search(); info.Show(); private void button7_Click(object sender, EventArgs e) Help help = new Help(); help.Show(); private void button8_Click(object sender,
12、 EventArgs e) this.Close(); private void ClientBookInManage_Click(object sender, EventArgs e) ClientBookInManage chechin = new ClientBookInManage(); chechin.Show(); private void button4_Click(object sender, EventArgs e) ClientRecord record = new ClientRecord(); record.Show(); private void RoomSearch
13、_Click(object sender, EventArgs e) Search search = new Search(); search.Show(); private void ClientBookInManage_Click_1(object sender, EventArgs e) ClientBookInManage cb = new ClientBookInManage(); cb.Show(); 4.2客房查询界面及实现代码客房查询界面实现了查找指定房间的截图如下所示:代码: /查找 private void button2_Click(object sender, Even
14、tArgs e) string c = Initial Catalog=HotleManage;Data Source=localhost;Integrated Security=SSPI; SqlConnection sql = new SqlConnection(c); try sql.Open(); string c1 = select * from Room where RoomID = + textBox1.Text.Trim() + ; SqlCommand cmd = new SqlCommand(c1, sql); SqlDataReader sd = cmd.ExecuteR
15、eader(); while (sd.Read() ListViewItem view = new ListViewItem(sdRoomID.ToString().Trim(); view.SubItems.AddRange(new string sdRoomTypeName.ToString(), sdRoomPosition.ToString(), sdPeopleNum.ToString(), sdFactPeopleNum.ToString(), sdReamak.ToString(); listView1.Items.Add(view); catch (Exception ex)
16、MessageBox.Show(ex.ToString(); finally sql.Close(); private void label6_Click(object sender, EventArgs e) private void 客房查询_Load(object sender, EventArgs e) /空闲 private void button3_Click(object sender, EventArgs e) listView1.Items.Clear(); string str = Data Source=.;Initial Catalog=HotleManage;Inte
17、grated Security=SSPI; SqlConnection sql = new SqlConnection(str); sql.Open(); string c3 = select * from Room where FactPeopleNum=0; SqlCommand cmd = new SqlCommand(c3, sql); SqlDataReader sd = cmd.ExecuteReader(); while (sd.Read() ListViewItem view = new ListViewItem(sdRoomID.ToString().Trim(); view
18、.SubItems.AddRange(new string sdRoomTypeName.ToString(), sdRoomPostion.ToString(), sdPeopleNum.ToString(), sdFactPeopleNum.ToString(), sdRemak.ToString(); listView1.Items.Add(view); /未满 private void button4_Click(object sender, EventArgs e) listView1.Items.Clear(); string str = Data Source=.;Initial
19、 Catalog=HotleManage;Integrated Security=SSPI; SqlConnection sql = new SqlConnection(str); sql.Open(); string c2 = select * from Room where PeopleNum!=FactPeopleNum; SqlCommand cmd = new SqlCommand(c2, sql); SqlDataReader sd = cmd.ExecuteReader(); while (sd.Read() ListViewItem view = new ListViewIte
20、m(sdRoomID.ToString().Trim(); view.SubItems.AddRange(new string sdRoomTypeName.ToString(), sdRoomPostion.ToString(), sdPeopleNum.ToString(), sdFactPeopleNum.ToString(), sdRemak.ToString(); listView1.Items.Add(view); private void label2_Click(object sender, EventArgs e) private void button6_Click(obj
21、ect sender, EventArgs e) this.Close(); private void button1_Click(object sender, EventArgs e) private void button1_Click_1(object sender, EventArgs e) this.Close(); 4.3 客户查询界面和实现代码此界面实现了查询客户的ID,从而实现查询到客户的姓名,房间号等。代码: /取消 private void button1_Click(object sender, EventArgs e) textBox1.Text = ; private
22、 void label1_Click(object sender, EventArgs e) /查找 private void button2_Click(object sender, EventArgs e) string c = Initial Catalog=HotleManage;Data Source=localhost;Integrated Security=SSPI; string str = select * from ClientRecord where ClientID=002; SqlConnection sql = new SqlConnection(c); sql.O
23、pen(); SqlCommand cmd = new SqlCommand(str, sql); SqlDataReader red = cmd.ExecuteReader(); while (red.Read() ListViewItem view = new ListViewItem(redClientID.ToString().Trim(); view.SubItems.AddRange(new string redClientID.ToString(),redClientName.ToString(),redRoomID.ToString(),redInDate.ToString()
24、 ,redCheckDate.ToString(),redTotalMoney.ToString(); listView1.Items.Add(view); sql.Close(); /全部 private void button3_Click(object sender, EventArgs e) string c = Initial Catalog=HotleManage;Data Source=localhost;Integrated Security=SSPI; string str = select * from ClientRecord; SqlConnection sql = n
25、ew SqlConnection(c); sql.Open(); SqlCommand cmd = new SqlCommand(str, sql); SqlDataReader red = cmd.ExecuteReader(); while (red.Read() ListViewItem view = new ListViewItem(redClientID.ToString().Trim(); view.SubItems.AddRange(new string redClientID.ToString(),redClientName.ToString(),redRoomID.ToStr
26、ing(),redInDate.ToString() ,redCheckDate.ToString(),redTotalMoney.ToString(); listView1.Items.Add(view); sql.Close(); /退出 private void button6_Click(object sender, EventArgs e) this.Close(); 4.4客户入住界面和实现代码此界面实现了客户的入住,操作界面如下图所示:代码: /入住 private void button2_Click(object sender, EventArgs e) string c =
27、 Initial Catalog=HotleManage;Data Source=localhost;Integrated Security=SSPI; SqlConnection sql = new SqlConnection(c); sql.Open(); string s1 = String.Format(insert into Client values(0,1,2,3), textBox2.Text, textBox3.Text, comboBox1.SelectedItem.ToString(),comboBox2.SelectedItem.ToString(); SqlComma
28、nd cmd = new SqlCommand(s1, sql); if (cmd.ExecuteNonQuery().ToString()=1) MessageBox.Show(入住成功,欢迎您!); else MessageBox.Show(很抱歉,您入住失败!); /取消 private void button3_Click(object sender, EventArgs e) this.Close(); /重置 private void button1_Click(object sender, EventArgs e) textBox1.Text = ; textBox2.Text
29、= ; textBox3.Text = ; textBox4.Text = ; 4.5客户结算界面和实现代码此界面实现了客户离开酒店时的结算功能,操作界面如下图所示:代码: private void button2_Click(object sender, EventArgs e) this.Close(); /确定 public string total; private void button1_Click(object sender, EventArgs e) string c = Initial Catalog=HotleManage;Data Source=localhost;Integrated Security=SSPI; string str = select * from C
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1