宾馆管理系统报告书_第1页
宾馆管理系统报告书_第2页
宾馆管理系统报告书_第3页
宾馆管理系统报告书_第4页
宾馆管理系统报告书_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE1河南城建学院C#课程设计报告书专业:信息管理与信息系统课程设计名称:《可视化编程技术课程设计》题目:宾馆管理系统班级:0634081班组长:063408139_苏朝锴同组人员:063408138_任建超063408105_孔焕颖063408106_李文艳指导老师:张延红赵军民郭猛完成时间:2010年1月6前言 2一、需求分析: 3(一)系统主要功能: 3(二)关系模式 3(三)功能模块 4(四)数据库需求分析 4二、概要设计 5(一)数据库概念结构设计 51、 用户管理E-R图 62.、顾客信息实体E-R图: 63、房间信息实体E-R图: 64、顾客入住信息实体E-R图: 75、房间类型实体E-R图: 76.、整体结构E-R图: 8(二)数据表设计 9三、详细设计 11(一)系统详细设计目标规划 11(二)系统详细设计任务 11(三)系统物理配置方案设计 11(四)系统输出设计 12(五)系统输入设计 12(六)界面设计 121、用户登录界面设计 122、超级用户登录界面 133、用户管理界面设计 134、用户添加界面设计 145、用户修改界面 146、主界面 157、房间类型管理界面 158、客房查询界面 169、客房信息管理界面 1610、客户记录查询界面 1711、客户结算界面 1712、客户入住界面 17四、代码设计 181、用户表示层(room窗体) 182、业务逻辑层 203、model层 214、数据访问层 235、公用类层 24(1)data.cs 24(2)d_Bind.cs 28五、参考文献 29六、心得 29每个房间有以往所有入住客人的信息。一个房间入主信息指向一个顾客。每个顾客有自己的入住历史。2、针对上述系统功能的分析和需求总结,设计如下数据项。顾客信息:姓名、电话、身份证号。房间记录:订房时间、退房时间、价格统计、入住顾客姓名、入住顾客电话。房间信息:类型名称、使用面积、床位、价格。管理人员:用户名、密码、地址、电话。房间状态:状态标识。二、概要设计(一)数据库概念结构设计通过上面的数据项,即可设计出满足需求的各种实体以及他们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。实体之间的关系的E-R图如下:RoomTyRoomTypeRoomClient预定结算ClientRecord含有1nn111用户管理E-R图UserUserUserIDPasswordUserRoleUsername2.、顾客信息实体E-R图:ClientClientIdentifyIDClientIDClientNameNativePlaceSex3、房间信息实体E-R图:RoomRoomBedNumRoomPostionRoomTypeNameFactPeopleNumPeopleNumRoomID4、顾客入住信息实体E-R图:ClientRecordClientRecordRoomIDTotalMoneyClientNameInDateCheckDateClientID5、房间类型实体E-R图:RoomTypeRoomTypeRoomTypeNameBedNumPeopleNumPeoPriceAirConditionToilet6.、整体结构E-R图:RoomTyRoomTypeRoomClientClientRecord预定结算ToiletBedNumRoomTypeNamePricePeopleNumAirCondition含有RoomIDBedNumRoomPostionRoomTypeNamePeopleNumFactPeopleNumRoomIDInDateTotalMoneyClientNameCheckDateClientIDIdentifyIDNativePlaceSexClientIDn1n111Check(二)数据表设计1、(RoomType表)序号列名数据类型是否允许空1RoomTypeNamenchar(20)否2BedNumsmallint否3PeopleNumsmallint否4Pricemoney否5Toiletvarchar(2)否6AirConditionvarchar(2)否2、(Room表)序号列名数据类型是否允许空1RoomIDnchar(15)否2RoomTypeNamenchar(20)否3RoomPostionnchar(10)否4PeopleNumsmallint否5BedNumsmallint否6FactPeopleNumsmallint否3、(Client表)序号列名数据类型是否允许空1ClientIDnchar(16)否2ClientNamenchar(20)否3Sexnchar(2)否4NativePlacenchar(20)否5IdentifyIDnchar(20)是4、(ClientRecord表)序号列名数据类型是否允许空1ClientIDnchar(16)否2ClientNamenchar(20)否3RoomIDnchar(15)否4InDatedatetime否5CheckDatedatetime否6TotalMoneymoney是7CheckChar(2)是5、(User)序号列名数据类型是否允许空1UserIDnchar(10)否2Usernamenchar(10)否3Passwordnchar(20)否4UserRolenchar(10)否三、详细设计(一)系统详细设计目标规划在此阶段设计出具体能够运行的系统,详细列出新系统的各种参数与规格。为即将用C#编程语言对其进行编写做好准备。(二)系统详细设计任务1、数据结构的设计:对于处理过程中涉及的概念性的数据类型进行确切的定义;2、测试用例设计:测试用例包括输入数据和预期结果等内容。(三)系统物理配置方案设计1、设计指标(1)系统吞吐量要提高系统的吞吐量,就要求使用具有大吞吐量的计算机。应该选择具有较高性能的计算机。(2)系统响应时间响应时间不超过2秒(3)系统处理方式该系统采用主机系统方式。(4)地域范围本系统采用局域网方式。(5)数据管理方式使用SQLServer2005数据管理系统2、计算机硬件配置计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:内存:2GBCPU:奔三2.0GHZ硬盘:5(四)系统输出设计输出设计的内容包括:输出信息应包括系统的使用者,如客户、酒店管理人员、前台服务人员等。信息应以表格及文档形式输出。3、输出设备:打印机、终端显示器、Pos机。4、输出介质:输出到专用纸张及电脑屏幕上。(五)系统输入设计1、输入数据量设计需要输入客户数据,数据量不大2、数据输入设备的选择本系统选择键盘、鼠标人工输入方式。(六)界面设计1、用户登录界面设计2、超级用户登录界面3、用户管理界面设计4、用户添加界面设计5、用户修改界面6、主界面7、房间类型管理界面8、客房查询界面9、客房信息管理界面10、客户记录查询界面11、客户结算界面12、客户入住界面四、代码设计1、用户表示层(room窗体)usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;usingThree.DLL;usingThree.Model;namespacehotelmanger{publicpartialclassRoom:Form{publicRoom(){InitializeComponent();}privateArrayListmylist;privatevoidRoom_Load(objectsender,EventArgse){//combox2的函数mylist=newArrayList();mylist.Add("一楼");mylist.Add("二楼");mylist.Add("三楼");bindingSource1.DataSource=mylist;//附加数据源boBox2.DataSource=this.bindingSource1;//填充combox1的函数SqlDataReaderw_sda=DLL_room.DLL_AddRoom();while(w_sda.Read()){comboBox1.Items.Add(w_sda[0]);}w_sda.Close();}privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse){stringcb1_str;cb1_str=comboBox1.SelectedItem.ToString();//填充combox3,combox4的函数SqlDataReaderW_sda2=DLL_room.DLL_AddRoom2(cb1_str);while(W_sda2.Read()){comboBox3.Items.Add(W_sda2[2]);comboBox4.Items.Add(W_sda2[1]);comboBox3.Text=W_sda2[2].ToString();comboBox4.Text=W_sda2[1].ToString();}W_sda2.Close();}privatevoidshow_room_Click(objectsender,EventArgse){DLL_room.ShowRoom(dataGridView1);}privatevoidadd_room_Click(objectsender,EventArgse){stringroomid=roomnum_box.Text;stringrtn=comboBox1.Text;stringrp=comboBox2.Text;stringpn=comboBox3.Text;stringbn=comboBox4.Text;stringfpn="0";DLL_room.AddRoom(roomid,rtn,rp,pn,bn,fpn);}//查找privatevoidselect_rooom_Click(objectsender,EventArgse){stringstr=textBox1.Text;DLL_room.SelectRoom(str,dataGridView1);}//删除privatevoiddelete_room_Click(objectsender,EventArgse){stringstr=textBox1.Text;DLL_room.DeleteRoom(str,dataGridView1);}privatevoidexit_room_Click(objectsender,EventArgse){this.Close();}}}2、业务逻辑层usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Windows.Forms;usingThree.Model;usingThree.sqlDAL;usingSystem.Data;usingSystem.Data.SqlClient;namespaceThree.DLL{publicclassDLL_room{//显示所有的房间publicstaticboolShowRoom(DataGridViewdgrid){stringstrr="select*fromRoom";D_room.ShowRoom(strr,dgrid);//D_roomtype.ShowRoomEmployee(strr,dgrid);returntrue;}//查找publicstaticboolSelectRoom(stringstr,DataGridViewdgvid){stringstrr="select*fromRoomwhereRoomID='"+str+"'";D_room.ShowRoom(strr,dgvid);returntrue;}//删除publicstaticboolDeleteRoom(stringstr,DataGridViewdgvid){stringstrr="deletefromRoomwhereRoomID='"+str+"'";D_room.ShowRoom(strr,dgvid);returntrue;}//调用无参的D_addtable()publicstaticSqlDataReaderDLL_AddRoom(){SqlDataReadersdr=D_room.D_addtable();returnsdr;}//调用有参的D_addtable()publicstaticSqlDataReaderDLL_AddRoom2(stringslt_str){stringst=slt_str;SqlDataReadersdr=D_room.D_addtable(st);returnsdr;}//添加相应的房间信息publicstaticintAddRoom(stringRoomID,stringRoomTypeName,stringRoomPostion,stringPeopleNum,stringBedNum,stringFactPeopleNum){Room1M_room=newRoom1M_room.RoomID=RoomID;M_room.RoomTypeName=RoomTypeName;M_room.RoomPostion=RoomPostion;M_room.PeopleNum=Convert.ToInt32(PeopleNum);M_room.BedNum=Convert.ToInt32(BedNum);M_room.FactPeopleNum=Convert.ToInt32(FactPeopleNum);returnD_room.D_ADDRoom(M_room);}//增加房间实际人数publicstaticintupdate_factpeople(stringr_roomid){returnD_room.D_addfactpeoplenum(r_roomid);}//减少房间实际人数publicstaticintupdate_jianfactpeopele(stringj_roomid){returnD_room.D_jianfactpeoplenum(j_roomid);}}}3、model层usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceThree.Model{//由于窗体中出现了Room.cs,故定义为Room1publicclassRoom1{privatestring_RoomID;publicstringRoomID{get{return_RoomID;}set{_RoomID=value;}}privatestring_RoomTypeName;publicstringRoomTypeName{get{return_RoomTypeName;}set{_RoomTypeName=value;}}privatestring_RoomPostion;publicstringRoomPostion{get{return_RoomPostion;}set{_RoomPostion=value;}}privateint_PeopleNum;publicintPeopleNum{get{return_PeopleNum;}set{_PeopleNum=value;}}privateint_BedNum;publicintBedNum{get{return_BedNum;}set{_BedNum=value;}}privateint_FactPeopleNum;publicintFactPeopleNum{get{return_FactPeopleNum;}set{_FactPeopleNum=value;}}publicRoom1(){}publicRoom1(stringroomid,stringroomtypename,stringroompostion,intpeopenum,intbednum,intfactpeoplenum){this._RoomID=roomid;this._RoomTypeName=roomtypename;this._RoomPostion=roompostion;this._PeopleNum=peopenum;this._BedNum=bednum;this._FactPeopleNum=factpeoplenum;}}}4、数据访问层usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Windows.Forms;usingThree.Model;usingThree.database;usingSystem.Data;usingSystem.Data.SqlClient;namespaceThree.sqlDAL{publicclassD_room{//显示所有客房信息publicstaticboolShowRoom(stringstr,DataGridViewdgrid){{d_Bind.BindDataGrid(str,dgrid);returntrue;}}//读取RoomType中的部分值--无参publicstaticSqlDataReaderD_addtable(){stringstr="select*fromRoomType";SqlDataReadersdr;sdr=database.d_Bind.BindComboBox(str);returnsdr;}//读取RoomType中的部分值--有参publicstaticSqlDataReaderD_addtable(stringselect_str){stringstr="select*fromRoomTypewhereRoomTypeName='"+select_str+"'";SqlDataReadersdr;sdr=database.d_Bind.BindComboBox(str);returnsdr;}publicstaticintD_ADDRoom(Room1M{SqlParameter[]param=newSqlParameter[]{newSqlParameter("@RoomID",M_room.RoomID),newSqlParameter("@RoomTypeName",M_room.RoomTypeName),newSqlParameter("@RoomPostion",M_room.RoomPostion),newSqlParameter("@PeopleNum",M_room.PeopleNum),newSqlParameter("@BedNum",M_room.BedNum),newSqlParameter("@FactPeopleNum",M_room.FactPeopleNum)};stringstr="insertinto[Room](RoomID,RoomTypeName,RoomPostion,PeopleNum,BedNum,FactPeopleNum)values(@RoomID,@RoomTypeName,@RoomPostion,@PeopleNum,@BedNum,@FactPeopleNum)";inti=data.ExecuteNoQuery(str,param);returni;}//添加实际人数publicstaticintD_addfactpeoplenum(stringroomid){stringstr="updateRoomsetFactPeopleNum=FactPeopleNum+1whereRoomID='"+roomid+"'";inti=data.ExecuteNoQuery(str);returni;}//减少实际人数publicstaticintD_jianfactpeoplenum(stringroomid){stringstr="updateRoomsetFactPeopleNum=FactPeopleNum-1whereRoomID='"+roomid+"'";inti=data.ExecuteNoQuery(str);returni;}}}5、公用类层(1)data.csusingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Data;usingSystem.Windows.Forms;usingSystem.IO;namespaceThree.database{//封装数据库publicclassdata{privatestaticstring_con=@"DataSource=.\SQLEXPRESS;AttachDbFilename=F:\C#宾馆管理系统整合后\Solution\database\hotel.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True";privatestaticSqlConnectionsqlcon=null;publicstaticvoidCreatcon(){if(sqlcon==null){sqlcon=newSqlConnection(_con);sqlcon.Open();}elseif(sqlcon.State==ConnectionState.Closed||sqlcon.State==ConnectionState.Broken){sqlcon.Close();sqlcon.Open();}}publicstaticvoidCloseConnection(){sqlcon.Close();}//返回连接对象sqlconnectionpublicstaticSqlConnectionGetSqlconn(){returnsqlcon;}//执行增删改,不带参数publicstaticintExecuteNoQuery(stringstrsql){inti;try{Creatcon();SqlCommandsqlcomand=newSqlCommand(strsql,sqlcon);i=sqlcomand.ExecuteNonQuery();sqlcon.Close();returni;}catch{return-1;}}//执行增删改,带参数publicstaticintExecuteNoQuery(stringstrsql,paramsSqlParameter[]param){inti;try{Creatcon();SqlCommandsqlcmd=newSqlCommand(strsql,sqlcon);foreach(SqlParameterparinparam)//遍历数组将参数对象添加到操作命令中{sqlcmd.Parameters.Add(par);}i=sqlcmd.ExecuteNonQuery();returni;}catch{return-1;}}publicstaticDataTableGetTable(stringstrsql){try{Creatcon();SqlDataAdaptersqlada=newSqlDataAdapter(strsql,sqlcon);DataSetdataset=newDataSet();sqlada.Fill(dataset,"temp");sqlcon.Close();returndataset.Tables["temp"];}catch{returnnull;}}//带参数publicstaticDataTableGetTable(stringstrsql,paramsSqlParameter[]param){try{Creatcon();SqlDataAdaptersda=newSqlDataAdapter(strsql,sqlcon);foreach(SqlParameterparinparam)sda.SelectCommand.Parameters.Add(par);DataSetds=newDataSet();sda.Fill(ds,"temp");sqlcon.Close();returnds.Tables["temp"];}catch{returnnull;}}//执行数据的查询操作publicstaticSqlDataReaderExeRead(stringSqlCom){try{Creatcon();SqlCommandsqlcom=newSqlCommand(SqlCom,sqlcon);SqlDataReaderread=sqlcom.ExecuteReader(CommandBehavior.CloseConnection);

温馨提示

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

评论

0/150

提交评论