2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  2014屆畢業(yè)生</b></p><p><b>  畢業(yè)論文</b></p><p>  題 目: 學生宿舍管理系統(tǒng) </p><p>  院系名稱: &

2、lt;/p><p>  專業(yè)班級: </p><p>  學生姓名: 學 號: </p><p>  指導教師: 教師職稱: </p><p

3、>  2011年 6 月 3 日</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 開發(fā)背景與現(xiàn)狀1</p><p>  1.2 開發(fā)設(shè)計的意義2</p><p>  2 開發(fā)

4、環(huán)境介紹4</p><p>  2.1 開發(fā)工具 Eclipse4</p><p>  2.2 數(shù)據(jù)庫 MySQL4</p><p>  2.2.1 MySQL概述4</p><p>  2.2.2 MySQL的特性5</p><p>  2.2.3 MySQL的應用5</p>&l

5、t;p>  3 系統(tǒng)需求分析6</p><p>  3.1 功能需求6</p><p>  3.1.1 基本功能需求6</p><p>  3.1.2 功能模塊6</p><p>  3.2 性能需求7</p><p>  3.2.1 系統(tǒng)安全性7</p><p>

6、  3.2.2 數(shù)據(jù)庫選擇7</p><p><b>  4 系統(tǒng)設(shè)計8</b></p><p>  4.1 數(shù)據(jù)庫設(shè)計8</p><p>  4.1.1 物理設(shè)計8</p><p>  4.1.2 E-R模型設(shè)計8</p><p>  4.1.3 表/字段及表間關(guān)系設(shè)計1

7、0</p><p>  4.2 模塊設(shè)計11</p><p>  4.2.1 用戶管理模塊11</p><p>  4.2.2 房間管理模塊13</p><p>  4.2.3 信息維護模塊14</p><p>  5 系統(tǒng)的編碼與實現(xiàn)15</p><p>  5.1 系統(tǒng)

8、的實現(xiàn)平臺15</p><p>  5.1.1 系統(tǒng)環(huán)境15</p><p>  5.1.2 后臺數(shù)據(jù)庫選擇及配置15</p><p>  5.2 子系統(tǒng)功能模塊的實現(xiàn)16</p><p>  5.2.1 房間管理模塊16</p><p>  5.2.2 宿舍管理模塊20</p>&

9、lt;p>  5.2.3 信息查詢模塊23</p><p>  5.2.4 信息維護模塊25</p><p>  5.2.5 系統(tǒng)管理模塊26</p><p>  5.3 數(shù)據(jù)庫操作的實現(xiàn)28</p><p>  5.4 系統(tǒng)測試29</p><p>  5.4.1 系統(tǒng)測試的目的29&l

10、t;/p><p>  5.4.2 系統(tǒng)的測試環(huán)境30</p><p><b>  總 結(jié)31</b></p><p><b>  致 謝32</b></p><p>  參 考 文 獻33</p><p><b>  1 緒論 </b><

11、/p><p>  1.1 開發(fā)背景與現(xiàn)狀</p><p>  當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。</p><p>  尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理

12、與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了更好管理學生宿舍信息而設(shè)計的。</p><p>  學生宿舍寢室作為學生休息的地方,有許多信息需要處理和管理。現(xiàn)今,有很多學生宿舍都是初步開如使用,甚至尚未使用計算機進行信息處理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于男女生信宿信息都是用人工手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容

13、易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境</p><p>  數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改?;谶@此問題,我認為有必要建立一個學生宿舍管理系統(tǒng),使宿舍管理工作規(guī)范化,系統(tǒng)化,程序化,避免宿舍管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改宿舍情況。</p><p>  國內(nèi)外研究現(xiàn)狀和發(fā)

14、展趨勢綜述:在傳統(tǒng)模式下利用人工進行學生宿舍管理,存在著較多的缺點,如:效率底,保密性差,時間一長將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護等。諸如這些情況,令學校管理者對學生的信息管理帶來了很大困難,嚴重影響了教育工作者的工作效率,針對這些情況,我們可使用日趨成熟的計算機技術(shù)來代替?zhèn)鹘y(tǒng)的人工模式, 來實現(xiàn)學生信息的現(xiàn)代化管理,這一技術(shù)具有手 工管理所無法比擬的優(yōu)點,如:檢索迅速,查找方便,可靠性高,存儲量大,保密性好,壽命長,

15、成本底等。 這些優(yōu)點能夠極大地提高學生信息管理的效率,使我們的學校在市場經(jīng)濟的發(fā)展過程 中具有一定的競爭優(yōu)勢,也是學校實現(xiàn)科學化,正規(guī)化,現(xiàn)代化的重要條件。實現(xiàn)了科學、統(tǒng)一管理,避免了人工操作產(chǎn)生的錯誤,大大提高了工作效率。 隨著計算機科學的迅速發(fā)展,計算機應用領(lǐng)域的不斷擴大,許多性能好,功能齊全,應用面廣,兼容性強的應用軟件相應推出,可見計算機已經(jīng)得到了廣泛的應用, 幾乎各行各業(yè)都有關(guān)于計算 機的使用, 這使得計算機已成為社會中普遍存

