【正文】
4 My SQL datebase 數(shù)據(jù)庫簡介 My SQL 是瑞典 My SQL AB 公司開發(fā) 的 一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 5 第二章 需求分析 可行性分析 通過可行性分析,理清大學(xué)生公寓管理系統(tǒng)開發(fā)的可行性,包括研究目的、所要完成的任務(wù)、所需的硬件和軟件環(huán)境,明確大學(xué)生公寓管理 系統(tǒng)的物理 模型,了解該 系統(tǒng)是如何運(yùn)行的 , 抽象出 大學(xué)生公寓管理系統(tǒng) 的邏輯模型,對物理模型進(jìn)行篩選;建立 學(xué)生公寓管理系統(tǒng) 的邏輯模型,得出數(shù)據(jù)流圖和數(shù)據(jù)字典;補(bǔ)充目標(biāo)系統(tǒng)的邏輯模型 最后畫出分層次的數(shù)據(jù)流圖、 ER 圖、數(shù)據(jù)字典、和算法描述等。 由于該系統(tǒng)只是針對宿舍管理員的操作平臺,因此該類管理系統(tǒng)可以安排普通管理員和超級管理員兩種用戶類型。估算系統(tǒng)的開發(fā)費(fèi)用以及運(yùn)行、維護(hù)費(fèi)用,預(yù)測系統(tǒng)運(yùn)行后將獲得的效益,并將費(fèi)用與效益進(jìn)行比較,看是否有利。大學(xué)生公寓管理系統(tǒng)用戶對象是宿舍管理人員,本系統(tǒng)用Java 設(shè)計(jì),功能簡單,界面友好直觀,并寫出了詳細(xì)的使用說明,宿舍管理員只需懂得簡單的計(jì)算機(jī)操作知識,就能運(yùn)用本系統(tǒng)進(jìn)行宿舍管理??梢砸怨芾韱T身份隨意的對公寓成員進(jìn)行刪減、修改,新生入住可以很方便的添加,對于老生離校能方便的清除。對公寓管理人員的管理,如對每個(gè)區(qū)域的衛(wèi)生、安全等負(fù)責(zé)分配情況以及工作人員的值班情況。記錄好每個(gè)宿舍的用電情況、衛(wèi)生情況以及紀(jì)律情況登記,并能在適當(dāng)?shù)臅r(shí)候提醒通知該宿舍采取措施。 記錄好每個(gè)學(xué)生的來訪登記,便于隨時(shí)查閱。包括響應(yīng)時(shí)間、更新處理時(shí)間、數(shù)據(jù)轉(zhuǎn)換與傳輸時(shí)間、運(yùn)行時(shí) 間,這些時(shí)間盡可能短。使用 MVC 應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。 HMS 使用流行的 MVC 組件 做為 C(控制層),使用流行的 ORM(Object/Relation Mapping)工具在 M(數(shù)據(jù)模型)來訪問數(shù)據(jù)庫,并且引入 Spring 的 IOC,AOP 來進(jìn)行 javaBean 的管理和事物管理 Hibernate 是一個(gè)開放源代碼的對象關(guān)系映射框架,它對 JDBC 進(jìn)行了非常輕量級的對象封裝,使得 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Struts 有一組相互協(xié)作的類(組件)、 Serlvet 以及 jsp tag lib 組成。可以說 Spring 是企業(yè)應(yīng)用開發(fā)的 “ 一站式 ” 選擇,并貫穿表現(xiàn)層、業(yè)務(wù)層及持久層。Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。 ER 圖 圖 31 系統(tǒng)實(shí)體 ER 圖 系統(tǒng)功能 系統(tǒng)管理理 來訪人員管理 學(xué)生管理 宿舍工作人員管理 管理員個(gè)人信息管理 管理員管理樓層分配 添加管理員 學(xué)生移出管理 來訪人員離開登記 學(xué)生查詢 來訪登記 入舍登記 工作人員查詢 學(xué)生基本信息管理 宿舍樓管理 宿舍基本信息管理 宿舍樓基本信息 樓層管理 登錄系統(tǒng) 來訪人員記錄查詢錄查詢記管理有空房 添加學(xué)生管理有空房 工作人員職責(zé)分配管理 工作人員基本信息管理 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 9 系統(tǒng)功能模塊包括七大模塊:系統(tǒng)管理模塊,來訪人員管理模塊,學(xué)生管理模塊,宿舍工作人員管理模塊,宿舍樓管理模塊,宿舍基本信息模塊,系統(tǒng)登錄模塊 1.系統(tǒng)管理模塊:包括三個(gè)子模塊 管理員個(gè)人信息管理 —— 管理管理員自己的信息 管理員管理樓層分配 —— 輸入宿舍樓樓層并分配宿舍 添加管理員 —— 增加、刪除宿舍管理 員并受權(quán)限 2.來訪人員管理模塊:該模塊包括三個(gè)子模塊 來訪登記入舍登記 —— 對來訪人員進(jìn)行入樓登記 來訪人員離開登記 —— 對來訪人員離開時(shí)進(jìn)行登記 來訪人員記錄查詢 —— 查詢來訪人員的來訪信息 3.學(xué)生管理模塊:包括四個(gè)子模塊 學(xué)生查詢 —— 根據(jù)學(xué)生學(xué)號查詢本宿舍樓學(xué)生的信息 學(xué)生移出管理 —— 對于離開本樓學(xué)生的學(xué)生進(jìn)行移出管理 添加學(xué)生管理 —— 對于新入住學(xué)生進(jìn)行添加管理 學(xué)生基本信息管理 —— 管理本宿舍樓學(xué)生基本信息 4.宿舍工作人員管理:包括三個(gè)子模塊 工作人員查詢 —— 查詢本樓宿管人員信息 工作人員職責(zé)分配管理 — — 對本宿舍管理人員的職責(zé)進(jìn)行分配管理 工作人員基本信息管 —— 本樓宿管人員基本信息查詢 5.宿舍樓管理:包括兩個(gè)子模塊 宿舍樓基本信息 —— 顯示本宿舍樓的基本信息,比如樓層、房間數(shù) 樓層管理 —— 對每棟樓的樓層進(jìn)行動態(tài)的增加,并分配寢室號 6.登錄系統(tǒng):實(shí)現(xiàn)用戶的登錄 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 10 UML 用例圖 宿 舍 管 理 員登 錄 系 統(tǒng)宿 舍 樓 管 理學(xué) 生 管 理宿 舍 管 理系 統(tǒng) 管 理來 訪 人 員 管 理宿 舍 工 作 人 員 管 理退 出 系 統(tǒng) u s e s u s e s u s e s u s e s u s e s u s e s u s e s 添 加 學(xué) 生宿 舍 樓 基 本 信 息樓 層 管 理 u s e s 宿 舍 基 本 信 息 管 理學(xué) 生 基 本 信 息 管 理工 作 人 員 基 本 信 息 管 理工 作 人 員 職 責(zé) 分 配 管 理來 訪 人 員 登 記來 訪 人 員 離 開 登 記管 理 員 個(gè) 人 信 息 管 理管 理 員 管 理 樓 層 分 配添 加 管 理 員來 訪 人 員 記 錄 查 詢工 作 人 員 查 詢學(xué) 生 查 詢學(xué) 生 移 出 e x t e n d s 圖 32UML 用例圖 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 11 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 大學(xué)生公寓管理系統(tǒng)數(shù) 據(jù)結(jié)構(gòu)表 針對大學(xué)生公寓管理的情況和特點(diǎn),本系統(tǒng)采用 小型關(guān)系型數(shù)據(jù)庫 MySQL數(shù)據(jù)庫,在該數(shù)據(jù)庫中包含以下十二個(gè)表:宿舍樓表( dorm_building),樓層表( floors),宿舍表( dorm),學(xué)生表( students),工作人員表( worker),室容記錄表( sanitation_record),安全記錄表( safe_record),用電記錄表( electricity),來訪人員表( visitor),管理員表( admin),紀(jì)律記錄表( discipline_record)。 d o rm _b u i l d i n gd _i dd _n a m ed _f l o o rsd _r o o m sd _w o rke rsd _s t u d e n t sd _p h o t o sd _d e sc ri p t i o ni n t e g e rva rch a r(2 0 )i n t e g e ri n t e g e ri n t e g e ri n t e g e rva rch a r(2 0 0 )va rch a r(5 0 0 ) p k 圖 321 dorm_building 圖 表 31 宿舍樓表( dorm_building) 編號 宿舍樓名稱 樓層總數(shù) 工作人員數(shù)量 房間總數(shù) 入住學(xué)生數(shù) 宿舍樓描述 1 1 號樓 7 15 140 1120 1 號宿舍樓 2 2 號 樓 7 15 140 1120 2 號宿舍樓 3 3 號樓 7 15 140 1120 3 號宿舍樓 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 12 樓層表( floors),包括編號、宿舍樓編號、樓層號碼、房間數(shù)、入住學(xué)生數(shù)、樓層描述等字段。 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 13 d o rmd _i df_i dd _n u m b e rd _b e d sd _i n _b e d sd _n o _b e d sd _p h o n ed _g o o d sd _f u l ld _d e sc ri p ti o nIN T E G E Ri n te g e rva rch a r(2 0 )i n te g e ri n te g e ri n te g e rva rch a r(3 0 )va rch a r(5 0 0 )b i tva rch a r(5 0 0 ) p k 圖 323 dorm 圖 表 33 宿舍表( dorm) 編號 樓層編號 房間號 床鋪數(shù) 入住數(shù) 空缺數(shù) 是否住滿 房間電話 1 1 101 8 1 7 0 045112345678 2 1 102 8 2 6 0 045112345679 學(xué)生表( students),包括編號、學(xué)號、姓名、性別、生日、年齡、院系、專業(yè)、照片、電話、家庭住址、輔導(dǎo)員及其電話、備注等字段。包括工作人員的工號、工作人員的姓名、年齡以以及生日,并且記載工作人員的崗位、所負(fù)責(zé)的樓層和工作的簡單描述。該表記錄每個(gè)學(xué)生的安全情況,詳細(xì)記載了某個(gè)寢室曾經(jīng)發(fā)生過的安全事件。該表可以詳細(xì)的記錄每個(gè)寢室的用電情況,包括起始時(shí)間到結(jié)束時(shí)間內(nèi)該寢室的用電數(shù),并且自動判斷該宿舍是否用電超標(biāo),并能自動提示自費(fèi)買電。該表記錄了各個(gè)寢室的紀(jì)律情況,詳細(xì)記載了某個(gè)寢室的違紀(jì)情況并加以簡單的備注。超級管理員具有本宿舍管理系統(tǒng)最高的權(quán)限,本用戶可以對宿舍的一切進(jìn)行管理,最重要的是該用戶可以分配其他用戶的管理權(quán)限。界面如圖 45所示: 圖 45 宿舍管理 這其中,可以對已經(jīng)存在的樓層進(jìn)行編輯,可以實(shí)現(xiàn)對樓層號碼、樓層房間總數(shù)、樓層入住學(xué)生數(shù)、樓層工作人員數(shù)進(jìn)行編輯。其操作界面如下48 所示: 圖 48 宿舍樓列表子模塊操作界面 學(xué)生管理模塊 該模塊包含添加學(xué)生、導(dǎo)入學(xué)生名單、學(xué)生列表三個(gè)子模塊,這些模塊的主要功能是對入住學(xué)生的錄入以及宿舍的分配,并且可以對這些信息進(jìn)行維護(hù)。操作界面如圖 414 所示: 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 27 圖 414 工作人員添加模塊界面 來訪人員管理模塊 該模塊包含增加來訪記錄功能、今日來訪記錄列表以及按來訪姓名查詢等功能。并且可以根據(jù)來訪人員姓名查詢該人員的歷史來訪記錄。其操作界面如圖 419 所示: 圖 419 添加管理員操作界面 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 30 第五章 系統(tǒng)測試 為了保證系統(tǒng)運(yùn)行的安全性、高效性,在經(jīng)過需求分析、設(shè)計(jì)和編碼等階段的開發(fā)后,需要對系統(tǒng)的源程序進(jìn)行測試,以找出并修正在各階段設(shè)計(jì)和開發(fā)的過程中的錯(cuò)誤和缺陷。在這個(gè)階段結(jié)束之后,對軟件系統(tǒng)還要進(jìn)行各種綜合測試,這是軟件生存期的另一個(gè)獨(dú)立的階段,即測試階段,通常由專門的測試人員承擔(dān)這項(xiàng)工作。檢查各功能模塊能否順利對接、各子功能模塊的組合是否能達(dá)到 預(yù)期要求的效果、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫是否存大缺陷。 大學(xué)生公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 31 大 學(xué)生公寓管理系統(tǒng)是一個(gè)落實(shí)國家有關(guān)規(guī)章制度、加強(qiáng)學(xué)生住宿管理、規(guī)范高校公寓日常工作、提高公寓管理效能的有效工具。 到目前為止,學(xué)生公寓管理系統(tǒng)基本開發(fā)完畢,軟件界面一般,運(yùn)行穩(wěn)定,功能基本符合需求。在 這方面還可以總結(jié)加強(qiáng)的! 通過這一次的畢業(yè)設(shè)計(jì)。 String loginName=().trim()。amp。 } }else{ toPage=。 toPage=。 Admin admin=(Admin)().getAttribute(admin)。 } 2. 宿舍管理實(shí)現(xiàn)代碼 /** * 列出所有宿舍樓 * param mapping * param form * param request * param response * return * throws Exception */ public ActionForward listDormBuildings(ActionMapping mapping , ActionForm form , HttpServletRequest request , HttpServletResponse response) throws Exception{