學(xué)生請(qǐng)假管理系統(tǒng)_第1頁(yè)
學(xué)生請(qǐng)假管理系統(tǒng)_第2頁(yè)
學(xué)生請(qǐng)假管理系統(tǒng)_第3頁(yè)
學(xué)生請(qǐng)假管理系統(tǒng)_第4頁(yè)
學(xué)生請(qǐng)假管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、中原工學(xué)院軟件學(xué)院軟件工程實(shí)踐一設(shè)計(jì)任務(wù)書(shū)姓名* 軟件工程 專(zhuān)業(yè) JAVA123 班題目學(xué)生請(qǐng)假管理系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)任務(wù)開(kāi)發(fā)一個(gè)基于Web的學(xué)生請(qǐng)假管理系統(tǒng),包括教師端和學(xué)生端。主要功能包括:1. UI設(shè)計(jì):界面(參與)2. 學(xué)生端:請(qǐng)假申請(qǐng)、銷(xiāo)假申請(qǐng)、查詢(xún)自己請(qǐng)假記錄;(獨(dú)立完成)3. 教師端:請(qǐng)假審批、銷(xiāo)假審批、查詢(xún)學(xué)生請(qǐng)假記錄;(參與)開(kāi)發(fā)工具:Java、JSP、MySQL、Photoshop、MyEclipse8.6 時(shí) 間 進(jìn) 度第1周(9-99-13):完成需求分析、UI設(shè)計(jì)第2周(9-169-21):完成代碼第3周(9-249-29):完成報(bào)告原 主始 要資 參料 考與 文 獻(xiàn)01

2、 02葉和亞.陳立.java2程序設(shè)計(jì)實(shí)用教程例M北京:電子工業(yè)出版社. 2003.503李兆峰.龐永慶.java程序設(shè)計(jì)與項(xiàng)目實(shí)踐M北京:電子工業(yè)出版社.2011.6指導(dǎo)教師簽字: 年 月 日學(xué)生請(qǐng)假管理系統(tǒng)摘 要當(dāng)前信息化時(shí)代,講究高效,準(zhǔn)確,及時(shí)的完成事情,近年來(lái)學(xué)校都在開(kāi)展信息化部署,實(shí)現(xiàn)了多媒體教學(xué),網(wǎng)上提交作業(yè),在線(xiàn)考試等學(xué)生考勤對(duì)學(xué)校教務(wù)管理是至關(guān)重要,在以前,學(xué)生請(qǐng)假要去找班主任或者領(lǐng)導(dǎo)批準(zhǔn),并且不一定每次都能順利的找到班主任,完成請(qǐng)假批準(zhǔn)。如果學(xué)生不在學(xué)校,沒(méi)辦法向班主任提交請(qǐng)假單;對(duì)于學(xué)生出勤檢查,是學(xué)生會(huì)根據(jù)紙制名單逐一點(diǎn)名,或老師根據(jù)學(xué)生上交課堂作業(yè)來(lái)判斷學(xué)生是否來(lái)上課

3、。這些方法往往具有考勤差錯(cuò)率比較高,考勤效率也比較慢,沒(méi)有一個(gè)總體的的記錄和整理,并且紙制的點(diǎn)名冊(cè)容易丟失遺漏,耽誤時(shí)間等缺點(diǎn)。針對(duì)以上的問(wèn)題,開(kāi)發(fā)一種針對(duì)學(xué)生請(qǐng)假的考勤網(wǎng)上管理系統(tǒng),通過(guò)請(qǐng)假管理系統(tǒng),任課老師可以在課堂上直接登錄考勤記錄網(wǎng)站進(jìn)行課堂查看哪些學(xué)生請(qǐng)假,記錄學(xué)生考勤情況等。此外,在其他時(shí)間,班主任以及其他老師也可以登錄該網(wǎng)站查詢(xún)學(xué)生在某課程的出勤情況。該系統(tǒng)是基于Java web的簡(jiǎn)單型設(shè)計(jì),它體現(xiàn)了對(duì)一些簡(jiǎn)單的JSP標(biāo)簽語(yǔ)言的運(yùn)用,該系統(tǒng)界面簡(jiǎn)單、操作方便。根據(jù)實(shí)際需要將系統(tǒng)分為學(xué)生端和教師端,學(xué)生請(qǐng)假和教師批假都需要首先登錄,學(xué)生端實(shí)現(xiàn)了學(xué)生申請(qǐng)請(qǐng)假、申請(qǐng)銷(xiāo)假、查詢(xún)自己請(qǐng)假記

4、錄功能;教師端實(shí)現(xiàn)了教師對(duì)學(xué)生請(qǐng)假的批準(zhǔn)、銷(xiāo)假批準(zhǔn)以及查詢(xún)學(xué)生的請(qǐng)假記錄功能。關(guān)鍵詞: 學(xué)生; 請(qǐng)假管理; Java Web目 錄摘 要2第1章 項(xiàng)目分析11.1 問(wèn)題描述11.2技術(shù)分析11.3工程進(jìn)度計(jì)劃2第2章 系統(tǒng)分析與設(shè)計(jì)32.1 系統(tǒng)分析32.1.1 參與者32.1.2 用例圖32.1.3 用例及用例規(guī)約 UC001 登錄42.1 .3.2 UC002 申請(qǐng)請(qǐng)假 UC003 申請(qǐng)銷(xiāo)假 UC004 查詢(xún)請(qǐng)假記錄72.2 系統(tǒng)設(shè)計(jì)72.2.1順序圖82.2.2類(lèi)圖112.2.3系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)112.2.4 設(shè)計(jì)時(shí)序圖12圖 2.10 學(xué)

5、生銷(xiāo)假申請(qǐng)?jiān)O(shè)計(jì)時(shí)序圖142.3 數(shù)據(jù)庫(kù)設(shè)計(jì)142.3.1E-R圖152.3.2關(guān)系模式162.3.3表的設(shè)計(jì)16第3章 實(shí)現(xiàn)與測(cè)試193.1 請(qǐng)假申請(qǐng)功能203.1.1活動(dòng)圖213.1.2界面213.1.3代碼213.1.4測(cè)試用例223.2銷(xiāo)假申請(qǐng)功能223.2.1活動(dòng)圖223.2.2界面223.2.3代碼223.2.4測(cè)試用例223.3請(qǐng)假記錄查詢(xún)223.3.1活動(dòng)圖233.3.2界面233.3.3代碼233.3.4測(cè)試用例233.4登錄功能233.4.1活動(dòng)圖233.4.2界面233.4.3代碼243.5.4測(cè)試用例24第4章 結(jié)束語(yǔ)25附錄A: 附加圖、表29附錄B: 主要源程序29x