16、在的事物。 </p><p>  由于計算機的使用, 使得人們在于管理、應用及服務等各個領(lǐng)域使用數(shù)據(jù)方面變得更加簡潔,更加方便,大大提高了工作效率,產(chǎn)生了以計算機為主體,以人為輔助的局面。在企業(yè)管理,辦公自動化等方面得到了普遍應用,受到用戶 的廣泛歡迎。 學生宿舍管理系統(tǒng)對于一個學校來說是必不可少的組成部分。</p><p>  目前好多學校還停留在宿舍管理人員手工記錄數(shù)據(jù)的最初階段, 手

17、工記錄對于規(guī)模小的學校來說還勉強可以接受,但對于學生信息量比較龐大,需要記錄存檔的數(shù)據(jù)比較多的高校來說,人工記錄是相當麻煩的。當查找某條記錄時,由于數(shù)據(jù)量龐大,還只能靠人工去一條條的查找,這樣不但麻煩還浪費了許多時間,效率也比較低。當今社 會是飛速進步的世界,原始的記錄方式已經(jīng)被社會所淘汰了,計算機化管理正是適應時代的產(chǎn)物。信息世界永遠不會是一個平靜的世界,當一種技術(shù)不能滿足需 求時,就會有新的技術(shù)誕生并取代舊技術(shù)。隨著計算機的普及,使

18、用微機管理學生宿舍,將會被越來越多的學校采納,學生宿舍管理系統(tǒng)將會得到越來越普遍的 應用。</p><p>  1.2 開發(fā)設(shè)計的意義</p><p>  隨著高校辦學規(guī)模的擴大,在校學生的學歷層次、思想狀態(tài)、文化水平呈多樣化、復雜化趨勢,這在很大程度上給學生管理工作帶來許多新的問題。隨著學生人數(shù)的增多,高校學生宿舍管理的信息量日益龐大,賬本化的工作模式獲取信息慢,查閱困難,準確性差,很

19、難適應高水平。因此,如何為學生提供一個安全、整潔、舒適的生活和學習環(huán)境,如何應用現(xiàn)代技術(shù)更科學、高效地對學生宿 舍進行管理是各宿舍管理工作者的目標。 </p><p>  在傳統(tǒng)模式下利用人工進行學生宿舍管理,存在著較多的缺點,如:效率底,保密性差,時間一長將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護等。諸如這些情況,令學校管理者對學生的信息管理帶來了很大困難,嚴重影響了教育工作者的工作效率,針對這些情況,我

20、們可使用 日趨成熟的計算機技術(shù)來代替?zhèn)鹘y(tǒng)的人工模式, 來實現(xiàn)學生信息的現(xiàn)代化管理,這一技術(shù)具有手 工管理所無法比擬的優(yōu)點,如:檢索迅速,查找方便,可靠性高,存儲量大,保密性好,壽命長, 成本底等。 這些優(yōu)點能夠極大地提高學生信息管理的效率,使我們的學校在市場經(jīng)濟的發(fā)展過程 中具有一定的競爭優(yōu)勢,也是學校實現(xiàn)科學化,正規(guī)化,現(xiàn)代化的重要條件。實現(xiàn)了科學、統(tǒng)一管理,避免了人工操作產(chǎn)生的錯誤,大大提高了工作效率。</p><

21、;p>  為了實現(xiàn)提高高校宿舍管理部門的工作效率;充分利用資源;減少不必要的人力,物力和財力的支出;方便宿舍管理部門的工作人員全面地掌握學生住宿情況等目的;為宿舍管理部門,開發(fā)設(shè)計專用系統(tǒng)--高校學生宿舍信息管理系統(tǒng)來進行管理學生宿舍信息,使學生宿舍信息實現(xiàn)標準化的管理和規(guī)范化的制度是十分必要的。專用系統(tǒng)是一個信息管理系統(tǒng)MIS(Management Information System)(以下就稱信息管理系統(tǒng)),它將實現(xiàn)檢索迅速

22、和查找方便;信息的錄入,修改和刪除功能;以及對新入校學生進行宿舍安排等功能。</p><p><b>  2 開發(fā)環(huán)境介紹</b></p><p>  2.1 開發(fā)工具 Eclipse</p><p>  Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)

23、境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。 </p><p>  Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如C++和Python的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相

24、對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。</p><p>  基于Eclipse的應用程序的突出例子是IBM的WebSphere Studio Workbench,它構(gòu)成了 IBM Java 開發(fā)工具系列的基礎(chǔ)。例如,WebSphere Studio Application Developer 添加了對 JSP、servlet、EJB、XML、Web 服務和數(shù)據(jù)庫

25、訪問的支持。</p><p>  Eclipse是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由Eclipse項目、Eclipse工具項目和Eclipse技術(shù)項目三個項目組成,具體包括四個部分組成——Eclipse 、Platform、JDT、CDT和PDE.JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platfor

26、m則是一個開放的可擴展IDE,提供了一個通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結(jié)束,而另一個工具功能在哪里開始。</p><p>  2.2 數(shù)據(jù)庫 MySQL</p><p>  2.2.1 MySQL概述 </p><p>

