賓館管理系統(tǒng)報告書_第1頁
賓館管理系統(tǒng)報告書_第2頁
賓館管理系統(tǒng)報告書_第3頁
賓館管理系統(tǒng)報告書_第4頁
賓館管理系統(tǒng)報告書_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEPAGE1河南城建學(xué)院C#課程設(shè)計報告書專業(yè):信息管理與信息系統(tǒng)課程設(shè)計名稱:《可視化編程技術(shù)課程設(shè)計》題目:賓館管理系統(tǒng)班級:0634081班組長:063408139_蘇朝鍇同組人員:063408138_任建超063408105_孔煥穎063408106_李文艷指導(dǎo)老師:張延紅趙軍民郭猛完成時間:2010年1月6前言 2一、需求分析: 3(一)系統(tǒng)主要功能: 3(二)關(guān)系模式 3(三)功能模塊 4(四)數(shù)據(jù)庫需求分析 4二、概要設(shè)計 5(一)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 51、 用戶管理E-R圖 62.、顧客信息實體E-R圖: 63、房間信息實體E-R圖: 64、顧客入住信息實體E-R圖: 75、房間類型實體E-R圖: 76.、整體結(jié)構(gòu)E-R圖: 8(二)數(shù)據(jù)表設(shè)計 9三、詳細(xì)設(shè)計 11(一)系統(tǒng)詳細(xì)設(shè)計目標(biāo)規(guī)劃 11(二)系統(tǒng)詳細(xì)設(shè)計任務(wù) 11(三)系統(tǒng)物理配置方案設(shè)計 11(四)系統(tǒng)輸出設(shè)計 12(五)系統(tǒng)輸入設(shè)計 12(六)界面設(shè)計 121、用戶登錄界面設(shè)計 122、超級用戶登錄界面 133、用戶管理界面設(shè)計 134、用戶添加界面設(shè)計 145、用戶修改界面 146、主界面 157、房間類型管理界面 158、客房查詢界面 169、客房信息管理界面 1610、客戶記錄查詢界面 1711、客戶結(jié)算界面 1712、客戶入住界面 17四、代碼設(shè)計 181、用戶表示層(room窗體) 182、業(yè)務(wù)邏輯層 203、model層 214、數(shù)據(jù)訪問層 235、公用類層 24(1)data.cs 24(2)d_Bind.cs 28五、參考文獻(xiàn) 29六、心得 29每個房間有以往所有入住客人的信息。一個房間入主信息指向一個顧客。每個顧客有自己的入住歷史。2、針對上述系統(tǒng)功能的分析和需求總結(jié),設(shè)計如下數(shù)據(jù)項。顧客信息:姓名、電話、身份證號。房間記錄:訂房時間、退房時間、價格統(tǒng)計、入住顧客姓名、入住顧客電話。房間信息:類型名稱、使用面積、床位、價格。管理人員:用戶名、密碼、地址、電話。房間狀態(tài):狀態(tài)標(biāo)識。二、概要設(shè)計(一)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計通過上面的數(shù)據(jù)項,即可設(shè)計出滿足需求的各種實體以及他們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。實體之間的關(guān)系的E-R圖如下:RoomTyRoomTypeRoomClient預(yù)定結(jié)算ClientRecord含有1nn111用戶管理E-R圖UserUserUserIDPasswordUserRoleUsername2.、顧客信息實體E-R圖:ClientClientIdentifyIDClientIDClientNameNativePlaceSex3、房間信息實體E-R圖:RoomRoomBedNumRoomPostionRoomTypeNameFactPeopleNumPeopleNumRoomID4、顧客入住信息實體E-R圖:ClientRecordClientRecordRoomIDTotalMoneyClientNameInDateCheckDateClientID5、房間類型實體E-R圖:RoomTypeRoomTypeRoomTypeNameBedNumPeopleNumPeoPriceAirConditionToilet6.、整體結(jié)構(gòu)E-R圖:RoomTyRoomTypeRoomClientClientRecord預(yù)定結(jié)算ToiletBedNumRoomTypeNamePricePeopleNumAirCondition含有RoomIDBedNumRoomPostionRoomTypeNamePeopleNumFactPeopleNumRoomIDInDateTotalMoneyClientNameCheckDateClientIDIdentifyIDNativePlaceSexClientIDn1n111Check(二)數(shù)據(jù)表設(shè)計1、(RoomType表)序號列名數(shù)據(jù)類型是否允許空1RoomTypeNamenchar(20)否2BedNumsmallint否3PeopleNumsmallint否4Pricemoney否5Toiletvarchar(2)否6AirConditionvarchar(2)否2、(Room表)序號列名數(shù)據(jù)類型是否允許空1RoomIDnchar(15)否2RoomTypeNamenchar(20)否3RoomPostionnchar(10)否4PeopleNumsmallint否5BedNumsmallint否6FactPeopleNumsmallint否3、(Client表)序號列名數(shù)據(jù)類型是否允許空1ClientIDnchar(16)否2ClientNamenchar(20)否3Sexnchar(2)否4NativePlacenchar(20)否5IdentifyIDnchar(20)是4、(ClientRecord表)序號列名數(shù)據(jù)類型是否允許空1ClientIDnchar(16)否2ClientNamenchar(20)否3RoomIDnchar(15)否4InDatedatetime否5CheckDatedatetime否6TotalMoneymoney是7CheckChar(2)是5、(User)序號列名數(shù)據(jù)類型是否允許空1UserIDnchar(10)否2Usernamenchar(10)否3Passwordnchar(20)否4UserRolenchar(10)否三、詳細(xì)設(shè)計(一)系統(tǒng)詳細(xì)設(shè)計目標(biāo)規(guī)劃在此階段設(shè)計出具體能夠運行的系統(tǒng),詳細(xì)列出新系統(tǒng)的各種參數(shù)與規(guī)格。為即將用C#編程語言對其進(jìn)行編寫做好準(zhǔn)備。(二)系統(tǒng)詳細(xì)設(shè)計任務(wù)1、數(shù)據(jù)結(jié)構(gòu)的設(shè)計:對于處理過程中涉及的概念性的數(shù)據(jù)類型進(jìn)行確切的定義;2、測試用例設(shè)計:測試用例包括輸入數(shù)據(jù)和預(yù)期結(jié)果等內(nèi)容。(三)系統(tǒng)物理配置方案設(shè)計1、設(shè)計指標(biāo)(1)系統(tǒng)吞吐量要提高系統(tǒng)的吞吐量,就要求使用具有大吞吐量的計算機。應(yīng)該選擇具有較高性能的計算機。(2)系統(tǒng)響應(yīng)時間響應(yīng)時間不超過2秒(3)系統(tǒng)處理方式該系統(tǒng)采用主機系統(tǒng)方式。(4)地域范圍本系統(tǒng)采用局域網(wǎng)方式。(5)數(shù)據(jù)管理方式使用SQLServer2005數(shù)據(jù)管理系統(tǒng)2、計算機硬件配置計算機硬件選擇取決于要運行的軟件系統(tǒng),本系統(tǒng)建議最低采取如下配置:內(nèi)存:2GBCPU:奔三2.0GHZ硬盤:5(四)系統(tǒng)輸出設(shè)計輸出設(shè)計的內(nèi)容包括:輸出信息應(yīng)包括系統(tǒng)的使用者,如客戶、酒店管理人員、前臺服務(wù)人員等。信息應(yīng)以表格及文檔形式輸出。3、輸出設(shè)備:打印機、終端顯示器、Pos機。4、輸出介質(zhì):輸出到專用紙張及電腦屏幕上。(五)系統(tǒng)輸入設(shè)計1、輸入數(shù)據(jù)量設(shè)計需要輸入客戶數(shù)據(jù),數(shù)據(jù)量不大2、數(shù)據(jù)輸入設(shè)備的選擇本系統(tǒng)選擇鍵盤、鼠標(biāo)人工輸入方式。(六)界面設(shè)計1、用戶登錄界面設(shè)計2、超級用戶登錄界面3、用戶管理界面設(shè)計4、用戶添加界面設(shè)計5、用戶修改界面6、主界面7、房間類型管理界面8、客房查詢界面9、客房信息管理界面10、客戶記錄查詢界面11、客戶結(jié)算界面12、客戶入住界面四、代碼設(shè)計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的函數(shù)mylist=newArrayList();mylist.Add("一樓");mylist.Add("二樓");mylist.Add("三樓");bindingSource1.DataSource=mylist;//附加數(shù)據(jù)源boBox2.DataSource=this.bindingSource1;//填充combox1的函數(shù)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的函數(shù)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、業(yè)務(wù)邏輯層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;}//調(diào)用無參的D_addtable()publicstaticSqlDataReaderDLL_AddRoom(){SqlDataReadersdr=D_room.D_addtable();returnsdr;}//調(diào)用有參的D_addtable()publicstaticSqlDataReaderDLL_AddRoom2(stringslt_str){stringst=slt_str;SqlDataReadersdr=D_room.D_addtable(st);returnsdr;}//添加相應(yīng)的房間信息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);}//增加房間實際人數(shù)publicstaticintupdate_factpeople(stringr_roomid){returnD_room.D_addfactpeoplenum(r_roomid);}//減少房間實際人數(shù)publicstaticintupdate_jianfactpeopele(stringj_roomid){returnD_room.D_jianfactpeoplenum(j_roomid);}}}3、model層usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceThree.Model{//由于窗體中出現(xiàn)了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、數(shù)據(jù)訪問層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;}//添加實際人數(shù)publicstaticintD_addfactpeoplenum(stringroomid){stringstr="updateRoomsetFactPeopleNum=FactPeopleNum+1whereRoomID='"+roomid+"'";inti=data.ExecuteNoQuery(str);returni;}//減少實際人數(shù)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{//封裝數(shù)據(jù)庫publicclassdata{privatestaticstring_con=@"DataSource=.\SQLEXPRESS;AttachDbFilename=F:\C#賓館管理系統(tǒng)整合后\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;}//執(zhí)行增刪改,不帶參數(shù)publicstaticintExecuteNoQuery(stringstrsql){inti;try{Creatcon();SqlCommandsqlcomand=newSqlCommand(strsql,sqlcon);i=sqlcomand.ExecuteNonQuery();sqlcon.Close();returni;}catch{return-1;}}//執(zhí)行增刪改,帶參數(shù)publicstaticintExecuteNoQuery(stringstrsql,paramsSqlParameter[]param){inti;try{Creatcon();SqlCommandsqlcmd=newSqlCommand(strsql,sqlcon);foreach(SqlParameterparinparam)//遍歷數(shù)組將參數(shù)對象添加到操作命令中{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;}}//帶參數(shù)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;}}//執(zhí)行數(shù)據(jù)的查詢操作publicstaticSqlDataReaderExeRead(stringSqlCom){try{Creatcon();SqlCommandsqlcom=newSqlCommand(SqlCom,sqlcon);SqlDataReaderread=sqlcom.ExecuteReader(CommandBehavior.CloseConnection);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論