6、xx:學(xué)生請(qǐng)假系統(tǒng)管理第1章 項(xiàng)目分析隨著計(jì)算機(jī)的發(fā)展與不斷進(jìn)步,各個(gè)領(lǐng)域都出現(xiàn)了新的技術(shù),曾經(jīng)各種規(guī)模之間的競(jìng)爭(zhēng)已經(jīng)發(fā)展成為技術(shù)之間的競(jìng)爭(zhēng),管理和人才之間的競(jìng)爭(zhēng),然而計(jì)算機(jī)技術(shù)的發(fā)展也離不開(kāi)軟件的更新,在軟件不斷更新和替換的過(guò)程中已經(jīng)滲透到各個(gè)領(lǐng)域,政府機(jī)關(guān),各大高校等都不斷向智能方向發(fā)展,學(xué)生請(qǐng)假也成為一件棘手的事情,為了請(qǐng)假學(xué)生需要寫(xiě)請(qǐng)假條找老師批準(zhǔn),結(jié)果是這個(gè)時(shí)候老師不一定在,另外學(xué)生需要請(qǐng)假時(shí)不一定在學(xué)校,所以為了給廣大師生提供方便,我們需要開(kāi)發(fā)軟件系統(tǒng)學(xué)生請(qǐng)假管理系統(tǒng)。1.1 問(wèn)題描述要完成這個(gè)系統(tǒng)最大的問(wèn)題就是所學(xué)知識(shí)是有限的,在完成其中某些功能時(shí)候所需要的可能就完全沒(méi)有接觸過(guò),

7、所以只能用一些簡(jiǎn)單的功能代替或者替換掉那些用目前的水平所不能實(shí)現(xiàn)的功能,再者就是對(duì)目前所需求的不是很明確,比如要做出一個(gè)請(qǐng)假管理如何去設(shè)置友好界面讓大家都喜歡適應(yīng)去使用,如何把系統(tǒng)做到什么程度才能夠投入使用,這些都是所面臨的棘手問(wèn)題。1.2技術(shù)分析該系統(tǒng)用到MVC設(shè)計(jì)模式,總共建立了五個(gè)包,界面View、數(shù)據(jù)對(duì)象DO、數(shù)據(jù)庫(kù)連接DB、數(shù)據(jù)庫(kù)操作DAO、控制層Control、業(yè)務(wù)層BO;DO層是對(duì)數(shù)據(jù)對(duì)象的封裝,DB層是連接數(shù)據(jù)庫(kù),DAO層是包含對(duì)數(shù)據(jù)標(biāo)的基本操作,BO層是所有和業(yè)務(wù)相關(guān)的關(guān)于對(duì)數(shù)據(jù)的判斷等,調(diào)用的是DAO層然后返回一個(gè)結(jié)果,Control層是為了獲取用戶(hù)參數(shù)并封裝,同時(shí)調(diào)用BO

8、層,再根據(jù)調(diào)用得到的不同的結(jié)果在調(diào)用不同的View層,將處理結(jié)果顯示給用戶(hù)。圖1.1 包圖1.3工程進(jìn)度計(jì)劃實(shí)際開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)周期可以分為三個(gè)階段:第一階段:成果:(1)需求分析(2)對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)目標(biāo):設(shè)計(jì)出適合學(xué)生請(qǐng)假管理系統(tǒng)的數(shù)據(jù)庫(kù);完成數(shù)據(jù)庫(kù)的連接 時(shí)間:一周第二階段:成果:完成JSP頁(yè)面和系統(tǒng)代碼目標(biāo):能在編譯器中有效正確運(yùn)行。時(shí)間:一周第三階段:成果:寫(xiě)報(bào)告;目標(biāo):完成系統(tǒng)報(bào)告。時(shí)間:一周第2章 系統(tǒng)分析與設(shè)計(jì)學(xué)生請(qǐng)假管理系統(tǒng)必須通過(guò)正確的用戶(hù)名的密碼方能進(jìn)入系統(tǒng),系統(tǒng)分為兩大模塊,學(xué)生端和教師端,學(xué)生端和教師端分別有三個(gè)模塊,學(xué)生端分為請(qǐng)假申請(qǐng)、銷(xiāo)假申請(qǐng)、個(gè)人請(qǐng)假記錄查詢(xún),教

9、師端分為請(qǐng)假審批、銷(xiāo)假審批和學(xué)生請(qǐng)假記錄查詢(xún);學(xué)生提交的請(qǐng)假申請(qǐng)需要教師的審批,只有批準(zhǔn)之后學(xué)生方可提出銷(xiāo)假申請(qǐng)。2.1 系統(tǒng)分析該系統(tǒng)有兩個(gè)參與者,分別為學(xué)生和教師,學(xué)生請(qǐng)假需首先得到教師的批準(zhǔn)方可奏效,學(xué)生與教師都需使用自己的工號(hào)作為用戶(hù)名和密碼進(jìn)行登錄。2.1.1 參與者學(xué)生、教師2.1.2 用例圖圖2.1 用例圖2.1.3 用例及用例規(guī)約請(qǐng)假管理系統(tǒng)學(xué)生端共包含1個(gè)參與者、4個(gè)用例。用例的編號(hào)及名稱(chēng)如表1所示:表2.1 用例列表用例編號(hào)用例名稱(chēng)參與者UC-001登錄學(xué)生UC-002申請(qǐng)請(qǐng)假學(xué)生UC-003申請(qǐng)銷(xiāo)假學(xué)生UC-004查詢(xún)請(qǐng)假記錄學(xué)生 UC001登錄參與者學(xué)生需

10、要用戶(hù)名和密碼登錄到系統(tǒng),才能進(jìn)行相應(yīng)的操作,系統(tǒng)中設(shè)置學(xué)生的登錄用戶(hù)名為學(xué)號(hào),初始化密碼為學(xué)號(hào).表2.2功能編號(hào)UC-001功能名稱(chēng)登錄前置條件參與者通過(guò)瀏覽器打開(kāi)請(qǐng)假管理系統(tǒng)的登錄頁(yè)面基本事件流1. 系統(tǒng)要求參與者填寫(xiě)用戶(hù)名和密碼。2. 參與者填寫(xiě)相應(yīng)信息,學(xué)生輸入學(xué)號(hào)作為用戶(hù)名,密碼初始值為學(xué)號(hào)。3. 系統(tǒng)驗(yàn)證用戶(hù)輸入信息是否正確備選流1.用戶(hù)名和密碼輸入錯(cuò)誤如果系統(tǒng)檢測(cè)到用戶(hù)輸入的用戶(hù)名和密碼與數(shù)據(jù)庫(kù)中不一致,給予用戶(hù)“用戶(hù)名和密碼不正確”的錯(cuò)誤提示,并要求用戶(hù)重新輸入。后置條件如果用例成功,系統(tǒng)進(jìn)入相應(yīng)權(quán)限頁(yè)面界面原型參與者學(xué)生 UC002申請(qǐng)請(qǐng)假該用例的主要參與者為學(xué)