27、  MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p>  2.2.2 MySQL的特性</p><p>  1.使用C和C++編寫,并使用了多種編譯器

28、進行測試,保證源代碼的可移植性 。</p><p>  2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 。</p><p>  3.為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tc

29、l等。 </p><p>  4.支持多線程,充分利用CPU資源 。</p><p>  5.優(yōu)化的SQL查詢算法,有效地提高查詢速度 。</p><p>  6.既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)

30、列名。</p><p>  7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑 。</p><p>  8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具 。</p><p>  9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。</p><p>  2.2.3 MySQL的應用</p><p>  與其他的大型數(shù)

31、據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL不支持視圖(已經(jīng)被列入5.1版的開發(fā)計劃)、事件等)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。</p><p><b>  3 系統(tǒng)需求分析</b&

32、gt;</p><p>  學生宿舍管理是當代學校中不可或缺的組成部分,在信息化飛速發(fā)展的今天,它的出現(xiàn)已經(jīng)成了一種必然,本文將從宿舍管理系統(tǒng)的歷史和現(xiàn)狀進行分析,以求證本系統(tǒng)的設(shè)計具有實際的意義,并得到它在未來的發(fā)展,從而跟上時代的腳步,做出一個高質(zhì)量的、安全性好的宿舍管理系統(tǒng),使其不僅能滿足學?,F(xiàn)在的需要,也能滿足將來一段時間的需要。</p><p>  學生宿舍管理系統(tǒng)的開發(fā)主要包括

33、前臺用戶界面的開發(fā)和后臺數(shù)據(jù)庫的開發(fā),對于后臺數(shù)據(jù)庫的建立和維護要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的數(shù)據(jù)庫。而對于前端應用程序的開發(fā)則要求應用程序能提供強大的數(shù)據(jù)操縱功能,界面友好、使用簡單方便等特點。本系統(tǒng)采用java作為前臺用戶界面的開發(fā)語言,而后臺的數(shù)據(jù)庫采用MySql。</p><p><b>  3.1 功能需求</b></p><p>  3.

34、1.1 基本功能需求</p><p>  主要實現(xiàn)的是學生宿舍管理系統(tǒng),在設(shè)計該系統(tǒng)時,應盡可能的貼近用戶,便于用戶操作。系統(tǒng)在實現(xiàn)上應該具有如下功能:</p><p>  系統(tǒng)要求用戶輸入正確的賬號和密碼才能進入系統(tǒng)。</p><p>  系統(tǒng)提供普通用戶管理權(quán)限,能根據(jù)實施情況,增加或者刪除多余房間,同時根據(jù)現(xiàn)有情況預估房間的需求量。</p>&l

35、t;p>  系統(tǒng)應該提供學生的入住信息的錄入,轉(zhuǎn)換宿舍以及退宿舍的信息登記。</p><p>  系統(tǒng)應提供普通用戶的信息查詢功能(按多種方式查詢)及統(tǒng)計功能。</p><p>  系統(tǒng)應提供信息維護功能,對學生信息修改,刪除。</p><p>  系統(tǒng)應提供超級管理員增加、刪除用戶賬戶的功能。</p><p>  3.1.2 功能模塊

36、</p><p>  宿舍管理系統(tǒng)主要實現(xiàn)的功能有:房間管理、宿舍管理、信息查詢、信息維護等。</p><p>  功能模塊圖如圖3.1所示:</p><p>  圖3.1 宿舍管理系統(tǒng)模塊圖</p><p><b>  3.2 性能需求</b></p><p>  3.2.1系統(tǒng)安全性<

37、;/p><p>  對于系統(tǒng)為方便學校管理學生宿舍而開發(fā),便于統(tǒng)一管理,設(shè)一個超級用戶,及幾個普通用戶(便于輸入相關(guān)信息)。在登錄時,使用用戶驗證控件,來確認用戶是否為合法用戶,以保證信息安全。</p><p>  3.2.2 數(shù)據(jù)庫選擇 </p><p>  由于用到的數(shù)據(jù)表格多,另外考慮到實際情況,學生基本信息的變動,還有員工信息的多少的變化,我選用MySql 作為

38、數(shù)據(jù)庫開發(fā)。</p><p><b>  4 系統(tǒng)設(shè)計</b></p><p>  4.1 數(shù)據(jù)庫設(shè)計</p><p>  數(shù)據(jù)庫設(shè)計(Database Design)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)上,設(shè)計數(shù)據(jù)庫的結(jié)構(gòu)和建立數(shù)據(jù)庫的過程。 </p><p>  數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及應用系統(tǒng)的技術(shù),

39、是信息系統(tǒng)開發(fā)和建議中的核心技術(shù)。由于數(shù)據(jù)庫應用系統(tǒng)的復雜性,為了支持相關(guān)程序運行,數(shù)據(jù)庫設(shè)計就變得異常復雜,因此最佳設(shè)計不可能一蹴而就,而只能是一種“反復探尋,逐步求精”的過程,也就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫中的數(shù)據(jù)對象以及這些數(shù)據(jù)對象之間關(guān)系的過程。</p><p>  4.1.1 物理設(shè)計</p><p>  從需求分析可以看出,本系統(tǒng)存在以下幾個實體:</p><p&

