基于C#的酒店管理系统Word下载.docx

上传人:b****3 文档编号:8122786 上传时间:2023-05-10 格式:DOCX 页数:23 大小:346.77KB
下载 相关 举报
基于C#的酒店管理系统Word下载.docx_第1页
第1页 / 共23页
基于C#的酒店管理系统Word下载.docx_第2页
第2页 / 共23页
基于C#的酒店管理系统Word下载.docx_第3页
第3页 / 共23页
基于C#的酒店管理系统Word下载.docx_第4页
第4页 / 共23页
基于C#的酒店管理系统Word下载.docx_第5页
第5页 / 共23页
基于C#的酒店管理系统Word下载.docx_第6页
第6页 / 共23页
基于C#的酒店管理系统Word下载.docx_第7页
第7页 / 共23页
基于C#的酒店管理系统Word下载.docx_第8页
第8页 / 共23页
基于C#的酒店管理系统Word下载.docx_第9页
第9页 / 共23页
基于C#的酒店管理系统Word下载.docx_第10页
第10页 / 共23页
基于C#的酒店管理系统Word下载.docx_第11页
第11页 / 共23页
基于C#的酒店管理系统Word下载.docx_第12页
第12页 / 共23页
基于C#的酒店管理系统Word下载.docx_第13页
第13页 / 共23页
基于C#的酒店管理系统Word下载.docx_第14页
第14页 / 共23页
基于C#的酒店管理系统Word下载.docx_第15页
第15页 / 共23页
基于C#的酒店管理系统Word下载.docx_第16页
第16页 / 共23页
基于C#的酒店管理系统Word下载.docx_第17页
第17页 / 共23页
基于C#的酒店管理系统Word下载.docx_第18页
第18页 / 共23页
基于C#的酒店管理系统Word下载.docx_第19页
第19页 / 共23页
基于C#的酒店管理系统Word下载.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于C#的酒店管理系统Word下载.docx

《基于C#的酒店管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《基于C#的酒店管理系统Word下载.docx(23页珍藏版)》请在冰点文库上搜索。

基于C#的酒店管理系统Word下载.docx

因此,系统的软件开发平台已成熟可行。

硬件方面,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

系统采用的是原型法的开发方法。

本着开发人员对用户需求的理解,通过简单的系统反洗、系统设计,快速实现一个原型系统,然后通过反复修改来实现管理信息系统。

2.2可行性分析

1、管理上的可行性

酒店管理系统能记录酒店客人的基本信息,提供查询、删除等工作,使工作人员从烦琐的手工操作中解脱出来,同时,能为企业的运作提供提供管理和决策支持。

由于酒店电脑系统24小时连续运行,数据量大,可靠性要求高,因此整个电脑系统供电需采用专线方式,加配UPS(不间断供电系统)合理接地,以便保障整套系统的正常运行。

2、技术上的可行性

技术采用成熟的C#作为前台开发工具。

后台数据库采用SQLServer2005数据库,灵活性、安全性和易用性为数据库编程提供了良好的条件。

3、经济上的可行性

本系统由作者自主开发,界面易操作,操作人员只需简单培训即可上岗。

2.3系统的需求分析

2.3.1性能需求

(1)本软件主要用于管理,不是科学计算,要求计算的精度不是很苛刻。

所以输入,输出数据精度不是很高,用于计算的数用浮点数就可以了。

(2)本软件运行的响应时间不超过1~2秒,基本实现就可以。

(3)该系统只支持在window系统上运行,后台数据库只支持SQLServer2008。

2.3.2功能需求

酒店住房业务的基本流程主要包括:

客房的预定,顾客通过电话或者其他途径向酒店进行客房预定,接待人员查询客房状态表后确定有空房则接受预定,预定成功后发给顾客预定凭证,并对客房状态表做出相应的变化。

客房的入住,如果顾客已经预定房间,则根据预定凭证进行预定入住操作,发给顾客房卡,客房状态由“预定”变为“入住”。

如果顾客没有预定房间,接待人员查询客房状态后,有空房则进行客房登记操作,发给顾客房卡,客房状态由“空房”变为“入住”。

顾客换房,如果顾客对入住的客房条件不满意,则可进行顾客换房操作。

接待人员将顾客的房间进行更换,并更换顾客房卡,客房状态也进行相应的调整。

补交押金,如果顾客换房后押金太少,则要补交押金。

顾客交纳押金,接待人员开具押金凭证。

顾客退房,顾客退房时,接待人员根据顾客的房卡,进行退房登记。

计算顾客入住期间的房费,餐费,话费,各种消费和押金总额。

对顾客收取费用或者退回押金。

顾客信息转存到历史顾客表中。

客房状态由“入住”转为“空房”。

图3-1业务流程分析图

第三章系统设计

3.1系统设计

图3-2系统功能模块图

从(图3-2)中可以看出,系统总共分为8个模块。

客房类型模块:

可以对房型、房价等情况等进行查询、修改等操作。

客房查询模块:

实现对所有房间的基本情况进行查询。

客户预定模块:

实现对客户预定情况进行全面管理。