11、生,學(xué)生通過(guò)系統(tǒng)填寫(xiě)請(qǐng)假申請(qǐng)單,請(qǐng)假申請(qǐng)單將會(huì)提交給輔導(dǎo)員審批。表2.3功能編號(hào)UC-002功能名稱(chēng)申請(qǐng)請(qǐng)假用例描述學(xué)生創(chuàng)建新的請(qǐng)假申請(qǐng)單,錄入請(qǐng)假資料,創(chuàng)建一個(gè)請(qǐng)假申請(qǐng)流程前置條件學(xué)生正常登錄到系統(tǒng)中,并打開(kāi)請(qǐng)假管理頁(yè)面基本事件流1、 學(xué)生選擇創(chuàng)建請(qǐng)假申請(qǐng)單,系統(tǒng)自動(dòng)查詢(xún)當(dāng)前的學(xué)生是否存在沒(méi)有銷(xiāo)假的記錄,如果存在沒(méi)有銷(xiāo)假的請(qǐng)假記錄,執(zhí)行異常流1.1,如果不存在未銷(xiāo)假記錄,執(zhí)行基本事件流22、 系統(tǒng)展示申請(qǐng)單錄入界面3、 學(xué)生錄入學(xué)生學(xué)號(hào)、姓名、請(qǐng)假事由(原因、去向),開(kāi)始時(shí)間、結(jié)束時(shí)間,聯(lián)系方式(個(gè)人聯(lián)系方式、家長(zhǎng)聯(lián)系方式)4、 學(xué)生提交申請(qǐng)單,系統(tǒng)進(jìn)行數(shù)據(jù)校驗(yàn),依據(jù)業(yè)務(wù)規(guī)則C,如果數(shù)據(jù)校驗(yàn)

12、不合法,執(zhí)行分支流4.1,如果數(shù)據(jù)校驗(yàn)合法,執(zhí)行基本事件流55、 系統(tǒng)為當(dāng)前的請(qǐng)假申請(qǐng)單生成唯一的編號(hào),保存該請(qǐng)假申請(qǐng)單6、 將該流程推進(jìn)到下一環(huán)節(jié)系統(tǒng)應(yīng)該向?qū)W生展現(xiàn)請(qǐng)假申請(qǐng)單的最終頁(yè)面,用例結(jié)束分支流4.1請(qǐng)假信息填寫(xiě)有誤,顯示填寫(xiě)不正確的信息提示,并要求學(xué)生重新填寫(xiě),顯示填寫(xiě)請(qǐng)假申請(qǐng)單的頁(yè)面。異常流1.1系統(tǒng)顯示學(xué)生沒(méi)有銷(xiāo)假的記錄詳情1.1學(xué)生確認(rèn)自己的請(qǐng)假記錄是否屬實(shí),用例終止后置條件1、 系統(tǒng)將保存該條請(qǐng)假記錄。2、 創(chuàng)建新的請(qǐng)假單并生成唯一的申請(qǐng)編號(hào)3、 創(chuàng)建新的請(qǐng)假申請(qǐng)流程實(shí)例4、 記錄提交后不能夠再修改界面原型無(wú)業(yè)務(wù)規(guī)則A、 包括學(xué)生姓名、輔導(dǎo)員姓名、請(qǐng)假開(kāi)始時(shí)間(必須選擇當(dāng)天及

13、當(dāng)天之后的時(shí)間)、請(qǐng)假結(jié)束時(shí)間(大于請(qǐng)假開(kāi)始時(shí)間),請(qǐng)假理由,家長(zhǎng)聯(lián)系電話(huà)B、 系統(tǒng)首先判斷是否存在沒(méi)有銷(xiāo)假的記錄,存在的話(huà),將該記錄顯示給當(dāng)前學(xué)生學(xué)生進(jìn)行確認(rèn),如果確認(rèn)是沒(méi)有銷(xiāo)假,學(xué)生繼續(xù)執(zhí)行銷(xiāo)假流程,否則,輔導(dǎo)員進(jìn)行異常處理C、 學(xué)生姓名、輔導(dǎo)員姓名、請(qǐng)假開(kāi)始時(shí)間(必須選擇當(dāng)天及當(dāng)天之后的時(shí)間)、請(qǐng)假結(jié)束時(shí)間(大于請(qǐng)假開(kāi)始時(shí)間),請(qǐng)假理由,家長(zhǎng)聯(lián)系電話(huà)信息為必填,不能為空。聯(lián)系方式是否合法,請(qǐng)假開(kāi)始時(shí)間是否在請(qǐng)假結(jié)束時(shí)間之前。執(zhí)行者學(xué)生涉及的實(shí)體1、 學(xué)生屬性:學(xué)號(hào)、姓名、班級(jí)、性別、聯(lián)系方式、宿舍、標(biāo)志變量(tag=1)2、 請(qǐng)假申請(qǐng)單屬性:學(xué)生(學(xué)號(hào)、姓名),請(qǐng)假事由(原因、去向),開(kāi)

14、始時(shí)間、結(jié)束時(shí)間,聯(lián)系方式(個(gè)人聯(lián)系方式、家長(zhǎng)聯(lián)系方式)、操作1(已批準(zhǔn)、待批準(zhǔn))、操作2(申請(qǐng)銷(xiāo)假、已銷(xiāo)假、未銷(xiāo)假) UC003申請(qǐng)銷(xiāo)假該用例的主要參與者為學(xué)生,學(xué)生通過(guò)系統(tǒng)提出銷(xiāo)假申請(qǐng),若申請(qǐng)成功,此時(shí)請(qǐng)假信息中操作2的狀態(tài)將修改為申請(qǐng)銷(xiāo)假,否則提示申請(qǐng)銷(xiāo)假失敗。表2.4功能編號(hào)UC-003功能名稱(chēng)申請(qǐng)銷(xiāo)假前置條件參與者通過(guò)瀏覽器打開(kāi)請(qǐng)假管理系統(tǒng)的登錄頁(yè)面成功登錄進(jìn)入系統(tǒng)主頁(yè)面基本事件流1. 學(xué)生發(fā)出銷(xiāo)假申請(qǐng),并等待系統(tǒng)驗(yàn)證2. 如果提示申請(qǐng)成功,執(zhí)行基本事件流33. 等待輔導(dǎo)員銷(xiāo)假4. 如果提示申請(qǐng)失敗,執(zhí)行基本事件流55. 提示申請(qǐng)銷(xiāo)假失敗,請(qǐng)重新申請(qǐng)備選流無(wú)后置條件如果