40、gt;  學生實體:用于顯示學生的屬性,包括學生姓名、學生性別、學號、聯(lián)系方式、宿舍編號、入住日期等</p><p>  班級實體:用于顯示班級的屬性,包括班級編號、班級名稱、班主任等</p><p>  宿舍實體:用于顯示宿舍的信息,包括房間ID、入住性別、應住人數(shù)、實住人數(shù)等</p><p>  用戶實體:登錄用戶的信息,包括用戶名、密碼和用戶權(quán)限</p&

41、gt;<p>  4.1.2 E-R模型設(shè)計</p><p>  根據(jù)實體設(shè)計,可以得到各個實體E-R圖和部分子系統(tǒng)E-R圖。</p><p> ?。?)學生實體E-R圖如圖4.1所示。</p><p>  圖4.1 學生實體E-R圖</p><p> ?。?)班級實體E-R圖如圖4.2所示。</p><

42、p>  圖4.2 班級實體E-R圖</p><p> ?。?)宿舍實體E-R圖如圖4.3所示。</p><p>  圖4.3 宿舍實體E-R圖</p><p>  (4)用戶實體E-R圖如圖4.4所示。</p><p>  圖4.4 用戶實體E-R圖</p><p>  4.1.3 表/字段及表間關(guān)系設(shè)計

43、</p><p><b>  1. 學生信息表</b></p><p>  存儲了學生的基本信息。</p><p>  表4.1 學生信息表</p><p><b>  2.班級信息表</b></p><p>  存儲了班級的基本信息。</p><p&g

44、t;  表4.2 班級信息表</p><p><b>  3. 宿舍信息表</b></p><p>  存儲了宿舍的基本信息。</p><p>  表4.3 宿舍信息表</p><p><b>  4. 用戶信息表</b></p><p><b>  存儲了用戶

45、的類型。</b></p><p>  表4.4 用戶信息表</p><p><b>  5. 班主任表</b></p><p>  存儲了班主任的基本信息。</p><p>  表4.5 班主任表</p><p><b>  4.2 模塊設(shè)計</b><

46、/p><p>  宿舍管理系統(tǒng)作為公司內(nèi)部信息平臺的一部分,系統(tǒng)的用戶信息來源于內(nèi)部信息平臺。用戶在內(nèi)部信息平臺單點登錄,即可直接訪問宿舍管理系統(tǒng)。系統(tǒng)數(shù)據(jù)庫與內(nèi)部信息平臺的后臺數(shù)據(jù)庫保持同步,當內(nèi)部信息平臺的用戶信息修改后,即可同步信息到本系統(tǒng)數(shù)據(jù)庫。</p><p>  用戶在內(nèi)部信息平臺成功登錄后,當訪問宿舍管理系統(tǒng)系統(tǒng)時,內(nèi)部信息平臺將用戶名等信息傳給宿舍管理系統(tǒng),宿舍管理系統(tǒng)的接口模

47、塊將傳過來的用戶信息進行解析和初始化,得到系統(tǒng)的用戶認證和用戶角色及權(quán)限等信息,從而是實現(xiàn)系統(tǒng)和內(nèi)部信息平臺的登錄。</p><p>  4.2.1 用戶管理模塊</p><p>  該模塊主要是為管理員登錄設(shè)計的,在用戶登錄后進入后臺管理頁面,如果是普通用戶只可以查看一些信息不能修改密碼和增加用戶,注銷用戶可以重新登錄。超級用戶可以修改普通用戶密碼,增加用戶,這是超級用戶和普通用戶的

48、區(qū)別。</p><p>  用戶管理流程圖如圖4.5所示:</p><p>  圖 4.5 用戶管理流程圖</p><p>  4.2.2 房間管理模塊</p><p>  該模塊主要實現(xiàn)房間管理,包括房間錄入,修改,刪除和房間預測。</p><p>  模塊圖如圖4.6所示:</p><p

49、>  圖 4.6 房間管理模塊</p><p>  房間修改功能是修改入住人數(shù),在入住性別已定的情況下,可以改變?nèi)胱∪藬?shù)。增加或去除床位以改變?nèi)胱∪藬?shù)。房間修改功能如圖4.7所示:</p><p>  圖 4.7 房間修改流程</p><p>  4.2.3 信息維護模塊</p><p>  該模塊實現(xiàn)的功能是修改學生的信息

50、。首先查詢到要修改信息的學生,然后修改學生的聯(lián)系方式,所在班級等。流程圖如圖4.8所示:</p><p>  圖 4.8 信息維護流程</p><p>  5 系統(tǒng)的編碼與實現(xiàn)</p><p>  5.1 系統(tǒng)的實現(xiàn)平臺</p><p>  5.1.1 系統(tǒng)環(huán)境</p><p><b>  1、系統(tǒng)軟

51、件環(huán)境</b></p><p><b>  (1)服務端</b></p><p>  操作系統(tǒng):Microsoft Windows XP</p><p>  數(shù)據(jù)庫系統(tǒng):MySQL5.0</p><p><b> ?。?)客戶端</b></p><p>  操作系

