版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
中原工學(xué)院軟件學(xué)院軟件工程實(shí)踐一設(shè)計任務(wù)書姓名***軟件工程專業(yè)JAVA123班題目學(xué)生請假管理系統(tǒng)開發(fā)設(shè)計任務(wù)開發(fā)一個基于Web學(xué)生請假管理系統(tǒng),包含老師端和學(xué)生端。關(guān)鍵功效包含:UI設(shè)計:界面(參與)學(xué)生端:請假申請、銷假申請、查詢自己請假統(tǒng)計;(獨(dú)立完成)3.老師端:請假審批、銷假審批、查詢學(xué)生請假統(tǒng)計;(參與)開發(fā)工具:Java、JSP、MySQL、Photoshop、MyEclipse8.6時間進(jìn)度第1周(9-9~9-13):完成需求分析、UI設(shè)計第2周(9-16~9-21):完成代碼第3周(9-24~9-29):完成匯報原主始要資參料考和文獻(xiàn)[01]/html/html_forms.asp[02]葉和亞.陳立.java2程序設(shè)計實(shí)用教程例[M]北京:電子工業(yè)出版社..5[03]李兆峰.龐永慶.java程序設(shè)計和項目實(shí)踐[M]北京:電子工業(yè)出版社..6指導(dǎo)老師簽字:年月日學(xué)生請假管理系統(tǒng)摘要目前信息化時代,講究高效,正確,立即完成事情,多年來學(xué)校全部在開展信息化布署,實(shí)現(xiàn)了多媒體教學(xué),網(wǎng)上提交作業(yè),在線考試等學(xué)生考勤對學(xué)校教務(wù)管理是至關(guān)關(guān)鍵,在以前,學(xué)生請假要去找班主任或領(lǐng)導(dǎo)同意,而且不一定每次全部能順利找到班主任,完成請假同意。假如學(xué)生不在學(xué)校,沒措施向班主任提交請假單;對于學(xué)生出勤檢驗(yàn),是學(xué)生會依據(jù)紙制名單逐一點(diǎn)名,或老師依據(jù)學(xué)生上交課堂作業(yè)來判定學(xué)生是否來上課。這些方法往往含有考勤差錯率比較高,考勤效率也比較慢,沒有一個總體統(tǒng)計和整理,而且紙制點(diǎn)名冊輕易丟失遺漏,耽擱時間等缺點(diǎn)。針對以上問題,開發(fā)一個針對學(xué)生請假考勤網(wǎng)上管理系統(tǒng),經(jīng)過請假管理系統(tǒng),任課老師能夠在課堂上直接登錄考勤統(tǒng)計網(wǎng)站進(jìn)行課堂查看哪些學(xué)生請假,統(tǒng)計學(xué)生考勤情況等。另外,在其它時間,班主任和其它老師也能夠登錄該網(wǎng)站查詢學(xué)生在某課程出勤情況。該系統(tǒng)是基于Javaweb簡單型設(shè)計,它表現(xiàn)了對部分簡單JSP標(biāo)簽語言利用,該系統(tǒng)界面簡單、操作方便。依據(jù)實(shí)際需要將系統(tǒng)分為學(xué)生端和老師端,學(xué)生請假和老師批假全部需要首先登錄,學(xué)生端實(shí)現(xiàn)了學(xué)生申請請假、申請銷假、查詢自己請假統(tǒng)計功效;老師端實(shí)現(xiàn)了老師對學(xué)生請假同意、銷假同意和查詢學(xué)生請假統(tǒng)計功效。關(guān)鍵詞:學(xué)生;請假管理;JavaWeb目錄TOC\o"1-4"\h\z\u摘要 2第1章項目分析 11.1問題描述 11.2技術(shù)分析 11.3工程進(jìn)度計劃 2第2章系統(tǒng)分析和設(shè)計 32.1系統(tǒng)分析 32.1.1參與者 32.1.2用例圖 32.1.3用例及用例規(guī)約 4UC—001登錄 42.1.3.2UC—002申請請假 5UC—003申請銷假 6UC—004查詢請假統(tǒng)計 72.2系統(tǒng)設(shè)計 72.2.1次序圖 82.2.2類圖 112.2.3系統(tǒng)體系結(jié)構(gòu)設(shè)計 112.2.4設(shè)計時序圖 12圖2.10學(xué)生銷假申請設(shè)計時序圖 142.3數(shù)據(jù)庫設(shè)計 142.3.1E-R圖 152.3.2關(guān)系模式 162.3.3表設(shè)計 16第3章實(shí)現(xiàn)和測試 193.1請假申請功效 203.1.1活動圖 213.1.2界面 213.1.3代碼 213.1.4測試用例 223.2 銷假申請功效 223.2.1活動圖 223.2.2界面 223.2.3代碼 223.2.4測試用例 223.3 請假統(tǒng)計查詢 223.3.1活動圖 233.3.2界面 233.3.3代碼 233.3.4測試用例 233.4登錄功效 233.4.1活動圖 233.4.2界面 233.4.3代碼 243.5.4測試用例 24第4章結(jié)束語 25附錄A:附加圖、表 29附錄B:關(guān)鍵源程序 29
第1章項目分析伴隨計算機(jī)發(fā)展和不停進(jìn)步,各個領(lǐng)域全部出現(xiàn)了新技術(shù),曾經(jīng)多種規(guī)模之間競爭已經(jīng)發(fā)展成為技術(shù)之間競爭,管理和人才之間競爭,然而計算機(jī)技術(shù)發(fā)展也離不開軟件更新,在軟件不停更新和替換過程中已經(jīng)滲透到各個領(lǐng)域,政府機(jī)關(guān),各大高校等全部不停向智能方向發(fā)展,學(xué)生請假也成為一件棘手事情,為了請假學(xué)生需要寫請假條找老師同意,結(jié)果是這個時候老師不一定在,另外學(xué)生需要請假時不一定在學(xué)校,所以為了給廣大師生提供方便,我們需要開發(fā)軟件系統(tǒng)學(xué)生請假管理系統(tǒng)。1.1問題描述要完成這個系統(tǒng)最大問題就是所學(xué)知識是有限,在完成其中一些功效時候所需要可能就完全沒有接觸過,所以只能用部分簡單功效替換或替換掉那些用現(xiàn)在水平所不能實(shí)現(xiàn)功效,再者就是對現(xiàn)在所需求不是很明確,比如要做出一個請假管理怎樣去設(shè)置友好界面讓大家全部喜愛適應(yīng)去使用,怎樣把系統(tǒng)做到什么程度才能夠投入使用,這些全部是所面臨棘手問題。1.2技術(shù)分析該系統(tǒng)用到MVC設(shè)計模式,總共建立了五個包,界面View、數(shù)據(jù)對象DO、數(shù)據(jù)庫連接DB、數(shù)據(jù)庫操作DAO、控制層Control、業(yè)務(wù)層BO;DO層是對數(shù)據(jù)對象封裝,DB層是連接數(shù)據(jù)庫,DAO層是包含對數(shù)據(jù)標(biāo)基礎(chǔ)操作,BO層是全部和業(yè)務(wù)相關(guān)相關(guān)對數(shù)據(jù)判定等,調(diào)用是DAO層然后返回一個結(jié)果,Control層是為了獲取用戶參數(shù)并封裝,同時調(diào)用BO層,再依據(jù)調(diào)用得到不一樣結(jié)果在調(diào)用不一樣View層,將處理結(jié)果顯示給用戶。圖1.1包圖1.3工程進(jìn)度計劃實(shí)際開發(fā)過程中,開發(fā)周期能夠分為三個階段:第一階段:結(jié)果:(1)需求分析(2)對數(shù)據(jù)庫進(jìn)行設(shè)計目標(biāo):設(shè)計出適合學(xué)生請假管理系統(tǒng)數(shù)據(jù)庫;完成數(shù)據(jù)庫連接時間:一周第二階段:結(jié)果:完成JSP頁面和系統(tǒng)代碼目標(biāo):能在編譯器中有效正確運(yùn)行。時間:一周第三階段:結(jié)果:寫匯報;目標(biāo):完成系統(tǒng)匯報。時間:一周
第2章系統(tǒng)分析和設(shè)計學(xué)生請假管理系統(tǒng)必需經(jīng)過正確用戶名密碼方能進(jìn)入系統(tǒng),系統(tǒng)分為兩大模塊,學(xué)生端和老師端,學(xué)生端和老師端分別有三個模塊,學(xué)生端分為請假申請、銷假申請、個人請假統(tǒng)計查詢,老師端分為請假審批、銷假審批和學(xué)生請假統(tǒng)計查詢;學(xué)生提交請假申請需要老師審批,只有同意以后學(xué)生方可提出銷假申請。2.1系統(tǒng)分析該系統(tǒng)有兩個參與者,分別為學(xué)生和老師,學(xué)生請假需首先得到老師同意方可奏效,學(xué)生和老師全部需使用自己工號作為用戶名和密碼進(jìn)行登錄。2.1.1參與者學(xué)生、老師2.1.2用例圖圖2.1用例圖2.1.3用例及用例規(guī)約請假管理系統(tǒng)學(xué)生端共包含1個參與者、4個用例。用例編號及名稱如表1所表示:表2.1用例列表用例編號用例名稱參與者UC-001登錄學(xué)生UC-002申請請假學(xué)生UC-003申請銷假學(xué)生UC-004查詢請假統(tǒng)計學(xué)生UC—001登錄參與者學(xué)生需要用戶名和密碼登錄到系統(tǒng),才能進(jìn)行對應(yīng)操作,系統(tǒng)中設(shè)置學(xué)生登錄用戶名為學(xué)號,初始化密碼為學(xué)號.表2.2功效編號UC-001功效名稱登錄前置條件參與者經(jīng)過瀏覽器打開請假管理系統(tǒng)登錄頁面基礎(chǔ)事件流系統(tǒng)要求參與者填寫用戶名和密碼。參與者填寫對應(yīng)信息,學(xué)生輸入學(xué)號作為用戶名,密碼初始值為學(xué)號。系統(tǒng)驗(yàn)證用戶輸入信息是否正確備選流1.用戶名和密碼輸入錯誤假如系統(tǒng)檢測到用戶輸入用戶名和密碼和數(shù)據(jù)庫中不一致,給用戶“用戶名和密碼不正確”錯誤提醒,并要求用戶重新輸入。后置條件假如用例成功,系統(tǒng)進(jìn)入對應(yīng)權(quán)限頁面界面原型參與者學(xué)生UC—002申請請假該用例關(guān)鍵參與者為學(xué)生,學(xué)生經(jīng)過系統(tǒng)填寫請假申請單,請假申請單將會提交給教導(dǎo)員審批。表=2.32.3功效編號UC-002功效名稱申請請假用例描述學(xué)生創(chuàng)建新請假申請單,錄入請假資料,創(chuàng)建一個請假申請步驟前置條件學(xué)生正常登錄到系統(tǒng)中,并打開請假管理頁面基礎(chǔ)事件流學(xué)生選擇創(chuàng)建請假申請單,系統(tǒng)自動查詢目前學(xué)生是否存在沒有銷假統(tǒng)計,假如存在沒有銷假請假統(tǒng)計,實(shí)施異常流1.1,假如不存在未銷假統(tǒng)計,實(shí)施基礎(chǔ)事件流2系統(tǒng)展示申請單錄入界面學(xué)生錄入學(xué)生學(xué)號、姓名、請假事由(原因、去向),開始時間、結(jié)束時間,聯(lián)絡(luò)方法(個人聯(lián)絡(luò)方法、家長聯(lián)絡(luò)方法)學(xué)生提交申請單,系統(tǒng)進(jìn)行數(shù)據(jù)校驗(yàn),依據(jù)業(yè)務(wù)規(guī)則C,假如數(shù)據(jù)校驗(yàn)不正當(dāng),實(shí)施分支流4.1,假如數(shù)據(jù)校驗(yàn)正當(dāng),實(shí)施基礎(chǔ)事件流5系統(tǒng)為目前請假申請單生成唯一編號,保留該請假申請單將該步驟推進(jìn)到下一步驟系統(tǒng)應(yīng)該向?qū)W生展現(xiàn)請假申請單最終頁面,用例結(jié)束分支流4.1請假信息填寫有誤,顯示填寫不正確信息提醒,并要求學(xué)生重新填寫,顯示填寫請假申請單頁面。異常流1.1系統(tǒng)顯示學(xué)生沒有銷假統(tǒng)計詳情1.1學(xué)生確定自己請假統(tǒng)計是否屬實(shí),用例終止后置條件系統(tǒng)將保留該條請假統(tǒng)計。創(chuàng)建新請假單并生成唯一申請編號創(chuàng)建新請假申請步驟實(shí)例統(tǒng)計提交后不能夠再修改界面原型無業(yè)務(wù)規(guī)則包含學(xué)生姓名、教導(dǎo)員姓名、請假開始時間(必需選擇當(dāng)日及當(dāng)日以后時間)、請假結(jié)束時間(大于請假開始時間),請假理由,家長聯(lián)絡(luò)電話系統(tǒng)首先判定是否存在沒有銷假統(tǒng)計,存在話,將該統(tǒng)計顯示給目前學(xué)生學(xué)生進(jìn)行確定,假如確定是沒有銷假,學(xué)生繼續(xù)實(shí)施銷假步驟,不然,教導(dǎo)員進(jìn)行異常處理學(xué)生姓名、教導(dǎo)員姓名、請假開始時間(必需選擇當(dāng)日及當(dāng)日以后時間)、請假結(jié)束時間(大于請假開始時間),請假理由,家長聯(lián)絡(luò)電話信息為必填,不能為空。聯(lián)絡(luò)方法是否正當(dāng),請假開始時間是否在請假結(jié)束時間之前。實(shí)施者學(xué)生包含實(shí)體學(xué)生屬性:學(xué)號、姓名、班級、性別、聯(lián)絡(luò)方法、宿舍、標(biāo)志變量(tag=1)請假申請單屬性:學(xué)生(學(xué)號、姓名),請假事由(原因、去向),開始時間、結(jié)束時間,聯(lián)絡(luò)方法(個人聯(lián)絡(luò)方法、家長聯(lián)絡(luò)方法)、操作1(已同意、待同意)、操作2(申請銷假、已銷假、未銷假)UC—003申請銷假該用例關(guān)鍵參與者為學(xué)生,學(xué)生經(jīng)過系統(tǒng)提出銷假申請,若申請成功,此時請假信息中操作2狀態(tài)將修改為申請銷假,不然提醒申請銷假失敗。表2.4功效編號UC-003功效名稱申請銷假前置條件參與者經(jīng)過瀏覽器打開請假管理系統(tǒng)登錄頁面成功登錄進(jìn)入系統(tǒng)主頁面基礎(chǔ)事件流學(xué)生發(fā)出銷假申請,并等候系統(tǒng)驗(yàn)證假如提醒申請成功,實(shí)施基礎(chǔ)事件流3等候教導(dǎo)員銷假假如提醒申請失敗,實(shí)施基礎(chǔ)事件流5提醒申請銷假失敗,請重新申請備選流無后置條件假如用例成功,系統(tǒng)進(jìn)入對應(yīng)權(quán)限頁面界面原型無參與者學(xué)生UC—004查詢請假統(tǒng)計該用例參與者為學(xué)生,學(xué)生經(jīng)過系統(tǒng)提出請假統(tǒng)計查詢,若查詢成功,學(xué)生請假統(tǒng)計將會顯示在頁面上。表2.5功效編號UC-004功效名稱查詢請假統(tǒng)計前置條件參與者經(jīng)過瀏覽器打開請假管理系統(tǒng)登錄頁面成功登錄進(jìn)入系統(tǒng)主頁面基礎(chǔ)事件流1.學(xué)生發(fā)出查詢請假統(tǒng)計,并等候系統(tǒng)驗(yàn)證2.假如提醒驗(yàn)證成功,實(shí)施基礎(chǔ)事件流33.顯示請假統(tǒng)計4.假如提醒驗(yàn)證失敗,實(shí)施基礎(chǔ)事件流55.提醒查詢失敗或無請假統(tǒng)計,請重新申請備選流無后置條件假如用例成功,系統(tǒng)進(jìn)入對應(yīng)權(quán)限頁面界面原型無參與者學(xué)生2.2系統(tǒng)設(shè)計該系統(tǒng)分為3個部分,第一部分是登錄,學(xué)生和老師全部需要登錄,第二部分是學(xué)生端,學(xué)生端3個功效學(xué)生申請請假、學(xué)生申請銷假、查詢個人請假統(tǒng)計,第三個部分是老師端,老師端3個功效老師同意請假申請、老師同意銷假申請、老師查詢學(xué)生請假統(tǒng)計。2.2.1次序圖圖2.2登錄時序圖圖2.3學(xué)生請假申請時序圖圖2.4學(xué)生銷假申請時序圖圖2.5學(xué)生請假查詢時序圖2.2.2類圖圖2.6類圖2.2.3系統(tǒng)體系結(jié)構(gòu)設(shè)學(xué)生請假管理系統(tǒng)學(xué)生請假管理系統(tǒng)統(tǒng)學(xué)生端老師端學(xué)生申請請假學(xué)生申請銷假學(xué)生查詢請假老師審批請假老師審批銷假老師查詢請假登錄圖2.7體系結(jié)構(gòu)圖該系統(tǒng)包含基礎(chǔ)3各模塊,登錄、學(xué)生端、老師端。學(xué)生和老師在登錄成功時分別進(jìn)入不一樣頁面進(jìn)行操作,學(xué)生端進(jìn)行請假申請、銷假申請、查詢個人請假;老師審批請假、審批銷假、查詢學(xué)生請假統(tǒng)計。2.2.4設(shè)計時序圖圖2.8登錄設(shè)計時序圖該圖是學(xué)生端登錄設(shè)計時序圖,首先學(xué)生發(fā)送請求到控制類,然后跳出登錄頁面,學(xué)生填寫登錄信息并提交到控制類,控制類封裝數(shù)據(jù)創(chuàng)建對象調(diào)用邏輯層進(jìn)行數(shù)據(jù)校驗(yàn)并返回結(jié)果,邏輯層調(diào)用DAO層最終依據(jù)結(jié)果判定假如登錄成功將跳轉(zhuǎn)到學(xué)生端主頁,假如登錄失敗將給以提醒信息并請重新登錄。圖2.9請假申請設(shè)計時序圖該圖是學(xué)生請假申請設(shè)計時序圖,首先學(xué)生需要成功登錄,發(fā)出請假申請,這時候控制類會自發(fā)調(diào)用邏輯層,邏輯層調(diào)用DAO層,假如該學(xué)生之前請過假而且未曾銷假,這時該學(xué)生是不能夠再請假,倘若該學(xué)生發(fā)出請假申請,系統(tǒng)將會把該學(xué)生之前請假未銷假統(tǒng)計顯示出來,假如沒有未銷假統(tǒng)計,將會顯示請假申請頁面,學(xué)生需要填寫請假申請單將請假具體信息填寫并提交倘若正確無誤,系統(tǒng)將會提醒請假申請成功。圖2.10學(xué)生銷假申請設(shè)計時序圖該圖是學(xué)生銷假申請設(shè)計時序圖,在學(xué)生成功登錄以后,學(xué)生在申請請假時候必需不存在未銷假統(tǒng)計,所以在學(xué)生請假完成到校報到后必需進(jìn)行銷假,然而這時需要發(fā)出銷假申請,這時候在業(yè)務(wù)邏輯層將會給判定,假如銷假申請成功將會提醒申請成功,假如有錯誤將會提醒申請失敗或不存在未銷假統(tǒng)計。2.3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫在該系統(tǒng)中是為了存放數(shù)據(jù),學(xué)生所提交請假統(tǒng)計是經(jīng)過保留到數(shù)據(jù)庫中來實(shí)現(xiàn)申請請假、銷假等功效,在我們現(xiàn)在所學(xué)有限知識內(nèi),沒有數(shù)據(jù)庫該系統(tǒng)是沒法運(yùn)行和實(shí)現(xiàn)。2.3.1關(guān)系模式(1)學(xué)生信息:(學(xué)號、姓名、班級、性別、宿舍、聯(lián)絡(luò)方法、tag)
(2)老師信息:(工號、姓名、聯(lián)絡(luò)方法、性別、年級、tag)
(3)登錄:(用戶名(學(xué)號、工號),密碼)(4)請假信息:(學(xué)號、姓名、事由、請假開始時間、請假結(jié)束時間、聯(lián)絡(luò)方法)2.3.2E-R圖E-R圖在數(shù)據(jù)庫設(shè)計里面是至關(guān)關(guān)鍵一步,它是整個數(shù)據(jù)庫設(shè)計關(guān)鍵,下面使用實(shí)體聯(lián)絡(luò)(E-R)模型來描述系統(tǒng)概念結(jié)構(gòu),設(shè)計出能夠滿足用戶需求多種實(shí)體,和它們之間關(guān)系,為后面邏輯設(shè)計打下基礎(chǔ)。圖2.11E-R圖請假統(tǒng)計請假統(tǒng)計理由開始時間學(xué)號操作2操作1結(jié)束時間姓名聯(lián)絡(luò)方法用戶用戶1老師n學(xué)生n屬于姓名聯(lián)絡(luò)班級學(xué)號性別宿舍Tag屬于性別年級電話姓名工號Tags用戶名:學(xué)號、工號密碼2.3.3表設(shè)計表2.6用戶登錄信息表(login)編號字段名稱數(shù)據(jù)類型約束條件說明1useridVarchar(14)無學(xué)號、工號2passwordVarchar(12)無密碼3TagVarchar(2)無標(biāo)志該表是用戶登錄信息表,表中包含3個屬性,用戶名和密碼、還有標(biāo)志變量tag,tag是為了控制學(xué)生端和老師端,用戶名分別為學(xué)號和老師工號;表2.7學(xué)生信息表(Student)編號字段名稱數(shù)據(jù)類型約束條件說明1sidVarchar(14)無學(xué)號2SnameVarchar(20)無姓名3ClassesVarchar(20)無班級4SsexVarchar(6)無性別5SphoneVarchar(12)無聯(lián)絡(luò)電話6DormitoryVarchar(6)無宿舍7TagVarchar(2)1標(biāo)志該表是學(xué)生信息表,表中包含7個屬性,全部是字符串類型,其中tag標(biāo)志變量默認(rèn)為1,而且不可修改;表2.8老師信息表(teacher)編號字段名稱數(shù)據(jù)類型約束條件說明1tidVarchar(14)無工號2tnameVarchar(16)無姓名3tsexVarchar(4)無性別4gradesVarchar(20)無所帶年級5tphoneVarchar(12)無電話6tagVarchar(2)2標(biāo)志該表是老師信息表,表中包含6個屬性,全部是字符串類型,老師也包含一個標(biāo)志變量tag,也存在一個默認(rèn)值為2,而且不能修改;表2.8請假信息表(leaverecords)編號字段名稱數(shù)據(jù)類型約束條件說明1sidVarchar(14)無學(xué)號2SnameVarchar(16)無姓名3Starttimedate無開始時間4endtimedate無截止時間5SphoneVarchar(12)無聯(lián)絡(luò)電話6Operate1Varchar(20)操作17Operate2Varchar(20)操作28reasonVarchar(255)無理由該表示請假信息表,包含8個屬性,其中有字符串和日期類型,操作1和操作2分別是默認(rèn)值,其值是依據(jù)學(xué)生請假申請成功,銷假和老師審批相關(guān)。第3章實(shí)現(xiàn)和測試每一個項目標(biāo)關(guān)鍵部分全部是功效實(shí)現(xiàn),功效完成標(biāo)志著一個系統(tǒng)完成,然而這些結(jié)果全部需要一個需求和設(shè)計來作為基礎(chǔ)要求,以下就是該系統(tǒng)具體功效實(shí)現(xiàn)過程:需求分析:需求分析階段我采取了StarUML工具做了具體分析,依據(jù)自己需要畫出了包圖、時序圖、用例圖、類圖、活動圖、設(shè)計時序圖等所需要幾類基礎(chǔ)圖,項目標(biāo)框架是依據(jù)包圖來創(chuàng)建,時序圖關(guān)鍵就是項目標(biāo)每一個功效所要求基礎(chǔ)步驟,設(shè)計時序圖就是將時序圖給具體化,具體到每一步所走步驟返回什么樣數(shù)據(jù)或類型,也就是說畫設(shè)計時序圖時基礎(chǔ)上已經(jīng)把代碼在腦子里有了型,用例圖其實(shí)就是項目全部功效,每一個用例就代表一個基礎(chǔ)功效,數(shù)據(jù)庫設(shè)計是依據(jù)類圖來實(shí)現(xiàn),類圖就表示了數(shù)據(jù)庫中表和各表之間關(guān)系。界面設(shè)計:用戶界面設(shè)計要求友好合理,要充足考慮到用戶操作習(xí)慣,而且要有良好顯示效果。另外界面配色方案要協(xié)調(diào),使用主色,背景色,前景色,按鈕大小,文字,格式,表格等要統(tǒng)一標(biāo)準(zhǔn)。因?yàn)樵撓到y(tǒng)關(guān)鍵用于企業(yè)人員管理,所以界面框架主色采取較為嚴(yán)厲淺藍(lán)色,在此基礎(chǔ)上用到了PhotoShop技術(shù),dreamweaver和css和Javascript等,里面登錄那個信息是一個圖片用ps加工修改寫上了藝術(shù)字,界面代碼是在dreamweaver里面直接設(shè)計好,然后將代碼復(fù)制粘貼過去,因?yàn)樵赿reamweaver里面設(shè)計界面在MyEclipse里面是不能運(yùn)行,需要一個腳原來支持,所以只需要在MyEclipse里面建好jsp頁面只需將dreamweaver里面body里面東西復(fù)制粘貼到MyEclipse里面就能夠運(yùn)行了;每一個界面里面全部有一個表格,表格里面有很多其它元素之類,比如:按鈕,標(biāo)題,下拉框等很多細(xì)小知識,外面有一個表單,這個表單是必需有,她是為了在前臺和后連接時候提交一個數(shù)據(jù)來運(yùn)行這個項目標(biāo);在這些界面里面,時間是用js來完成,統(tǒng)一css樣式表;還有就是在查詢過程中將所顯示數(shù)據(jù)設(shè)置為某一屬性她將無法在查詢顯示這個頁面來任意修改部分信息功效描述:首先這個系統(tǒng)除了界面其它代碼分別寫在5個包中,第一個DO包,它里面從某種意義上說在這個包里面每一個類全部是創(chuàng)建某一個實(shí)例方法,它里面定義了相對屬性,和get()和set()方法;第二個是DAO包,它里面是對于每一個管理模塊部分基礎(chǔ)小功效實(shí)現(xiàn),說白了關(guān)鍵就是增刪改查之類它是對數(shù)據(jù)庫語句一個應(yīng)用;第三個包是DB包,這個包能夠說是只為了一件事,就是數(shù)據(jù)庫連接,之所以這么寫專門用一個包來寫相關(guān)數(shù)據(jù)庫連接目標(biāo)只是為了看到數(shù)據(jù)和封裝,表現(xiàn)一個面向?qū)ο笏妓鳎瑥亩谝恍┓矫嬉材軌蚪档痛a反復(fù)率,提升代碼可讀性;第四個包是control包,這個包是最關(guān)鍵,因?yàn)樵趙eb應(yīng)用開發(fā)過程中每一個項目要想和前臺數(shù)據(jù)連接并能夠成功把數(shù)據(jù)相互傳輸,servelet里面有兩個方法,一個是doGet(),一個是doPost(),二者最大區(qū)分就是前者對數(shù)據(jù)沒有保密,就是隨時全部會泄露部分關(guān)鍵信息,因?yàn)槊恳惶峤槐韱稳繒殡S瀏覽器瀏覽網(wǎng)址顯示出來,然而要想以前臺取得數(shù)據(jù),就好比添加職員就得用到用戶端所發(fā)出請求request.getParameter()得到。第五個包是BO包,這個是業(yè)務(wù)邏輯層,關(guān)鍵是調(diào)用DAO包里面方法,數(shù)據(jù)校驗(yàn)等功效。在該系統(tǒng)中我關(guān)鍵完成是學(xué)生端功效,以下為學(xué)生端功效:3.1請假申請功效在學(xué)生請假申請這個功效里面其實(shí)所做就是對數(shù)據(jù)添加,界面是簡單采取了CSS樣式界面,假如學(xué)生登錄成功點(diǎn)擊申請請假,假如該學(xué)生存在未銷假統(tǒng)計系統(tǒng)將會把該學(xué)生未銷假統(tǒng)計顯示出來,假如不存在未銷假統(tǒng)計,此時學(xué)生請假信息界面會顯示出來,在學(xué)生填寫完請假信息出發(fā)右下方一個提交按鈕,倘若提交成功會提醒申請成功,假如失敗會跳轉(zhuǎn)到信息填寫頁面并提醒錯誤信息。3.1.1活動圖圖3.1學(xué)生申請請假活動圖3.1.2界面圖3.2學(xué)生請假申請頁面3.1.3代碼publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); Stringstr="已銷假"; Stringtype=request.getParameter("type"); LeaveRecordDOld=null; LeaveRecordDOlrd=newLeaveRecordDO(); StudentBOsb=newStudentBO(); if(type.equals("add")){ lrd.setSname(request.getParameter("sname")); lrd.setSid(request.getParameter("sid")); lrd.setSphone(request.getParameter("sphone")); lrd.setStarttime(Date.valueOf(request.getParameter("starttime"))); lrd.setEndtime(Date.valueOf(request.getParameter("endtime"))); lrd.setReason(request.getParameter("reason")); Stringresults=sb.validate(lrd); if(results==null){ Stringid=request.getParameter("sid"); ld=sb.queryrecords(str,id); if(ld==null){ sb.save(lrd); request.getRequestDispatcher("../success.jsp").forward(request,response); return; }else{request.setAttribute("ld",ld); request.getRequestDispatcher("../deleteleave.jsp").forward(request,response); return; } }else{ request.setAttribute("message",results); request.getRequestDispatcher("../askforleave.jsp").forward(request,response); return; } }3.1.4測試用例表3.1序號功效模塊測試數(shù)據(jù)預(yù)期結(jié)果1請假申請姓名:韓一正學(xué)號:123電話:理由:回家申請成功請假統(tǒng)計查詢在學(xué)生請假統(tǒng)計查詢里面和學(xué)生請假申請基礎(chǔ)是一樣,這個實(shí)際上就是對數(shù)據(jù)庫里面數(shù)據(jù)一個查詢,并將查詢統(tǒng)計顯示到網(wǎng)頁上,假如不存在請假統(tǒng)計,將不會顯示任何統(tǒng)計。3.2.1界面圖3.3請假統(tǒng)計3.2.2代碼HttpSessionsession=request.getSession(); session.setAttribute("username",request.getParameter("sid")); ArrayList<LeaveRecordDO>list=(ArrayList<LeaveRecordDO>)sb.getrecords(request.getParameter("sid")); request.setAttribute("list",list);request.getRequestDispatcher("../SseclectDisplay.jsp").forward(request,response); return;3.2.3測試用例序號功效模塊測試數(shù)據(jù)預(yù)期結(jié)果1請假查詢學(xué)號:123查詢成功3.4登錄功效登錄是該項目最基礎(chǔ)一個功效,這其實(shí)也是一個查詢,只不過是依據(jù)數(shù)據(jù)庫中數(shù)據(jù)和從網(wǎng)頁中得到數(shù)據(jù)進(jìn)行對比,假如匹配成功將會進(jìn)入到另外一個頁面,假如登錄失敗將會進(jìn)行提醒并重新登錄,登錄過程中在后臺數(shù)據(jù)中定義了標(biāo)志變量來表示學(xué)生和老師,所以在登錄時候依據(jù)這個屬性來判定登錄成功后跳轉(zhuǎn)到學(xué)生端還是老師端。登錄過程中進(jìn)行了簡單數(shù)據(jù)校驗(yàn),就是說用戶名和密碼不能為空,倘若為空將會提醒錯誤信息并提醒重新登錄。3.4.1代碼publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); LoginDOld=newLoginDO(); LoginBOlb=newLoginBO(); inttags; Stringuserid=request.getParameter("username"); Stringpasswd=request.getParameter("password"); ld.setUserid(userid); ld.setPasswd(passwd); Stringmessage=lb.validate(ld); if(message!=null){request.setAttribute("message",message);request.getRequestDispatcher("../loginerror.jsp").forward(request,response); }else{ tags=lb.login(ld); if(tags==1){ HttpSessionsession=request.getSession(); session.setAttribute("username",ld.getUserid()); request.getRequestDispatcher("../smain.jsp").forward(request,response); return; }elseif(tags==2){ HttpSessionsession=request.getSession(); session.setAttribute("username",ld.getUserid());request.getRequestDispatcher("../tmain.jsp").forward(request,response); return; } else{request.getRequestDispatcher("../error.jsp").forward(request,response); return;3.4.2界面圖3.4登錄界面3.4.1活動圖圖3.5登錄活動圖3.5.4測試用例序號功效模塊測試數(shù)據(jù)預(yù)期結(jié)果1學(xué)生登錄用戶名:123密碼:123登錄成功第4章結(jié)束語這次課題我用web開發(fā)來完成,從我對這三個字母不了解到學(xué)習(xí)它再到用它們來完成我課題,這個過程并不是想象那么輕易,今天最終完成了,長呼了一口氣,同時在內(nèi)心深處,也默默地為接下來學(xué)習(xí),做一個前段時間項目總結(jié),也是學(xué)習(xí)總結(jié),吸收之前經(jīng)驗(yàn)教訓(xùn),錯誤并不可怕,可怕是再在同一個地方犯一樣錯誤,所以對于我來說,更多去自我認(rèn)知,知我批評要比表彰和贊許來愈加深刻,很有必需做一個總結(jié)。即使時間略顯倉促,但在項目開發(fā)過程中我學(xué)習(xí)到了很多之前沒有接觸過內(nèi)容,也發(fā)覺了自己很多不足,感悟頗深。關(guān)鍵包含以下多個方面:1.在需求分析階段,因?yàn)閷W(xué)生請假管理系統(tǒng)真正需求并不了解,還有就是自己在做這個需求過程當(dāng)中總認(rèn)為想到了自己做不出來,就好比沒想到一個需求功效腦子里就會閃現(xiàn)出一個畫面,我該怎樣去實(shí)現(xiàn)它,正是因?yàn)檫@些錯誤想法造成了這次課題實(shí)踐進(jìn)度,所以我認(rèn)為在做需求時我們應(yīng)該依據(jù)實(shí)際無須考慮怎么做怎么實(shí)現(xiàn)。2.數(shù)據(jù)庫采取是Mysql,在編寫sql語句常常會出現(xiàn)部分語法錯誤,比如sql語句不之一次犯錯,在修改過程當(dāng)中我發(fā)覺了自己知識欠缺,或說對過去所學(xué)東西并沒有完全了解甚至吸收;尤其是數(shù)據(jù)庫中亂碼問題,我從一開始數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)我就一直被亂碼問題糾結(jié)著,我先上網(wǎng)查閱相關(guān)資料,看書尋求改變亂碼方法,甚至處理不了向同學(xué)請教,不過最終我全部沒有處理,最終在老師幫助下檢測出亂碼不是編碼問題而是我數(shù)據(jù)庫安裝過程中字符編碼選擇錯誤,所以一直回出現(xiàn)亂碼問題,而且處理以后再將自己碰到問題統(tǒng)計下來,使得以后出現(xiàn)一樣問題時能夠快速處理。3.因?yàn)樵撓到y(tǒng)在學(xué)生申請成功后需要老師端同意,在學(xué)生端才能進(jìn)行下一次操作,這些之前極少用到,經(jīng)過這次實(shí)習(xí)也將自己在書本上學(xué)到內(nèi)容用到了實(shí)際項目中;感受最深就是MVC模式和在兩個用戶端操作。4.團(tuán)體合作。我們完成一個項目總是需要一個團(tuán)體,而不是個人,在開發(fā)過程中小組之間溝通很關(guān)鍵。假如組內(nèi)組員沒有很好交流,則在項目后期各模塊合并時,會出現(xiàn)很多意想不到錯誤,比如路徑問題、頁面間跳轉(zhuǎn)等。所以我們完成系統(tǒng)時,小組間要定時開例會,相互交流,對于有分歧地方,一定要立即討論,采取一致方法,這么才有利于團(tuán)體工作??偠灾@次課題真使我受益匪淺。在這個過程中,我學(xué)習(xí)到不僅僅是以上技術(shù)上收獲,更還有生活中人際交往和其它很多經(jīng)驗(yàn)。而這些,全部將作為我邁入社會根本,我將以此為我基礎(chǔ),盡可能將學(xué)到知識利用到實(shí)際工作中,去迎接一個又一個挑戰(zhàn)?;叵朐谶@不到30天學(xué)習(xí)時間里,我學(xué)到了許很多多讓我感覺比較充實(shí)知識,掌握了更多學(xué)習(xí)方法,作為一個程序員,我們更需要信心,面對項目時我們要仔細(xì)分析,想法嘗試,想法去實(shí)現(xiàn),這么才能進(jìn)步,才能找到自己不足。一樣在職場中,工作需要自信心,不相信自己,任何工作全部做不好。沒有信心,成功機(jī)會就會少些。自信心能讓你做什么全部不難。生活需要自信心?,F(xiàn)實(shí)是殘酷,沒有自信心是難以生存。道路是坎坷,自信心能幫你順利地走過。有時期望是渺茫,不過自信心能讓你看到美好明天。在寫程序時,總是在看到功效后,立即投入到代碼編寫工作中。后期出現(xiàn)錯誤總是很多很多,常常返回重新修改。經(jīng)過這次旳實(shí)踐,又對軟件這個東西有了新認(rèn)識,新收獲,而且我對軟件工程又有了新了解,說白了軟件工程就是在為這個軟件做鋪墊,也就是說需求分析就是軟件工程,而我在做需求分析階段能順利完成,我十分感激我老師郭麗,假如不是在課堂上老師讓我在同學(xué)們面前或那個設(shè)計時序圖,我想我現(xiàn)在仍然不會明白軟件工程怎么去做需求,不是老師一步步教導(dǎo),我根本不可能完成今天這么簡單而且不完善項目,所以在此我對老師表示深深敬意和感激!
參考文件[01]李明.java程序設(shè)計和應(yīng)用[M]:北京.交通大學(xué)出版社..3[02]葉和亞.陳立.java2程序設(shè)計實(shí)用教程例[M]北京:電子工業(yè)出版社..5[03]李兆峰.龐永慶.java程序設(shè)計和項目實(shí)踐[M]北京:電子工業(yè)出版社..6[04]Y.DanielLiang.java語言程序設(shè)計[M]西安;機(jī)械工業(yè)出版社..5[05][06][07]劉京華.Java
Web整合開發(fā)王者歸來[M]:清華大學(xué)出版社.
.1
[08]何富貴.DreamweaverCS4網(wǎng)頁設(shè)計和制作[M]:
機(jī)械工業(yè)出版社.
.3
[09]鄭阿奇MySQL實(shí)用教程[M]:電子工業(yè)出版社..5
[10]
葉和亞.陳立.java2程序設(shè)計實(shí)用教程例[M]北京:電子工業(yè)出版社.
.5
指導(dǎo)老師評語成績:指導(dǎo)老師署名:年月日
附錄A:附加圖、表圖1學(xué)生端主頁面圖2老師端學(xué)生請假信息頁面附錄B:關(guān)鍵源程序DAO包/* *請假審批 */ publicbooleanLeaveAllow(Stringsid){ //獲取數(shù)據(jù)庫連接 Connectionconnection=DButils.getConnection(); //創(chuàng)建sql實(shí)施環(huán)境 PreparedStatementps=null; //創(chuàng)建sql語句 Strings="已同意"; Stringsql="updateleaverecordssetoperate1=?wheresid=?"; //實(shí)施sql語句 try{ ps=connection.prepareStatement(sql); ps.setString(1,s); ps.setString(2,sid); intcount=ps.executeUpdate(); if(count==1){ returntrue; } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }finally{ DButils.release(connection,ps,null); } returnfalse; } /* *銷假審批 */ publicbooleanXJallow(Strings,Stringsid){ //獲取數(shù)據(jù)庫連接 Connectionconnection=DButils.getConnection(); //創(chuàng)建sql實(shí)施環(huán)境 PreparedStatementps=null; //創(chuàng)建sql語句 s="已銷假"; Stringsql="updateleaverecordssetoperate2=?wheresid=?"; //實(shí)施sql語句 try{ ps=connection.prepareStatement(sql); ps.setString(1,s); ps.setString(2,sid); intcount=ps.executeUpdate(); if(count==1){ returntrue; } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }finally{ DButils.release(connection,ps,null); } returnfalse; } /* *查詢請假統(tǒng)計 */ publicArrayList<LeaveRecordDO>selectAll(){ ArrayList<LeaveRecordDO>list=newArrayList<LeaveRecordDO>(); //1、獲取數(shù)據(jù)庫連接 Connectionconn=DButils.getConnection();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年廣東省江門市高職單招英語考試題庫(附含答案)
- 《中國肺移植生物樣本庫構(gòu)建臨床指南(2025年版)》解讀
- 達(dá)芬奇密碼介紹課件
- 中考語文文言文對比閱讀(全國)01 《詠雪》對比閱讀(解析版)
- 邊境地方安全員培訓(xùn)
- 車隊調(diào)度安全培訓(xùn)課件
- 煤礦成立防滅火團(tuán)隊方案
- 2025鋼結(jié)構(gòu)原理試題及答案
- 《光的折射》物理授課課件
- (2025)中班科學(xué)探究活動設(shè)計與幼兒動手能力提升工作心得(2篇)
- 2026年度內(nèi)蒙古自治區(qū)行政執(zhí)法人員專場招收備考題庫完整答案詳解
- 農(nóng)產(chǎn)品采購合同2025年協(xié)議
- 2025年江蘇省公務(wù)員錄用考試行測題A類答案及解析
- 道路危險貨物運(yùn)輸企業(yè)安全隱患排查與治理制度
- 京東物流合同范本
- 養(yǎng)老機(jī)構(gòu)安全生產(chǎn)責(zé)任制清單
- 《紅巖》中考試題(解析版)-2026年中考語文名著復(fù)習(xí)核心知識梳理與專項訓(xùn)練
- 非洲鼓基礎(chǔ)知識培訓(xùn)課件
- 2026-2031中國釀酒設(shè)備行業(yè)市場現(xiàn)狀調(diào)查及投資前景研判報告
- KET考試必背核心短語(按場景分類)
- 2025四川產(chǎn)業(yè)振興基金投資集團(tuán)有限公司應(yīng)屆畢業(yè)生招聘9人筆試歷年難易錯考點(diǎn)試卷帶答案解析2套試卷
評論
0/150
提交評論