15、用例成功,系統(tǒng)進(jìn)入相應(yīng)權(quán)限頁(yè)面界面原型無(wú)參與者學(xué)生 UC004查詢(xún)請(qǐng)假記錄該用例的參與者為學(xué)生,學(xué)生通過(guò)系統(tǒng)提出請(qǐng)假記錄查詢(xún),若查詢(xún)成功,學(xué)生請(qǐng)假的記錄將會(huì)顯示在頁(yè)面上。表2.5功能編號(hào)UC-004功能名稱(chēng)查詢(xún)請(qǐng)假記錄前置條件參與者通過(guò)瀏覽器打開(kāi)請(qǐng)假管理系統(tǒng)的登錄頁(yè)面成功登錄進(jìn)入系統(tǒng)主頁(yè)面基本事件流1.學(xué)生發(fā)出查詢(xún)請(qǐng)假記錄,并等待系統(tǒng)驗(yàn)證2.如果提示驗(yàn)證成功,執(zhí)行基本事件流33.顯示請(qǐng)假記錄4.如果提示驗(yàn)證失敗,執(zhí)行基本事件流55.提示查詢(xún)失敗或者無(wú)請(qǐng)假記錄,請(qǐng)重新申請(qǐng)備選流無(wú)后置條件如果用例成功,系統(tǒng)進(jìn)入相應(yīng)權(quán)限頁(yè)面界面原型無(wú)參與者學(xué)生2.2 系統(tǒng)設(shè)計(jì)該系統(tǒng)分為3個(gè)部分,第一部

16、分是登錄,學(xué)生和教師都需要登錄,第二部分是學(xué)生端,學(xué)生端3個(gè)功能學(xué)生申請(qǐng)請(qǐng)假、學(xué)生申請(qǐng)銷(xiāo)假、查詢(xún)個(gè)人請(qǐng)假記錄,第三個(gè)部分是教師端,教師端3個(gè)功能教師批準(zhǔn)請(qǐng)假申請(qǐng)、教師批準(zhǔn)銷(xiāo)假申請(qǐng)、教師查詢(xún)學(xué)生請(qǐng)假記錄。2.2.1順序圖圖2.2 登錄時(shí)序圖圖2.3 學(xué)生請(qǐng)假申請(qǐng)時(shí)序圖圖2.4 學(xué)生銷(xiāo)假申請(qǐng)時(shí)序圖圖2.5 學(xué)生請(qǐng)假查詢(xún)時(shí)序圖2.2.2類(lèi)圖圖2.6 類(lèi)圖2.2.3系統(tǒng)體系結(jié)構(gòu)設(shè)學(xué)生請(qǐng)假管理系統(tǒng)統(tǒng)學(xué)生端教師端學(xué)生申請(qǐng)請(qǐng)假學(xué)生申請(qǐng)銷(xiāo)假學(xué)生查詢(xún)請(qǐng)假教師審批請(qǐng)假教師審批銷(xiāo)假教師查詢(xún)請(qǐng)假登錄圖 2.7 體系結(jié)構(gòu)圖該系統(tǒng)包括基本的3各模塊,登錄、學(xué)生端、教師端。學(xué)生和教師在登錄成功時(shí)分別進(jìn)入不同的頁(yè)面進(jìn)行操作,

17、學(xué)生端進(jìn)行請(qǐng)假申請(qǐng)、銷(xiāo)假申請(qǐng)、查詢(xún)個(gè)人請(qǐng)假;教師審批請(qǐng)假、審批銷(xiāo)假、查詢(xún)學(xué)生請(qǐng)假記錄。2.2.4 設(shè)計(jì)時(shí)序圖圖2.8 登錄設(shè)計(jì)時(shí)序圖該圖是學(xué)生端登錄設(shè)計(jì)時(shí)序圖,首先學(xué)生發(fā)送請(qǐng)求到控制類(lèi),然后跳出登錄頁(yè)面,學(xué)生填寫(xiě)登錄信息并提交到控制類(lèi),控制類(lèi)封裝數(shù)據(jù)創(chuàng)建對(duì)象調(diào)用邏輯層進(jìn)行數(shù)據(jù)校驗(yàn)并返回結(jié)果,邏輯層調(diào)用DAO層最終根據(jù)結(jié)果判斷如果登錄成功將跳轉(zhuǎn)到學(xué)生端主頁(yè),如果登錄失敗將給以提示信息并請(qǐng)重新登錄。圖 2.9 請(qǐng)假申請(qǐng)?jiān)O(shè)計(jì)時(shí)序圖該圖是學(xué)生請(qǐng)假申請(qǐng)?jiān)O(shè)計(jì)時(shí)序圖,首先學(xué)生需要成功登錄,發(fā)出請(qǐng)假申請(qǐng),這時(shí)候控制類(lèi)會(huì)自發(fā)調(diào)用邏輯層,邏輯層調(diào)用DAO層,如果該學(xué)生之前請(qǐng)過(guò)假并且未曾銷(xiāo)假,這時(shí)該學(xué)生是不能夠再請(qǐng)

18、假的,倘若該學(xué)生發(fā)出請(qǐng)假申請(qǐng),系統(tǒng)將會(huì)把該學(xué)生之前的請(qǐng)假未銷(xiāo)假記錄顯示出來(lái),如果沒(méi)有未銷(xiāo)假記錄,將會(huì)顯示請(qǐng)假申請(qǐng)頁(yè)面,學(xué)生需要填寫(xiě)請(qǐng)假申請(qǐng)單將請(qǐng)假詳細(xì)信息填寫(xiě)并提交倘若正確無(wú)誤,系統(tǒng)將會(huì)提示請(qǐng)假申請(qǐng)成功。圖 2.10 學(xué)生銷(xiāo)假申請(qǐng)?jiān)O(shè)計(jì)時(shí)序圖該圖是學(xué)生銷(xiāo)假申請(qǐng)?jiān)O(shè)計(jì)時(shí)序圖,在學(xué)生成功登錄之后,學(xué)生在申請(qǐng)請(qǐng)假時(shí)候必須不存在未銷(xiāo)假記錄,所以在學(xué)生請(qǐng)假完成到校報(bào)到后必須進(jìn)行銷(xiāo)假,然而這時(shí)需要發(fā)出銷(xiāo)假申請(qǐng),這時(shí)候在業(yè)務(wù)邏輯層將會(huì)給予判斷,如果銷(xiāo)假申請(qǐng)成功將會(huì)提示申請(qǐng)成功,如果有錯(cuò)誤將會(huì)提示申請(qǐng)失敗或者不存在未銷(xiāo)假記錄。2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)在該系統(tǒng)中是為了存儲(chǔ)數(shù)據(jù),學(xué)生所提交的請(qǐng)假記錄是通過(guò)保存到數(shù)據(jù)庫(kù)