52、統(tǒng):適用于各種平臺</p><p>  開發(fā)工具:Eclipse,Navicat8.0</p><p><b>  開發(fā)語言:Java</b></p><p><b>  2、系統(tǒng)硬件環(huán)境</b></p><p> ?。?)服務端:CPU:酷睿四核,內(nèi)存4G,硬盤500G;</p>&

53、lt;p> ?。?)客戶端:Pentium 1.6GHz以上CPU,512MB以上內(nèi)存;</p><p> ?。?)網(wǎng)絡配置:百兆模式或以上。</p><p>  5.1.2 后臺數(shù)據(jù)庫選擇及配置</p><p>  本系統(tǒng)決定用MySQL數(shù)據(jù)庫,原因有幾下幾點:</p><p>  (1)MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開

54、發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購.目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p> ?。?)從自身特性來說:</p><p>  1.使用C和C+

55、+編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。 </p><p>  2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 。</p><p>  3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、E

56、iffel、Ruby和Tcl等。 </p><p>  4.支持多線程,充分利用CPU資源。 </p><p>  5.優(yōu)化的SQL查詢算法,有效地提高查詢速度。 </p><p>  6.既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS

57、等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。 </p><p>  7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。 </p><p>  8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。 </p><p>  9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。</p><p>  5.2 子系統(tǒng)功能模塊的實現(xiàn)</p><p

58、><b>  宿舍管理系統(tǒng)主界面</b></p><p>  圖5.1 宿舍管理系統(tǒng)主界面</p><p>  5.2.1 房間管理模塊</p><p><b>  一、房間錄入</b></p><p>  圖5.2 房間錄入界面</p><p><b> 

59、 代碼部分</b></p><p>  房間錄入界面:DioRoomAdd.java</p><p><b>  用到的接口</b></p><p>  IRoomAddSe</p><p><b>  方法</b></p><p>  boolean roomA

60、dd(String room, int number)</p><p><b>  IRoomDao</b></p><p><b>  方法</b></p><p>  boolean addRoom(String room,int number);</p><p><b>  二、房間

61、更改</b></p><p>  圖5.3 房間更改界面</p><p><b>  代碼部分</b></p><p>  房間更改:DioRoomAlt.java</p><p><b>  用到的接口</b></p><p>  IRoomAltSe<

62、/p><p><b>  方法</b></p><p>  void storeRoomAlt(String oldRoomCode,String personcounts);//保存房間修改</p><p>  Vector<Vector<String>> showRoomNews(String roomcode);//返

63、回房間信息 </p><p>  Object[] roomNumReturn();//返回房間號碼與房間內(nèi)空床數(shù)ArrayList<String> roomNumReturn1();//返回房間號碼</p><p><b>  IRoomDao</b></p><p><b>  方法</b></p

64、><p>  Vector<Vector<String>> showRoomNews(String roomCode);//顯示房間信息并返回</p><p>  void updateRoom(String oldRoomCode,String personCounts);//修改房間</p><p>  Object[] getRoomNum

65、ber();// 獲取房間號碼與房間內(nèi)空床數(shù),并返回ArrayList<String> getRoomNumber1();//獲取房間號碼</p><p><b>  三、房間刪除</b></p><p>  圖5.4 房間刪除界面</p><p><b>  代碼部分</b></p><

66、p>  宿舍界面:DioRoomDel.java</p><p><b>  用到的借口</b></p><p>  IRoomDelSe.java </p><p>  方法 Vector<Vector> showRoomInfo( );</p><p>  返回值: 返回存在房間的房間號碼&l

67、t;/p><p>  Void roomDel(String roomCode);</p><p>  參數(shù):roomCode 房間號碼</p><p><b>  功能:刪除房間</b></p><p>  IRoomDao.java</p><p>  方法 Vector<Vector&

68、gt; showRoomInfo( );</p><p>  返回值: 返回存在房間的房間號碼</p><p>  Void roomDel(String roomCode);</p><p>  參數(shù): roomCode 房間號碼</p><p><b>  功能:刪除房間</b></p><p&g

69、t;<b>  房間預測</b></p><p>  圖5.5 房間預測界面</p><p><b>  代碼部分</b></p><p>  空房預測:DioRoomForcast.java</p><p><b>  用到的接口:</b></p><p

70、>  IRoomForcastSe</p><p><b>  方法 </b></p><p>  String forcastRoomTime(String number); ////需要房間個數(shù)預測時間</p><p>  int forcastRoomCount(String date); ////需要

71、時間預測房間個數(shù)</p><p>  IRoomDao;IStudentDao</p><p><b>  方法</b></p><p>  int forcastRoomBed();</p><p>  ArrayList<Date> forcastStudentLeaveTime();</p>

72、<p>  5.2.2 宿舍管理模塊</p><p><b>  一、辦理住宿</b></p><p>  圖5.6 辦理住宿界面</p><p><b>  代碼部分</b></p><p>  辦理住宿界面:DioCheckin.java</p><p>

73、;<b>  用到的接口</b></p><p>  ICheckInSe</p><p><b>  方法</b></p><p>  ArrayList<String> classNameReturn();//獲取班級名稱</p><p>  ArrayList<String&