客户入住模块:

可以查询所有客户入住情况。

客房更改模块:

实现客户换房的一些相关操作。

客房状态模块:

可以对客房空房、预定、入住等情况等进行修改等操作。

客户结算模块:

实现酒店客房账务结算。

注册帐号模块:

实现用户注册的功能。

3.2数据库设计

本软件的数据库名称为:

Hotel-DB,包含6个数据表,分别是:

BookIn、CheckIn、CheckOut、Room、RoomType、UserInfo。

具体表结构如下:

表3-1用户表[UserInfo]

列名

数据类型

允许为空

说明

UserId

int

用户ID(主键)

UserName

varchar(50)

用户姓名

Password

密码

IsAdmin

bit

是否管理员

表3-2客户入住表[CheckIn]

CustomerId

客户ID(主键)

Name

varchar(10)

姓名

Sex

char

(2)

性别

PType

证件类型

P_ID

证件号码

Tel

电话号码

CType

客户类型

RoomNum

房间号

Indate

datetime

入住时间

Days

入住天数

Dmoney

money

押金

Remark

备注

表3-3客户结算表[CheckOut]

Id

客户结算ID(主键)

客户Id

Discount

float

折扣

Addmoney

额外费用

SunMoney

总金额

Rem

表3-4客房预定表[BookIn]

BookId

预定号(主键)

表3-5房间状态表[Room]

RoomId

房间号(主键)

RoomType

房间类型

Book

是否预定

Empty

是否空

Stop

是否停用

表3-6房间类型表[RoomType]

RoomTypeId

房间类型ID(主键)

Area

房间面积

Bed

床位

UnitPrice

单价

Broadband

是否有宽带

第四章系统实现

4.1登陆界面

1、功能

只有本系统的管理员和进行认可的操作员使用自己相应的用户名与密码才能登陆到此系统进行相关权限下的操作。

2、界面

图4-1系统登陆界面

3、操作指南

(1)用户在登录窗口中输入正确的用户名和密码后可以登录系统(如图4-1),根据输入的用户名是系统管理员还是操作员给予不同的操作权限。

(2)系统管理员可以根据实际情况增加相应的操作员。

4.2系统主界面

图4-2前台操作

4.2.1客房查询

1.功能

通过客房号查询房间的基本类型与状态。

2.界面

图4-3客房查询

3.操作指南

(1).在文本框中输入客房号,点击查询,可以查询到该房间的一些基本情况。

(2).点击空房按钮的时候,会把数据库中所有的空房信息显示出来。

(3).点击未预定按钮的时候,会把数据库中所有的未预定的客房信息显示出来。

(2).点击未停用按钮的时候,会把数据库中所有的未停用的客房信息显示出来。

4.2.2客户预定

可以对预定房间的客户信息进行增删改查等操作。

图4-4客房预定

(1)在文本框中输入订单号,点击查询,可以查询到预定的一些基本信息。

(2)当你想对预定信息进行操作时,点击ListView中的数据,将会把ListView中选中的那行数据各个字段显示在上面的文本框和列表框中。

(3)点击修改按钮的时候,将会把修改后的信息添加到数据库中。

(4)点击入住按钮的时候,将会把数据添加到入住表中并且把预定表中的该数据删除并且客房状态表中的预定字段变成“否“,是否为空字段变成“是”。

(5)点击取消预定的按钮的时候,会把入住表中的该数据删除。

4.2.3客户入住

可以对客户的入住信息进行查询和添加。

图4-5客房入住

(1)在文本框中输入客户号,点击查询,可以查询到客户入住的信息。

(2)当你想对入住信息进行操作时,点击ListView中的数据,将会把ListView中选中的那行数据的内容显示在输入住信息面板中。

(3)点击入住按钮的时候,将会把入住客户的信息添加到数据库中并且讲客房状态表中是否为空的字段的值变成“否”。

4.2.4客房更改

可以实现换房和续住的功能。

图4-6客房更改

(1)在文本框中输入客户号,点击查询,可以查询到入住客户的信息并显示在客户信息面板的控件中。

(2)当点击续住的时候,将会把显示客户信息面板中的天数和押金的值传到续住面板中的原有天数和原有押金中,然后可以实行操作,操作完成后点击确定,将会把值重新传回去。

(3)当点击调房的时候,将会把显示客户信息面板中的客房号和押金的值传到调房面板中的原客房号和原有押金中,然后可以实行操作,操作完成后点击确定,将会把值重新传回去。

(4).点击保存的时候,会把修改后的信息记录到数据库中。

4.2.5客房结算

退房并结算费用。

图4-7客房结算

(1)在文本框中输入客户号,点击查询,可以查询到入住客户的信息并显示在结算信息面板的文本框中。

(2)当点击结算,系统会自动算清住宿费和消费总额还有应付款的金额并且显示在对应的文本框中。

(3)点击保存的时候,会把结算的信息记录到数据库中并且把客房状态表中的是否为空字段的值变成“是”。

4.3数据管理模块

4.3.1房间状态

对客房的状态进行管理。

图4-8客房状态