19、中來(lái)實(shí)現(xiàn)申請(qǐng)請(qǐng)假、銷(xiāo)假等功能的,在我們目前所學(xué)的有限的知識(shí)內(nèi),沒(méi)有數(shù)據(jù)庫(kù)該系統(tǒng)是沒(méi)法運(yùn)行和實(shí)現(xiàn)的。2.3.1關(guān)系模式(1)學(xué)生信息:(學(xué)號(hào)、姓名、班級(jí)、性別、宿舍、聯(lián)系方式、tag)(2)教師信息:(工號(hào)、姓名、聯(lián)系方式、性別、年級(jí)、tag)(3)登錄:(用戶(hù)名(學(xué)號(hào)、工號(hào)),密碼)(4)請(qǐng)假信息:(學(xué)號(hào)、姓名、事由、請(qǐng)假開(kāi)始時(shí)間、請(qǐng)假結(jié)束時(shí)間、聯(lián)系方式)2.3.2 E-R圖E-R圖在數(shù)據(jù)庫(kù)設(shè)計(jì)里面是至關(guān)重要的一步,它是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,下面使用實(shí)體聯(lián)系(E-R)模型來(lái)描述系統(tǒng)的概念結(jié)構(gòu),設(shè)計(jì)出能夠滿(mǎn)足用戶(hù)需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯設(shè)計(jì)打下基礎(chǔ)。圖2.11 E-R圖請(qǐng)

20、假記錄理由開(kāi)始時(shí)間學(xué)號(hào)操作2操作1結(jié)束時(shí)間姓名聯(lián)系方式用戶(hù) 1教師 n學(xué)生n屬于姓名聯(lián)系班級(jí)學(xué)號(hào)性別宿舍Tag屬于性別年級(jí)電話(huà)姓名工號(hào)Tags用戶(hù)名:學(xué)號(hào)、工號(hào)密碼2.3.3表的設(shè)計(jì)表 2.6 用戶(hù)登錄信息表(login)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型約束條件說(shuō)明1useridVarchar(14)無(wú)學(xué)號(hào)、工號(hào)2passwordVarchar(12)無(wú)密碼3TagVarchar(2)無(wú)標(biāo)志該表是用戶(hù)登錄信息表,表中包括3個(gè)屬性,用戶(hù)名和密碼、還有標(biāo)志變量tag,tag是為了控制學(xué)生端和教師端,用戶(hù)名分別為學(xué)號(hào)和教師的工號(hào);表 2.7 學(xué)生信息表(Student)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型約束條件說(shuō)明1sidV

21、archar(14)無(wú)學(xué)號(hào)2SnameVarchar(20)無(wú)姓名3ClassesVarchar(20)無(wú)班級(jí)4SsexVarchar(6)無(wú)性別5SphoneVarchar(12)無(wú)聯(lián)系電話(huà)6DormitoryVarchar(6)無(wú)宿舍7TagVarchar(2)1標(biāo)志該表是學(xué)生信息表,表中包括7個(gè)屬性,都是字符串類(lèi)型,其中tag標(biāo)志變量默認(rèn)為1,并且不可修改;表 2.8 教師信息表(teacher)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型約束條件說(shuō)明1tidVarchar(14)無(wú)工號(hào)2tnameVarchar(16)無(wú)姓名3tsexVarchar(4)無(wú)性別4gradesVarchar(20)無(wú)所帶年級(jí)5t

22、phoneVarchar(12)無(wú)電話(huà)6tagVarchar(2)2標(biāo)志該表是教師信息表,表中包括6個(gè)屬性,都是字符串類(lèi)型,教師也包括一個(gè)標(biāo)志變量tag,也存在一個(gè)默認(rèn)值為2 ,并且不能修改;表 2.8 請(qǐng)假信息表(leaverecords)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型約束條件說(shuō)明1sidVarchar(14)無(wú)學(xué)號(hào)2SnameVarchar(16)無(wú)姓名3Starttimedate無(wú)開(kāi)始時(shí)間4endtimedate無(wú)截止時(shí)間5SphoneVarchar(12)無(wú)聯(lián)系電話(huà)6Operate1Varchar(20)操作17Operate2Varchar(20)操作28reasonVarchar(255)無(wú)

23、理由該表示請(qǐng)假信息表,包括8個(gè)屬性,其中有字符串和日期類(lèi)型,操作1和操作2分別是默認(rèn)值,其值是根據(jù)學(xué)生的請(qǐng)假申請(qǐng)成功,銷(xiāo)假以及教師的審批有關(guān)。第3章 實(shí)現(xiàn)與測(cè)試每一個(gè)項(xiàng)目的核心部分都是功能的實(shí)現(xiàn),功能的完成標(biāo)志著一個(gè)系統(tǒng)的完成,然而這些結(jié)果都需要一個(gè)需求和設(shè)計(jì)來(lái)作為基本的要求,以下就是該系統(tǒng)詳細(xì)功能的實(shí)現(xiàn)過(guò)程:需求分析:需求分析階段我采用了StarUML工具做了詳細(xì)的分析,根據(jù)自己的需要畫(huà)出了包圖、時(shí)序圖、用例圖、類(lèi)圖、活動(dòng)圖、設(shè)計(jì)時(shí)序圖等所需要的幾類(lèi)基本圖,項(xiàng)目的框架是根據(jù)包圖來(lái)創(chuàng)建的,時(shí)序圖主要就是項(xiàng)目的每一個(gè)功能所要求的基本流程,設(shè)計(jì)時(shí)序圖就是將時(shí)序圖給詳細(xì)化,具體到每一步所走的流程返回

24、什么樣的數(shù)據(jù)或者類(lèi)型,也就是說(shuō)畫(huà)設(shè)計(jì)時(shí)序圖時(shí)基本上已經(jīng)把代碼在腦子里有了型,用例圖其實(shí)就是項(xiàng)目所有的功能,每一個(gè)用例就代表一個(gè)基本的功能,數(shù)據(jù)庫(kù)的設(shè)計(jì)是根據(jù)類(lèi)圖來(lái)實(shí)現(xiàn)的,類(lèi)圖就表示了數(shù)據(jù)庫(kù)中的表以及各表之間的關(guān)系。界面設(shè)計(jì):用戶(hù)界面設(shè)計(jì)要求友好合理,要充分考慮到用戶(hù)的操作習(xí)慣,而且要有良好的顯示效果。此外界面的配色方案要協(xié)調(diào),使用的主色,背景色,前景色,按鈕大小,文字,格式,表格等要統(tǒng)一標(biāo)準(zhǔn)。由于該系統(tǒng)主要用于公司人員管理的,所以界面框架的主色采用較為嚴(yán)肅的淺藍(lán)色,在此基礎(chǔ)上用到了PhotoShop技術(shù),dreamweaver以及css和Java script等,里面的登錄那個(gè)信息是一個(gè)圖片用

