【正文】
5 IDCard Char 18 0 √ 身份證號 6 RoomID Char 4 0 房屋 ID 7 InDate Datatime 8 0 入住時間 8 RentalDate Datatime 8 0 √ 交租時間 9 ContractID Char 8 0 月租金額 10 CustomerRental Money 8 4 合同編號 11 Remark VarChar 50 0 √ 備注 表 34 Customer 表 課程設計報告 29 C u s t o m e rP K C u s t o m e r I D C u s t o m e r N a m e S e x N a t i v e P l a c e I D C a r dF K 1 R o o m I D I n D a t e R e n t a l D a t e C o n t r a c t I D C u s t o m e r R e n t a l R e m a r kR e n t e rP K R e n t e r I D R e n t e r N a m e C o n t a c t C o n t r a c t I D R e n t e r R e n t a l R e m a r kR o o m I n f oP K R o o m I DF K 1 R e n t e r I D R o o m T y p e L o c a t i o n F l o o r R a t i n g N u m T r u e N u m A r e a P r i c e A i r C o n d i t i o n T e l e p h o n e T V W a s h R o o m K i t c h e n I n t e r n e t R e m a r k 圖 317 數(shù)據(jù)庫導出關(guān)系表 上圖是由 Microsoft Visio 的數(shù)據(jù)庫反向工程導出的數(shù)據(jù)庫關(guān)系表,從表中可以看出, RoomID 為Customer 表的外鍵,其參照的是 RoomInfo 表的主鍵 RoomID,而在 RoomInfo 表中的 RenterID 也是外鍵,其參照的的是 Renter 表中的主鍵 RenterID。 視圖設計: 視圖數(shù)據(jù)庫中有兩個視圖,分別是客戶信息視 圖( View_CustomerInfo)和房屋信息視圖( View_RoomInfo)。 客戶信息視圖基于三張表:出租人信息表,房屋信息表,承租客戶表。包括承租客戶姓名,可昂類型,價格,入住客戶 ID,房屋 ID,入住日期,交租日期,交租金額,出租人租金和實際利潤 客戶信息視圖的 SQL 腳本如下: SELECT TOP (100) PERCENT , , , , , , , , , AS TrueProfit FROM INNER JOIN ON = INNER JOIN ON = ORDER BY 課程設計報告 30 圖 318 客戶信息視圖的數(shù)據(jù)表來源 圖 319 客戶信息視圖的字段結(jié)構(gòu)圖 房屋信息視圖( View_RoomInfo)基于兩張表:出租人信息表和房屋信息表。包括出租人姓名,聯(lián)系方式,房屋類型,合同編號,房屋 ID,租金,房屋位置,房屋樓層,額定人數(shù),實住人數(shù),面積,價格和計劃利潤。 房屋信息視圖的 SQL 腳本 SELECT TOP (100) PERCENT , , , , , , , , , , , , AS PlanProfit FROM INNER JOIN ON = ORDER BY 課程設計報告 31 圖 320 房屋信息視圖的數(shù)據(jù)來源 圖 321 房屋信息視圖的字段結(jié)構(gòu)圖 ( 2)全局數(shù)據(jù) 在 C中有連接字符串的類,在 rentmenage 的命名空間下,每個模塊中的數(shù)據(jù)全部都要創(chuàng)建此類的對象實現(xiàn)數(shù)據(jù)庫的連接,因此連接字符串數(shù)據(jù)全局數(shù)據(jù)。 連接字符串寫在 文件下,其代碼如下: public static string connection { get{returndata source=(local)。user id=sa。password=123。initial catalog=RentManage。integrated security=SSPI。 } } 在數(shù)據(jù)庫的存儲模式之中,每次存入數(shù)據(jù)時首先要打開數(shù)據(jù)庫連接,使用對象對數(shù)據(jù)庫進行操作之后再關(guān)閉數(shù)據(jù)庫連接。 模塊描述 出租運作模塊描述(見圖 32) 1)功能:對房屋出租的的信息描述和信息處理,用于添加出租人信息,修改出租人信息,刪除出租人信息,在該模塊中,實現(xiàn)的是出租人管理的功能。 2) 接口: 總的來說,此模塊需要調(diào)用三個子模塊完成其功能,分別是出租添加模塊,出租修改模 塊,出租刪除模塊。 課程設計報告 32 輸入?yún)?shù):出租人 ID,出租人姓名,聯(lián)系方式,合同編號,出租人租金,備注。 輸出參數(shù):錯誤信息提示。 3) 數(shù)據(jù): 出租運作模塊所調(diào)用的數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu)為出租人信息表( Renter),其添加刪除修改主要是以此數(shù)據(jù)結(jié)構(gòu)作為基本單位進行操作。 4) 處理: 具體處理流程在軟件模塊設計圖中已經(jīng)給出,見圖 32 出租添加模塊 1)功能:添加出租人信息,記錄并存儲到數(shù)據(jù)庫中,包括出租人 ID,出租人姓名,聯(lián)系方式,合同編號和備注 2)接口: 總的來說,此模塊需要調(diào)用基 本的輸入輸出模塊和處理模塊才能完成其功能,這些模塊都在代碼中實現(xiàn),對于基本輸入模塊,功能是檢測輸入的數(shù)據(jù)有沒有類型錯誤,并且將數(shù)據(jù)格式化,比如刪除數(shù)據(jù)前后的空格,將租金轉(zhuǎn)換為 Money 類型等等?;据敵瞿K是將添加之后的信息輸出顯示到單元格中,輸出需要格式化,需要連接數(shù)據(jù)庫,因此又需要調(diào)用數(shù)據(jù)庫存儲模塊;至于處理模塊,處理的作用就是將數(shù)據(jù)存儲到數(shù)據(jù)庫中,關(guān)鍵是對 SQL 語句的使用。 輸入?yún)?shù):出租人 ID,出租人姓名,聯(lián)系方式,合同編號,出租人租金,備注。 輸出參數(shù):錯誤信息提示。 3) 數(shù)據(jù):出租添加 模塊用到的主要數(shù)據(jù)結(jié)構(gòu)是表。關(guān)系數(shù)據(jù)表也是數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu),其主要作用是記錄數(shù)據(jù)的詳細信息。此處需要用到的是出租人信息表( Renter),其添加數(shù)據(jù)主要是以此數(shù)據(jù)結(jié)構(gòu)作為基本單位進行操作。 4)處理: 具體的處理流程見軟件模塊結(jié)構(gòu)圖 33 出租添加模塊 ?輸入出租完整信息 ?若符合數(shù)據(jù)庫完整性要求,則將信息錄入,并返回提示信息 true 提示操作正確 ?若與完整性要求有抵觸,則提示 false,表明輸入信息有誤 出租編輯模塊 1)功能:添加出租人信息,記錄并存儲到數(shù)據(jù)庫中,包括出租人 ID, 出租人姓名,聯(lián)系方式,合同編號和備注 2)接口: 總的來說,此模塊需要調(diào)用基本的輸入輸出模塊和處理模塊才能完成其功能,這些模塊都在代碼中實現(xiàn),對于基本輸入模塊,功能是檢測輸入的數(shù)據(jù)有沒有類型錯誤,并且將數(shù)據(jù)格式化,比如刪除數(shù)據(jù)前后的空格,將租金轉(zhuǎn)換為 Money 類型等等?;据敵瞿K是將添加之后的信息輸出顯示到單元格中,輸出需要格式化,需要連接數(shù)據(jù)庫,因此又需要調(diào)用數(shù)據(jù)庫存儲模塊;至于處理模塊,處理的作用就是將數(shù)據(jù)存儲到數(shù)據(jù)庫中,關(guān)鍵是對 SQL 語句的使用。 輸入?yún)?shù):出租人 ID,出租人姓名,聯(lián)系方式 ,合同編號,出租人租金,備注。 輸出參數(shù):錯誤信息提示。 3) 數(shù)據(jù):出租添加模塊用到的主要數(shù)據(jù)結(jié)構(gòu)是表。關(guān)系數(shù)據(jù)表也是數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu),其主要作用是記錄數(shù)據(jù)的詳細信息。此處需要用到的是出租人信息表( Renter),其添加數(shù)據(jù)主要是以此數(shù)據(jù)結(jié)構(gòu)作為基本單位進行操作。 4)處理: 具體的處理流程見軟件模塊結(jié)構(gòu)圖 33 出租添加模塊 課程設計報告 33 ?輸入出租完整信息 ?若符合數(shù)據(jù)庫完整性要求,則將信息錄入,并返回提示信息 true 提示操作正確 ?若與完整性要求有抵觸,則提示 false,表明輸入信息有誤 出租刪除模塊 1)功能:刪除出租人信息,更新數(shù)據(jù)庫,包括出租人 ID,出租人姓名,聯(lián)系方式,合同編號和備注 2)接口: 總的來說,此模塊主要調(diào)用的是數(shù)據(jù)庫存儲模塊,利用字符串連接數(shù)據(jù)庫,然后再使用 SQL 語句對數(shù)據(jù)庫實現(xiàn)刪除更新,之后再調(diào)用基本輸出模塊輸出刪除之后的結(jié)果。 輸入?yún)?shù):選擇刪除的主鍵 ID 輸出參數(shù):錯誤信息提示。 3) 數(shù)據(jù):出租添加模塊用到的主要數(shù)據(jù)結(jié)構(gòu)是表。關(guān)系數(shù)據(jù)表也是數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu),其主要作用是記錄數(shù)據(jù)的詳細信息。此處需要用到的是出租人信息表( Renter) ,其添加數(shù)據(jù)主要是以此數(shù)據(jù)結(jié)構(gòu)作為基本單位進行操作。 4)處理: 具體的處理流程見軟件模塊結(jié)構(gòu)圖 35 出租刪除模塊 ?輸入需要刪除的出租信息 ?若符合數(shù)據(jù)庫完整性要求,則將信息刪除,并返回提示信息 true 提示操作正確 ?若與完整性要求有抵觸,則提示 false,表明輸入信息有誤 房屋運作模塊 1)功能:對房屋房屋的的信息描述和信息處理,用于添加房屋人信息,修改房屋人信息,刪除房屋人信息,在該模塊中,實現(xiàn)的是房屋人管理的功能。 2) 接口: 總的來說,此模塊需要調(diào)用三個子模塊完成其功 能,分別是房屋添加模塊,房屋修改模塊,房屋刪除模塊。 輸入?yún)?shù):房屋 ID,房屋類型,房屋位置,房屋樓層,額定人數(shù),實住人數(shù),面積,價格,是否有空調(diào),是否有電話,是否有電視,是否有衛(wèi)生間,是否有廚房,是否有寬帶和備注 輸出參數(shù):錯誤信息提示。 3) 數(shù)據(jù): 房屋運作模塊所調(diào)用的數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu)為房屋人信息表( Renter),其添加刪除修改主要是以此數(shù)據(jù)結(jié)構(gòu)作為基本單位進行操作。 4) 處理: 具體處理流程在軟件模塊設計圖中已經(jīng)給出,見圖 36 房屋添加模塊 1)功能:添加房屋人信息 ,記錄并存儲到數(shù)據(jù)庫中 2)接口: 總的來說,此模塊需要調(diào)用基本的輸入輸出模塊和處理模塊才能完成其功能,這些模塊都在代碼中實現(xiàn),對于基本輸入模塊,功能是檢測輸入的數(shù)據(jù)有沒有類型錯誤,并且將數(shù)據(jù)格式化,比如刪除數(shù)據(jù)前后的空格,將租金轉(zhuǎn)換為 Money 類型等等?;据敵瞿K是將添加之后的信息輸出顯示到單元格中,輸出需要格式化,需要連接數(shù)據(jù)庫,因此又需要調(diào)用數(shù)據(jù)庫存儲模塊;至于處理模塊,處理的作用就是將數(shù)據(jù)存儲到數(shù)據(jù)庫中,關(guān)鍵是對 SQL 語句的使用。 輸入?yún)?shù):房屋 ID,房屋類型,房屋位置,房屋樓層,額定人 數(shù),實住人數(shù),面積,價格,是否課程設計報告 34 有空調(diào),是否有電話,是否有電視,是否有衛(wèi)生間,是否有廚房,是否有寬帶和備注 輸出參數(shù):錯誤信息提示。 3) 數(shù)據(jù):房屋添加模塊用到的主要數(shù)據(jù)結(jié)構(gòu)是表。關(guān)系數(shù)據(jù)表也是數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu),其主要作用是記錄數(shù)據(jù)的詳細信息。此處需要用到的是房屋信息表( RoomInfo),其添加數(shù)據(jù)主要是以此數(shù)據(jù)結(jié)構(gòu)作為基本單位進行操作。 4)處理: 具體的處理流程見軟件模塊結(jié)構(gòu)圖 37 房屋添加模塊 ?輸入房屋完整信息 ?若符合數(shù)據(jù)庫完整性要求,則將信息錄入,并返回提示信息 true 提示操作正 確 ?若與完整性要求有抵觸,則提示 false,表明輸入信息有誤 房屋編輯模塊 1)功能:添加房屋人信息,記錄并存儲到數(shù)據(jù)庫中 2)接口: 總的來說,此模塊需要調(diào)用基本的輸入輸出模塊和處理模塊才能完成其功能,這些模塊都在代碼中實現(xiàn),對于基本輸入模塊,功能是檢測輸入的數(shù)據(jù)有沒有類型錯誤,并且將數(shù)據(jù)格式化。基本輸出模塊是將添加之后的信息輸出顯示到單元格中,輸出需要格式化,需要連接數(shù)據(jù)庫,因此又需要調(diào)用數(shù)據(jù)庫存儲模塊;至于處理模塊,處理的作用就是將數(shù)據(jù)存儲到數(shù)據(jù)庫中,關(guān)鍵是對 SQL 語句的使用。 輸入?yún)?shù):房屋 ID,房屋類型,房屋位置,房屋樓層,額定人數(shù),實住人數(shù),面積,價格,是否有空調(diào),是否有電話,是否有電視,是否有衛(wèi)生間,是否有廚房,是否有寬帶和備注 輸出參數(shù):錯誤信息提示。 3) 數(shù)據(jù):房屋添加模塊用到的主要數(shù)據(jù)結(jié)構(gòu)是表。關(guān)系數(shù)據(jù)表也是數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu),其主要作用是記錄數(shù)據(jù)的詳細信息。此處需要用到的是房屋信息表( RoomInfo),其添加數(shù)據(jù)主要是以此數(shù)據(jù)結(jié)構(gòu)作為基本單位進行操作。 4)處理: 具體的處理流程見軟件模塊結(jié)構(gòu)圖 38 房屋添加