JSP-學生公寓管理系統(tǒng)-畢業(yè)論文_第1頁
JSP-學生公寓管理系統(tǒng)-畢業(yè)論文_第2頁
JSP-學生公寓管理系統(tǒng)-畢業(yè)論文_第3頁
JSP-學生公寓管理系統(tǒng)-畢業(yè)論文_第4頁
JSP-學生公寓管理系統(tǒng)-畢業(yè)論文_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

****課程設(shè)計(2015)學生公寓管理系統(tǒng)**學校*****報告基于JAVA學生公寓管理系統(tǒng)專業(yè)***學生姓名***班級***學號***指導教師***完成日期*****學院目錄1問題定義: 41.1項目的名稱、項目的主題、設(shè)計目的: 41.1.1項目的名稱: 41.1.2項目的主題: 41.2軟件簡介: 41.2.1基本內(nèi)容: 41.2.2軟件特點: 41.2.3軟件工作原理: 42可行性研究: 52.1技術(shù)可行性 52.2操作可行性 52.3經(jīng)濟可行性 52.4可行性結(jié)論 53需求分析: 53.1系統(tǒng)功能要求: 53.2性能要求: 53.3接口要求: 63.4系統(tǒng)數(shù)據(jù)流圖: 63.5實體-關(guān)系: 103.5.1各個實體的屬性: 103.5.2實體之間的E-R圖: 114總體設(shè)計: 204.1學生公寓管理系統(tǒng)流程圖: 124.2系統(tǒng)結(jié)構(gòu): 134.2.1系統(tǒng)管理模塊 134.2.2公寓管理模塊 134.2.3學生信息模塊 144.2.4宿舍信息模塊: 144.3數(shù)據(jù)庫部分設(shè)計關(guān)系模式: 144.3.1關(guān)系模式: 144.3.2數(shù)據(jù)庫設(shè)計: 145詳細設(shè)計: 155.1人機界面+描述每個模塊的算法: 155.1.1登錄模塊: 155.1.2學生信息模塊: 155.1.3宿舍信息模塊: 155.2系統(tǒng)程序流程圖: 165.2.1學生公寓管理系統(tǒng)管理員登錄程序流程圖: 165.2.2學生公寓管理系統(tǒng)查詢學生信息程序流程圖: 175.2.3學生公寓管理系統(tǒng)添加學生信息程序流程圖: 175.2.4學生公寓管理系統(tǒng)修改學生信息程序流程圖: 185.2.5學生公寓管理系統(tǒng)刪除學生信息程序流程圖: 185.2.6學生公寓管理系統(tǒng)查詢宿舍信息程序流程圖: 195.2.7學生公寓管理系統(tǒng)添加宿舍信息程序流程圖: 195.2.8學生公寓管理系統(tǒng)修改宿舍信息程序流程圖: 205.2.9學生公寓管理系統(tǒng)更新宿舍信息程序流程圖: 205.3數(shù)據(jù)庫部分設(shè)計表: 215.3.1數(shù)據(jù)庫相關(guān)表: 215.3.2數(shù)據(jù)庫表說明: 226實現(xiàn) 236.1學生公寓管理系統(tǒng)相關(guān)部分代碼: 236.1.1登錄代碼如下: 236.1.2進入學生信息主界面代碼如下: 246.1.3查詢學生信息代碼如下: 266.1.4添加學生信息代碼如下: 276.1.5刪除學生信息代碼如下: 296.1.6宿舍信息主界面代碼如下: 306.2測試工作: 336.2.1軟件測試說明: 336.2.2黑盒測試: 336.2.3白盒測試: 347個人小結(jié): 34參考文獻: 361問題定義:1.1項目的名稱、項目的主題、設(shè)計目的:1.1.1項目的名稱:學生公寓管理系統(tǒng)1.1.2項目的主題:把軟件工程中規(guī)范化的軟件開發(fā)方法應(yīng)用到本次學生公寓管理系統(tǒng)的開發(fā)過程中,以經(jīng)濟的開發(fā)出高質(zhì)量的軟件并有效的維護它。由于現(xiàn)今的學生公寓管理非常繁瑣,通常為手工操作,行政人員付出大量的工作時間,得到的效率很低。因此為提高工作效率,減輕校方人員的工作負擔,決定開發(fā)學生公寓管理系統(tǒng)軟件。開發(fā)此學生公寓系統(tǒng)管理軟件,以供教學人員及操作者進行學生宿舍管理,方便操作者隨時添加、查詢、修改等。為了我們提高軟件開發(fā)的能力,提高工作設(shè)計思想,通過本次的工程開發(fā)及與輔助老師交流,使小組成員從中學習知識吸取經(jīng)驗。為今后高層次的軟件開發(fā)準備知識。1.2軟件簡介:1.2.1基本內(nèi)容:本軟件為學校學生公寓管理提供快捷方法,省去大量諸如手工登記的操作,對學生公寓情況進行及時跟蹤管理,并可對學生公寓信息進行創(chuàng)建、刪除、查找等操作,提高管理學生公寓的效率,推動使學校公寓管理自動化。1.2.2軟件特點:針對學校公寓管理的需要,根據(jù)Java語言的網(wǎng)絡(luò)運用特點,與SQLServer2003數(shù)據(jù)庫連接,創(chuàng)建出簡單的針對學生公寓管理系統(tǒng),實現(xiàn)了便捷的對學生公寓信息的管理。1.2.3軟件工作原理:a.先建立數(shù)據(jù)庫且追建數(shù)據(jù)庫的驅(qū)動程序。b.在使用時,由管理員輸入需要了解的關(guān)鍵字的信息,然后通過公寓管理事務(wù)管理中心選擇相應(yīng)公寓管理的事務(wù)。c.公寓管理的事務(wù)將根據(jù)所提供的信息在數(shù)據(jù)庫中查找相應(yīng)的記錄。d.返回相應(yīng)的記錄給管理員。e.允許管理員在相應(yīng)權(quán)限下對數(shù)據(jù)進行修改。f.通過終端把得到的內(nèi)容顯示到相應(yīng)的界面上。2可行性研究:2.1技術(shù)可行性根據(jù)調(diào)查,本小組成員多數(shù)有多年VC編程經(jīng)驗,也有兩個具備SQLSERVER2003的使用經(jīng)驗,因而開發(fā)此學生公寓管理系統(tǒng)采用VC結(jié)合SQLSERVER2003的數(shù)據(jù)庫系統(tǒng)開發(fā)。再根據(jù)上述分析情況,利用現(xiàn)有人力和物力是具備開發(fā)此系統(tǒng)能力的。加之學校老師指導及其它資源豐富情況,學生宿舍管理系統(tǒng)在技術(shù)上是完全可行的。2.2操作可行性方便作者查詢學生的基本信息,隨時添加、刪除、修改學生信息等。同時也可查詢學生的住宿情況,可做相應(yīng)的添加、更新、修改學生住宿信息。2.3經(jīng)濟可行性由于本學生宿舍開發(fā)系統(tǒng)的主要背景(為課程設(shè)計)在經(jīng)濟上不注重直接的經(jīng)濟收益,而是注重小組成員整體水平的提高,當然本系統(tǒng)完全按開發(fā)計劃進行估算,估計上網(wǎng),打印需一些費用。本系統(tǒng)是針對廣大學校公寓管理情況開發(fā)的公寓管理系統(tǒng),適合廣大學校需求,它追求的是簡單、易學、易懂、易用,易升級,能夠更有利的解決行政人員的負擔,因而市場是相當光明的。2.4可行性結(jié)論綜上所述,本工程的技術(shù)成熟、完備,測試手段可靠,具有良好的市場拓展,因此本工程可立即開始。3需求分析:需求分析工作是軟件生存期中重要的一步,也是起決定性的一步。我們在這個階段要準確的回答:系統(tǒng)必須作什么。我們試圖通過它來全面了解整個系統(tǒng)的軟件功能和性能方面的要求,為軟件設(shè)計打下堅實的基礎(chǔ)。要對目標系統(tǒng)提出完整、準確、清晰、具體的要求。3.1系統(tǒng)功能要求:按學號或姓名查詢學生的基本信息;可以添加,修改或刪除學生信息;按宿舍號查詢學生的住宿信息;對學生的住宿信息進行添加、更新、修改。3.2性能要求:a.數(shù)據(jù)精確度:該系統(tǒng)輸入的數(shù)據(jù)為整形與字符型。b.時間特性:包括響應(yīng)時間、更新處理時間、數(shù)據(jù)轉(zhuǎn)換與傳輸時間、運行時間,這些時間盡可能短。c.適應(yīng)性:在操作方式、運行環(huán)境、與其他軟件的接口以及開發(fā)計劃等發(fā)生變化時,可使用系統(tǒng)自帶的一個程序來修改現(xiàn)行系統(tǒng),以適應(yīng)新的變化。d.安全性:要求有相應(yīng)的權(quán)限設(shè)計,加強軟件的安全性。3.3接口要求:軟件系統(tǒng)的界面要美觀,布局要合理,窗口的內(nèi)容盡量簡明的提供信息,語言要通俗易懂,有層次感,分類清晰明了。3.4系統(tǒng)數(shù)據(jù)流圖:管理員管理員學生公寓管理系統(tǒng)管理員事務(wù)信息圖3-1系統(tǒng)頂層數(shù)據(jù)流圖學生信息學生信息學生信息學生基本情況公寓信息員工信息宿舍信息員工表公寓事務(wù)管理員信息系統(tǒng)事務(wù)事務(wù)管理員1.1接收事務(wù)1.2系統(tǒng)管理用戶表管理員1.3公寓管理宿舍表1.4學生管理學生事務(wù)圖3-2學生公寓管理系統(tǒng)數(shù)據(jù)流圖系統(tǒng)信息數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴格,然而沒有數(shù)據(jù)流圖,數(shù)據(jù)這是也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。以下是圖3-2的數(shù)據(jù)流圖中部分的數(shù)據(jù)信息的數(shù)據(jù)字典名字:事務(wù)別名:描述:代表要辦理的一個具體事件定義:事務(wù)=[系統(tǒng)事務(wù)|公寓事務(wù)|學生事務(wù)|出入事務(wù)]名字:事務(wù)別名:描述:代表要辦理的一個具體事件定義:事務(wù)=[系統(tǒng)事務(wù)|公寓事務(wù)|學生事務(wù)|出入事務(wù)]位置:系統(tǒng)登陸名字:管理員別名:系統(tǒng)管理員描述:對公寓系統(tǒng)進行操作的人員定義:管理員=[普通用戶|超級用戶]位置:用戶表名字:系統(tǒng)事務(wù)別名:系統(tǒng)事件描述:系統(tǒng)管理員進行系統(tǒng)管理的特定事件定義:系統(tǒng)事務(wù)=[修改密碼|用戶管理]名字:系統(tǒng)事務(wù)別名:系統(tǒng)事件描述:系統(tǒng)管理員進行系統(tǒng)管理的特定事件定義:系統(tǒng)事務(wù)=[修改密碼|用戶管理]位置:系統(tǒng)管理名字:公寓事務(wù)別名:公寓事件描述:系統(tǒng)管理員進行公寓管理的特定事件定義:公寓事件=[樓房管理|員工管理|宿舍管理]位置:公寓管理名字:員工信息別名:描述:每棟公寓聘請的員工名字:員工信息別名:描述:每棟公寓聘請的員工定義:員工信息=員工號+姓名+年齡+性別+公寓號+職位+家庭住址+聯(lián)系方式+備注員工號=3{字符}11姓名=6{字符}11年齡=2{數(shù)字}3性別=[F|M]公寓號=2{數(shù)字}3職位=4{字符}20家庭住址=8{字符}100聯(lián)系方式=11{數(shù)字}11備注=0{字符}256位置:員工表名字:學生事務(wù)別名:學生事件描述:系統(tǒng)管理員進行公寓學生管理的特定事件名字:學生事務(wù)別名:學生事件描述:系統(tǒng)管理員進行公寓學生管理的特定事件定義:學生事務(wù)=[學生信息查詢|公寓信息查詢]位置:學生管理名字:宿舍信息別名:名字:宿舍信息別名:描述:宿舍對應(yīng)的屬性定義:宿舍信息=宿舍號+居住性別+地點+住宿費用+電話+備注宿舍號=10{字符}10居住性別=[F|M]地點=8{字符}100住宿費用=4{數(shù)字}4電話=11{數(shù)字}11備注=0{字符}256位置:宿舍表名字:學生信息別名:描述:學生對應(yīng)的屬性定義:學生信息=學號+班級+姓名+性別+宿舍號+聯(lián)系方式+備注學號=10{字符}10班級=5{字符}5姓名=6{字符}11性別=[F|M]宿舍號=10{字符}10聯(lián)系方式=11{數(shù)字}11備注=0{字符}256位置:學生基本情況名字:公寓信息名字:公寓信息別名:描述:公寓對應(yīng)的屬性定義:公寓信息=公寓號+房間數(shù)+樓層數(shù)+應(yīng)住人數(shù)公寓號=10{字符}10房間數(shù)=3{數(shù)字}10樓層數(shù)=2{數(shù)字}2應(yīng)住人數(shù)=4{數(shù)字}43.5實體-關(guān)系:3.5.1各個實體的屬性:員工號員工號姓名年齡性別家庭住址公寓號職位聯(lián)系方式備注員工圖3-3員工屬性宿舍宿舍宿舍號居住性別地點備注住宿費用電話圖3-4宿舍屬性學生學生學號聯(lián)系方式備注班級姓名性別宿舍號圖3-5學生屬性公寓公寓應(yīng)住人數(shù)公寓號房間數(shù)樓層數(shù)圖3-6公寓屬性3.5.2實體之間的E-R圖:員工員工管理公寓包含宿舍學生入住N1NN11圖3-7系統(tǒng)E-R圖4總體設(shè)計:總體設(shè)計又稱概要設(shè)計或者初步設(shè)計。通過這個階段的工作將劃分出組成系統(tǒng)的物理元素——程序、文件、數(shù)據(jù)庫、人工過程和文檔,但是每個物理元素依舊處于黑盒子級,這些黑盒子里的具體內(nèi)容將在以后仔細設(shè)計??傮w設(shè)計階段的另一項主要任務(wù)是設(shè)計軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系??傮w設(shè)計過程通常由兩個主要階段組成:系統(tǒng)設(shè)計階段,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計階段,確定軟件結(jié)構(gòu)。4.1學生公寓管理系統(tǒng)流程圖:管理員提出事務(wù)管理員提出事務(wù)公寓事務(wù)處理中心產(chǎn)生報表程序公寓數(shù)據(jù)庫信息輸出圖4-1系統(tǒng)流程圖4.2系統(tǒng)結(jié)構(gòu):學生公寓管理系統(tǒng)學生公寓管理系統(tǒng)系統(tǒng)管理公寓管理用戶登錄增加用戶密碼修改公寓管理宿舍管理員工管理按姓名查詢按學號查詢按宿舍號查詢學生信息宿舍信息查詢學生信息添加學生信息修改學生信息刪除學生信息查詢宿舍信息添加宿舍信息修改宿舍信息更新宿舍信息圖4-2系統(tǒng)層次圖在整體設(shè)計中,將學生公寓管理系統(tǒng)分為四大模塊:系統(tǒng)管理模塊、公寓管理模塊、學生信息模塊、宿舍信息模塊。每個模塊實現(xiàn)不同的功能如下介紹。4.2.1系統(tǒng)管理模塊系統(tǒng)管理模塊包括:用戶登錄、密碼修改、增加用戶三個部分。1.用戶登錄:實現(xiàn)管理人員登錄。2.密碼修改:實現(xiàn)所用用戶的密碼更改功能。3增加用戶:實現(xiàn)用戶加入系統(tǒng)的功能。4.2.2公寓管理模塊公寓管理模塊包括:公寓管理、宿舍管理、員工管理三個大的部分。1.公寓管理:登記學校所有住宿樓情況。2.宿舍管理:登記學校所有宿舍的情況。3.員工原理:實現(xiàn)樓房管理人員的添加功能。4.2.3學生信息模塊學生信息模塊包括:查詢學生信息、添加學生信息、修改學生信息、刪除學生信息四個部分。查詢學生信息:按照學號或者姓名對學生信息查詢。添加學生信息:對學生信息進行增加操作。修改學生信息:對學生信息進行修改操作。刪除學生信息:對學生信息進行刪除操作。4.2.4宿舍信息模塊:宿舍信息模塊包括:查詢宿舍信息、添加宿舍信息、修改宿舍信息、更新宿舍信息四個部分。查詢宿舍信息:按照宿舍號對宿舍信息查詢。添加宿舍信息:對宿舍信息進行增加操作。修改宿舍信息:對宿舍信息進行修改操作。更新宿舍信息:對宿舍信息進行更新操作。4.3數(shù)據(jù)庫部分設(shè)計關(guān)系模式:4.3.1關(guān)系模式:員工(員工號,姓名,年齡,性別,公寓號,職位,家庭住址,聯(lián)系方式,備注)宿舍(宿舍號,居住性別,地點,住宿費用,電話,備注)學生(學號,班級,性別,姓名,宿舍號,聯(lián)系方式,備注)公寓(公寓號,房間數(shù),樓層數(shù),應(yīng)住人數(shù))4.3.2數(shù)據(jù)庫設(shè)計:a)數(shù)據(jù)庫說明對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),是指能夠有效的存儲數(shù)據(jù),滿足各種用戶應(yīng)用需求(信息要求和處理要求)。就是規(guī)劃和結(jié)構(gòu)化。在數(shù)據(jù)庫領(lǐng)域,常常把使用數(shù)據(jù)庫的各類系統(tǒng)稱之為數(shù)據(jù)庫應(yīng)用系統(tǒng)。對用戶描述現(xiàn)實世界,通過對其中住處的分類、聚集和概括,建立抽象的概念數(shù)據(jù)模型。這個概念模型應(yīng)反應(yīng)各個部門的信息結(jié)構(gòu)、信息流動情況、信息之間相互制約關(guān)系以及各部門對應(yīng)信息存儲、查詢、加工的要求等。所建立的模型應(yīng)避開數(shù)據(jù)庫在計算機上具體實現(xiàn)細節(jié),用一種抽象的形式表示出來。以擴充E-R模型方法為例,第一步先明確現(xiàn)實世界各部門所包含各種實體屬性、實體之間的聯(lián)系以及對信息的制約條件等,從而給出各部門內(nèi)部所有信息的局部描述。第二步將前面得到的多個用戶局部視圖集成全局視圖,即用戶要描述的現(xiàn)實世界的概念數(shù)據(jù)模型。b)數(shù)據(jù)庫邏輯設(shè)計主要工作是將現(xiàn)實世界的概念數(shù)據(jù)模型設(shè)計成數(shù)據(jù)庫的一種邏輯模式,即適應(yīng)于某種特定數(shù)據(jù)庫管理系統(tǒng)所支持的邏輯數(shù)據(jù)模式。與此同時,可能還需為各種數(shù)據(jù)處理應(yīng)用領(lǐng)域產(chǎn)生相應(yīng)的邏輯子模式。這一步設(shè)計的結(jié)果就是所謂“邏輯數(shù)據(jù)庫”。c)數(shù)據(jù)庫物理設(shè)計根據(jù)特定數(shù)據(jù)庫管理系統(tǒng)所提供的多種存儲結(jié)構(gòu)和存取方法等依賴于具體計算機結(jié)構(gòu)的各項物理設(shè)計措施,對具體的應(yīng)用任務(wù)選定最合適的物理存儲結(jié)構(gòu)(包括文件類型、索引結(jié)構(gòu)和數(shù)據(jù)的存放次序與位邏輯等)、存取方法和存取路徑等。這一步設(shè)計的結(jié)果就是所謂“物理數(shù)據(jù)庫”。5詳細設(shè)計:在總體設(shè)計的基礎(chǔ)上,開發(fā)者需要進行軟件系統(tǒng)詳細設(shè)計。在詳細設(shè)計中,描述實現(xiàn)具體模塊所涉及的主要算法、數(shù)據(jù)結(jié)構(gòu)。類的層次結(jié)構(gòu)以及調(diào)用關(guān)系,需要說明軟件系統(tǒng)的各個層次中每個程序(每個模塊或者子程序)的設(shè)計考慮,以便進行編碼和測試。應(yīng)當保證軟件的需求完全分配給整個軟件。詳細設(shè)計應(yīng)當足夠詳細,根據(jù)詳細設(shè)計報告進行編碼,并進行相關(guān)測試。5.1人機界面+描述每個模塊的算法:5.1.1登錄模塊:a:功能:實現(xiàn)登錄功能,輸入用戶名和用戶密碼,正確則進入主界面,不正確則顯示錯誤,重新登錄。b:界面:由注銷功能調(diào)用。c:輸入:用戶名和用戶密碼。d:輸出:正確則進入到主界面,錯誤則返回原來的界面。5.1.2學生信息模塊:a:功能:實現(xiàn)對學生信息的查詢、添加、修改、刪除操作。b:判斷:對是否進行學生信息的查詢、添加、修改、刪除操作判斷。c:輸入:學號、姓名d:輸出:學號、班級、姓名、性別、宿舍號、聯(lián)系方式、備注。5.1.3宿舍信息模塊:a:功能:實現(xiàn)對宿舍信息的查詢、添加、修改、更新操作。b:判斷:對是否進行宿舍信息的查詢、添加、修改、更新操作判斷。c:輸入:宿舍號d:輸出:宿舍號、居住性別、地點、住宿費用、電話、備注。5.2系統(tǒng)程序流程圖:系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件。系統(tǒng)流程圖表達的是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況,而不是對數(shù)據(jù)進行加工處理的控制過程,因此盡管系統(tǒng)流程圖的某些符號和程序流程圖的符號形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流程圖。5.2.1學生公寓管理系統(tǒng)管理員登錄程序流程圖:開始驗證開始驗證進入界面登錄失敗重登登錄成功結(jié)束輸入用戶名和密碼FT圖5-1管理員登錄程序流程圖5.2.2學生公寓管理系統(tǒng)查詢學生信息程序流程圖:開始開始輸入學號或姓名查詢查詢學生信息退出程序結(jié)束FY圖5-2查詢學生信息程序流程圖5.2.3學生公寓管理系統(tǒng)添加學生信息程序流程圖:開始開始輸入相關(guān)添加信息添加添加學生信息退出程序結(jié)束FY圖5-3添加學生信息程序流程圖5.2.4學生公寓管理系統(tǒng)修改學生信息程序流程圖:開始開始輸入相關(guān)修改信息修改修改學生信息退出程序結(jié)束FY圖5-4修改學生信息程序流程圖5.2.5學生公寓管理系統(tǒng)刪除學生信息程序流程圖:開始開始刪除刪除學生信息退出程序結(jié)束FY圖5-5刪除學生信息程序流程圖5.2.6學生公寓管理系統(tǒng)查詢宿舍信息程序流程圖:開始開始輸入相關(guān)宿舍號查詢查詢宿舍信息退出程序結(jié)束FY圖5-6查詢宿舍信息程序流程圖5.2.7學生公寓管理系統(tǒng)添加宿舍信息程序流程圖:開始開始輸入相關(guān)添加信息添加添加宿舍信息退出程序結(jié)束FY圖5-7添加宿舍信息程序流程圖5.2.8學生公寓管理系統(tǒng)修改宿舍信息程序流程圖:開始開始輸入相關(guān)修改信息修改修改宿舍信息退出程序結(jié)束FY圖5-8修改宿舍信息程序流程圖5.2.9學生公寓管理系統(tǒng)更新宿舍信息程序流程圖:開始開始輸入相關(guān)更新信息更新更新宿舍信息退出程序結(jié)束FY圖5-9更新宿舍信息程序流程圖5.3數(shù)據(jù)庫部分設(shè)計表:5.3.1數(shù)據(jù)庫相關(guān)表:表5-1用戶表(LoginIn)字段名描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimarykeyUserName用戶名char10NYUserId用戶密碼char10NYUserPower用戶權(quán)限char20NN表5-2學生基本情況表(Student)字段名描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimarykeyStu_Key學號char20NYandFStu_Name姓名char10NNStu_Sex性別char10YNStu_Cla班級char10YNDor_Id宿舍號char10YNStu_Tel聯(lián)系方式char10YNStu_Des備注char50YN表5-3學生住宿表(Student_base)字段名描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimarykeyStu_Key學號char20NYandFStu_dor宿舍char10YN表5-4宿舍表(Dorm)字段名描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimarykeyDor_Id宿舍號char10NYDor_Sex居住性別char10YNDor_Add地點char20YNDor_Price住宿費用char10YNDor_Tel電話char10YNDor_Des備注char50YN表5-5員工表(Employee)字段名描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimarykeyEmp_Id員工號char20NYEmp_Name姓名char10YNEmp_Age年齡char10YNEmp_Sex性別char10YNHou_Id公寓號char10NFEmp_Job職位char10YNEmp_Add家庭住址char50YNEmp_Tel聯(lián)系方式char10YNEmp_Des備注char50YN表5-6公寓表(Flat)字段名描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimarykeyHou_Id公寓號char10NFHou_Num房間數(shù)char10YNHou_Flr樓層數(shù)char10YNHou_Peo應(yīng)住人數(shù)char10YN5.3.2數(shù)據(jù)庫表說明:本學生公寓管理系統(tǒng)總共用到六個表:用戶表(LoginIn)、學生基本情況表(Student)、學生住宿表(Student_base)、宿舍表(Dorm)、員工表(Employee)、公寓表(Flat),各表之間有一定聯(lián)系,可以進行關(guān)聯(lián)。學生基本情況表(Student)與學生住宿表(Student_base)有一個相同字段Stu_Key。學生基本情況表(Student)與宿舍表(Dorm)有一個相同字段Dor_Id。員工表(Employee)與公寓表(Flat)有一個相同字段Hou_Id。每兩個表通過相同的字段將表聯(lián)系起來。當某個表發(fā)生插入、修改、刪除等方面改動時,相聯(lián)的表之間也要進行相應(yīng)的改動。必須實現(xiàn)數(shù)據(jù)庫的完整性。6實現(xiàn)6.1學生公寓管理系統(tǒng)相關(guān)部分代碼:6.1.1登錄代碼如下:publicLoginFrame(Stringtitle){super(title);label_name=newJLabel("請輸入你的ID:");label_password=newJLabel("請輸入你的密碼:");tip=newjLabel();load=newjButton("登陸");load.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(textfeild_name.getText().equals("")||pwdf_password.getPasswprd().equals("")){tip.setText(ID或密碼不能為空");return;}else{name=textfied_name.getText();password=pwdf_passeord.getPassword();try{loginsocket(name,password);}catch(IOExceptionioe){ioe.printStackTrace();}}}});cancel=newJBtton("退出");cancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});textfield_name=newJtextField(20);pwf_password=newJPasswordField(20);this.setLayout(newGridLayout(4,2));this.add(label_name);this.add(textfield_name);this.add(label_password);this.add(pwdf_password);this.add(load);this.add(cancel);this.add(tip);pack();setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}界面效果如下:6.1.2進入學生信息主界面代碼如下:publicMainFrame(Stringtitle){super(title);frame=this;insert=newJButton("添加學生信息");insert.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){newInsertDialog(frame);}});cancel=newJButton("退出系統(tǒng)");cancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){}});delete=newJButton("刪除學生信息");delete.addActionListener(newActionListner(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});update=newJButton("更新學生信息");update.addActionListener(newActionListner(){publicvoidactionPerformed(ActionEvente){newUpdateDialog(frame);}});find_out=newJbutton("查找學生信息");find_out.addActionListener(newActionListner(){publicvoidactionPerformed(ActionEvente){newFind_outDialog(frame);}});textarea=newJTextArea(30,50);textarea.setEditable(false);scrollpane=newJScrollPane(textarea);panel1=newJPanel();panel2=newJPanel();panel2.setSize(800,800);panel1.setLayout(newFlowLayout());panel1.add(find_out);panel1.add(insert);panel1.add(update);panel1.add(delete);panel1.add(cancel);panel2.add(scrollpane);this.setLayout(newBorderLayout());this.add(panel1,BorderLayout.NORTH);this.add(panel2,BorderLayout.SOUTH);this.pack();this.setVisible(true);}界面效果如下:6.1.3查詢學生信息代碼如下:classFindoutDialogextendsJDialog{privateJButtoncertain,cancel;privateJLabellabel_id=newJLabel("請輸入你要查詢學生的學生證號碼:");privateJTextFieldtextfield_id=newJTextField();publicFind_outDialog(finalMainFrameframe){super(frame,"請輸入你要查詢學生的學生證號",true);certain=newJButton("確定");certain.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){frame.find_outService(textfield_id);dispose();}});cancel=newJButton("取消");cancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){dispose();}});setLayout(newGridLayout(2,2));add(label_id);add(textfield_id);setLayout(newGridLayout(2,2));add(label_id);add(textfield_id);add(certain);add(cancel);pack();setVisible(true);}}界面效果如下:6.1.4添加學生信息代碼如下:classUpdateDialogextendsJDIalog{privateJTexttextfield_id,textfield_name,textfield_department,textfield_sex,textfield_room_num;privateJLabellabel_id,label_name,label_class,label_department,label_sex,label_room_num;privateJBttoncertain,cancel;publicInsertDialog(finalMainFrameframe){super(frame,"請?zhí)钊雽W生的完整信息",true);text_id=newJTextField();text_name=newJTextField();text_class=newJTextField();text_department=newJTextField();text_sex=newJTextField();text_romm_num=newJTextField();label_id=newJLabel("請輸入你要添加的學生證號碼");label_name=newJLabel("請輸入你要添加的學生姓名");label_class=newJLabel("請輸入你要添加的學生班級");label_department=newJLabel("請輸入你要添加的學生系別");label_sex=newJLabel("請輸入你要添加的學生性別");label_room_num=newJLabel("請輸入你要添加的學生宿舍號");certain=newJButton("確定");certain.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){frame.insertService(textfield_id.getText(),textfield-name.getText(),textfield-class.getText()textfield-department.getText()textfield-sex.getText()textfield-room_num.getText());dispose();}});cancel=newJButton("取消");cancel.addActionListener(newActionListener(){publicvoidactionPerford(ActionEvente){dispose();}});setlayout(newGridLayout(7,2));add(label_id);add(textfield_id);add(label_name);add(textfield_name);add(label_class);add(textfield_class);add(label_department);add(textfield_department);add(label_sex);add(textfield_sex);add(label_room_num);add(textfield_room_num);add(certain);add(cancel);pack();setVisible(true);}}界面效果如下:更新學生信息的代碼和添加學生信息的代碼一樣,只是輸出中文有些出入。界面效果如下:6.1.5刪除classDeleteextendsJDialog{privateJTexttextfield;privataJButtoncertain,cancel;privateJLabellabel;publicDeleteDialog(finalMainFrameframe){ super(frame,"請輸入你要刪除學生的學生證號",true);textfield=newJTextField();label=newJLbel("請輸入你要刪除的學生證號:");certain=newJButton("確定");certain.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){frame.deleteService(textfield);dispose();}});cancel=newJButton("取消");cancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){dispose();}});setlayout(newGridLayout(2,2));add(label);add(textfield);add(certain);add(cancel);pack();setVisible(true);}}setlayout(newGridLayout(7,2));add(label_id);add(textfield_id);add(label_name);add(textfield_name);add(label_class);add(textfield_class);add(label_department);add(textfield_department);add(label_sex);add(textfield_sex);add(label_room_num);add(textfield_room_num);add(certain);add(cancel);pack();setVisible(true);}}界面效果如下:6.1.6publicMainFrame(Stringtitle){super(title);frame=this;label_Id1=newJLabel("公寓樓號");label_Id2=newJLabel("寢室號");find_out=newJbutton("查找");find_out.addActionListener(newActionListner(){publicvoidactionPerformed(ActionEvente){newFind_outDialog(frame);}});label_Id=newJLabel("公寓號");label_Num=newJLabel("可住人數(shù)");label_Tel=newJLabel("電話");label_Des=newJLabel("備注");label_hao=newJLabel("寢室號");label_Price=newJLabel("住宿費用");tip=newjLabel();insert=newJButton("添加");insert.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){newInsertDialog(frame);}});delete=newJButton("刪除");delete.addActionListener(newActionListner(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});update=newJButton("修改");update.addActionListener(newActionListner(){publicvoidactionPerformed(ActionEvente){newUpdateDialog(frame);}});cancel=newJButton("退出");cancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){}});textarea=newJTextArea(30,50);textarea.setEditable(false);scrollpane=newJScrollPane(textarea);panel1=newJPanel();panel2=newJPanel();panel2.setSize(800,800);panel1.setLayout(newFlowLayout());panel1.add(find_out);panel1.add(insert);panel1.add(update);panel1.add(delete);panel1.add(cancel);panel2.add(scrollpane);textfield_name=newJtextField(20);pwf_password=newJPasswordField(20);this.setLayout(newGridLayout(4,2));this.add(label_Id);this.add(label_Id1);this.add(label_Id2);this.add(textfield_Id);this.add(label_Num);this.add(pwdf_Num);this.add(label_Tel);this.add(textfield_Tel);this.add(label_Des);this.add(pwdf_Des);this.add(label_hao);this.add(textfield_hao);this.add(label_Price);this.add(pwdf_Price);this.setLayout(newBorderLayout());this.add(panel1,BorderLayout.NORTH);this.add(panel2,BorderLayout.SOUTH);this.pack();this.setVisible(true);}界面效果如下:關(guān)于查詢、添加、修改、刪除宿舍信息的相關(guān)代碼和學生信息具體操作的代碼算法思想一樣。6.2測試工作:6.2.1軟件測試說明:軟件測試(Softwaretesting)是軟件生存期(Softwarelifecycle)中的一個重要階段,是軟件質(zhì)量確保的關(guān)鍵步驟。通俗地講,軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼進行最終復審的活動。1983年IEEE提出的軟件工程術(shù)語中給軟件測試下的定義是:“使用人工或自動的手段來運行或測定某個軟件系統(tǒng)的過程,其目的在于檢驗他是否滿足規(guī)定的需求或弄清預期結(jié)果和實際結(jié)果之間的差別”。這個定義明確指出:軟件測試的目的是為了檢驗軟件系統(tǒng)是否滿足需求。從用戶的角度來看,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,所以軟件測試應(yīng)該是“為了發(fā)現(xiàn)錯誤而執(zhí)行程式的過程”?;蛘f,軟件測試應(yīng)該根據(jù)軟件研發(fā)各階段的規(guī)格說明和程式的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(即輸入數(shù)據(jù)及其預期的輸出結(jié)果),并利用這些測試用例去運行程式,以發(fā)現(xiàn)程式錯誤或缺陷。6.2.2黑盒測試:黑盒測試注重于測試軟件的功能性需求,也即黑盒測試使軟件工程師派生出執(zhí)行程序所有功能需求的輸入條件。黑盒測試并不是白盒測試的替代品,而是用于輔助白盒測試發(fā)現(xiàn)其他類型的錯誤。等價類劃分法是一種重要的、常用的黑盒測試方法,它將不能窮舉的測試過程進行合理分類,從而保證設(shè)計出來的測

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論