25、ps加工修改寫(xiě)上了藝術(shù)字,界面的代碼是在dreamweaver里面直接設(shè)計(jì)好的,然后將代碼復(fù)制粘貼過(guò)去,因?yàn)樵赿reamweaver里面設(shè)計(jì)的界面在MyEclipse里面是不能運(yùn)行的,需要一個(gè)腳本來(lái)支持,所以只需要在MyEclipse里面建好jsp頁(yè)面只需將dreamweaver里面body里面的東西復(fù)制粘貼到MyEclipse里面就可以運(yùn)行了;每一個(gè)界面里面都有一個(gè)表格,表格里面有許多其他的元素之類(lèi),比如:按鈕,標(biāo)題,下拉框等許多細(xì)小的知識(shí),外面有一個(gè)表單,這個(gè)表單是必須有的,他是為了在前臺(tái)與后連接時(shí)候提交一個(gè)數(shù)據(jù)來(lái)運(yùn)行這個(gè)項(xiàng)目的;在這些界面里面,時(shí)間是用js來(lái)完成的,統(tǒng)一的css樣式表;還

26、有就是在查詢(xún)過(guò)程中將所顯示的數(shù)據(jù)設(shè)置為某一屬性他將無(wú)法在查詢(xún)顯示這個(gè)頁(yè)面來(lái)任意修改一些信息功能描述:首先這個(gè)系統(tǒng)除了界面其他的代碼分別寫(xiě)在5個(gè)包中,第一個(gè)DO包,它里面從某種意義上說(shuō)在這個(gè)包里面的每一個(gè)類(lèi)都是創(chuàng)建某一個(gè)實(shí)例的方法,它里面定義了相對(duì)屬性,以及get()和set()方法;第二個(gè)是DAO包,它里面是對(duì)于每一個(gè)管理模塊的一些基本小的功能的實(shí)現(xiàn),說(shuō)白了主要就是增刪改查之類(lèi)的它是對(duì)數(shù)據(jù)庫(kù)語(yǔ)句的一個(gè)應(yīng)用;第三個(gè)包是DB包,這個(gè)包可以說(shuō)是只為了一件事,就是數(shù)據(jù)庫(kù)的連接,之所以這樣寫(xiě)專(zhuān)門(mén)用一個(gè)包來(lái)寫(xiě)關(guān)于數(shù)據(jù)庫(kù)的連接目的只是為了看到數(shù)據(jù)與的封裝,體現(xiàn)一個(gè)面向?qū)ο蟮乃伎?,從而在某些方面也能夠減少代碼

27、的重復(fù)率,提高代碼的可讀性;第四個(gè)包是control包,這個(gè)包是最重要的,因?yàn)樵趙eb應(yīng)用開(kāi)發(fā)的過(guò)程中每一個(gè)項(xiàng)目要想與前臺(tái)數(shù)據(jù)連接并能夠成功把數(shù)據(jù)相互傳遞,servelet里面有兩個(gè)方法,一個(gè)是doGet(),一個(gè)是doPost(),兩者最大的區(qū)別就是前者對(duì)數(shù)據(jù)沒(méi)有保密,就是隨時(shí)都會(huì)泄露一些重要的信息,因?yàn)槊恳惶峤坏谋韱味紩?huì)隨著瀏覽器的瀏覽網(wǎng)址顯示出來(lái),然而要想從前臺(tái)獲得數(shù)據(jù),就好比添加員工就得用到客戶(hù)端所發(fā)出的請(qǐng)求request.getParameter()得到。第五個(gè)包是BO包,這個(gè)是業(yè)務(wù)邏輯層,主要是調(diào)用DAO包里面的方法,數(shù)據(jù)校驗(yàn)等功能。在該系統(tǒng)中我主要完成的是學(xué)生端的功能,以下為學(xué)生

28、端的功能:3.1 請(qǐng)假申請(qǐng)功能在學(xué)生請(qǐng)假申請(qǐng)這個(gè)功能里面其實(shí)所做的就是對(duì)數(shù)據(jù)的添加,界面是簡(jiǎn)單采用了CSS樣式的界面,如果學(xué)生登錄成功點(diǎn)擊申請(qǐng)請(qǐng)假,如果該學(xué)生存在未銷(xiāo)假記錄系統(tǒng)將會(huì)把該學(xué)生的未銷(xiāo)假記錄顯示出來(lái),如果不存在未銷(xiāo)假記錄,此時(shí)學(xué)生請(qǐng)假信息界面會(huì)顯示出來(lái),在學(xué)生填寫(xiě)完請(qǐng)假信息出發(fā)右下方的一個(gè)提交按鈕,倘若提交成功會(huì)提示申請(qǐng)成功,如果失敗會(huì)跳轉(zhuǎn)到信息填寫(xiě)頁(yè)面并提示錯(cuò)誤信息。3.1.1活動(dòng)圖圖 3.1 學(xué)生申請(qǐng)請(qǐng)假活動(dòng)圖3.1.2界面圖 3.2 學(xué)生請(qǐng)假申請(qǐng)頁(yè)面3.1.3代碼public void doPost(HttpServletRequest request, HttpServlet

29、Response response)throws ServletException, IOException request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String str="已銷(xiāo)假"String type=request.getParameter("type");LeaveRecordDO ld=null;LeaveRecordDO lrd=new LeaveRecordDO()

30、;StudentBO sb=new StudentBO();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.