74、gt; roonNumberReturn();//獲取房間號碼與空床數(shù)</p><p>  boolean studentCheckin(String[] str);//辦理入住</p><p>  IStudentDao</p><p>  ArrayList<String> getRoomNumber();// 獲取房間號碼及空床數(shù)</p>

75、;<p>  ArrayList<String> getClassName();// 獲取班級名稱</p><p>  boolean checkinStudent(String[] str);//辦理入住</p><p><b>  二、調(diào)換房間</b></p><p>  圖5.7 調(diào)換房間界面</p>

76、;<p>  調(diào)換宿舍界面:DioExchange.java</p><p><b>  用到的接口:</b></p><p>  IChangeRoomSe.java</p><p>  方法 void changeRoom(String stuRoomCode,String stuName,String selectRoomC

77、ode);</p><p>  參數(shù);stuRoomCode 調(diào)換學生的房間號碼 stuName 調(diào)換學生的名字</p><p>  selectRoomCode 選擇調(diào)換的房間</p><p><b>  功能:調(diào)換房間</b></p><p>  int searchRoom(String roomCode);<

78、;/p><p>  參數(shù): roomCode 查找的房間號碼</p><p>  返回值:0代表男生宿舍,1代表女生宿舍 2代表空宿舍 3代表宿舍不存在</p><p>  Vector<String> stuOfRoom(String roomCode)</p><p>  參數(shù):roomCode 學生的房間號碼</p>

79、<p>  返回值:返回該房間里的學生</p><p>  Vector<String> getRoom(String sex,String stuRoomCode);</p><p>  參數(shù): sex 房間性別 stuRoomCode 學生房間號碼</p><p>  返回值:所有男生或者女生的房間</p><p&g

80、t;  IRoomDao.java</p><p>  方法 void changeRoom(String stuRoomCode,String stuName,String selectRoomCode);</p><p>  參數(shù);stuRoomCode 調(diào)換學生的房間號碼 stuName 調(diào)換學生的名字</p><p>  selectRoomCode 選擇調(diào)

81、換的房間</p><p><b>  功能:調(diào)換房間</b></p><p>  int searchRoom(String roomCode);</p><p>  參數(shù): roomCode 查找的房間號碼</p><p>  返回值:0代表男生宿舍,1代表女生宿舍 2代表空宿舍 3代表宿舍不存在</p>

82、<p>  Vector<String> stuOfRoom(String roomCode)</p><p>  參數(shù):roomCode 學生的房間號碼</p><p>  返回值:返回該房間里的學生</p><p>  Vector<String> getRoom(String sex,String stuRoomCode);

83、</p><p>  參數(shù): sex 房間性別 stuRoomCode 學生房間號碼</p><p>  返回值:所有男生或者女生的房間</p><p>  3、IStudentDao.java</p><p>  方法 Vector<String> findStuByRoomCode(String roomCode);</

84、p><p>  參數(shù): roomCode 房間號碼</p><p>  返回值:所有已入住該房間的學生</p><p><b>  三、辦理退宿</b></p><p>  圖5.8 辦理退宿界面</p><p><b>  代碼部分</b></p><p&

85、gt;  辦理退宿:DioDropout.java</p><p><b>  用到的接口</b></p><p>  IDropOutSe</p><p><b>  方法</b></p><p>  boolean dropOut(String name);</p><p&g

86、t;  JTable selectOfDropOut(String name);</p><p>  IStudentDao</p><p><b>  方法</b></p><p>  JTable selectStudentOfName(String name);</p><p>  boolean updateSt

87、udentCheckstate(String name);</p><p>  5.2.3 信息查詢模塊</p><p><b>  房間查詢</b></p><p>  圖5.9 房間查詢界面</p><p><b>  代碼部分</b></p><p>  房間查詢界

88、面:DioRoomSelect.java</p><p><b>  用到的接口:</b></p><p>  IRoomSelectSe</p><p>  方法: JTable roomSelect(String roomID,String sexSelect,int numberCount)</p><p><

89、;b>  IRoomDao</b></p><p><b>  方法</b></p><p>  JTable roomSelect(String roomID,String sexSelect,int numberCount)</p><p><b>  人員查詢</b></p><

90、p>  圖5.10 人員查詢界面</p><p><b>  代碼部分:</b></p><p>  人員查詢:DioStudentSelect.java</p><p><b>  用到的接口</b></p><p>  IStudentSelectSe</p><p&

91、gt;  方法 JTable studentSelect(String name, String idCard, String college,</p><p>  String roomID, String address, String phone)</p><p>  IStudentDao</p><p>  方法 JTable selectStudent(

92、String name, String idCard, String college,</p><p>  String roomID, String address, String phone)</p><p><b>  統(tǒng)計信息</b></p><p>  圖5.11 統(tǒng)計信息界面</p><p><b&g

93、t;  代碼部分</b></p><p>  統(tǒng)計信息:DioSelectAll.java</p><p><b>  用到的接口</b></p><p>  IStudentSelectSe</p><p><b>  方法</b></p><p>  JTab

