賓館管理系統報告書_第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

提交評論