31、setEndtime(Date.valueOf(request.getParameter("endtime"); lrd.setReason(request.getParameter("reason"); String results=sb.validate(lrd); if(results=null) String id=request.getParameter("sid"); ld=sb.queryrecords(str,id); if(ld=null)sb.save(lrd); request.getRequestDispatc

32、her("./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(&quo

33、t;./askforleave.jsp").forward(request, response); return; 3.1.4測(cè)試用例表 3.1序號(hào)功能模塊測(cè)試數(shù)據(jù)預(yù)期結(jié)果1請(qǐng)假申請(qǐng)姓名:韓一正學(xué)號(hào):123電話(huà)由:回家申請(qǐng)成功3.2 請(qǐng)假記錄查詢(xún)?cè)趯W(xué)生請(qǐng)假記錄查詢(xún)里面和學(xué)生請(qǐng)假申請(qǐng)基本是一樣的,這個(gè)實(shí)際上的就是對(duì)數(shù)據(jù)庫(kù)里面的數(shù)據(jù)的一個(gè)查詢(xún),并將查詢(xún)記錄顯示到網(wǎng)頁(yè)上,如果不存在請(qǐng)假記錄,將不會(huì)顯示任何記錄。3.2.1界面圖 3.3 請(qǐng)假記錄3.2.2代碼HttpSession session=request.getSession();session.setAt

34、tribute("username", request.getParameter("sid");ArrayList<LeaveRecordDO> list=(ArrayList<LeaveRecordDO>) sb.getrecords(request.getParameter("sid");request.setAttribute("list", list);request.getRequestDispatcher("./SseclectDisplay.jsp").fo

35、rward(request, response);return;3.2.3測(cè)試用例序號(hào)功能模塊測(cè)試數(shù)據(jù)預(yù)期結(jié)果1請(qǐng)假查詢(xún)學(xué)號(hào):123查詢(xún)成功3.4登錄功能登錄是該項(xiàng)目最基本的一個(gè)功能,這其實(shí)也是一個(gè)查詢(xún),只不過(guò)是根據(jù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)和從網(wǎng)頁(yè)中得到的數(shù)據(jù)進(jìn)行對(duì)比,如果匹配成功將會(huì)進(jìn)入到另外一個(gè)頁(yè)面,如果登錄失敗將會(huì)進(jìn)行提示并重新登錄,登錄過(guò)程中在后臺(tái)數(shù)據(jù)中定義了標(biāo)志變量來(lái)表示學(xué)生和教師,所以在登錄時(shí)候根據(jù)這個(gè)屬性來(lái)判斷登錄成功后跳轉(zhuǎn)到學(xué)生端還是教師端。登錄過(guò)程中進(jìn)行了簡(jiǎn)單的數(shù)據(jù)校驗(yàn),就是說(shuō)用戶(hù)名和密碼不能為空,倘若為空將會(huì)提示錯(cuò)誤信息并提醒重新登錄。3.4.1代碼public void doPos

36、t(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");LoginDO ld=new LoginDO();LoginBO lb=new LoginBO();int tags;String userid=request.getParameter(&

37、quot;username");String passwd=request.getParameter("password");ld.setUserid(userid);ld.setPasswd(passwd);String message=lb.validate(ld);if(message!=null)request.setAttribute("message", message);request.getRequestDispatcher("./loginerror.jsp").forward(request, respo

38、nse);elsetags=lb.login(ld);if(tags=1)HttpSession session=request.getSession();session.setAttribute("username", ld.getUserid();request.getRequestDispatcher("./smain.jsp").forward(request, response);return;else if(tags=2)HttpSession session=request.getSession();session.setAttribute

39、("username", ld.getUserid();request.getRequestDispatcher("./tmain.jsp").forward(request, response);return;elserequest.getRequestDispatcher("./error.jsp").forward(request, response);return;3.4.2界面圖 3.4 登錄界面3.4.1活動(dòng)圖圖 3.5 登錄活動(dòng)圖3.5.4測(cè)試用例序號(hào)功能模塊測(cè)試數(shù)據(jù)預(yù)期結(jié)果1學(xué)生登錄用戶(hù)名:123密碼:123登錄成功3

40、3第4章 結(jié)束語(yǔ)這次的課題我用的web開(kāi)發(fā)來(lái)完成的,從我對(duì)這三個(gè)字母的不理解到學(xué)習(xí)它再到用它們來(lái)完成我的課題,這個(gè)過(guò)程并不是想象的那么容易,今天終于完成了,長(zhǎng)呼了一口氣,同時(shí)在內(nèi)心深處,也默默地為接下來(lái)的學(xué)習(xí),做一個(gè)前段時(shí)間的項(xiàng)目總結(jié),也是學(xué)習(xí)的總結(jié),吸取之前的經(jīng)驗(yàn)教訓(xùn),錯(cuò)誤并不可怕,可怕的是再在同一個(gè)地方犯同樣錯(cuò)誤,所以對(duì)于我來(lái)說(shuō),更多的去自我認(rèn)知,知我批評(píng)要比表?yè)P(yáng)和贊許來(lái)的更加深刻 ,非常有必要做一個(gè)總結(jié)。雖然時(shí)間略顯倉(cāng)促,但在項(xiàng)目開(kāi)發(fā)過(guò)程中我學(xué)習(xí)到了很多之前沒(méi)有接觸過(guò)的內(nèi)容,也發(fā)現(xiàn)了自己的很多不足,感悟頗深。主要包括以下幾個(gè)方面:1.在需求分析階段,由于對(duì)學(xué)生請(qǐng)假管理系統(tǒng)真正的需求并不了

41、解,還有就是自己在做這個(gè)需求的過(guò)程當(dāng)中總覺(jué)得想到了自己做不出來(lái),就好比沒(méi)想到一個(gè)需求的功能腦子里就會(huì)閃現(xiàn)出一個(gè)畫(huà)面,我該如何去實(shí)現(xiàn)它,正是因?yàn)檫@些錯(cuò)誤的想法導(dǎo)致了這次課題實(shí)踐的進(jìn)度,因此我覺(jué)得在做需求時(shí)我們應(yīng)該根據(jù)實(shí)際不必考慮怎么做怎么實(shí)現(xiàn)。2.數(shù)據(jù)庫(kù)采用的是Mysql,在編寫(xiě)sql語(yǔ)句經(jīng)常會(huì)出現(xiàn)一些語(yǔ)法錯(cuò)誤,例如sql語(yǔ)句不之一次的出錯(cuò),在修改的過(guò)程當(dāng)中我發(fā)現(xiàn)了自己知識(shí)的欠缺,或者說(shuō)對(duì)過(guò)去所學(xué)的東西并沒(méi)有完全理解甚至吸收;尤其是數(shù)據(jù)庫(kù)中的亂碼問(wèn)題,我從一開(kāi)始數(shù)據(jù)庫(kù)中導(dǎo)入數(shù)據(jù)我就一直被亂碼問(wèn)題糾結(jié)著,我先上網(wǎng)查閱相關(guān)資料,看書(shū)尋找改變亂碼的方法,甚至解決不了向同學(xué)請(qǐng)教,但是最終我都沒(méi)有解決,最

42、后在老師的幫助下檢測(cè)出亂碼不是編碼的問(wèn)題而是我的數(shù)據(jù)庫(kù)安裝過(guò)程中字符編碼選擇錯(cuò)誤,所以一直回出現(xiàn)亂碼問(wèn)題,而且解決之后再將自己遇到的問(wèn)題記錄下來(lái),使得以后出現(xiàn)同樣的問(wèn)題時(shí)能夠快速解決。3.由于該系統(tǒng)在學(xué)生申請(qǐng)成功后需要教師端的批準(zhǔn),在學(xué)生端才能進(jìn)行下一次的操作,這些之前很少用到,通過(guò)這次實(shí)習(xí)也將自己在課本上學(xué)到的內(nèi)容用到了實(shí)際項(xiàng)目中;感受最深的就是MVC模式和在兩個(gè)客戶(hù)端操作。4.團(tuán)隊(duì)合作。我們完成一個(gè)項(xiàng)目總是需要一個(gè)團(tuán)隊(duì)的,而不是個(gè)人,在開(kāi)發(fā)過(guò)程中小組之間的溝通非常重要。如果組內(nèi)成員沒(méi)有很好的交流,則在項(xiàng)目后期各模塊合并時(shí),會(huì)出現(xiàn)許多意想不到的錯(cuò)誤,例如路徑問(wèn)題、頁(yè)面間跳轉(zhuǎn)等。所以我們完成系

43、統(tǒng)時(shí),小組間要定期開(kāi)例會(huì),相互交流,對(duì)于有分歧的地方,一定要及時(shí)討論,采取一致措施,這樣才有利于團(tuán)隊(duì)工作。總之,這次的課題真的使我受益匪淺。在這個(gè)過(guò)程中,我學(xué)習(xí)到的不僅僅是以上技術(shù)上的收獲,更還有生活中的的人際交往以及其他的許多經(jīng)驗(yàn)。而這些,都將作為我邁入社會(huì)的根本,我將以此為我的基礎(chǔ),盡量將學(xué)到的知識(shí)運(yùn)用到實(shí)際工作中,去迎接一個(gè)又一個(gè)的挑戰(zhàn)?;叵朐谶@不到一個(gè)月的學(xué)習(xí)時(shí)間里,我學(xué)到了許許多多讓我感覺(jué)比較充實(shí)的知識(shí),掌握了更多的學(xué)習(xí)的方法,作為一個(gè)程序員,我們更需要信心,面對(duì)項(xiàng)目時(shí)我們要仔細(xì)分析,想法嘗試,想法去實(shí)現(xiàn),這樣才能進(jìn)步,才能找到自己的不足。同樣在職場(chǎng)中,工作需要自信心,不相信自己,任

44、何工作都做不好。沒(méi)有信心,成功的機(jī)會(huì)就會(huì)少些。自信心能讓你做什么都不難。生活需要自信心?,F(xiàn)實(shí)是殘酷的,沒(méi)有自信心是難以生存的。道路是坎坷的,自信心能幫你順利地走過(guò)。有時(shí)希望是渺茫的,但是自信心能讓你看到美好明天。在寫(xiě)程序時(shí),總是在看到功能后,立即投入到代碼編寫(xiě)工作中。后期出現(xiàn)的錯(cuò)誤總是很多很多,經(jīng)常返回重新修改。經(jīng)過(guò)這次旳實(shí)踐,又對(duì)軟件這個(gè)東西有了新的認(rèn)識(shí),新的收獲,而且我對(duì)軟件工程又有了新的理解,說(shuō)白了軟件工程就是在為這個(gè)軟件做鋪墊,也就是說(shuō)需求分析就是軟件工程,而我在做需求分析階段能順利完成,我十分的感激我的老師郭麗,如果不是在課堂上老師讓我在同學(xué)們面前或那個(gè)設(shè)計(jì)時(shí)序圖,我想我現(xiàn)在仍然不會(huì)

45、明白軟件工程怎么去做需求,不是老師一步步的教導(dǎo),我根本不可能完成今天這么簡(jiǎn)單的并且不完善的項(xiàng)目,所以在此我對(duì)老師表示深深的敬意與感激!參考文獻(xiàn)01李明.java程序設(shè)計(jì)與應(yīng)用M:北京.交通大學(xué)出版社. 2010.302葉和亞.陳立.java2程序設(shè)計(jì)實(shí)用教程例M北京:電子工業(yè)出版社. 2003.503李兆峰.龐永慶.java程序設(shè)計(jì)與項(xiàng)目實(shí)踐M北京:電子工業(yè)出版社.2011.604Y.Daniel Liang.java語(yǔ)言程序設(shè)計(jì)M西安;機(jī)械工業(yè)出版社.2011.505 06 07劉京華.Java Web整合開(kāi)發(fā)王者歸來(lái)M:清華大學(xué)出版社. 2010.108何富貴.Drea

46、mweaverCS4網(wǎng)頁(yè)設(shè)計(jì)與制作M: 機(jī)械工業(yè)出版社. 2010.309鄭阿奇MySQL實(shí)用教程M:電子工業(yè)出版社.2012.510 葉和亞.陳立.java2程序設(shè)計(jì)實(shí)用教程例M北京:電子工業(yè)出版社. 2003.5指導(dǎo)教師評(píng)語(yǔ)成績(jī):指導(dǎo)教師簽名: 年 月 日 附錄A: 附加圖、表圖 1 學(xué)生端主頁(yè)面圖 2 教師端學(xué)生請(qǐng)假信息頁(yè)面附錄B: 主要源程序DAO包/* * 請(qǐng)假審批 */public boolean LeaveAllow(String sid)/獲取數(shù)據(jù)庫(kù)連接Connection connection=DButils.getConnection

47、();/創(chuàng)建sql執(zhí)行環(huán)境PreparedStatement ps=null;/創(chuàng)建sql語(yǔ)句String s="已批準(zhǔn)"String sql="update leaverecords set operate1=? where sid=?"/執(zhí)行sql語(yǔ)句try ps= connection.prepareStatement(sql);ps.setString(1,s);ps.setString(2, sid);int count = ps.executeUpdate();if(count=1)return true; catch (SQLExcepti

48、on e) / TODO Auto-generated catch blocke.printStackTrace();finallyDButils.release(connection, ps, null);return false;/* * 銷(xiāo)假審批 */public boolean XJallow(String s,String sid)/獲取數(shù)據(jù)庫(kù)連接Connection connection=DButils.getConnection();/創(chuàng)建sql執(zhí)行環(huán)境PreparedStatement ps=null;/創(chuàng)建sql語(yǔ)句s="已銷(xiāo)假"String sql=&q

49、uot;update leaverecords set operate2=?where sid=?"/執(zhí)行sql語(yǔ)句try ps= connection.prepareStatement(sql);ps.setString(1, s);ps.setString(2, sid);int count = ps.executeUpdate();if(count=1)return true; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyDButils.release(connection, ps, null);return false;/* * 查詢(xún)請(qǐng)假記錄 */public ArrayList<LeaveRecordDO> selectAll()ArrayList<LeaveRecordDO> list = new ArrayList<LeaveRecordDO>();/1、獲取數(shù)據(jù)庫(kù)連接C

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論