94、le studentSelect(String name,String idCard,String college,String roomID,String address,String phone);</p><p>  IStudentDao</p><p>  JTable selectStudent(String name, String idCard, String colleg

95、e,String roomID, String address, String phone);</p><p>  5.2.4 信息維護模塊</p><p><b>  信息維護</b></p><p>  圖5.12信息維護界面</p><p><b>  代碼部分</b></p>

96、<p>  信息維護界面 DioStuentAlt.java</p><p><b>  用到的接口</b></p><p>  IStudentAltSe</p><p>  方法 Student selectStu(String name);</p><p>  boolean altStudent(St

97、ring oldName,String name, String idCard,String country, String college,String phone , String classname,String sex)</p><p>  IStudentDao</p><p>  方法 Student selectStudentInAlt(String name);</

98、p><p>  boolean updateStudent(String oldName,String name, String idCard,String country, String college,String phone , String classname,String sex);</p><p>  5.2.5 系統(tǒng)管理模塊</p><p><b&

99、gt;  一、用戶添加</b></p><p>  圖5.13 用戶添加界面</p><p><b>  代碼部分:</b></p><p>  用戶添加:DioUserAdd.java</p><p><b>  用到的接口:</b></p><p>  1.

100、、IUserAddSe</p><p>  方法 boolean addUser(User user);</p><p>  2、IUserDao</p><p>  方法 boolean addUser(User user);</p><p><b>  用戶修改</b></p><p>  

101、圖5.14 用戶修改界面</p><p><b>  代碼部分</b></p><p>  用戶修改界面:DioUserAlt.java</p><p><b>  用到的接口</b></p><p>  IUserAltSe</p><p><b>  方法:&

102、lt;/b></p><p>  boolean altPasswordUser(String userName,String oldPassWord,String newPassWord);</p><p>  boolean altPasswordUser(String userName,String oldPassWord,String newPassWord);</p&

103、gt;<p><b>  三、用戶刪除</b></p><p>  圖5.15 用戶刪除界面</p><p><b>  代碼部分</b></p><p>  用戶刪除界面:DioUerDel.java</p><p><b>  用到的接口</b></p

104、><p>  IUserDelSe</p><p><b>  方法</b></p><p>  void delUser(String userName);//刪除用戶</p><p>  Vector<Vector<String>> selectUserName();//獲取用戶名</p&g

105、t;<p><b>  IUserDao</b></p><p><b>  方法</b></p><p>  void deleteUser(String userName);//刪除用戶</p><p>  Vector<Vector<String>> selectUserName

106、();//獲取用戶名</p><p>  5.3 數(shù)據(jù)庫操作的實現(xiàn)</p><p>  在系統(tǒng)開發(fā)過程中,因為要多處用到對數(shù)據(jù)庫的操作,如果這些操作在每次用到時在每個Java程序中去實現(xiàn),將非常繁瑣,因此,為了簡化這些操作,在開發(fā)時設(shè)計了一個可重用組件:dbConnect.java,把對數(shù)據(jù)庫的操作都封裝在dbConnect類中,需要用到時生成對象調(diào)用便可[5]。</p>

107、<p>  定義dbConnect類的代碼如下:</p><p>  import java.sql.*;//導入java.sql包中的所有類</p><p>  public class dbConnect{</p><p>  private Connection conn = null; //聲明Connection對象的實例

108、</p><p>  public Statement stmt = null; //聲明Statement對象的實例</p><p>  public ResultSet rs = null; //聲明ResultSet對象的實例</p><p>  private String user=“usernam

109、e”;</p><p>  private String password=““;</p><p>  private String className=“ com.mysql.jdbc.Driver”; </p><p>  //定義保存數(shù)據(jù)庫驅(qū)動的變量</p><p>  public dbConnect(){

110、 //構(gòu)造函數(shù)</p><p><b>  try{</b></p><p>  Class.forName(className);</p><p>  }catch(ClassNotFoundException e){</p><p>  System.out.println (“加載數(shù)據(jù)庫驅(qū)動失敗

111、!”);</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  對于數(shù)據(jù)庫的操作通常包括連接數(shù)據(jù)庫、執(zhí)行查詢操作、執(zhí)行更新操作和關(guān)</p><p>  閉數(shù)據(jù)庫連接等,

112、因此在dbConnect.Java中應設(shè)計4個方法,分別是:連接數(shù)據(jù)庫的方法getConnection(),執(zhí)行查詢操作的方法executeQuery(String sql),執(zhí)行更新操作的方法executeUpdate(String Sql),關(guān)閉數(shù)據(jù)庫連接的方法close()。</p><p><b>  5.4 系統(tǒng)測試</b></p><p>  5.4.1

113、 系統(tǒng)測試的目的</p><p>  系統(tǒng)測試是將已經(jīng)確認的軟件、計算機硬件、外設(shè)、網(wǎng)絡等其他元素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方,從而提出更加完善的方案。它的任務是盡可能徹底地檢查出程序中的錯誤,提高軟件的可靠性,其目的是檢驗系統(tǒng)“做得怎樣?”。這階段又可分為三個步驟:模塊測試,測試每個模塊的程序是否有錯誤;組裝測試,

