學(xué)生宿舍管理系統(tǒng)畢業(yè)設(shè)計(jì)論文1
《學(xué)生宿舍管理系統(tǒng)畢業(yè)設(shè)計(jì)論文1》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《學(xué)生宿舍管理系統(tǒng)畢業(yè)設(shè)計(jì)論文1(46頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、河北經(jīng)貿(mào)大學(xué)經(jīng)濟(jì)管理學(xué)院畢業(yè)論文河北經(jīng)貿(mào)大學(xué)經(jīng)濟(jì)管理學(xué)院畢業(yè)論文學(xué)生宿舍學(xué)生宿舍管理系統(tǒng)管理系統(tǒng)專(zhuān)業(yè)名稱(chēng):信息管理與信息系統(tǒng)班 級(jí): C 信管 09-1 班 學(xué)生姓名: 指導(dǎo)老師: 完成時(shí)間: 2013 年 5 月 I目錄目錄1 緒論.111 開(kāi)發(fā)背景與現(xiàn)狀 .112開(kāi)發(fā)設(shè)計(jì)的意義.12 開(kāi)發(fā)環(huán)境介紹.321 開(kāi)發(fā)工具 MYECLIPSE.322 數(shù)據(jù)庫(kù) MYSQL.32.2.1 MySQL 概述 .32.2.2 MySQL 的特性 .32.2.3 MySQL 的應(yīng)用 .43 系統(tǒng)需求分析.53.1 功能需求 .53.1.1 基本功能需求.53.1.2 總體功能模塊.63.2 性能需求 .73
2、.2.1 系統(tǒng)安全性 .73.2.2 數(shù)據(jù)庫(kù)選擇.73.2.3 系統(tǒng)穩(wěn)定性 .74 系統(tǒng)設(shè)計(jì).84.1 數(shù)據(jù)庫(kù)設(shè)計(jì) .84.1.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì).84.1.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì).114.2 模塊設(shè)計(jì) .134.2.1 用戶(hù)管理模塊.134.2.2 宿舍管理模塊.144.2.3 信息維護(hù)模塊.154.2.4 外來(lái)人員管理模塊.164.2.5 學(xué)生注冊(cè)模塊.195 系統(tǒng)的編碼與實(shí)現(xiàn).205.1 系統(tǒng)的實(shí)現(xiàn)平臺(tái) .205.1.1 系統(tǒng)環(huán)境.20 II5.1.2 后臺(tái)數(shù)據(jù)庫(kù)選擇及配置.205.2 系統(tǒng)功能模塊實(shí)現(xiàn).205.2.1 學(xué)生注冊(cè)模塊.225.2.2 宿舍衛(wèi)生管理.325.3 數(shù)據(jù)庫(kù)操
3、作的實(shí)現(xiàn) .355.4 系統(tǒng)測(cè)試 .385.4.1 系統(tǒng)測(cè)試的目的.385.4.2 系統(tǒng)的測(cè)試環(huán)境.38總 結(jié).40致 謝.41參 考 文 獻(xiàn).42 1學(xué)生宿舍管理系統(tǒng)畢業(yè)設(shè)計(jì)論文1 緒論11 開(kāi)發(fā)背景與現(xiàn)狀隨著時(shí)代的發(fā)展,計(jì)算機(jī)技術(shù)越來(lái)越深入各行各業(yè),為廣大的用戶(hù)提供了更為周到和便捷的服務(wù)。目前各行各業(yè)廣泛使用專(zhuān)用系統(tǒng),其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂(lè)、體育等各個(gè)領(lǐng)域,其用戶(hù)群十分龐大,因此,設(shè)計(jì)開(kāi)發(fā)好一個(gè)專(zhuān)用系統(tǒng)對(duì)一個(gè)機(jī)構(gòu)(或部門(mén))的發(fā)展十分重要。近年來(lái),隨著用戶(hù)要求的不斷提高及計(jì)算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫(kù)技術(shù)的廣泛應(yīng)用,向用戶(hù)提供的服務(wù)將越來(lái)越豐富,越
4、來(lái)越人性化。 對(duì)于學(xué)校而言,學(xué)生宿舍管理是必不可少的組成部分。目前仍然存在有學(xué)校停留在宿舍管理部門(mén)人員手工記錄數(shù)據(jù)的階段,手工記錄對(duì)于規(guī)模小的學(xué)校來(lái)說(shuō)勉強(qiáng)可以接受;但對(duì)于學(xué)生信息量比較龐大,需要記錄存檔的數(shù)據(jù)比較多的高校來(lái)說(shuō),人工記錄是相當(dāng)麻煩的,而且當(dāng)查找某條記錄時(shí),由于數(shù)據(jù)量龐大,只能依靠人工去一條一條地查找,這樣不但麻煩而且浪費(fèi)許多時(shí)間,工作效率比較低。采用計(jì)算機(jī)來(lái)管理宿舍和學(xué)生的信息,大大提高了查詢(xún)的速度,節(jié)約了人力和物力資源,達(dá)到了預(yù)期的要求。今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長(zhǎng)足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方面: 首先,計(jì)算機(jī)可以
5、代替人工進(jìn)行許多繁雜的勞動(dòng); 其次,計(jì)算機(jī)可以節(jié)省許多資源; 第三,計(jì)算機(jī)可以大大的提高人們的工作效率; 第四,計(jì)算機(jī)可以使敏感文檔更加安全,等等.12開(kāi)發(fā)設(shè)計(jì)的意義隨著高校辦學(xué)規(guī)模的擴(kuò)大,在校學(xué)生的學(xué)歷層次、思想狀態(tài)、文化水平呈多樣化、復(fù)雜化趨勢(shì),這在很大程度上給學(xué)生管理工作帶來(lái)許多新的 2問(wèn)題。隨著學(xué)生人數(shù)的增多,高校學(xué)生宿舍管理的信息量日益龐大,賬本化的工作模式獲取信息慢,查閱困難,準(zhǔn)確性差,很難適應(yīng)高水平。因此,如何為學(xué)生提供一個(gè)安全、整潔、舒適的生活和學(xué)習(xí)環(huán)境,如何應(yīng)用現(xiàn)代技術(shù)更科學(xué)、高效地對(duì)學(xué)生宿舍進(jìn)行管理是各宿舍管理工作者的目標(biāo)。 在傳統(tǒng)模式下利用人工進(jìn)行學(xué)生宿舍管理,存在著較多
6、的缺點(diǎn),如:效率底,保密性差,時(shí)間一長(zhǎng)將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護(hù)等。諸如這些情況,令學(xué)校管理者對(duì)學(xué)生的信息管理帶來(lái)了很大困難,嚴(yán)重影響了教育工作者的工作效率,針對(duì)這些情況,我們可使用日趨成熟的計(jì)算機(jī)技術(shù)來(lái)代替?zhèn)鹘y(tǒng)的人工模式, 來(lái)實(shí)現(xiàn)學(xué)生信息的現(xiàn)代化管理,這一技術(shù)具有手工管理所無(wú)法比擬的優(yōu)點(diǎn),如:檢索迅速,查找方便,可靠性高,存儲(chǔ)量大,保密性好,壽命長(zhǎng), 成本底等。 這些優(yōu)點(diǎn)能夠極大地提高學(xué)生信息管理的效率,使我們的學(xué)校在市場(chǎng)經(jīng)濟(jì)的發(fā)展過(guò)程 中具有一定的競(jìng)爭(zhēng)優(yōu)勢(shì),也是學(xué)校實(shí)現(xiàn)科學(xué)化,正規(guī)化,現(xiàn)代化的重要條件。實(shí)現(xiàn)了科學(xué)、統(tǒng)一管理,避免了人工操作產(chǎn)生的錯(cuò)誤,大大提高了工作效率
7、。為了實(shí)現(xiàn)提高高校宿舍管理部門(mén)的工作效率;充分利用資源;減少不必要的人力,物力和財(cái)力的支出;方便宿舍管理部門(mén)的工作人員全面地掌握學(xué)生住宿情況等目的;為宿舍管理部門(mén),開(kāi)發(fā)設(shè)計(jì)專(zhuān)用系統(tǒng)-學(xué)生宿舍信息管理系統(tǒng)來(lái)進(jìn)行管理學(xué)生宿舍信息,使學(xué)生宿舍信息實(shí)現(xiàn)標(biāo)準(zhǔn)化的管理和規(guī)范化的制度是十分要的。 32 開(kāi)發(fā)環(huán)境介紹21 開(kāi)發(fā)工具 MyEclipseMyEclipse 企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱(chēng)MyEclipse) 是對(duì) EclipseIDE 的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和 JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是
8、功能豐富的 JavaEE 集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,支持完整的 HTML,Struts,JSP, CSS,Javascript,Spring,SQL,Hibernate。 MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā) Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse 目前支持 Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC 數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse 幾乎
9、囊括了目前所有主流開(kāi)源產(chǎn)品的專(zhuān)屬 eclipse 開(kāi)發(fā)工具22 數(shù)據(jù)庫(kù) MySQL2.2.1 MySQL 概述 MySQL 是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典 MySQL AB 公司。目前 MySQL 被廣泛地應(yīng)用在 Internet 上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 MySQL 作為網(wǎng)站數(shù)據(jù)庫(kù)。2.2.2 MySQL 的特性1.使用 C 和 C+編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性 。2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell N
10、etware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多種操作系統(tǒng) 。3.為多種編程語(yǔ)言提供了 API。這些編程語(yǔ)言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby 和 Tcl 等。 44.支持多線(xiàn)程,充分利用 CPU 資源 。5.優(yōu)化的 SQL 查詢(xún)算法,有效地提高查詢(xún)速度 。6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶(hù)端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的 GB2312、BIG5,日文的 Shift_JIS 等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。7.提供 TCP/IP、ODBC 和 JD
11、BC 等多種數(shù)據(jù)庫(kù)連接途徑 。8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具 。9.可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。2.2.3 MySQL L 的應(yīng)用與其他的大型數(shù)據(jù)庫(kù)例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之處,如規(guī)模小、功能有限(MySQL 不支持視圖(已經(jīng)被列入 5.1 版的開(kāi)發(fā)計(jì)劃)、事件等)等,但是這絲毫也沒(méi)有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL 提供的功能已經(jīng)綽綽有余,而且由于 MySQL 是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。 53 系統(tǒng)需求分析學(xué)生宿舍管理是當(dāng)代學(xué)校中不可或缺的組成部分,在
12、信息化飛速發(fā)展的今天,它的出現(xiàn)已經(jīng)成了一種必然,本文將從宿舍管理系統(tǒng)的歷史和現(xiàn)狀進(jìn)行分析,以求證本系統(tǒng)的設(shè)計(jì)具有實(shí)際的意義,并得到它在未來(lái)的發(fā)展,從而跟上時(shí)代的腳步,做出一個(gè)高質(zhì)量的、安全性好的宿舍管理系統(tǒng),使其不僅能滿(mǎn)足學(xué)校現(xiàn)在的需要,也能滿(mǎn)足將來(lái)一段時(shí)間的需要。學(xué)生宿舍管理系統(tǒng)的開(kāi)發(fā)主要包括前臺(tái)用戶(hù)界面的開(kāi)發(fā)和后臺(tái)數(shù)據(jù)庫(kù)的開(kāi)發(fā),對(duì)于后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫(kù)。而對(duì)于前端應(yīng)用程序的開(kāi)發(fā)則要求應(yīng)用程序能提供強(qiáng)大的數(shù)據(jù)操縱功能,界面友好、使用簡(jiǎn)單方便等特點(diǎn)。本系統(tǒng)采用 java 作為前臺(tái)用戶(hù)界面的開(kāi)發(fā)語(yǔ)言,java 語(yǔ)言開(kāi)源而且穩(wěn)定,后臺(tái)的數(shù)據(jù)庫(kù)采
13、用 MySql。3.1 功能需求3.1.1 基本功能需求主要實(shí)現(xiàn)的是學(xué)生宿舍管理系統(tǒng),在設(shè)計(jì)該系統(tǒng)時(shí),應(yīng)盡可能的貼近用戶(hù),便于用戶(hù)操作。系統(tǒng)在實(shí)現(xiàn)上應(yīng)該具有如下功能:1. 系統(tǒng)要求宿管人員輸入正確的賬號(hào)和密碼才能進(jìn)入系統(tǒng)。 62. 系統(tǒng)提供學(xué)生注冊(cè),并上傳照片。3. 系統(tǒng)應(yīng)該提供學(xué)生的入住信息及學(xué)生注冊(cè)后的學(xué)生個(gè)人詳細(xì)信息4. 系統(tǒng)應(yīng)提供宿管員的信息查詢(xún)功能。5. 系統(tǒng)應(yīng)提供信息維護(hù)功能,對(duì)學(xué)生信息添加,修改,刪除。6. 新生可以自己根據(jù)學(xué)號(hào)在入學(xué)前查找自己所在的宿舍床位。7. 系統(tǒng)提供宿舍外來(lái)人員登記的功能。8. 系統(tǒng)提供記錄學(xué)生宿舍衛(wèi)生管理的功能,9. 系統(tǒng)提供宿舍設(shè)備管理功能。3.1.2
14、 總體功能模塊宿舍管理系統(tǒng)主要實(shí)現(xiàn)的功能有:宿管員登錄、學(xué)生注冊(cè)、治安管理、信息查詢(xún)、信息維護(hù)、宿舍設(shè)備管理、外來(lái)人員進(jìn)出登記管理等。宿舍管理統(tǒng)宿 舍管 理 宿 舍設(shè) 備管理外來(lái)人員管 理管 理人 員登 錄 衛(wèi) 生管 理添加新生查 詢(xún)宿 舍信 息查看學(xué)生查 詢(xún)宿 舍設(shè) 備修改設(shè)備按日期查詢(xún)按姓名查詢(xún)信息統(tǒng)計(jì)登錄和 退出錄 入 宿 舍 分 數(shù)評(píng) 選優(yōu) 秀宿 舍統(tǒng) 計(jì) 優(yōu) 秀 宿舍修 改學(xué) 生信 息對(duì)設(shè)備備注 7圖 3.1 總體功能模塊圖3.2 性能需求3.2.1 系統(tǒng)安全性對(duì)于系統(tǒng)為方便學(xué)校管理學(xué)生宿舍而開(kāi)發(fā),便于統(tǒng)一管理,對(duì)學(xué)生信息表進(jìn)行保護(hù),沒(méi)有登錄的人員不能直接訪(fǎng)問(wèn)學(xué)生信息表,用于保護(hù)學(xué)生
15、的信息。3.2.2 數(shù)據(jù)庫(kù)選擇 MySQL 是一個(gè)開(kāi)放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典 MySQL AB 公司。目前 MySQL 被廣泛地應(yīng)用在 Internet 上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),我選用了 MySql 作為數(shù)據(jù)庫(kù)開(kāi)發(fā)。3.2.3 系統(tǒng)穩(wěn)定性本系統(tǒng)采用 MVC 模式(Model View Controlle),使應(yīng)用程序,處理和輸出分開(kāi),他們各自處理自己的業(yè)務(wù),不應(yīng)一個(gè)部分的邏輯業(yè)務(wù)變動(dòng),而導(dǎo)致整體代碼的重寫(xiě)。本系統(tǒng)的代碼就是最典型的 JSP + servlet + javabean 的模式。 84 系統(tǒng)設(shè)計(jì)4.1 數(shù)據(jù)
16、庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指根據(jù)用戶(hù)的需求,在某一具體的數(shù)據(jù)庫(kù)管理系統(tǒng)上,設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)和建立數(shù)據(jù)庫(kù)的過(guò)程。 數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)庫(kù)及應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開(kāi)發(fā)和建議中的核心技術(shù)。由于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的復(fù)雜性,為了支持相關(guān)程序運(yùn)行,數(shù)據(jù)庫(kù)設(shè)計(jì)就變得異常復(fù)雜,因此最佳設(shè)計(jì)不可能一蹴而就,而只能是一種“反復(fù)探尋,逐步求精”的過(guò)程,也就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象以及這些數(shù)據(jù)對(duì)象之間關(guān)系的過(guò)程。4.1.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)從需求分析可以看出,本系統(tǒng)存在以下幾個(gè)實(shí)體:學(xué)生實(shí)體:用于顯示學(xué)生的屬性,包括學(xué)生學(xué)號(hào)、姓名、班級(jí)、性別、戶(hù)籍所在地、所在宿舍號(hào)、聯(lián)系方式。宿管
17、員實(shí)體:用于顯示宿管員的用戶(hù)名和密碼。學(xué)生上傳照片的實(shí)體:照片的 id、照片的名字、照片對(duì)應(yīng)學(xué)生的學(xué)號(hào)。導(dǎo)員實(shí)體:用于顯示導(dǎo)員的姓名、所帶班級(jí)和聯(lián)系方式。外來(lái)人員:用于顯示外來(lái)人員的姓名、身份證號(hào)、目的、來(lái)的時(shí)刻、走的時(shí)刻。E-R 模型設(shè)計(jì):根據(jù)實(shí)體設(shè)計(jì),可以得到各個(gè)實(shí)體 E-R 圖和部分子系統(tǒng) E-R 圖。(1)學(xué)生實(shí)體 E-R 圖如圖 4.1 所示。 9學(xué)生聯(lián)系電話(huà)班級(jí)籍貫性別姓名宿舍號(hào)學(xué)生 ID圖 4.1 學(xué)生實(shí)體 E-R 圖(2)宿管員實(shí)體 E-R 圖如圖 4.2 所示。宿管員密碼用戶(hù)名圖 4.2 宿管員實(shí)體 E-R 圖(3)照片實(shí)體 E-R 圖如圖 4.3 所示。照片名字學(xué)生 id照
18、片 ID圖 4.3 學(xué)生實(shí)體 E-R 圖 10(4)導(dǎo)員實(shí)體 E-R 圖如圖 4.4 所示。導(dǎo)員姓名所帶班級(jí)電話(huà)圖 4.4 導(dǎo)員實(shí)體 E-R 圖(5)外來(lái)人員實(shí)體 E-R 圖。外來(lái)人員離開(kāi)時(shí)間來(lái)時(shí)間姓名身份證號(hào)目的圖 4.5 外來(lái)人員實(shí)體 E-R 圖 11匯總后總體 E-R 模型圖:導(dǎo)員Id班級(jí)電話(huà)姓名管理學(xué)生學(xué)號(hào)姓名性別宿舍號(hào)電話(huà)戶(hù)籍輔導(dǎo)宿管員用戶(hù)名密碼管理宿舍宿舍號(hào)人數(shù)住宿管理設(shè)備名稱(chēng)數(shù)量使用外來(lái)人員姓名身份證號(hào)目的來(lái)時(shí)走時(shí)登記圖 4.6 總體 E-R 圖4.1.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)1. 學(xué)生信息表存儲(chǔ)了學(xué)生的基本信息。表 4.1 學(xué)生信息表字段名數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度是否為空條件KeyIDI
19、nt32NP_K姓名Char20Y 12姓名Char20Y班級(jí)Char2Y性別Char4Y戶(hù)籍Char100Y聯(lián)系方式Char11Y2.宿管員信息表存儲(chǔ)了宿管員的基本信息。表 4.2 宿管員信息表字段名數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度是否為空條件KeyIDint32NP_K用戶(hù)名Char50YUni密碼Char30Y3. 宿舍信息表存儲(chǔ)了學(xué)生上傳照片的基本信息。表 4.3 學(xué)生上傳照片表字段名數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度是否為空條件KeyIDint32NP_K名字Char50Y對(duì)應(yīng)學(xué)生的學(xué)號(hào)Char32Y4. 班主任表存儲(chǔ)了班主任的基本信息。表 4.4 班主任表字段名數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度是否為空條件Key班主任 IDInt3
20、2NP_K姓名Char20Y手機(jī)號(hào)Char11Y所帶班級(jí)Char50Y4. 外來(lái)人員登記表存儲(chǔ)了外來(lái)人員的基本信息。 13表 4.5 外來(lái)人員登記表字段名數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度是否為空條件KeyIDInt32NP_K姓名Varchar50Y省份證號(hào)varChar11Y目的varChar500Y日期DateY進(jìn)入時(shí)間DateY離開(kāi)時(shí)間DateY4.2 模塊設(shè)計(jì)宿舍管理系統(tǒng)作為學(xué)校內(nèi)部信息平臺(tái)的一部分,系統(tǒng)的用戶(hù)信息來(lái)源于內(nèi)部信息平臺(tái)。用戶(hù)在內(nèi)部信息平臺(tái)單點(diǎn)登錄,即可直接訪(fǎng)問(wèn)宿舍管理系統(tǒng)。系統(tǒng)數(shù)據(jù)庫(kù)與內(nèi)部信息平臺(tái)的后臺(tái)數(shù)據(jù)庫(kù)保持同步,當(dāng)內(nèi)部信息平臺(tái)的用戶(hù)信息修改后,即可同步信息到本系統(tǒng)數(shù)據(jù)庫(kù)。用戶(hù)在內(nèi)部
21、信息平臺(tái)成功登錄后,當(dāng)訪(fǎng)問(wèn)宿舍管理系統(tǒng)系統(tǒng)時(shí),內(nèi)部信息平臺(tái)將用戶(hù)名等信息傳給宿舍管理系統(tǒng),宿舍管理系統(tǒng)的接口模塊將傳過(guò)來(lái)的用戶(hù)信息進(jìn)行解析和初始化,得到系統(tǒng)的用戶(hù)認(rèn)證,從而是實(shí)現(xiàn)系統(tǒng)和內(nèi)部信息平臺(tái)的登錄。4.2.1 用戶(hù)管理模塊該模塊主要是為宿管員登錄設(shè)計(jì)的,在宿管員登錄后進(jìn)入后臺(tái)管理頁(yè)面,注銷(xiāo)用戶(hù)可以重新登錄。用戶(hù)管理流程圖如圖 4.7 所示: 14宿管員登陸后臺(tái)登錄管理登錄操作退出系統(tǒng)Error圖 4.7 用戶(hù)管理流程圖4.2.2 宿舍管理模塊該模塊主要實(shí)現(xiàn)房間管理,包括添加,修改,刪除。模塊圖如圖 4.8 所示: 15添加宿舍顯示添加宿舍輸入修改信息信息提交增加成功圖 4.8 學(xué)生信息修
22、改流程4.2.3 信息維護(hù)模塊該模塊實(shí)現(xiàn)的功能是修改學(xué)生的信息。首先查詢(xún)到要修改信息的學(xué)生,然后修改學(xué)生的聯(lián)系方式,所在班級(jí)等。流程圖如圖 4.8 所示: 16信息維護(hù)學(xué)生信息修改輸入學(xué)生信息確認(rèn)修改信息數(shù)據(jù)處理查詢(xún)結(jié)束取消失敗成功圖 4.9 信息維護(hù)流程4.2.4 外來(lái)人員管理模塊該模塊的功能是實(shí)現(xiàn)外來(lái)人員的登記和查詢(xún),將外來(lái)人員的信息保存到數(shù)據(jù)中。(1)外來(lái)人員登記流程 17姓名身份證號(hào)目的日期離開(kāi)時(shí)間來(lái)的時(shí)間外來(lái)人員登記管理登記外來(lái)人員 提交成功圖 4.10 外來(lái)人員登記流程 18(2)查詢(xún)外來(lái)人員信息按日期查詢(xún)按姓名查詢(xún)查詢(xún)外來(lái)人員姓名日期來(lái)的時(shí)間身份證號(hào)離開(kāi)時(shí)間目的返回查詢(xún)信息圖 4
23、.11 查詢(xún)外來(lái)人員流程 194.2.5 學(xué)生注冊(cè)模塊該模塊實(shí)現(xiàn)學(xué)生注冊(cè)功能。學(xué)生注冊(cè)學(xué)生信息修改輸入學(xué)生信息確認(rèn)上傳照片數(shù)據(jù)處理查詢(xún)數(shù)據(jù)庫(kù)結(jié)束取消失敗成功圖 4.12 學(xué)生注冊(cè)流程 205 系統(tǒng)的編碼與實(shí)現(xiàn)5.1 系統(tǒng)的實(shí)現(xiàn)平臺(tái)5.1.1 系統(tǒng)環(huán)境1、系統(tǒng)軟件環(huán)境(1)服務(wù)端 操作系統(tǒng):Microsoft Windows7數(shù)據(jù)庫(kù)系統(tǒng):MySQL5.5服務(wù)器:Tomcat5.0(2)客戶(hù)端操作系統(tǒng):適用于各種平臺(tái)開(kāi)發(fā)工具:MyEclipse,開(kāi)發(fā)語(yǔ)言:Java(3)開(kāi)發(fā)模式MVC 模式,數(shù)據(jù)層、控制層、界面分開(kāi),其中一個(gè)模塊邏輯業(yè)務(wù)的變動(dòng)不影響到其他層,通過(guò)控制層(ActionServlet)
24、,將頁(yè)面的信息保存到數(shù)據(jù)庫(kù),也可從數(shù)據(jù)庫(kù)查詢(xún)到的結(jié)果反饋到頁(yè)面,從而使系統(tǒng)穩(wěn)定、高效的運(yùn)行。2、系統(tǒng)硬件環(huán)境(1)服務(wù)端:CPU:酷睿四核,內(nèi)存 4G,硬盤(pán) 500G;(2)客戶(hù)端:Pentium 1.6GHz 以上 CPU,512MB 以上內(nèi)存;(3)網(wǎng)絡(luò)配置:百兆模式或以上。5.1.2 后臺(tái)數(shù)據(jù)庫(kù)選擇及配置本系統(tǒng)決定用 MySQL 數(shù)據(jù)庫(kù),原因有幾下幾點(diǎn): 21(1)MySQL 是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB 公司。在 2008 年 1 月 16 號(hào)被 Sun 公司收購(gòu)。而 2009 年,SUN 又被 Oracle 收購(gòu).目前 MySQL 被廣泛地應(yīng)用在 In
25、ternet 上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 MySQL 作為網(wǎng)站數(shù)據(jù)庫(kù)。(2)從自身特性來(lái)說(shuō):1.使用 C 和 C+編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。 2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多種操作系統(tǒng) 。3.為多種編程語(yǔ)言提供了 API。這些編程語(yǔ)言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等
26、。 4.支持多線(xiàn)程,充分利用 CPU 資源。 5.優(yōu)化的 SQL 查詢(xún)算法,有效地提高查詢(xún)速度。 6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶(hù)端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。 7.提供 TCP/IP、ODBC 和 JDBC 等多種數(shù)據(jù)庫(kù)連接途徑。 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。 9.可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。5.2系統(tǒng)功能模塊實(shí)現(xiàn) 22圖 5.1 宿舍管理系統(tǒng)主界面5.2.1 學(xué)生注冊(cè)模塊一、學(xué)生注冊(cè) 23圖 5.2 學(xué)
27、生注冊(cè)界面代碼部分學(xué)生注冊(cè)界面:regist.jsp1、 用到的工廠Factory2、 接口StudentDAO獲得方法:StudentDAO dao = (StudentDAO)Factory .getInstance(StudentDAO);3、 數(shù)據(jù)庫(kù)層的方法/通過(guò) id 查找學(xué)生是否注冊(cè)過(guò)public Student findById(int id)Connection conn=null;Student s=null;/Employee e=new Employee();try conn=DBUtil.getConnection();PreparedStatement prep=co
28、nn.prepareStatement(select * from t_student where id=?);prep.setInt(1,id);ResultSet rst=prep.executeQuery();if(rst.next()s=new Student();s.setAge(rst.getString(age);s.setId(rst.getInt(id);s.setName(rst.getString(name); s.setSalary(rst.getString(salary); s.setSex(rst.getString(sex); s.setPwd(rst.getS
29、tring(pwd); s.setPhone(rst.getString(phone); 24 catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();finallyDBUtil.close(conn);return s;/將沒(méi)有注冊(cè)過(guò)的學(xué)生信息保存到數(shù)據(jù)庫(kù)public void save(Student s)throws ExceptionConnection conn=null;tryconn=DBUtil.getConnection();PreparedStatement prep=conn.p
30、repareStatement(insert into t_student(id,name,salary,sex,age,pwd,phone) values(?,?,?,?,?,?,?);prep.setInt(1, s.getId();prep.setString(2, s.getName();prep.setString(3, s.getSalary();prep.setString(4,s.getSex();prep.setString(5, s.getAge();prep.setString(6, s.getPwd();prep.setString(7,s.getPhone();pre
31、p.executeUpdate();catch(Exception e1)e1.printStackTrace();finallyDBUtil.close(conn); 254、 控制層 ActionServletAction.equals(“/regist”)int id=Integer.parseInt(request.getParameter(id);StudentDAO dao = (StudentDAO)Factory .getInstance(StudentDAO);try Student s=dao.findById(id);if(s!=null)/學(xué)號(hào)已被注冊(cè)request.s
32、etAttribute(id_error, 學(xué)號(hào)已注冊(cè),不能再注冊(cè));request.getRequestDispatcher(regist.jsp).forward(request, response);else /將沒(méi)有注冊(cè)過(guò)的學(xué)生信息添加到數(shù)據(jù)庫(kù)s=new Student();s.setId(id);s.setName(request.getParameter(name);s.setSalary(request.getParameter(salary);s.setSex(request.getParameter(sex);s.setAge(request.getParameter(age
33、);s.setPwd(request.getParameter(pwd);s.setPhone(request.getParameter(phone);dao.save(s);/為用戶(hù)新建一個(gè)用來(lái)保存文件的文件加String path = getServletContext().getRealPath(upload);File file = new File(path + / + pic_ + id);if(!file.exists()file.mkdirs();HttpSession session = request.getSession(); 26session.setAttribute
34、(s, s);request.setAttribute(s,s);request.getRequestDispatcher(regsuccess.jsp).forward(request, response);/response.sendRedirect(regsuccess.jsp); catch (Exception e) e.printStackTrace();throw new ServletException(e);5.2.2 宿管員登錄圖 5.3 宿管員登錄界面代碼部分宿管員登錄:”/login”用到的接口1.userDAO 272.方法/通過(guò)宿管員的名字查找是否有該宿管員,才能進(jìn)
35、行身份驗(yàn)證并登錄,返回的是一個(gè) User 對(duì)象。public User findByUsername(String name) throws ExceptionUser user=new User();Connection conn=null;try conn=DBUtil.getConnection();PreparedStatement prep=conn.prepareStatement(select * from t_user where name=?);prep.setString(1, name);ResultSet rst=prep.executeQuery();if(rst.n
36、ext() user=new User();user.setId(rst.getInt(id);user.setPwd(rst.getString(pwd);user.setName(rst.getString(name);else return null; catch (Exception e) e.printStackTrace();finallyconn.close();return user;3.控制層的方法if(action.equals(/login)String name=request.getParameter(name);/獲得頁(yè)面的宿管員的用戶(hù)名 28String pwd=
37、request.getParameter(pwd);/獲得頁(yè)面的密碼UserDAO dao = (UserDAO)Factory .getInstance(UserDAO); try User user=dao.findByUsername(name);/調(diào)用數(shù)據(jù)庫(kù)的方法/檢查用戶(hù)名和密碼是否正確if(user!=null& user.getPwd().equals(pwd) HttpSession session=request.getSession(); session.setAttribute(user, user);EmployeeDAO dao1= (EmployeeDAO) Fac
38、tory.getInstance(EmployeeDAO) ; response.sendRedirect(second.jsp); else request.setAttribute(login_error, 用戶(hù)名或密碼錯(cuò)誤(*_*),請(qǐng)檢查你的用戶(hù)名和密碼); request.getRequestDispatcher(login.jsp).forward(request, response); catch (Exception e) e.printStackTrace();throw new ServletException(e);5.2.3 對(duì)學(xué)生的操作 29圖 5.4 操作界面代碼部
39、分宿舍界面:”/list”用到的接口StudentDAO 方法 public List findAll()throws Exception;/將所有學(xué)生的信息都查出來(lái)public Employee findById(int id)throws Exception;/通過(guò)學(xué)號(hào)查找學(xué)生的信息public void save(Employee e) throws Exception;/保存學(xué)生信息public void delete(int id)throws Exception;/通過(guò)學(xué)號(hào)刪除學(xué)生信息public void modify(Employee e)throws Exception;/修
40、改學(xué)生信息public int totalPages(int rowsPerPage) throws Exception;/計(jì)算總頁(yè)數(shù)public List findAll2(int page,int rowsPerPage) throws Exception; /分頁(yè) 30控制層if(action.equals(/list)/進(jìn)行 session 驗(yàn)證,看是否已登錄過(guò)HttpSession session=request.getSession();Object obj=session.getAttribute(user);if(obj=null)/如果沒(méi)有登錄,則跳到登錄頁(yè)面response
41、.sendRedirect(login.jsp);return;elseString pageStr = request.getParameter(page);if(pageStr = null)pageStr = 1;int page = Integer.parseInt(pageStr);request.setAttribute(page, page);EmployeeDAO dao=(EmployeeDAO) Factory.getInstance(EmployeeDAO);List employees;try employees = dao.findAll2(page,10);/獲得總
42、頁(yè)數(shù)int totalPages = dao.totalPages(10);request.setAttribute(totalPages, totalPages);request.setAttribute(employees,employees);RequestDispatcher rd=request.getRequestDispatcher(emplist.jsp);rd.forward(request, response); catch (Exception e) e.printStackTrace();throw new ServletException(e); 31 else if
43、(action.equals(/add)/從頁(yè)面去增加的學(xué)生的信息int id=Integer.parseInt(request.getParameter(id);String name=request.getParameter(name);String salary=request.getParameter(salary);String age=request.getParameter(age);String sex=request.getParameter(sex);/將學(xué)生信息保存到 employee 的對(duì)象 e 里Employee e=new Employee();e.setId(id
44、);e.setAge(age);e.setName(name);e.setSalary(salary);e.setSex(sex);/將學(xué)生信息保存到數(shù)據(jù)庫(kù)EmployeeDAO dao=(EmployeeDAO) Factory.getInstance(EmployeeDAO);try dao.save(e);response.sendRedirect(list.do); catch (Exception e1) e1.printStackTrace();throw new ServletException (e1); 325.2.4 外來(lái)人員登記 圖 5.5 外來(lái)人員登記界面代碼部分/查找
45、所有public List findAll()/返回所有外來(lái)人員的信息public List findByData(String data)/通過(guò)日期來(lái)查詢(xún)外來(lái)人員public List findByName(String name)/通過(guò)名字來(lái)查詢(xún)外來(lái)人員public void save(Dj dj)/保存外來(lái)人員系信息到數(shù)據(jù)庫(kù)中public void xiugai(Dj dj)/修改外來(lái)人員的信息 335.2.5 宿舍衛(wèi)生管理圖 5.6 宿舍衛(wèi)生界面代碼部分WsDAOpublic List findAll() /將所有宿舍衛(wèi)生情況查詢(xún)出來(lái)返回的是 list集合public List fin
46、dJx()/將學(xué)生宿舍的衛(wèi)生分?jǐn)?shù)排名Listwss=new ArrayList();Connection conn = null;try conn = DBUtil.getConnection();Statement stat = conn.createStatement();ResultSet rst = stat.executeQuery(select * from t_ws order by score desc);while (rst.next() 34Ws ws= new Ws();ws.setId(rst.getInt(id);ws.setSeh(rst.getString(seh
47、);ws.setScore(rst.getDouble(score);wss.add(ws); catch (Exception e) e.printStackTrace(); finally DBUtil.close(conn);return wss;public List findPy() /將評(píng)完分后的前三名優(yōu)秀宿舍評(píng)選出來(lái)public void gscore(Ws ws) throws Exception /修改宿舍衛(wèi)生分?jǐn)?shù)public List pwy()Listwys=new ArrayList();Connection conn=null;try conn=DBUtil.getC
48、onnection();PreparedStatement prep=conn.prepareStatement(/統(tǒng)計(jì)總分?jǐn)?shù)select id, seh,sum(score) sscore from t_wy group by seh order by sscore desc);ResultSet rst=prep.executeQuery();while(rst.next()Wy wy=new Wy();wy.setId(rst.getInt(id);wy.setSeh(rst.getString(seh);wy.setSscore(rst.getDouble(sscore);System
49、.out.println(wy.getScore();wys.add(wy); 35 catch (Exception e) e.printStackTrace();finallyDBUtil.close(conn);return wys;public List findPy() /衛(wèi)生評(píng)優(yōu)規(guī)則Listwss=new ArrayList();Connection conn = null;try conn = DBUtil.getConnection();Statement stat = conn.createStatement();ResultSet rst = stat.executeQue
50、ry(select * from t_ws order by score desc limit 3);/將分?jǐn)?shù)高的前三名的宿舍加入到衛(wèi)生優(yōu)秀表while (rst.next() Ws ws= new Ws();ws.setId(rst.getInt(id);ws.setSeh(rst.getString(seh);ws.setScore(rst.getDouble(score);wss.add(ws); catch (Exception e) e.printStackTrace(); finally DBUtil.close(conn);return wss; 365.2.6 宿舍設(shè)備管理圖
51、5.7 宿舍設(shè)備管理界面代碼部分/按宿舍號(hào)查找public Sb findBySeh(String seh)/修改設(shè)備信息public void xiugai(Sb sb)5.3 數(shù)據(jù)庫(kù)操作的實(shí)現(xiàn)在系統(tǒng)開(kāi)發(fā)過(guò)程中,因?yàn)橐嗵幱玫綄?duì)數(shù)據(jù)庫(kù)的操作,如果這些操作在每次用到時(shí)在每個(gè) Java 程序中去實(shí)現(xiàn),將非常繁瑣,因此,為了簡(jiǎn)化這些操作,在開(kāi)發(fā)時(shí)設(shè)計(jì)了一個(gè)連接數(shù)據(jù)庫(kù)的包 util,用來(lái)連接數(shù)據(jù)庫(kù)和關(guān)閉數(shù)據(jù)庫(kù)package util;import dao.impl.EmployeeDAOJdbcImpl;public class Factory public static Object getIns
52、tance(String interfaceName)Object obj = null;String className = 37ConfigUtil.getValue(interfaceName);try Class c = Class.forName(className);obj = c.newInstance(); catch (Exception e) e.printStackTrace();return obj;package util;import java.io.IOException;import java.io.InputStream;import java.util.Pr
53、operties;public class ConfigUtil private static Properties props=new Properties();staticInputStream ips=null;ClassLoader loader=ConfigUtil.class.getClassLoader();ips=loader.getResourceAsStream(util/config.properties);try props.load(ips); catch (IOException e) / TODO Auto-generated catch blocke.print
54、StackTrace();public static String getValue(String key)return props.getProperty(key);package util;import java.sql.Connection; 38import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil public static Connection getConnection() throws ExceptionConnection conn=null;try Class.forNam
55、e(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/sypddb? +useUnicode=true&characterEncoding=utf8,root,); catch (ClassNotFoundException e) e.printStackTrace();throw e;return conn;public static void close(Connection conn)if(conn!=null)try conn.close(); catch (SQLE
56、xception e) e.printStackTrace(); 395.4 系統(tǒng)測(cè)試5.4.1 系統(tǒng)測(cè)試的目的系統(tǒng)測(cè)試是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試,其目的是通過(guò)與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開(kāi)發(fā)的系統(tǒng)與用戶(hù)需求不符或矛盾的地方,從而提出更加完善的方案。它的任務(wù)是盡可能徹底地檢查出程序中的錯(cuò)誤,提高 軟件的可靠性,其目的是檢驗(yàn)系統(tǒng) “做得怎樣?”。這階段又可分為三個(gè)步驟: 模塊測(cè)試,測(cè)試每個(gè)模塊的程序是否有錯(cuò)誤;組裝測(cè)試,測(cè)試模塊之間的接口是否正確;確認(rèn)測(cè)試,測(cè)試整個(gè)軟件系統(tǒng)是否滿(mǎn)足用戶(hù)功能和性能的要求。該階段結(jié)束應(yīng)交付測(cè)試報(bào)
57、告,說(shuō)明測(cè)試數(shù)據(jù)的選擇, 測(cè)試用例以及測(cè)試結(jié)果是否符合預(yù)期結(jié)果。測(cè)試發(fā)現(xiàn)問(wèn)題之后要經(jīng)過(guò)調(diào)試找出錯(cuò)誤原因和位置,然后進(jìn)行改正。是基于系統(tǒng)整體需求說(shuō)明書(shū)的黑盒類(lèi)測(cè)試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿(mǎn)足了需求規(guī)格的定義,找出與需求規(guī)格不相符合或與之矛盾的地方。一個(gè)程序并不可能達(dá)到十分完美,難免存在一些錯(cuò)誤。如果不能及時(shí)將其找出并修改,會(huì)造成系統(tǒng)崩潰并造成不必要的損失。通過(guò)軟件測(cè)試,盡可能多的找出系統(tǒng)中的錯(cuò)誤,以便與及時(shí)修改。宿舍管理系統(tǒng)是對(duì)學(xué)生宿舍進(jìn)行管理的系統(tǒng),一旦系統(tǒng)無(wú)法運(yùn)行,對(duì)學(xué)校的宿舍管理帶來(lái)很多的影響。所以通過(guò)軟件測(cè)試的手段,盡可能排除程
58、序中的錯(cuò)誤,已達(dá)到程序運(yùn)行穩(wěn)定的目的,使學(xué)校的工作不會(huì)因此受到影響。5.4.2 系統(tǒng)的測(cè)試環(huán)境1.系統(tǒng)測(cè)試的性能要求系統(tǒng)的性能要求通常指系統(tǒng)需要的存儲(chǔ)容量以及后援存儲(chǔ),重新啟動(dòng)和安全性,運(yùn)行效率等方面的考慮。 本系統(tǒng)運(yùn)行環(huán)境為網(wǎng)絡(luò)版,在運(yùn)行時(shí)對(duì)系統(tǒng)整體性能要有一定的要求,要求:軟硬件要求:winXp 和 win7+MySQL+Myeclipse硬件系統(tǒng)環(huán)境 P4 2.4、512MB 內(nèi)存、80G 硬盤(pán) 40系統(tǒng)運(yùn)行時(shí)對(duì)數(shù)據(jù)的保密性要求不高對(duì)一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對(duì)其它軟件幾乎沒(méi)有依賴(lài)性,程序健壯性較好。 2.測(cè)試數(shù)據(jù)(1)信息輸入選擇幾組數(shù)據(jù)進(jìn)行添加 修改 刪除 等操作 實(shí)現(xiàn)其基本功
59、能。 (2) 信息查詢(xún)信息輸入后,通過(guò)信息查詢(xún),查看結(jié)果是否和設(shè)計(jì)時(shí)數(shù)據(jù)一致,以確認(rèn)數(shù)據(jù)的正確性。, (3) 信息的刪除,通過(guò)對(duì)信息的刪除,然后進(jìn)行信息查詢(xún),驗(yàn)證信息是否已經(jīng)成功刪除。 41總 結(jié)在一個(gè)軟件開(kāi)發(fā)過(guò)程中,我覺(jué)得最重要的是需求分析,軟件是給客戶(hù)來(lái)使用的,所以客戶(hù)就是上帝,如何合理有效地跟客戶(hù)進(jìn)行溝通,然后把需求與軟件結(jié)合起來(lái),最終形成一個(gè)確定的需求文檔,這是最重要的。這次的設(shè)計(jì)就在需求方面吃了很大的虧,剛開(kāi)始由于需求做的不是很細(xì),第一,內(nèi)容開(kāi)始的時(shí)候太匱乏,功能點(diǎn)太模棱兩可,不夠詳細(xì),規(guī)定的不夠具體,沒(méi)有明確要求,從而導(dǎo)致大幅度的修改過(guò)一次需求分析,第二,項(xiàng)目的時(shí)間安排沒(méi)有考慮到很
60、周全,測(cè)試的時(shí)候估計(jì)是因?yàn)榫唧w實(shí)現(xiàn)代碼的時(shí)候,返工以及磨合的需求太大,導(dǎo)致測(cè)試停滯斷時(shí)間,從而把后期修改 BUG 的時(shí)間占用了一些,差點(diǎn)來(lái)不及。第三,想做的功能太多,導(dǎo)致后期拋了幾個(gè)功能點(diǎn)不做,這也同時(shí)是需求分析以及時(shí)間安排的不合理問(wèn)題。最終到了后期才發(fā)現(xiàn)這些問(wèn)題,導(dǎo)致了很多功能都要重新寫(xiě),花費(fèi)了很大的功夫,這是這次項(xiàng)目感觸最大的,也是收獲最多的。在這次的畢業(yè)設(shè)計(jì)的過(guò)程中,更加深入了解了對(duì)分層設(shè)計(jì)思想的認(rèn)識(shí)。從一開(kāi)始的 Dao 層到業(yè)務(wù)邏輯層,然后通過(guò)監(jiān)聽(tīng)器連接到界面上,最終成為一個(gè)滿(mǎn)足需求的軟件,這就是 MVC 開(kāi)發(fā)模式。雖然一開(kāi)始感覺(jué)到分層很復(fù)雜,但是做了幾個(gè)類(lèi)后,逐漸有了思路,也進(jìn)一步加
61、深了對(duì)java 面向?qū)ο蟾拍畹恼J(rèn)識(shí)。在這次項(xiàng)目中,我體會(huì)并感受到了一個(gè)項(xiàng)目開(kāi)發(fā)的流程,除了在技術(shù)上有一定的提高以外,更重要的是形成了分層的思想與面向?qū)ο蟮乃枷???粗龀龅漠a(chǎn)品,感受到了這幾個(gè)月來(lái)所付出的一切都是值得的! 42致 謝到目前為止,學(xué)生宿舍管理軟件基本開(kāi)發(fā)完畢,軟件運(yùn)行穩(wěn)定,運(yùn)行時(shí)間短,執(zhí)行功能強(qiáng),其功能基本符合用戶(hù)需求。能夠完成對(duì)學(xué)生宿舍基本資料的存儲(chǔ)和查詢(xún),可以使用查找、修改、添加和刪除對(duì)學(xué)生公寓管理軟件的操作等。 由于本人知識(shí)有限,又缺乏經(jīng)驗(yàn),必定有很多不足和不周之處,希望各位老師給予指導(dǎo),本人將繼續(xù)完善修改,使此系統(tǒng)能更好地發(fā)揮性能。在此我要特別感謝我的導(dǎo)師給我的指點(diǎn)和幫助,
62、與此同時(shí)我還要感謝所有給我鼓勵(lì)和幫助的同學(xué),使我圓滿(mǎn)的完成了畢業(yè)設(shè)計(jì)。衷心的祝愿老師同學(xué)工作順利、學(xué)業(yè)有成。 43參 考 文 獻(xiàn)l 張劍平,學(xué)校管理信息系統(tǒng)中國(guó)鐵道出版社,19972葉達(dá)峰,Eclipse 編程技術(shù)與實(shí)例思維科技編著 人民郵電出版社 06 年出版 3趙增敏,ASP 動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)電子工業(yè)出版社,20034劉乃麗,精通 Java EE 項(xiàng)目案例人民郵電出版社,20115 張孝祥深入體驗(yàn) Java Web 開(kāi)發(fā)內(nèi)幕電子工業(yè)出版社,2006 6 丁振凡,Java 語(yǔ)言實(shí)用教程北京郵電大學(xué)出版社,2008 7孫鑫,Servlet/JSP 深入詳解電子工業(yè)出版社,2012 8孫衛(wèi)琴,李洪稱(chēng)
63、,Tomcat 與 Java Web 開(kāi)發(fā)技術(shù)詳解電子工業(yè)出版社,2008 9Java 核心技術(shù) 卷機(jī)械工業(yè)出版社,2008 10mysql 核心技術(shù)手冊(cè) 機(jī)械工業(yè)出版社,2009 11Java 編程思想 機(jī)械工業(yè)出版社,200813 楊志茹,溫沿書(shū)編著,Java 入門(mén)與實(shí)戰(zhàn)教程。人民郵電出版社,201014 David M Geary.Graphic Java 2 Mastering the JFC Volume 2:Swing (3rd Edition)M.Prentice Hall/Pearson,2000.15 Joshua Marinacci,Chris Adamson.SWING HACKSM.Oreilly,2007.16 James Elliott.Java Swing(Second Edition)M. OReilly & Associates,2002.12.
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雅馬哈ts-x_ts-s使用說(shuō)明課件
- 多元函數(shù)的微積分
- 商業(yè)保險(xiǎn)與社會(huì)保險(xiǎn)的區(qū)別
- HL-X6280終端培訓(xùn)手冊(cè)
- 汽車(chē)電路原理
- 通信網(wǎng)絡(luò)演進(jìn)及LTE關(guān)鍵技術(shù)教材
- 借助展業(yè)夾提升平安福簽單率廣東葉華東終稿[1]課件
- (精品)珠江國(guó)際城代管人員2
- 零售-7-11經(jīng)營(yíng)模式分析
- 電子病歷簡(jiǎn)介及門(mén)診醫(yī)生工作站[1]課件
- 食管癌術(shù)后早期營(yíng)養(yǎng)支持相關(guān)研究
- LHQ電纜層保護(hù)器相關(guān)型號(hào)列表參數(shù)
- 大腦前動(dòng)脈動(dòng)脈瘤用
- 甲真菌病各藥物特點(diǎn)教學(xué)課件
- 滑輪組機(jī)械效率