课程设计说明书HomeStay_HMS.docx

上传人:scccc 文档编号:12200180 上传时间:2021-12-02 格式:DOCX 页数:14 大小:828.82KB
返回 下载 相关 举报
课程设计说明书HomeStay_HMS.docx_第1页
第1页 / 共14页
课程设计说明书HomeStay_HMS.docx_第2页
第2页 / 共14页
课程设计说明书HomeStay_HMS.docx_第3页
第3页 / 共14页
课程设计说明书HomeStay_HMS.docx_第4页
第4页 / 共14页
课程设计说明书HomeStay_HMS.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《课程设计说明书HomeStay_HMS.docx》由会员分享,可在线阅读,更多相关《课程设计说明书HomeStay_HMS.docx(14页珍藏版)》请在三一文库上搜索。

1、NIIT-1 ProjectNIIT-1 Project设计报告( 2013 - 2014 年度第 1 学期)HomeStay HMS专业计算机科学与技术(NIIT)学生姓名王 敏班级B计算机124学号1210704416 指导教师刘其明、李萍、张成彬完成日期2014年1月10日1目 录目 录21 设计目的12 设计内容13 实现方法13.1 系统目标13.2 主体功能13.3 开发环境24 小 结2附 录2附录1 源程序清单23课题5:HomeStay HMS1 设计目的 本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的NIIT-1模块的课程基本知

2、识,进一步领会掌握Windows编程的基本方法和技巧,提高分析问题、解决问题的综合应用能力。2 设计内容课题5:HomeStay HMS在HomeStay HMS的现有房间的预定系统中,住客可以通过免费的中心电话致电总部来预定房间,信息从总部传递到相应的酒店以进行登记。当住客到达酒店时,详细信息记录在住客名册上,并附有登记名册上的相应条目作为参考。然而,此人工登记系统很可能出错,因为信息在不同的人之间传递并记录在不同的名册中。此外各个部分所维护的名册在结构和语言上都不一致。整个人工过程常会造成这样的情形:酒店管理层不能确认预定的顾客。人工过程常使定期入住的顾客产生厌烦,他们需要再次提供同样的详

3、细信息。3 实现方法3.1 系统目标解决HomeStay Hotels预订管理过程中存在的局限性,创建HomeStay Home ManagementSystem(HMS)应用程序。将重点放在房间预定上,令顾客可在其旗下所有酒店使用该程序。该程序将提供一致的机制来预订房间并维护住客详细信息。该应用程序还将使管理层能够查看各种报告以跟踪各地的运营活动。3.2 主体功能系统提供基于角色额安全性来确保特定模块可由分配了前台和经理角色的用户访问。系统应用登陆机制以对具有经理和前台角色的用户的凭证进行验证。系统将允许经理配置应用程序。经理应该允许执行以下操作:1、管理房间信息,包括: 可用房间 房间类型

4、,如:标准房、大床房、双人房、豪华房、套房。 房间价格2、在每个工作日结束时查看并确认顾客账单3、为房间提供季节性折扣系统应该具有机制以使前台能够执行以下操作:4、根据从总部收到的预订信息为顾客保留房间。被保留的房间必须经前台释放然后才能分配给其他顾客。5、使前台能够在客人退房时能够为每个房间生成账单。根据上述要求,将使用以下模块开发HomeStay HMS应用程序:1、登陆模块:对应用程序用户进行身份认证和授权。2、房间管理模块:管理房间信息。例如房间类型,房价和可用设施。3、预订模块:根据顾客预订保留房间。4、账单管理模块:在顾客退房时管理账单。5、折扣模块:管理房间价格的季节性折扣。3.

5、3 开发环境Visual Studio 20124 小 结要提供所有提及的功能,系统需要具有以下模块:1、 登录模块:对应用程序用户进行身份认证和授权。2、 账单模块:管理账单。3、 每日现金结算模块:管理信息详细信息。4、 顾客模块:管理顾客信息。5、 预约模块:管理顾客预约。 附 录附录1 源程序清单: 如果用户名为“Manager”并且密码正确,那么点击“登录”按钮将会进入manager这个角色应该进入的界面(Room Information),如果用户名为“Receptionist”并且密码正确,那么将进入“Bill Management”界面。“登录”按钮触发的事件的代码如下:if

6、(comboBox1.Text = "Manager") if (count < 3) count+; strConnection = "Provider=Microsoft.Jet.OleDb.4.0;" strConnection += "Data Source=D:Documentsdb1.mdb" OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand cmd = new

