




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、課 程 設 計 報 告課程名稱 數(shù)據(jù)庫原理課程設計 課題名稱 賓館客房信息管理系統(tǒng) 專 業(yè) 計算機科學與技術 班 級 08計算機03班 學 號 35號 姓 名 曾彬 指導教師 張鐵楠 譚小蘭 2011年 3 月 18 日賓館客房信息管理系統(tǒng)湖南工程學院課 程 設 計 任 務 書課程名稱 數(shù)據(jù)庫原理課程設計 課 題 賓館客房信息管理系統(tǒng) 專業(yè)班級 08計算機03班 學生姓名 曾彬 學 號 35 指導老師 張鐵楠 譚小蘭 審 批 任務書下達日期 2011 年 3 月 4 日任務完成日期 2011年 3 月 18 日一、設計內(nèi)容與設計要求1設計內(nèi)容:數(shù)據(jù)庫系統(tǒng)原理的課程設計要求學生綜合利用本課程的有
2、關知識,在教師的指導下,利用特定的數(shù)據(jù)庫設計環(huán)境,針對具體的問題,完成從系統(tǒng)的需求分析、數(shù)據(jù)庫的概念設計、數(shù)據(jù)庫的邏輯設計,到數(shù)據(jù)庫實現(xiàn)等設計過程,最終實現(xiàn)一個較為完整的反映應用需求的數(shù)據(jù)庫系統(tǒng)。因此,在設計中,要求學生應該全面考慮各個設計環(huán)節(jié)以及它們之間的相互聯(lián)系。下面是各個設計階段的具體內(nèi)容。 系統(tǒng)需求分析需求分析是數(shù)據(jù)庫系統(tǒng)設計的一個重要的環(huán)節(jié)。本階段應該對整個應用情況作全面的、詳細的調(diào)查,確定特定數(shù)據(jù)庫應用環(huán)境下的設計目標,收集該應用環(huán)境下針對系統(tǒng)設計所需要的基礎數(shù)據(jù)以及對這些數(shù)據(jù)的具體存儲要求,從而確定用戶的需求。用戶對數(shù)據(jù)庫的需求包括: 處理需求。即用戶要完成什么處理功能等。學生在
3、設計中應根據(jù)具體的課題要求確定系統(tǒng)應該實現(xiàn)的功能,一些基本的功能通常是必須具備的,如用戶的管理與維護,基本數(shù)據(jù)的維護,靈活的信息查詢等。 信息需求。即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。學生應該根據(jù)具體的課題,認真分析有關的要求,確定本設計的信息需求。 安全性和完整性功能。實踐中這是一個需要與用戶不斷交流才能逐步確定的需求。本課程設計要求學生在自己的設計中能反映出基本的安全性和完整性功能。 本階段的設計結果(即系統(tǒng)需求分析)應該在課程設計報告中進行詳細描述,畫出系統(tǒng)的數(shù)據(jù)流圖,寫出較為詳細的數(shù)據(jù)字典,作為本課程設計的驗收依據(jù)之一。 數(shù)據(jù)庫的概念設計數(shù)據(jù)庫的概念設計是在需求分析的基礎上,利用與用戶雙方都
4、能理解的形式,設計出數(shù)據(jù)庫的概念模型。本課程設計要求學生采用E-R方法進行數(shù)據(jù)庫的概念設計。本設計階段可分為: 數(shù)據(jù)抽象。即根據(jù)需求分析的結果,抽取出與本課程設計相關的特性。設計局部概念模式。運用E-R方法,設計出系統(tǒng)的各個局部ER模型。 設計全局概念模式。通過對局部E-R模型的操作,解決各個E-R模型關于對象定義不一致問題,以及對各個E-R模型進行合并優(yōu)化等,最終形成數(shù)據(jù)庫的全局概念模式。本階段的設計結果(局部和全局E-R圖、具體數(shù)據(jù)庫設計工具中概念結構設計圖)應該在課程設計報告中進行詳細描述,應該能夠反映該設計的正確性,作為本課程設計的驗收依據(jù)之一。 數(shù)據(jù)庫的邏輯設計數(shù)據(jù)庫邏輯設計的目的是
5、將概念設計階段設計好的E-R圖轉(zhuǎn)換成與具體機器上的DBMS(如Oracle)所支持的數(shù)據(jù)模型(如關系模型)相符合的邏輯結構。鑒于本課程設計的具體環(huán)境要求,學生在進行數(shù)據(jù)庫的邏輯結構設計時應該充分考慮特定的數(shù)據(jù)庫環(huán)境。要求學生在本階段的設計中分兩步進行: 形成初始的關系模式。將概念設計階段產(chǎn)生的全局概念模式(E-R圖)轉(zhuǎn)換成初始的關系模式。 關系模式的規(guī)范化處理。為了減少或消除關系模式中存在的數(shù)據(jù)冗余和操作異常,根據(jù)設計所要求的規(guī)范級別,按照本課程所學知識,逐一分析各個關系模式是否滿足規(guī)定的范式。在課程設計報告中應該提供本設計階段的相關內(nèi)容,作為本課程設計的驗收依據(jù)之一。 創(chuàng)建數(shù)據(jù)庫在某一數(shù)據(jù)庫
6、管理系統(tǒng)環(huán)境中創(chuàng)建數(shù)據(jù)庫,根據(jù)需要也可建立相關數(shù)據(jù)視圖和存儲過程。在課程設計報告中應該提供相關的內(nèi)容,包括數(shù)據(jù)庫及各個數(shù)據(jù)庫對象的定義的SQL語句,作為本課程設計的驗收依據(jù)之一。2設計要求:鑒于數(shù)據(jù)庫選題原理課程設計的具體內(nèi)容,對課程設計提出如下要求: 選題原則課程設計題目以選用學生相對比較熟悉的業(yè)務模型為宜,要求通過本實踐性教學環(huán)節(jié),能較好地鞏固數(shù)據(jù)庫的基本概念、基本原理、關系數(shù)據(jù)庫的設計理論、設計方法等主要相關知識點,針對實際問題設計概念模型,并應用現(xiàn)有的工具完成小型數(shù)據(jù)庫的設計與實現(xiàn)。 選題要求在后面的課題表中列出了幾個設計課題,每個課題都有相應的要求或說明。各課題的難易度有一定的差異,
7、因此,參加課程設計的學生首先要了解設計的任務,仔細閱讀各個課題的設計要求,為了避免多人選同一題,所做課題為(學號最后兩位數(shù) mod 課題號,比如學號23號,選題為23 mod 10=3,即做第三題學生管理系統(tǒng))。一般來說,選擇課題應以在規(guī)定的時間內(nèi)能完成,并能得到應有的鍛煉為原則。若學生對課題表以外的相關課題較感興趣,希望選作課程設計的課題時,應征得指導教師的認可,并寫出明確的設計要求和說明。設計時要嚴格按照題意要求進行設計,不能隨意更改。若確因條件所限,必須要改變課題要求時,應在征得指導教師同意的前提下進行。3參考選題 工資管理系統(tǒng)
8、; 人事管理系統(tǒng) 倉庫管理系統(tǒng)學生管理系統(tǒng) 圖書館管理信息系統(tǒng) 賓館客房管理信息系統(tǒng) 學籍管理系統(tǒng) 機票預定系統(tǒng)學生成績管理系統(tǒng)課程管理子系統(tǒng)通訊錄子系統(tǒng)教室管理子系統(tǒng)宿舍管理子系統(tǒng)個人事務管理子系統(tǒng)庫房管理系統(tǒng)小商店銷售管理系統(tǒng)其它管理子系統(tǒng)數(shù)據(jù)庫設計(自己選題需經(jīng)指導教師認可).4.課程設計報告要求課程設計的設計報告是學生對本次課程設計的全面總結,應該反映每個設計階段的設計思路和設計內(nèi)容。該設計報告,應作為整個課程設計評分的書面依據(jù)和存檔材料。設計報告一般要以固
9、定規(guī)格的紙張(如A4)書寫或打印并裝訂,字跡及圖形要清楚,工整,規(guī)范。內(nèi)容及要求如下: 設計任務、要求及所用軟件環(huán)境或工具介紹。 課程設計內(nèi)容中要求的設計結果。 總結 驗收情況二、進度安排第三周 星期二 8:0012:00 星期三 8:0012:00 星期四 8:0012:00第四周 星期二 8:0012:00 星期三 8:0012:00 星期四 8:0012:00附:課程設計報告裝訂順序:封面、任務書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。 正文的格式:一級標題用3號黑體,二級標題用四號宋體加粗,正文用小四號宋體;行距為22。正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的
10、劃分(要求畫出模塊圖);三、主要功能的實現(xiàn)(至少要有一個主要模塊的流程圖);四、程序調(diào)試;五、總結;六、附件(所有程序的原代碼,要求對程序?qū)懗霰匾淖⑨專U目傋謹?shù)要求在5000字以上(不含程序原代碼)。目錄一. 系統(tǒng)需求分析61.1 設計前調(diào)查61.2 用戶需求分析61.3 核心數(shù)據(jù)流圖71.4 核心數(shù)據(jù)字典8二、概念設計92.1 局部E-R圖92.2 全局E-R圖10三、邏輯設計113.1 開發(fā)環(huán)境113.2.1有以下關系模式:113.2.2分解分析:11四、創(chuàng)建數(shù)據(jù)庫11五、程序以及調(diào)試和使用說明125.1程序登陸界面125.2 主面板135.3具體介紹145.3.1房態(tài)查看145.3
11、.2 入住登記和預定房間145.3.3 調(diào)房,住宿、退宿查詢155.3.4 掛帳,結帳,日報表,追加押金165.3.5報修和維修165.3.6添加用戶,添加員工,修改密碼17六、總結18七、部分代碼197.2添加員工197.3 賓客入住21計算機與通信學院課程設計評分表26一. 系統(tǒng)需求分析1.1 設計前調(diào)查 近年來,賓館業(yè)迅猛發(fā)展,市場的競爭日趨激烈,全面提高賓館的軟件管理水準,已成為賓館業(yè)發(fā)展的當務之急。尤其是對于星級賓館,既需要完成前臺的一些服務工作,還需要完成后臺的管理工作。然而,傳統(tǒng)的人工管理模式已經(jīng)遠遠不能滿足有效、快捷地處理經(jīng)營中產(chǎn)生的大量信息數(shù)據(jù)的需要,從而使得企業(yè)決策層無法及
12、時、準確地掌握一線資料,繼而影響對市場進行正確地分析和預測。像沿海城市三星級以上賓館引進外方管理,使小部分賓館管理水準幾乎接近或達到國際水平。但對占80%以上的廣大中小型賓館來說,是難以做到的。因此,欲在競爭中甩開對手,取得優(yōu)勢,必須在經(jīng)營、管理、產(chǎn)品、服務等方面具備獨到之處。而對賓館的經(jīng)營狀況起決定作用的是客房的管理。簡單的服務標準已不是制勝的錦囊,只有管理做到最細微之處,才能讓顧客體會到賓館服務的高標準、高質(zhì)量,而準確、快速、周全往往就是最基本的成功要素。 傳統(tǒng)的管理方法已經(jīng)不能適應現(xiàn)代社會的需要,因此采用電腦管理業(yè)務、財務等諸多環(huán)節(jié)已成為推動賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)
13、是各大中小型賓館所需要使用的一個管理系統(tǒng)。1.2 用戶需求分析建立一套功能完善的管理信息系統(tǒng),既能滿足業(yè)務人員日常處理的需要,增強企業(yè)經(jīng)營全過程的數(shù)字化管理水平;又能滿足管理人員決策分析的需要,提高公司管理層對公司經(jīng)營反饋信息的響應速度。從而大幅度提高工作效率,提高實施管理的準確性、科學性,使擔負管理的工作人員從繁雜的手工勞作中解脫出來。因而程序需要實現(xiàn)的功能有如下主要六大功能:一、 客房管理:客房登記,入住情況查詢,客房狀態(tài)查看。二、 賓客入住管理:客房預定,登記入住,房間調(diào)整,退房結帳三、 物資管理:物品登記,物品查詢,報修和維修,定時提醒。四、 財務管理:追加押金,增刪財務,日報表五、
14、員工管理:增改員工,查刪員工六、 系統(tǒng)管理:增刪管理員,修改密碼,以及預留的基于SQL的數(shù)據(jù)庫管理(該程序考慮到 作為課程設計和信息系統(tǒng)不是很大,使用了單機版的ACCESS,以求方便 寫程序)七、 其他功能:界面管理(提供兩套外觀:經(jīng)典外觀和春天里)1.3 核心數(shù)據(jù)流圖 維修信息調(diào)整房間維修/報修房間提醒 客房信息 預定 客房信息 客房狀態(tài)退房入住客人 客人信息 入住登記 帳務信息財務現(xiàn)開 入住信息 部分數(shù)據(jù)流圖數(shù)據(jù)流名稱:客人信息來源:客人去向:入住登記包含的數(shù)據(jù)項:姓名、身份證號、性別、入住房間、房間類型、房間價格、入住狀態(tài)等(賓館客房管理系統(tǒng)的數(shù)據(jù)流客人信息) 數(shù)據(jù)流名稱:入住登記來源:
15、客人產(chǎn)生入住登記去向:入住包含的數(shù)據(jù)項:訂單編號、姓名、性別、身份證號、客戶編號、客房類型、抵房時間、入住 人數(shù)、預定人、電話、住幾天等信息(賓館客房管理系統(tǒng)的數(shù)據(jù)流入住登記)數(shù)據(jù)流名稱:客房信息來源:客人產(chǎn)生入住登記去向:入住包含的數(shù)據(jù)項:客房編號、客房類型、客房價格、客房狀態(tài)(賓館客房管理系統(tǒng)的數(shù)據(jù)流客房信息)數(shù)據(jù)流名稱:房間狀態(tài)來源:退房去向:房間包含的數(shù)據(jù)項:客房號碼、房間狀態(tài)(賓館客房管理系統(tǒng)的數(shù)據(jù)流房間狀態(tài))數(shù)據(jù)流名稱:帳務信息來源:退房去向:財務包含的數(shù)據(jù)項:帳單編號、姓名、消費金額、入住時間、退房時間、押金(賓館客房管理系統(tǒng)的數(shù)據(jù)流帳務信息)1.4 核心數(shù)據(jù)字典 賓客入住信息表
16、:Cmanage 數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明客人電話(ctel)Char(20)客人姓名(cname)Char(12)Not null客人性別(csex)Char(4)客人身份證號(cidnum)Char(20)客人住址(caddress)Char(50)訂單編號(cnumber)Char(15)Not null,primary key入住人數(shù)(cmemeber)int客房編號(croom)Char(20)Not null客房類型(ctype)Char(10)客房價格(cprice)money客房狀態(tài)(cstatue)Char(2)Not null抵店時間(cindate)短日
17、期型 date退房時間(coutdate)短日期型 dateNot null入住類別(cintype)Char(4) 預定/現(xiàn)開押金(cya)money調(diào)整房間(cchange)Char(20)原由(creason)Char(80)應付款(cmshould)Money實收(cmpay)money客房登記表:Roomlogin 數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明房間編號(Rid)Char(12)Not null房間名稱(Rname)Char(20)Not null ,primary key房間描述(Rdescribe)Char(100)房間價格(Rprice)moneyNot null房
18、間狀態(tài)(Rstatue)Char(8)Not null操作員(ruser)Char(12)Not null管理員表:pw數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明用戶(user)Char(12)Not null ,primary key密碼(pwd)Char(8)Not null權限(power)Char(1)Not null財務管理表:Smanage數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明財務ID(Sid)Char(15)Not null ,primary key事由(Sreason)Char(20)Not null收入(Sin)money支出(Sout)moneyNot null總收入(
19、ssum)moneyNot null操作時間(Sdate)dateNot null結帳人(sman)Char(12)Not null掛帳單位(scomp)Char(12)操作員(suser)Char(12)Not null維修/報修表:fix數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明登記ID(Fid)自動編號Not null ,primary key登記日期(Fdate)dateNot null 物品名稱(Fname)Char(50)Not null所屬房間(Froom)Char(20)Not null維修狀態(tài)(Fstatue)Char(8)Not null維修日期(Ffdate)date登記
20、操作員(Fman)Char(12)Not null維修員(Ffman)Char(12)所需費用(Fpay)money提醒表:Reminder數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明提醒ID(RemID)自動編號Not null ,primary key提醒日期(Remdate)dateNot null 提醒類別(remtype)Char(20)Not null提醒狀態(tài)(remstatue)Char(4)Not null操作員(remuser)Char(12)Not null價格編號名稱二、概念設計 狀態(tài)2.1 局部E-R圖 描述類型客房電話性別姓名 住址入職時間證件客人住址 客房E-R職員電
21、話 密碼職務 客人E-R 管理員E-R 用戶名管理員姓名工資 權限年齡性別 職員E-R 事由收入支出類別名稱時間狀態(tài)費用狀態(tài)所屬房間登記日期結帳預定維修時間總收入帳目管理維修表提醒表用戶名管理員管理密碼權限職員年齡性別入職時間電話職務住址工資姓名客房描述狀態(tài)價格類型編號名稱證件電話性別住址姓名客人2.2 全局E-R圖 入住 n 1 1 1 1 1 1 1 n q p m 1 1 m 全局E-R圖三、邏輯設計 3.1 開發(fā)環(huán)境 開發(fā)語言:Visual Basic 開發(fā)平臺:windows xp,1G內(nèi)存,集成顯卡。 開發(fā)工具:Visual Basic 6.0企業(yè)版,SQL Server 2000
22、,Access 2003 3.2 關系模式形成以及規(guī)范 3.2.1有以下關系模式:PW(user,pwd,power);Empl(eid,ename,eage,esex,eaddress,etel,ejob,ejtime,ejage);Fix(Fid,fname,froom,fstatue,ffdate,fpay,fman,fuser);Gmanage(Gid,gname,gtype,gnum,gprice,guse,gsum,gdate,guser,gdw);Roomlogin(Rid,rname,rtype,rdescribe,rprice,rstatue,ruser);Reminder(
23、remid,remname,remdate,remtype,remstatue,remuser);Smanage(Sid,sreason,sin,sout,ssum,sdate,sman,scomp,suser);Cmanage(cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice, cindate,cintype,coutdate,cya,cyaadd,cstatue,cchange,creason,cmtel,cmmeeting,cmcar,cmdamage,cmother,cmshould,c
24、mpay,cmback,cuser); 3.2.2分解分析:1) 各分量都是不可分割的數(shù)據(jù)項。滿足第一范式;2) 每一個關系中的非碼屬性都完全函數(shù)依賴于碼,符合第二范式;3) 每個關系中的主屬性不傳遞依賴關系中的每個關系鍵,符合第三范式;4) 關系中所有非主屬性對每個碼都是完全依賴,且所有主碼對于每個不包含它的碼也是完全函數(shù)依賴,沒有任 何屬性完全函數(shù)依賴非碼的任何一組屬性四、創(chuàng)建數(shù)據(jù)庫 1)創(chuàng)建數(shù)據(jù)庫,讓數(shù)據(jù)庫可以動態(tài)增長 create database hotel on (name=hotel_data,filename='E:hotel.mdf',size=5mB,max
25、size=20mb,filegrowth=10%)log on(name=hotel_log,filename='E:hotel.ldf',size=2mb,maxsize=5mb,filegrowth=1mb)go 2)創(chuàng)建PW用戶表 use hotel go create table pw (user char (12) not null primary key, Pwd char(8) not null, Power char(1) not null ) go 3)創(chuàng)建客房登記表RoomLogin create table roomlogin (rid char (12)
26、 not null, Rname char(20) not null primary key, Rtype char(10) not null Rdescribe char(100), Rprice money not null, Rstatue char(8) not null, Ruser char(12) not null,) go 4)同上創(chuàng)建提醒表Reminder、物品表Gmanage、維修表fix、員工表Empl、帳務表Smanage、客戶如住表Cmanage五、程序以及調(diào)試和使用說明 5.1程序登陸界面 說明:進入登陸界面后,系統(tǒng)會自動加載已有的用戶,讓用戶選擇自己的帳戶進行登陸
27、,密碼 輸入三次后關閉窗口;用控件屬性設置來實現(xiàn)用戶定義的完整性:密碼最大長度為8。用戶名錯誤,或密碼錯誤,系統(tǒng)都會對其進行提醒,以達到正確輸入,本程序設置一超級用戶:admin,權限為1,其他用戶的權限均為0。超級用戶能對押金進行追加,其他用戶必須在超級用戶協(xié)助下才能完成押金追加 5.2 主面板說明:主界面用VB中的MDIForm,多入口提供給用戶操作,包括菜單欄、工具欄(可選擇顯示和不顯示)、側邊欄(可隱藏)、主面板Panel(提供操作員最常用的操作,節(jié)約時間),在狀態(tài)欄可以顯示系統(tǒng)時間和當前用戶以及需要維修的房間數(shù)。實現(xiàn)了所有要求的功能 說明:提供兩種風格供用戶選擇。在vb模塊里有一函數(shù)
28、change(),一變量保存當前風格類型,當每次show一窗口時,就會調(diào)用該函數(shù)通過變量判斷是顯示那種風格 5.3具體介紹 5.3.1房態(tài)查看 說明:在主面板上的快速入口上點擊房態(tài)查詢,顯示當前房間入住圖形界面。直觀、方便。點擊房間能顯示在該房間入住過的客戶。嵌入的查詢語句為:"select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage where croom='" & Comma
29、nd1(Index).Caption & "'",Command1(Index).Caption為當前按下的要查詢的房間按鈕的名稱 5.3.2 入住登記和預定房間 說明:點"登記",系統(tǒng)自動在 roomlogin表中rstatue='空閑'的房間名字添加到 房間號碼的下拉列表中,供客戶選擇房間,用戶可以選擇"現(xiàn)開/預定"當用戶選擇下拉列表中的一個房間時,系統(tǒng)自動將roomlogin中該房間的標準類型,價格自動加載顯示,房間狀況一目了然。其他用戶自定義完整性約束都通過對控件的屬性設置來完成,當用戶輸入數(shù)據(jù)
30、破壞完整性時,系統(tǒng)會發(fā)出警告,以保持數(shù)據(jù)庫的完整性5.3.3 調(diào)房,住宿、退宿查詢 說明:通過入口可以打開窗體。當客戶需要調(diào)整房間時,點登記后,系統(tǒng)自動加載已入住客戶的房間和空閑的房間號碼,當用戶選擇要調(diào)房的客戶時,系統(tǒng)自動加載客戶的信息。選擇目標房間時候,系統(tǒng)自動加載房間信息。用戶確定調(diào)房后,系統(tǒng)修改數(shù)據(jù)庫:原房間狀態(tài)改為空閑,目標房間改為入住。原住房產(chǎn)生的費用將加在新入住房間上,而提醒表中原房間改為現(xiàn)房間。因而需要修改三個表:Cmanage,roomlogin,reminder.而查詢?nèi)胱⌒畔⒌那度雜ql語句為:"select cnumber,cname,cictype,cicn
31、um,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage",其他查詢語句雷同,此后不在贅述。在文本框里輸入要查詢的姓名,MSFlexGrid空間將會顯示查詢結果,嵌入的查詢語句為: "select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage where cname like
32、9;" & Text1.Text & "*'" 5.3.4 掛帳,結帳,日報表,追加押金說明:追加押金窗體.系統(tǒng)自動加載已入住客戶號碼,當用戶選擇客戶號碼時候,系統(tǒng)自動加載客戶信息,用戶添加押金后,保存時系統(tǒng)對cmanage表進行修改,保存數(shù)據(jù);結帳窗體。系統(tǒng)自動加載已入住還沒退房的房間號,用戶選擇要退房的房間號,系統(tǒng)加載客戶信息以需付款和明細供核對,確定結帳后,系統(tǒng)將對 cmanage表,smanage,reminder,roomlogin進行修改,以保持數(shù)據(jù)庫的參照完整性。如果是掛帳,用戶可以選擇掛帳,在客戶結帳的時候,調(diào)出掛帳結帳窗體
33、,系統(tǒng)自動加載掛帳的單位,用戶選擇掛帳單位,系統(tǒng)自動加載需還金額。掛帳結帳只對smanage表操作。而日報表顯示smange里的信息,提供按日期查找的方法,打印當天的帳務明細。查詢的嵌入sql語句為:"select sreason,sin,sout,ssum,sdate,sman,scomp,suser from smanage where sdate =#" & DTPicker1.Value & "#"。在該處開始一直調(diào)試不出,后來發(fā)現(xiàn)在sql語句中對日期要加"#"來格式說明是日期型的。5.3.5報修和維修 說明:
34、打開該窗體,左邊有一組option選項。當選報修時候,系統(tǒng)自動加載空閑的房間號。如果為入住的房間報修,則需先調(diào)房退房后才能報修,總不能讓客戶住在需維修的房間中吧。確定報修后。系統(tǒng)將在reminder表中增加一條需提醒事項,即需維修事項,傳遞 房間號 和維修狀態(tài) 給 reminder表做為關鍵字。在主窗體中便會有提示需要維修的房間,可以通過房態(tài)查詢,查看需要維修的房間號。維修完后要進行登記,選擇登記后,系統(tǒng)加載當前狀態(tài)為 維修的房間,記錄維修費用和維修員,確定后,系統(tǒng)將操作 roomlogin和reminder表,保持數(shù)據(jù)庫系統(tǒng)的參照完整性 5.3.6添加用戶,添加員工,修改密碼說明:只有管理員
35、,即超級用戶才能添加操作員和員工,但是普通擁護可以修改自己的密碼。添加操作員的代碼為: If Text1.Text <> "" And Text2.Text <> "" And Text2.Text = Puser.Fields("pwd") Then If Text3.Text <> "" Then Puser.Edit Puser.Fields("pwd") = Text3.Text MsgBox ("密碼修改成功,退出操作員密碼修改!"
36、;) Puser.Update main.Enabled = True Unload Me Else MsgBox ("請輸入新密碼!") End If Else If Text1.Text = "" Then MsgBox ("請輸入操作員!") Text1.SetFocus Else If Text1.Text <> Puser.Fields("user") Then Text1.SetFocus Text1.Text = "" MsgBox ("無此操作員,請重新輸入
37、!") End If End If If Text2.Text = "" Then MsgBox ("請輸入操作員原密碼!") Text2.SetFocus Else If Text2.Text <> Puser.Fields("pwd") Then MsgBox ("原密碼錯誤,請重新輸入原密碼!") Text2.SetFocus End If End If End If 這是才用 DAO 3.6對象來對數(shù)據(jù)庫進行操作,這是另一種方法對數(shù)據(jù)庫操作cr = "insert into
38、pw values(' " & text1.text& " ',' " & text2.text & " ' ,'0')"mydb.Execute cr 這是直接用嵌入sql語句來插入記錄。兩種效果都一樣六、總結 兩周的日日夜夜的奮戰(zhàn),終于達到了預定的效果,完成了該信息系統(tǒng)的設計和程序編寫。在??茖W校,曾學過VB語言,也開發(fā)過很多程序,所以vb語言成為首選。雖然其編寫的應用程序在不同的機器上需要解釋器,需要隨帶很多ocx控件和其他,但是在編寫信息管理系統(tǒng)這方面還是很
39、有優(yōu)勢的。(1)可視畫編程,豐富的控件,隨用隨拖,對控件對象編程,很方便。(2)可以方便的利用API函數(shù)實現(xiàn)窗體的各種效果。有豐富的api接口。(3)語言簡單,實現(xiàn)功能很方便。在對數(shù)據(jù)庫操作方面,引用了DAO 3.6 對象,使用DAO編程連接和操作。所以很自然選擇了VB語言。在數(shù)據(jù)庫方面,考慮編程方便,采用從sql中導出成access文件來進行操作。 選定課題后,開始收集相關資料和設計軟件架構。到賓館調(diào)查和到網(wǎng)上收集信息,以及參考了其他信息管理系統(tǒng),心里就有了輪廓。設計好軟件的幾大模塊,采用自頂向下的經(jīng)典設計方法,確定實現(xiàn)的功能,開始設計數(shù)據(jù)庫。運用相關的數(shù)據(jù)庫知識,設計好數(shù)據(jù)表,確定字段。并
40、通過模式分解,確定其是無損的連接。有了數(shù)據(jù)庫作為整個設計的底層,就好象蓋房子有了骨架,而軟件就象是磚瓦,只是將骨架填充完善,給客戶一個好的外觀。因而數(shù)據(jù)庫的設計尤為重要,但是在設計之初,往往會有很多情況不能考慮周全,再加之一個人編寫,所以進度一度很慢,后來通過列出所有可能的情況,以及同同學老師等交流,總結并重新設計了數(shù)據(jù)庫,終于是能有一個比較好的效果。通過將所有和客戶相關的財務信息都加到客戶信息里,避免了對多表的操作,避免了有可能會出現(xiàn)的參照完整性不一致的問題。繼而是軟件的設計,由于對vb還是算比較熟悉,因而有了數(shù)據(jù)庫的支撐,就得心應手了。考慮到用戶使用的方便性,軟件主界面提供了很多入口,以及
41、直觀的圖形顯示,方便用戶操作,因而也給客戶帶來方便,免去了客戶的很多等待時間,提升賓館的形象。同時提供了兩套外觀,春天里這套外觀可以避免用戶的審美疲勞。整個程序完成了,又花了大量的時間對其進行調(diào)試。通過白盒黑盒測試,程序能正常的顯示結果和準確報錯,達到了單機運行的效果。接著在不同機環(huán)境器上測試,有些控件因為沒有帶走,所以報錯,后來帶上控件后都能正常運行,在xp和win7上都能正常運行。由于公司規(guī)模和業(yè)務量大,因而信息系統(tǒng)不可能只在單機上運行,所以才用C/S,或B/S結構比較合適。因時間關系所以沒能完成,只預留了接口,供以后開發(fā)擴展用。當然這次課程設計因為是數(shù)據(jù)庫的課程設計,重點在數(shù)據(jù)庫的設計,
42、所以對于軟件體系結構風格,沒有考慮,只求能達到目的!在本次課程設計中,要感謝各位老師的指導,也要感謝提供意見和建議的同學,才得以大致完成該設計。本欲來讓老師答辯的,但因個人原因,在答辯那天趕回家了,所以沒得完成最終的答辯。但這不要緊,編程最大的喜事莫過于完成所有程序的那一刻,雖然后續(xù)還有很多維護和修改任務,但是心里突然輕松下來那一刻的心情是無與倫比的。再次感謝老師的指導! 七、部分代碼 7.1模塊 Public NowUser As String '當前用戶名Public nowpower As String '當前用戶權限Public mydb As DAO.Database
43、 '定義數(shù)據(jù)庫Public bgi As Integer '判斷背景風格Public Sub LoadAccess()Set mydb = DAO.OpenDatabase(App.Path & "hotel.mdb")End SubPublic Sub bground()If bgi = 1 Thenmain.Picture = panel.Image1.Picturepanel.Picture = panel.Image1.Picturepanel.Picture1.Picture = panel.Image1.Picturemain.Pictu
44、re1.Picture = panel.Image1.Picturemain.Picture2.Picture = panel.Image1.PictureUnload findEm: Unload findlogin: Unload fingG: Unload InLogin: Unload LogoutBG: Unload managekf: Unload payoff: Unload ViewUnload changelogin: Unload findLogout: Unload find: panel.resizemeElseIf bgi = 0 Thenmain.Picture =
45、 Nothingpanel.Picture = Nothingpanel.Picture1.Picture = Nothingmain.Picture1.Picture = Nothingmain.Picture2.Picture = NothingUnload findEm: Unload findlogin: Unload fingG: Unload InLogin: Unload LogoutBG: Unload managekf: Unload payoff: Unload ViewUnload changelogin: Unload findLogout: Unload find:
46、panel.resizemeEnd IfEnd IfEnd Sub7.2添加員工Private Declare Function ReleaseCapture Lib "user32" () As Long '獲取“變動”信息Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As L
47、ongPrivate Const WM_SYSCOMMAND = &H112Private Const SC_MOVE = &HF010&Private Const HTCAPTION = 2Dim Emp As RecordsetPrivate Sub DTPicker1_Change()Text7.Text = Year(Date) - Year(DTPicker1.Value)End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single
48、) If Button = 1 Then '如果按下鼠標左鍵 Dim ReturnVal As Long X = ReleaseCapture() ReturnVal = SendMessage(addEm.hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0) End IfEnd Sub Private Sub Form_Load() LoadAccess Set Emp = mydb.OpenRecordset("select * from empl") Text1.Text = Year(Date) & Month(D
49、ate) & Day(Date) & Hour(Time) & Minute(Time) Text7.Text = Year(Date) - Year(DTPicker1.Value)End SubPrivate Sub Command1_Click() '=!'缺少判斷員工號是否存在的信息If Text1.Text = "" Or Text2.Text = "" Or Text4.Text = "" Then msg$ = MsgBox("請確認 員工號、員工姓名、職務 已經(jīng)輸入&q
50、uot;, 48, "Error") ElseEmp.AddNewEmp.Fields("emid") = Text1.TextEmp.Fields("ename") = Text2.TextEmp.Fields("esex") = Combo1.TextEmp.Fields("ejob") = Text4.TextEmp.Fields("eage") = Val(Text5.Text)Emp.Fields("etel") = Text6.TextEmp.
51、Fields("ejtime") = DTPicker1.ValueEmp.Fields("ejage") = Text7.TextEmp.Update '更新記錄Emp.Closemsg$ = MsgBox("添加成功", 64, "Success!")Unload MeEnd If End SubPrivate Sub Command2_Click()Text1.Text = "": Text2.Text = "": Combo1.Text = "&qu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同法在企業(yè)的實施調(diào)查報告(2025年版)
- 2025年股權轉(zhuǎn)讓框架協(xié)議
- 2025年離婚協(xié)議書兩個小孩模板
- 【單元重點難點】譯林版(三起)英語三年級上冊Unit-7-單元復習(知識梳理檢測)-(含解析)
- 2025年河北省邢臺市單招職業(yè)適應性測試題庫學生專用
- 2024年運載火箭遙測系統(tǒng)檢測設備項目資金需求報告代可行性研究報告
- 第九章 第2節(jié) 液體的壓強(教學設計)2024-2025學年人教版(2024)物理八年級下冊
- 2025年??谑袉握新殬I(yè)傾向性測試題庫參考答案
- 2025年廣東省外語藝術職業(yè)學院單招職業(yè)適應性測試題庫一套
- 《小數(shù)除法-誰打電話時間長》(教學設計)-2024-2025學年五年級上冊數(shù)學北師大版
- 小白兔拔蘿卜(無背景音樂)
- 《陸上風電場工程概算定額》NBT 31010-2019
- 展會展中營銷方案
- 2024屆遼寧省沈陽市名校中考四?;瘜W試題含答案解析
- 2024年新高考改革方案政策
- 2024年許昌職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
- 《新媒體創(chuàng)意短視頻制作》課件-運動短視頻制作關鍵技術
- JTGT F20-2015 公路路面基層施工技術細則
- 7S培訓管理教材課件(-28張)
- 過橋資金計劃書
- 小學數(shù)學計算練習-一年級上學期口算練習(600題打印版)
評論
0/150
提交評論