114、測試模塊之間的接口是否正確;確認測試,測試整個軟件系統(tǒng)是否滿足用戶功能和性能的要求。該階段結(jié)束應交付測試報告,說明測試數(shù)據(jù)的選擇,測試用例以及測試結(jié)果是否符合預期結(jié)果。測試發(fā)現(xiàn)問題之后要經(jīng)過調(diào)試找出錯誤原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒類測試,應覆蓋系統(tǒng)所有聯(lián)合的部件。系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不相符合或與之矛盾的地方。</p><

115、;p>  一個程序并不可能達到十分完美,難免存在一些錯誤。如果不能及時將其找出并修改,會造成系統(tǒng)崩潰并造成不必要的損失。通軟件測試,盡可能多的找出系統(tǒng)中的錯誤,以便與及時修改。宿舍管理系統(tǒng)是對學生宿舍進行管理的系統(tǒng),一旦系統(tǒng)無法運行,對學校的宿舍管理帶來很多的影響。所以通過軟件測試的手段,盡可能排除程序中的錯誤,已達到程序運行穩(wěn)定的目的,使學校的工作不會因此受到影響。</p><p>  5.4.2 系統(tǒng)

116、的測試環(huán)境</p><p><b>  系統(tǒng)測試的性能要求</b></p><p>  系統(tǒng)的性能要求通常指系統(tǒng)需要的存儲容量以及后援存儲,重新啟動和安全性,運行效率等方面的考慮。 </p><p>  本系統(tǒng)運行環(huán)境為網(wǎng)絡版,在運行時對系統(tǒng)整體性能要有一定的要求,要求:軟硬件要求:系統(tǒng)環(huán)境winXP+MySQL+eclipse</p&g

117、t;<p>  硬件系統(tǒng)環(huán)境P4 2.4、512MB內(nèi)存、80G硬盤</p><p>  系統(tǒng)運行時對數(shù)據(jù)的保密性要求不高對一般的數(shù)據(jù)不要求進行加密。此外,對其它軟件幾乎沒有依賴性,程序健壯性較好。 </p><p><b>  測試數(shù)據(jù)</b></p><p><b>  (1)信息輸入</b></

118、p><p>  選擇幾組數(shù)據(jù)進行添加 修改 刪除 等操作 實現(xiàn)其基本功能</p><p><b>  (2) 信息查詢</b></p><p>  信息輸入后,通過信息查詢,查看結(jié)果是否和設(shè)計時數(shù)據(jù)一致,以確認數(shù)據(jù)的正確性。,</p><p> ?。?) 信息的刪除,通過對信息的刪除,然后進行信息查詢,驗證信息是否已經(jīng)成功刪

119、除。</p><p><b>  總 結(jié)</b></p><p>  在一個軟件開發(fā)過程中,我覺得最重要的是需求分析,軟件是給客戶來使用的,所以客戶就是上帝,如何合理有效地跟客戶進行溝通,然后把需求與軟件結(jié)合起來,最終形成一個確定的需求文檔,這是最重要的。這次的設(shè)計就在需求方面吃了很大的虧,剛開始由于需求做的不是很細,第一,內(nèi)容開始的時候太匱乏,功能點太模棱兩可,不

120、夠詳細,規(guī)定的不夠具體,沒有明確要求,從而導致大幅度的修改過一次需求分析,第二,項目的時間安排沒有考慮到很周全,測試的時候估計是因為具體實現(xiàn)代碼的時候,返工以及磨合的需求太大,導致測試停滯斷時間,從而把后期修改BUG的時間占用了一些,差點來不及。第三,想做的功能太多,導致后期拋了幾個功能點不做,這也同時是需求分析以及時間安排的不合理問題。最終到了后期才發(fā)現(xiàn)這些問題,導致了很多功能都要重新寫,花費了很大的功夫,這是這次項目感觸最大的,也是

121、收獲最多的。</p><p>  在這次的畢業(yè)設(shè)計的過程中,更加深入了解了對分層設(shè)計思想的認識。從一開始的Dao層到業(yè)務邏輯層,然后通過監(jiān)聽器連接到界面上,最終成為一個滿足需求的軟件,這就是MVC開發(fā)模式。雖然一開始感覺到分層很復雜,但是做了幾個類后,逐漸有了思路,也進一步加深了對java面向?qū)ο蟾拍畹恼J識。在這次項目中,我體會并感受到了一個項目開發(fā)的流程,除了在技術(shù)上有一定的提高以外,更重要的是形成了分層的思想

122、與面向?qū)ο蟮乃枷?。看著做出的產(chǎn)品,感受到了這兩個月來所付出的一切都是值得的!</p><p><b>  致 謝</b></p><p>  畢業(yè)設(shè)計與論文即將完成之際,回想起開始工作的不知所措,以及調(diào)研、調(diào)試過程中的多次遇阻,真是說不出的艱辛。幸好,有許多老師、同學的幫助,我才得以調(diào)試成功,一次次的改進自己的程序,實現(xiàn)各種功能。正是在這些老師,朋友的幫助下,我才及

溫馨提示

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

評論

0/150

提交評論