(1)在文本框中输入客房号,点击查询,可以查询到客房的一些基本信息。

(2)当选中ListView中的数据时,将会把ListView中选中的数据显示到客房状态信息面板中,以便进行操作。

(3)点击新增按钮的时候,将会把客房状态信息面板中的信息添加到数据库中。

(4)点击删除按钮的时候,会把选中的数据删除。

(5)点击修改按钮的时候,会把修改后的信息传到数据库中。

4.3.2客房类型

对客房的类型进行管理。

图4-9客房类型

(1)当你选中ListView中的数据时,会将选中的数据的内容显示在客房类型信息面板中。

以便进行操作。

(2)点击新增按钮的时候,将会把客房类型信息面板中的信息添加到数据库中。

(3)点击删除按钮的时候,会把选中的数据从数据库的表中删除。

(4)点击修改按钮的时候,会把修改后的信息传到数据库中。

4.3.3用户管理

对用户进行管理。

图4-10用户管理

(1)当你选中ListView中的数据时,会将选中的数据的内容显示在显示用户信息面板中。

(2)点击注册按钮的时候,将会把显示用户信息面板中的信息添加到数据库中(只有管理员才能使用该功能)。

(3)点击修改权限按钮的时候,可以修改用户的权限(只有管理员才能使用该功能)。

(4)点击修改密码的时候,可以修改用户的密码(操作员也可使用此功能)。

第五章系统测试

5.1程序调试

1.测试的基本工作流程

在设计系统的过程中,存在一些错误是必然的。

对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。

但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致。

这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。

5.2程序的测试

5.2.1测试的重要性及目的

测试的重要性:

软件的测试在软件生命周期中占据重要的地位。

近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

测试的目的:

1.软件测试是为了发现错误而执行程序的过程;

2.测试是为了证明程序有错,而不是证明程序无错误;

3.一个好的测试用例是在于它能发现至今未发现的错误;

4.一个成功的测试是发现了至今未发现的错误的测试。

测试并不仅仅是为了要找出错误。

通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。

5.2.2测试的步骤

与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。

大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。

因此,大型软件系统的测试基本上由下述几个步骤组成:

1.模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。

2.系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。

3.验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。

5.2.3测试的主要内容

为了保证测试的质量,将测试过程分成几个阶段,即:

代码审查、单元测试、集成测试、确认测试和系统测试。

1.单元测试

单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。

2.集成测试

集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。

如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;

把子功能组合起来可能不产生预期的主功能;

个别看起来是可以接受的误差可能积累到不能接受的程度;

全程数据结构可能有错误等。

3.确认测试

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。

经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

4.系统测试

软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。

包括恢复测试、安全测试、强度测试和性能测试等。

第六章总结与展望

在设计的过程中,我掌握了很多C#的编程知识,并对这种成熟并广泛应用的技术进行了深入的学习。

设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己想办法解决,这在很大程度上激发了我们的自学能力;

在没有办法解决的情况下,认真的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作用。

在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。

一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。

编程前的深思熟虑是减少程序调试工作量的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。

虽然在开始写程序之前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时的疏漏,有些则是如果不做无论如何也想不到的。

参考文献

[1]周琦.SQLServer2005数据库基础及应用技术.北京大学出版社.2010

[2](美)MichaelHalvorson.VisualC#2008从入门到精通.清华大学出版社.2009

[3]王小科.C#项目开发案例全程实录(第2版).清华大学出版社.2011

[4]恭德罗依.SQLServer2005从入门到精通.电子工业出版社.2006

[5]陈圣国编著.信息系统分析与设计.西安电子科技大学出版社.2001

[6]王晟著.VisualC#.NET数据库开发经典案例解析.清华大学出版社.2005

[7]C#从入门到精通.人民邮电出版社.2011

[8]郑阿奇,刘启芬,顾韵华著.SQLServer实用教程.电子工业出版社.2002

致谢

在本次毕业设计(论文)过程中,得到了指导老师的指导与支持。

在此特别感谢XX老师的大力帮助。

指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业设计起到了关键性的作用。

转眼间,大学生活即将结束,回首过去三年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。

软件技术专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:

我的毕业设计会给我的三年大学画上一个圆满的句号。

附录

//登录功能

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(this.textBox1.Text.Trim()=="

"

MessageBox.Show("

请输入用户名!

"

提示"

MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

if(this.textBox2.Text.Trim()=="

请输入密码!

else

stringuserName=textBox1.Text;

stringpassword=userInfoManager.GetPasswordByUserName(userName);

if(password.Equals(textBox2.Text.ToString()))

MainFormmainForm=newMainForm();

MainForm.isRunMain=true;

mainForm.Show();

this.Close();

请输入正确的密码!

}

//读取选中的listview中的数据

privatevoidtextChangeWithList(inti)

if(i>

listView1.Items.Count)i=0;

txtRoomId.Text=listView1.Items[i].SubItems[0].Text.ToString();

textR_N.Text=listView1.Items[i].SubItems[1].Text.ToString();

comboRT.Text=listView1.Items[i].SubItems[2].Text.ToString();

if(listVi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2