7、OleDbCommand("", objConnection); string sql = "select * from Manager where Password='" + textBox2.Text.Trim() + "'" cmd.CommandText = sql; if (null != cmd.ExecuteScalar() Form2 fm2 = new Form2(); fm2.Show(); this.Hide(); objConnection.Close(); else MessageBox.Sh

8、ow("用户名或密码错误,请重新登录!", "警告"); else MessageBox.Show("已经三次登录失败,退出系统!", "警告"); Application.Exit(); else if (comboBox1.Text = "Receptionist") if (count < 3) count+; strConnection = "Provider=Microsoft.Jet.OleDb.4.0;" strConnection += "Da

9、ta Source=D:Documentsdb1.mdb" OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand cmd = new OleDbCommand("", objConnection); string sql = "select * from Receptionist where Password='" + textBox2.Text.Trim() + "'

10、" cmd.CommandText = sql; if (null != cmd.ExecuteScalar() Form5 fm3 = new Form5(); fm3.Show(); this.Hide(); objConnection.Close(); else MessageBox.Show("用户名或密码错误,请重新登录!", "警告"); else MessageBox.Show("已经三次登录失败,退出系统!", "警告"); Application.Exit(); 如果单击“重置”按钮,光

11、标将会出现在用户名后的栏目内,重新选择登陆,该按钮触发的事件的代码如下: comboBox1.Text = "" textBox2.Text = "" comboBox1.Focus(); Manager进入的Room Information 界面如下: Manager 进入此界面后有多重选择:1.当单击“信息显示”按钮时,将会显示所有的房间信息,包括房号,房间类型,是否被预定等情况。相关代码如下:string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;" strConnect

12、ion += "Data Source=D:Documentsdb2.mdb" OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand cmd = new OleDbCommand("", objConnection); string sql = "select 房号,房间类型,使用情况 from Room Information" OleDbDataAdapter adp = new

13、OleDbDataAdapter(sql, objConnection); DataSet ds = new DataSet(); ds.Clear(); adp.Fill(ds, "room"); dataGridView1.DataSource = ds.Tables0.DefaultView;2.在输入房号、房间类型、使用情况后,点击“确定“按钮后,系统将会判断输入的房间号是否已经存在,如果之前不存在,那么将会提示”房号添加成功“;如果该房号已经存在,那么将会提醒Manager该房号已经存在。“确定“按钮的代码如下: if (textBox1.Text.Trim()

14、= "" | textBox2.Text.Trim() = "" | textBox3.Text.Trim() = "") MessageBox.Show("请填写完整信息", "提示"); else string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;" strConnection += "Data Source=D:Documentsdb2.mdb" OleDbConnection objC

15、onnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand cmd = new OleDbCommand("", objConnection); string sql = "select * from Room Information where 房号='" + textBox1.Text.Trim() + "' and 房间类型='" + textBox2.Text.Trim() + "'

16、;and 使用情况='"+textBox3 .Text.Trim ()+"'" cmd.CommandText = sql; if (null = cmd.ExecuteScalar() string sql1 = "insert into Room Information(房号,房间类型,使用情况) " + "values('" + textBox1.Text.Trim() + "','" + textBox2.Text.Trim() + "',

17、'"+textBox3 .Text.Trim ()+"')" cmd.CommandText = sql1; cmd.ExecuteNonQuery(); MessageBox.Show("添加房号成功!", "提示"); else MessageBox.Show("房号" + textBox1.Text.Trim() + "已经存在!", "提示"); objConnection.Close(); 3.当单击“Discount”按钮时,将会显示酒店

18、打折信息的界面当在“入住时长(天)”的相应地方输入相关的数字时,单击“确定”按钮,在“折扣”相应的栏目内将会显示酒店对顾客所打的折扣。单击“信息显示”按钮时将会显示酒店打折的相关资料。“确定”按钮的代码如下:if (Convert.ToInt32(textBox1.Text.Trim() <= 1) textBox2.Text = "9.8折" else if(Convert.ToInt32(textBox1.Text.Trim()<= 2) textBox2.Text = "9.5折" else if(Convert.ToInt32(tex

19、tBox1.Text.Trim()<= 7) textBox2.Text = "8.5折" else textBox2.Text = "8。0折"“信息显示”按钮的代码如下: string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;" strConnection += "Data Source=D:Documentsdb2.mdb" OleDbConnection objConnection = new OleDbConnection(strConne

20、ction); objConnection.Open(); OleDbCommand cmd = new OleDbCommand("", objConnection); string sql = "select 入住时长,折扣 from Discount" OleDbDataAdapter adp = new OleDbDataAdapter(sql, objConnection); DataSet ds = new DataSet(); ds.Clear(); adp.Fill(ds, "room"); dataGridView1

21、.DataSource = ds.Tables0.DefaultView; 4. 当单击“Reservation”按钮时,页面将会转至“Reservation”界面,显示界面如下:在“房号” ,“房间类型”,“预定情况”栏目里输入想要查询的内容,点击“预定”按钮,将会把信息计入相关表中,若成功预定,将会出现预定成功的提示。若未预定成功,界面将会提出警告,并告知该房号已被占用。“预定”按钮触发的事件的代码如下: string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;" strConnection += "D

22、ata Source=D:Documentsdb2.mdb" OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand cmd = new OleDbCommand("", objConnection); string sql = "select * from Reservation where 房号='" + textBox1.Text.Trim() + "' and 房

23、间类型='" + textBox2.Text.Trim() + "'and 预定情况='" + textBox3.Text.Trim() + "'" cmd.CommandText = sql; if (null = cmd.ExecuteScalar() string sql1 = "insert into Reservation(房号,房间类型,预定情况) " + "values('" + textBox1.Text.Trim() + "',&

24、#39;" + textBox2.Text.Trim() + "','" + textBox3.Text.Trim() + "')" cmd.CommandText = sql1; cmd.ExecuteNonQuery(); MessageBox.Show("用户预定成功!", "提示"); else MessageBox.Show("房号" + textBox1.Text.Trim() + "已被占用!", "提示")

25、; objConnection.Close();4.单击“Bill Management”按钮时,页面将会转至酒店账单的页面在Bill Management 界面上,可以在输入顾客的姓名,房号,房间类型,入住时长的信息后点击“确定”按钮,系统将会自动将价格显示在“价格(元)”后的文本框内。点击“信息显示”按钮,将会显示酒店顾客的账单,再次点击此按钮将会更新账单的详细信息。点击“取消“按钮,页面将会返回至Manager刚进入的界面进行重新选择。“确定”按钮所触发的事件的代码如下:int days; double demo; days = Convert.ToInt32(textBox4.Text

26、.Trim(); if (textBox3.Text = "标准房") if (days = 1) demo = 80 * 0.98; else if (days = 2) demo = days * 75 * 0.95; else if (days = 7) demo = days * 70 * 0.85; else demo = days * 60 * 0.8; textBox5.Text = demo.ToString(); else if(textBox3.Text = "大床房") if (days = 1) demo = 70 * 0.98;

27、 else if (days = 2) demo = days * 60 * 0.95; else if (days = 7) demo = days * 55 * 0.85; else demo = days * 50 * 0.8; textBox5.Text = demo.ToString(); else if(textBox3.Text = "双人房") if (days = 1) demo = 100 * 0.98; else if (days = 2) demo = days * 90 * 0.95; else if (days = 7) demo = days

28、* 75 * 0.85; else demo = days * 70 * 0.8; textBox5.Text = demo.ToString(); else if(textBox3.Text = "豪华房") if (days = 1) demo = 180 * 0.98; else if (days = 2) demo = days * 160 * 0.95; else if (days = 7) demo = days * 130 * 0.85; else demo = days * 120 * 0.8; textBox5.Text = demo.ToString()

29、; else if(textBox3.Text = "套房") if (days = 1) demo = 200 * 0.98; else if (days = 2) demo = days * 180 * 0.95; else if (days = 7) demo = days * 150 * 0.85; else demo = days * 130 * 0.8; textBox5.Text = demo.ToString(); string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;" str

30、Connection += "Data Source=D:Documentsdb3.mdb" OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand cmd = new OleDbCommand("", objConnection); string sql = "select * from Bill Management where 姓名='" + textBox1.Text.T

31、rim() + "' and 房号='" + textBox2.Text.Trim() + "'and 房间类型='" + textBox3.Text.Trim() + "' and 入住时长='" + textBox4.Text.Trim() + "'" cmd.CommandText = sql; if (null = cmd.ExecuteScalar() string sql1 = "insert into Bill Management(姓

32、名,房号,房间类型,入住时长,价格) " + "values('" + textBox1.Text.Trim() + "','" + textBox2.Text.Trim() + "','" + textBox3.Text.Trim() + "','" + textBox4.Text.Trim() + "','" + textBox5.Text.Trim() + "')" cmd.Com

33、mandText = sql1; cmd.ExecuteNonQuery(); MessageBox.Show("顾客退房成功!", "提示"); else MessageBox.Show("房号" + textBox1.Text.Trim() + "信息核对错误!", "提示"); objConnection.Close(); 5.点击“ReportView”按钮,将会进入账单汇总的页面,Manager能够清楚的了解的酒店运营情况。鉴于能够显示相关信息,以下的图片是运行时的效果图:另附数据库: 11

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1