《酒店管理系统 (2).ppt》由会员分享,可在线阅读,更多相关《酒店管理系统 (2).ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、酒店管理系统酒店管理系统酒店管理系统酒店管理系统(HotelManagerHotelManager)问题描述问题描述某酒店拟开发一套内部管理系统,基础设施实现如下功能:某酒店拟开发一套内部管理系统,基础设施实现如下功能:1、客房类型管理、客房类型管理(客房类型分中、高、低)(客房类型分中、高、低)2、客房使用情况管理(客房使用情况分:空闲、入住、维修、自用)、客房使用情况管理(客房使用情况分:空闲、入住、维修、自用)3、现要求根据客房类型对房间统一定价,并设置某类客房是否可以加床,以及、现要求根据客房类型对房间统一定价,并设置某类客房是否可以加床,以及加床的价格加床的价格4、每一个房间对应所属
2、客房类型、价格,以及客房的使用情况描述、床位数、每一个房间对应所属客房类型、价格,以及客房的使用情况描述、床位数5、根据客房类型名称、客房房间号对信息进行查找、根据客房类型名称、客房房间号对信息进行查找在这一阶段,我们将完成客房类型管理功能在这一阶段,我们将完成客房类型管理功能 问题分析问题分析-1客房类型信息管理客房类型信息管理在客房类型窗体载入时,以表格的形式展示所有客房类型信息在客房类型窗体载入时,以表格的形式展示所有客房类型信息单击某一信息时,在信息展示区下面显示信息编辑区单击某一信息时,在信息展示区下面显示信息编辑区,实现对信,实现对信息的增、删、改操作息的增、删、改操作 点击工具栏
3、上的点击工具栏上的“取消按钮取消按钮”隐藏编辑区隐藏编辑区 问题分析问题分析-2系统主窗口:系统主窗口:MainForm问题分析问题分析-3客房类型管理窗体:客房类型管理窗体:RoomTypeSettingForm问题分析问题分析-4数据库设计数据库设计 难点分析难点分析-1三层结构中各层之间的依赖关系三层结构中各层之间的依赖关系 表示层表示层HotelManager业务实体业务实体HotelManagerModels业务逻辑业务逻辑HotelManagerBLL数据访问层数据访问层HotelManagerDAL难点分析难点分析-2 public IList GetRoomTypeListBy
4、TypeName(string typeName)IList objRoomTypeList=new List();/while(objReader.Read()RoomType objRoomType=new RoomType();objRoomType.TypeId=Convert.ToInt32(objReaderTypeID);/objRoomTypeList.Add(objRoomType);objReader.Close();objReader.Dispose();/return objRoomTypeList;返回一个客房类型泛型集合返回一个客房类型泛型集合 实例化一个客房类型泛
5、型集合对象实例化一个客房类型泛型集合对象 循环读取多个客房类型信息实体对象循环读取多个客房类型信息实体对象 实例化一个客房类型信息实体对象实例化一个客房类型信息实体对象 将客房类型信息实体对象添加到泛型集合中将客房类型信息实体对象添加到泛型集合中 Create PROCEDURE dbo.存储过程名称存储过程名称/ASSET NOCOUNT ONINSERT INTO dbo.表名表名(/)VALUES(/)SELECT IDENTITY/int ID;using(SqlConnection conn=new SqlConnection(connString)SqlCommand objCom
6、mand=new SqlCommand(dboOwner+.存储过程名称存储过程名称,conn);objCommand.CommandType=CommandType.StoredProcedure;/conn.Open();ID=Convert.ToInt32(objCommand.ExecuteScalar();conn.Close();return ID;难点分析难点分析-3SQL命令实现部分命令实现部分新增记录时通过获取记录的自增列新增记录时通过获取记录的自增列ID来判断记录是否增加成功来判断记录是否增加成功 ADO.NET实现部分实现部分 ID=调用数据访问层方法得到客房类型调用数据
7、访问层方法得到客房类型ID;if(ID!=0)/调用数据访问层修改信息方法调用数据访问层修改信息方法else /调用数据访问层新增信息方法调用数据访问层新增信息方法难点分析难点分析-4在业务逻辑层通过判断客房类型在业务逻辑层通过判断客房类型ID检测客房类型信息是检测客房类型信息是否存在,以及客房类型信息录入是否成功否存在,以及客房类型信息录入是否成功 /if(ID 0)message=类型信息录入成功!类型信息录入成功!;else message=类型信息录入失败!类型信息录入失败!;/判断信息是否存在判断信息是否存在判断信息录入是否成功判断信息录入是否成功难点分析难点分析-5编辑客房类型信息
8、编辑客房类型信息 private void dgvRoomType_CellClick(object sender,DataGridViewCellEventArgs e)/显示编辑区显示编辑区 this.pnlRoomTypeContent.Visible=true;this.Height=480;/获取客房类型获取客房类型 typeID=dgvRoomType.Rowse.RowIndex.CellsID.Value.ToString();/调用业务逻辑层通过类型调用业务逻辑层通过类型ID得到客房类型信息得到客房类型信息 /回绑数据回绑数据 /列名列名 行索引行索引 单击单元格中的任何位置
9、时发生单击单元格中的任何位置时发生阶段划分阶段划分第一阶段第一阶段 讲解和分析客房类型信息管理需求(讲解和分析客房类型信息管理需求(30分钟)分钟)第二阶段第二阶段 搭建搭建HotelManager三层结构基本框架(三层结构基本框架(20分钟分钟)第三阶段第三阶段 根据需求编辑系统主窗体界面、客房类型信息管根据需求编辑系统主窗体界面、客房类型信息管理窗体界面(理窗体界面(40分钟分钟)第四阶段第四阶段 创建数据库(创建数据库(20分钟)分钟)第五阶段第五阶段 根据客房类型信息关系数据表(根据客房类型信息关系数据表(RoomType)编)编写客房类型信息实体类写客房类型信息实体类(20分钟分钟)
10、第六阶段第六阶段 实现客房类型信息数据访问层(实现客房类型信息数据访问层(80分钟)分钟)第七阶段第七阶段 实现客房类型信息业务逻辑层(实现客房类型信息业务逻辑层(20分钟)分钟)第八阶段第八阶段 实现表示层数据绑定(实现表示层数据绑定(50分钟)分钟)第九阶段第九阶段 检查、演示及总结(检查、演示及总结(20分钟)分钟)第一阶段第一阶段第一阶段(第一阶段(30分钟)分钟)学员首先阅读项目案例需求和实现步骤学员首先阅读项目案例需求和实现步骤 师讲解需求,学生理解需求并分析师讲解需求,学生理解需求并分析 第二阶段第二阶段第二阶段(第二阶段(20分钟)分钟)搭建搭建“HotelManage”三层结
11、构基本框架三层结构基本框架要求学员自己动手操作,教员巡视,解答学员提出的问题要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查阶段检查针对第二阶段抽查学员的操作结果针对第二阶段抽查学员的操作结果教员给出点评或集中演示难点部分教员给出点评或集中演示难点部分第二阶段结果演示第二阶段结果演示第二阶段操作的结果:第二阶段操作的结果:第三阶段第三阶段第三阶段(第三阶段(40分钟)分钟)根据需求编辑系统主窗体界面、客房类型信息管理窗体界面根据需求编辑系统主窗体界面、客房类型信息管理窗体界面要求学员自己动手编辑,教员巡视,解答学员提出的问题要求学员自己动手编辑,教员巡视,解答学员提出的问题阶段检查阶
12、段检查针对第三阶段抽查学员的编辑结果针对第三阶段抽查学员的编辑结果教员给出点评或集中演示难点部分教员给出点评或集中演示难点部分第三阶段结果演示第三阶段结果演示窗体界面窗体界面第四阶段第四阶段第四阶段(第四阶段(20分钟)分钟)创建数据库创建数据库要求学员自己动手操作,教员巡视,解答学员提出的问题要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查阶段检查针对第四阶段抽查学员的数据库创建结果针对第四阶段抽查学员的数据库创建结果教员给出点评教员给出点评第四阶段结果演示第四阶段结果演示数据表数据表第五阶段第五阶段第五阶段(第五阶段(20分钟)分钟)根据关系数据表(根据关系数据表(RoomTyp
13、e)编写实体类)编写实体类 要求学员自己动手操作,教员巡视,解答学员提出的问题要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查阶段检查针对第五阶段抽查学员的编码结果针对第五阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果行结果教员给出点评教员给出点评第五阶段标准代码演示第五阶段标准代码演示客房类型信息实体类(客房类型信息实体类(RoomType):):namespace HotelManager.Models Serializable public class RoomType protected str
14、ing typeName=String.Empty;/public RoomType()public string TypeName get return typeName;set typeName=value;/.第六阶段第六阶段第六阶段(第六阶段(80分钟)分钟)实现客房类型信息数据访问层实现客房类型信息数据访问层 要求学员自己动手操作,教员巡视,解答学员提出的问题要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查阶段检查针对第六阶段抽查学员的编码结果针对第六阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运抽查学员编写的完整代码,要求学员上台讲解,并演示运行
15、结果行结果教员给出点评教员给出点评第六阶段标准代码演示第六阶段标准代码演示客房类型管理数据访问层实现包括如下功能:客房类型管理数据访问层实现包括如下功能:通过客房类型名称得到客房类型通过客房类型名称得到客房类型通过客房类型得到客房类型信息通过客房类型得到客房类型信息得到客房类型列表得到客房类型列表通过客房类型名称得到客房类型列表通过客房类型名称得到客房类型列表新增客房类型信息新增客房类型信息修改客房类型信息修改客房类型信息 删除客房类型信息删除客房类型信息演示示例:演示示例:客房类型数据访问层客房类型数据访问层第七阶段第七阶段第七阶段(第七阶段(20分钟)分钟)实现客房类型信息业务逻辑层实现客
16、房类型信息业务逻辑层要求学员自己动手操作,教员巡视,解答学员提出的问题要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查阶段检查针对第七阶段抽查学员的编码结果针对第七阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果行结果教员给出点评教员给出点评第七阶段标准代码演示第七阶段标准代码演示客房类型信息业务逻辑层实现如下:客房类型信息业务逻辑层实现如下:通过客房类型名称得到客房类型通过客房类型名称得到客房类型ID通过客房类型通过客房类型ID得到客房类型信息得到客房类型信息得到客房类型列表得到客房类型列表通过客房类型
17、名称得到客房类型列表通过客房类型名称得到客房类型列表新增客房类型信息新增客房类型信息修改客房类型信息修改客房类型信息 删除客房类型信息删除客房类型信息演示示例演示示例1 1:客房类型数据业务逻辑层客房类型数据业务逻辑层第八阶段第八阶段第八阶段(第八阶段(50分钟)分钟)实现客房类型信息表示层数据绑定实现客房类型信息表示层数据绑定要求学员自己动手操作,教员巡视,解答学员提出的问题要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查阶段检查针对第八阶段抽查学员的编码结果针对第八阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运抽查学员编写的完整代码,要求学员上台讲解,并
18、演示运行结果行结果教员给出点评教员给出点评第八阶段标准代码演示第八阶段标准代码演示客房类型信息表示层数据绑定实现如下:客房类型信息表示层数据绑定实现如下:绑定客房类型信息列表绑定客房类型信息列表新增客房类型信息新增客房类型信息修改客房类型信息修改客房类型信息删除客房类型信息删除客房类型信息取消待编辑的客房类型信息取消待编辑的客房类型信息演示示例:演示示例:客房类型数据表示层客房类型数据表示层总结总结巩固的知识点:巩固的知识点:三层结构中每一层的主要作用,以及各层之间的关系三层结构中每一层的主要作用,以及各层之间的关系实体类在三层结构中主要作用实体类在三层结构中主要作用C#中中using关键作用关键作用 泛型集合泛型集合List的使用的使用Thank you