基于java學(xué)生公寓管理系統(tǒng)-畢業(yè)論文設(shè)計(jì)_第1頁
基于java學(xué)生公寓管理系統(tǒng)-畢業(yè)論文設(shè)計(jì)_第2頁
基于java學(xué)生公寓管理系統(tǒng)-畢業(yè)論文設(shè)計(jì)_第3頁
基于java學(xué)生公寓管理系統(tǒng)-畢業(yè)論文設(shè)計(jì)_第4頁
基于java學(xué)生公寓管理系統(tǒng)-畢業(yè)論文設(shè)計(jì)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論