基于Web的師資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Web的師資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Web的師資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Web的師資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Web的師資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

頁(yè)(共22頁(yè))1緒論 1.1研究背景及意義近幾十年來(lái)隨著改革開(kāi)放帶來(lái)的經(jīng)濟(jì)的飛速發(fā)展,國(guó)家對(duì)教育事業(yè)投入的日益提高,一些民辦或國(guó)辦高校在這個(gè)大趨勢(shì)下如雨后春筍一般展現(xiàn)了蓬勃的生機(jī),進(jìn)入了一個(gè)飛速發(fā)展的階段。高校的數(shù)量日益增長(zhǎng),學(xué)校規(guī)模的不斷擴(kuò)大,招收的學(xué)生的不斷增加,那么教師的需求量也會(huì)不斷增長(zhǎng)。這樣傳統(tǒng)的建立文檔室用紙質(zhì)的文檔管理教師檔案的方法的弊端就會(huì)被無(wú)線放大,人工去收集、抄錄、修改、管理、統(tǒng)計(jì)、查詢不僅會(huì)花費(fèi)大量精力,而且會(huì)因?yàn)槟承┮馔鈱?dǎo)致誤差的出現(xiàn)。在這樣的背景下,需要一個(gè)更加高效的、科學(xué)的、安全的方法去管理師資力量。結(jié)合本人所學(xué)專業(yè),設(shè)計(jì)實(shí)現(xiàn)一個(gè)師資管理系統(tǒng)能夠基本實(shí)現(xiàn)高效的、科學(xué)的、安全的去管理高校的師資力量。1.2項(xiàng)目開(kāi)發(fā)流程在這個(gè)項(xiàng)目的實(shí)現(xiàn)過(guò)程中,從需求分析到數(shù)據(jù)庫(kù)的設(shè)計(jì),從整體頁(yè)面的設(shè)計(jì)到整個(gè)項(xiàng)目后臺(tái)的編寫由我一個(gè)人獨(dú)自完成。整個(gè)項(xiàng)目一開(kāi)始使用的是servlet+jsp[2],用的MVC三層架構(gòu)[3]去實(shí)現(xiàn)的,后來(lái)發(fā)現(xiàn)這樣的話代碼冗余過(guò)多,而且不便于管理、修改,后面就針對(duì)這個(gè)弱項(xiàng)去自我學(xué)習(xí)了spring+springmvc+mybatis這樣的一個(gè)的框架去對(duì)項(xiàng)目進(jìn)行一個(gè)重構(gòu)和實(shí)現(xiàn),而且一開(kāi)始的數(shù)據(jù)庫(kù)設(shè)計(jì)也會(huì)存在缺陷,在多次修改之后逐漸完善。整體項(xiàng)目就以教師信息管理為例,大致開(kāi)發(fā)流程如下:(1)分析該模塊的實(shí)際運(yùn)用功能,可能會(huì)與其他模塊交互的信息;(2)設(shè)計(jì)數(shù)據(jù)庫(kù);(3)對(duì)該模塊的業(yè)務(wù)邏輯進(jìn)行分析; (4)基于師資管理系統(tǒng)的代碼編寫并實(shí)現(xiàn);(5)對(duì)系統(tǒng)運(yùn)用的測(cè)試和改進(jìn);1.3論文結(jié)構(gòu)安排論文由六章構(gòu)成,先簡(jiǎn)單介紹一下各章的重要部分:第一章:緒論,簡(jiǎn)單講解了師資管理系統(tǒng)的研究背景及意義,還有我在設(shè)計(jì)實(shí)現(xiàn)這個(gè)項(xiàng)目的主要工作。第二章:師資管理系統(tǒng)的相關(guān)的一些技術(shù)和概念的講解,比如涉及到的B/S結(jié)構(gòu),MySQL數(shù)據(jù)庫(kù),一些框架有關(guān)的知識(shí)解釋和這些技術(shù)的應(yīng)用分析。第三章:系統(tǒng)的需求分析,需求分析以及數(shù)據(jù)庫(kù)的初步設(shè)計(jì)。主要功能模塊的分析,系統(tǒng)的整體架構(gòu)。第四章:師資管理系統(tǒng)功能的實(shí)現(xiàn),作為本文的重點(diǎn),將會(huì)對(duì)本系統(tǒng)的主要模塊進(jìn)行講解,從業(yè)務(wù)邏輯、代碼設(shè)計(jì)的多個(gè)方面作為切入點(diǎn)進(jìn)行說(shuō)明。第五章:師資管理系統(tǒng)的測(cè)試與運(yùn)行,將會(huì)給出一定的運(yùn)行圖進(jìn)行直觀的說(shuō)明,并且對(duì)部分重點(diǎn)模塊的測(cè)試過(guò)程進(jìn)行說(shuō)明。第六章:總結(jié)與展望,對(duì)本論文的工作以及完成情況做一個(gè)說(shuō)明和自我評(píng)價(jià),對(duì)一些能夠改進(jìn)優(yōu)化的地方做一個(gè)匯總報(bào)告。2系統(tǒng)相關(guān)技術(shù)介紹本章節(jié)主要講解的是系統(tǒng)使用的技術(shù),系統(tǒng)架構(gòu)上使用的是B/S架構(gòu)[5],web服務(wù)器使用的是tomcat8.5[4],數(shù)據(jù)庫(kù)使用的是MySQL5.5[7],自己搭建的框架使用的是spring+springmvc+mybatis。2.1B/S架構(gòu)隨著Internet和WWW的流行,以往的主機(jī)/終端和C/S都無(wú)法滿足當(dāng)前的全球網(wǎng)絡(luò)開(kāi)放、互連、信息隨處可見(jiàn)和信息共享的新要求,于是就出現(xiàn)了B/S型模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。它是C/S架構(gòu)的一種改進(jìn),可以說(shuō)屬于三層C/S架構(gòu)。主要是利用了不斷成熟的WWW瀏覽器技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。B/S架構(gòu)的特點(diǎn): 瀏覽器方面:(1)能面對(duì)廣大的用戶實(shí)現(xiàn)信息傳播共享;(2)瀏覽器只處理一些簡(jiǎn)單的邏輯事務(wù),負(fù)擔(dān)?。唬?)頁(yè)面的更新能實(shí)現(xiàn)同步,所有用戶都能看到;(4)界面不需要太多的編寫,比較通用,更改界面也比較簡(jiǎn)單,所以幾乎不需要維護(hù)。 服務(wù)器方面:(1)數(shù)據(jù)都集中存放在數(shù)據(jù)庫(kù)服務(wù)器,所以能夠保值數(shù)據(jù)的統(tǒng)一;(2)能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全;(3)在數(shù)據(jù)庫(kù)服務(wù)器上不一定使用WINDOWS系統(tǒng),也可以使用Linux這些;(4)在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效;(5)數(shù)據(jù)存放在數(shù)據(jù)庫(kù)服務(wù)器,客戶端并不存放任何業(yè)務(wù)數(shù)據(jù)或者數(shù)據(jù)庫(kù)連接信息,所以數(shù)據(jù)比較安全。用戶方面:(1)B/S建立在廣域網(wǎng)上,所需的網(wǎng)速不高;(2)外部的用戶也可以對(duì)瀏覽器進(jìn)行訪問(wèn);(3)不需要安裝客戶端,只要能連上網(wǎng),就能隨時(shí)隨地的瀏覽頁(yè)面;(4)所有的用戶都是通過(guò)一個(gè)JDBC連接緩沖池連接到數(shù)據(jù)庫(kù)的,減少了數(shù)據(jù)庫(kù)承受的壓力。2.2MySQL數(shù)據(jù)庫(kù)(1)簡(jiǎn)介MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQLAB公司開(kāi)發(fā),目前屬于

Oracle

旗下產(chǎn)品。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在WEB應(yīng)用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件。MySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)系數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。(2)MySQL數(shù)據(jù)庫(kù)特性=1\*GB3①使用C和

C++編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證了源代碼的可移植性。=2\*GB3②支持

AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)。=3\*GB3③為多種編程語(yǔ)言提供了

API。這些編程語(yǔ)言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby、.NET和Tcl等。=4\*GB3④支持多線程,充分利用CPU資源。=5\*GB3⑤優(yōu)化的

SQL查詢算法,有效地提高查詢速度。=6\*GB3⑥既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中。=7\*GB3⑦提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的

GB2312、BIG5,日文的

Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。=8\*GB3⑧提供

TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。=9\*GB3⑨提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。=10\*GB3⑩支持大型的數(shù)據(jù)庫(kù)。可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。2.3Spring+SpringMvc+MybatisSpring將各層進(jìn)行整合通過(guò)spring管理持久層的mapper通過(guò)spring管理業(yè)務(wù)層service,service可以調(diào)用mapperSpring將各層進(jìn)行整合通過(guò)spring管理持久層的mapper通過(guò)spring管理業(yè)務(wù)層service,service可以調(diào)用mapper接口Spring進(jìn)行事務(wù)管理。通過(guò)spring管理表現(xiàn)層handler,handler中調(diào)用service接口mysql持久層mybatis業(yè)務(wù)層service接口表現(xiàn)層springmvc3系統(tǒng)需求分析本章節(jié)主要介紹系統(tǒng)的需求分析、模塊的劃分、數(shù)據(jù)庫(kù)的設(shè)計(jì)以及系統(tǒng)架構(gòu)的設(shè)計(jì)過(guò)程。其中主要功能的用例圖,重要部分的數(shù)據(jù)庫(kù)圖都在下文有具體的展示。3.1模塊劃分師資管理系統(tǒng)在大的模塊上劃分為普通教師登錄和管理員登錄兩個(gè)的模塊,教師和管理員登錄會(huì)有不同的功能劃分。教師模塊:教師模塊分為教師個(gè)人信息、院系查看、課表查看、請(qǐng)假申請(qǐng)和處理、科研申請(qǐng)和處理、公告查看模塊。管理員模塊:管理員模塊分為教師管理、學(xué)院管理、職位管理、課表管理、公告管理功能。3.2需求分析(1)教師登錄模塊需求分析教師個(gè)人信息:教師對(duì)于自己本人的基本信息,比如:姓名、院系、職位等信息的查看、確認(rèn)、修改。同時(shí)可以對(duì)登錄密碼進(jìn)行修改,以下圖3-1為教師個(gè)人信息模塊功能需求用例圖。教師登錄密碼修改修改信息信息查看教師登錄密碼修改修改信息信息查看驗(yàn)證密碼課表管理:教師登錄,查看課表,如果發(fā)現(xiàn)課表有誤,可以進(jìn)行課表報(bào)錯(cuò)操作,以下圖3-2為教師課表管理模塊功能需求用例圖。報(bào)錯(cuò)處理課表查看教師登錄圖報(bào)錯(cuò)處理課表查看教師登錄請(qǐng)假申請(qǐng)和處理:教師填寫請(qǐng)假申請(qǐng),選擇審批人,填寫請(qǐng)假類型等基本信息,完成提交之后,可以在假條查看處查看到申請(qǐng)的狀態(tài),審核人處會(huì)接受到該條申請(qǐng)并對(duì)其做出處理。以下圖3-3為教師請(qǐng)假申請(qǐng)和處理模塊需求功能用例圖。教師登錄請(qǐng)假填寫審批人操作狀態(tài)查看教師登錄請(qǐng)假填寫審批人操作狀態(tài)查看同意駁回科研申請(qǐng)和處理:該模塊需求功能基本和請(qǐng)假申請(qǐng)和處理相同,需求功能用例圖參照?qǐng)D3-3。查看單個(gè)公告詳情查看公告教師登錄公告查看:為管理員創(chuàng)建的公告,教師只具有查看功能,無(wú)法修改,先顯示部分信息,教師可以點(diǎn)擊查看詳細(xì)信息,以下圖3-查看單個(gè)公告詳情查看公告教師登錄圖3-4公告查看(2)管理員登錄模塊需求分析管理員登錄刪除教師添加教師教師復(fù)職教師管理模塊:管理員登錄可以對(duì)教師進(jìn)行操作,添加新的教師,刪除退休或者離職的教師,把離職的教師恢復(fù)為在職狀態(tài)。以下圖3管理員登錄刪除教師添加教師教師復(fù)職圖3-5管理員教師管理管理員登錄添加課表報(bào)錯(cuò)課表刪除修改課表管理模塊:管理員可以為指定教師添加課表,也可以接受到教師提交到的報(bào)錯(cuò)課表,管理員回去核實(shí)該報(bào)錯(cuò)課表的真實(shí)性,并對(duì)其進(jìn)行相應(yīng)操作,如果出現(xiàn)課表重復(fù),應(yīng)該刪除,如果是課時(shí)安排出錯(cuò),可以進(jìn)行相應(yīng)修改。以下圖管理員登錄添加課表報(bào)錯(cuò)課表刪除修改圖3-6管理員課表管理學(xué)院管理:管理員可以對(duì)學(xué)院進(jìn)行增加,填寫正確的信息即可,也可以對(duì)學(xué)院進(jìn)行刪除,便于高校對(duì)于各院系的管理。以下圖3-7為管理員的學(xué)院管理模塊需求功能用例圖。管理員登錄學(xué)院查看添加學(xué)院刪除學(xué)院管理員登錄學(xué)院查看添加學(xué)院刪除學(xué)院職位管理、公告管理:管理員在職位管理上可以查看職位、添加職位、刪除職位,管理員在公告管理上可以發(fā)布公告、查看公告、刪除公告,這兩個(gè)模塊的需求用例圖參照?qǐng)D3-7就可以實(shí)現(xiàn),所以不做過(guò)多贅述。3.3數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)的表的設(shè)計(jì)[8]是根據(jù)不同功能模塊所需的不同數(shù)據(jù)進(jìn)行設(shè)計(jì)的,優(yōu)化數(shù)據(jù)庫(kù)時(shí)就舍棄了外鍵的綁定,用的id對(duì)各表進(jìn)行關(guān)聯(lián),不同的表保存的信息不同而選擇添加了flag標(biāo)志進(jìn)行判斷狀態(tài),因?yàn)橹皼](méi)有完整的、系統(tǒng)性的遵循數(shù)據(jù)庫(kù)設(shè)計(jì)原則去設(shè)計(jì)數(shù)據(jù)庫(kù),所以本項(xiàng)目的數(shù)據(jù)庫(kù)是在一次次調(diào)試中吸取經(jīng)驗(yàn)逐步完善的。部分?jǐn)?shù)據(jù)庫(kù)表的設(shè)計(jì)如下。圖3-8Userinfo表圖3-9Departinfo表圖3-10Notice表圖3-11Schedule表圖3-12Roleinfo表3.4系統(tǒng)架構(gòu)設(shè)計(jì)在系統(tǒng)整體架構(gòu)上有界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層三層。界面層:用戶直接在瀏覽器上面可以對(duì)后臺(tái)處理的數(shù)據(jù)進(jìn)行可視化的查看,同時(shí)提供一些可操作的選項(xiàng)給操作的用戶,可以連接到業(yè)務(wù)邏輯層去處理這些用戶的操作,主要對(duì)用戶的請(qǐng)求進(jìn)行接收,以及數(shù)據(jù)的返回,提供給用戶一個(gè)交互式操作的頁(yè)面。業(yè)務(wù)邏輯層:業(yè)務(wù)邏輯層是系統(tǒng)的整個(gè)核心的地方,它的關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì),他接受到用戶在表示層的請(qǐng)求,再去根據(jù)這個(gè)請(qǐng)求去執(zhí)行自己指定的邏輯,再去連接數(shù)據(jù)層,對(duì)數(shù)據(jù)進(jìn)行增、刪、改、查這些操作,再把數(shù)據(jù)返回給表示層顯示給用戶。主要負(fù)責(zé)對(duì)數(shù)據(jù)層的操作。就是把對(duì)數(shù)據(jù)層的操作進(jìn)行組合。數(shù)據(jù)層:也就是持久層,主要功能是對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),連接的是業(yè)務(wù)邏輯層,執(zhí)行的是業(yè)務(wù)邏輯層中的業(yè)務(wù)邏輯,就是執(zhí)行mapper.xml中的select、updata、delete、insert。4師資管理系統(tǒng)功能實(shí)現(xiàn)本節(jié)主要是說(shuō)明系統(tǒng)實(shí)現(xiàn)的過(guò)程,對(duì)每個(gè)模塊都進(jìn)行了業(yè)務(wù)邏輯的分析,再去實(shí)施代碼的編寫,避免邏輯上的重大缺陷,部分重要模塊有代碼的直觀呈現(xiàn)。4.1登錄頁(yè)面(1)業(yè)務(wù)邏輯分析登錄模塊教師和管理員公用一個(gè),在數(shù)據(jù)庫(kù)設(shè)計(jì)了一個(gè)flag用于標(biāo)識(shí)用戶是否具有管理員權(quán)限,再根據(jù)對(duì)登錄信息查詢數(shù)據(jù)庫(kù),判斷用戶權(quán)限,跳轉(zhuǎn)到各自不同的主界面,登錄模塊支持同步的用戶登錄郵箱驗(yàn)證。(2)代碼實(shí)現(xiàn)[1]判斷用戶權(quán)限,根據(jù)用戶登錄后獲取的返回的數(shù)據(jù)進(jìn)行判斷用戶角色,flag為1時(shí)判斷為普通教師登錄,跳轉(zhuǎn)到相應(yīng)界面,flag為2時(shí),判斷為管理員登錄,跳轉(zhuǎn)到相應(yīng)界面: //用戶登錄 @RequestMapping("/userLogin") @ResponseBody PublicModelAndViewlogin(UserInfouserinfo,HttpSessionsession){ UserInfouser=loginService.login(userinfo); //session.setAttribute("userinfo",user); ModelAndViewmav1=newModelAndView("login"); ModelAndViewmav2=newModelAndView("usermain"); ModelAndViewmav3=newModelAndView("adminmain"); if(user!=null){ //查詢用戶完整信息,顯示 ExtendUseruserDetailInfo=loginService.getUserDetailInfo(userinfo.getEmail()); session.setAttribute("userinfo",userDetailInfo); //判斷登錄角色 if(user.getFlag()==1){ //普通教師 returnmav2; }elseif(user.getFlag()==0){ //管理員 returnmav3; }else{ returnmav1; } }else{ returnmav1; } }用戶郵箱檢測(cè),采用的是jQueryvaildate驗(yàn)證框架,自定義的驗(yàn)證函數(shù),使用的是ajax的同步進(jìn)行處理如果你的操作不符合規(guī)范,那么無(wú)法執(zhí)行下一步,如果郵箱不存在,會(huì)出現(xiàn)“用戶名不存在”的一個(gè)提示:<scripttype="text/javascript">$.validator.addMethod( "nameIsExist", function(value,element,params){ //value用戶輸入的值 //element對(duì)象 //params校驗(yàn)的值 returnajax_name(value); } ) functionajax_name(value){ varflag=true; $.ajax({ url:"${pageContext.request.contextPath}/Login/checkEmail", data:{"email":value}, dataType:"json", type:"post", cache:false, async:false, success:function(data){ flag=data.flag; }, error:function(){ alert("系統(tǒng)錯(cuò)誤!"); } }); returnflag; } $(function(){ $("#form").validate({ rules:{ "email":{ "required":true, "nameIsExist":true }, }, messages:{ "email":{ "required":"用戶名不能為空", "nameIsExist":"用戶名不存在" } } }); });</script>4.2教師個(gè)人信息管理教師個(gè)人信息通過(guò)教師登錄返回的存放在在session中的實(shí)體類的id查詢個(gè)人信息,將數(shù)據(jù)回顯到j(luò)sp頁(yè)面顯示,教師個(gè)人信息管理有查看信息功能、個(gè)人信息修改功能以及修改密碼功能,其中教師信息修改是回顯當(dāng)前教師的信息在教師信息修改頁(yè)面,用于讓教師確認(rèn)自己之前的信息,教師就只用選擇性的去修改基本信息就可以了。密碼修改也需要進(jìn)行判斷,先要輸入當(dāng)前的密碼,再進(jìn)行新密碼的輸入,新密碼的確認(rèn),不然無(wú)法處理,防止非當(dāng)前教師本人操作或誤操作,代碼原理和登錄的郵箱驗(yàn)證相似。4.3教師模塊功能教師模塊具有課表查看和報(bào)錯(cuò)、院系查看、請(qǐng)假申請(qǐng)和處理以及資格評(píng)定申請(qǐng)和處理等權(quán)限,院系查看就是基本的數(shù)據(jù)查詢語(yǔ)句,只是在院系查看的前臺(tái)頁(yè)面使用ajax添加了分頁(yè),寫了一個(gè)pagebean的實(shí)體,使用了泛型,使得所有頁(yè)面均可以使用,優(yōu)化用戶的體驗(yàn)。課表查看需要判斷當(dāng)前用戶的userid去數(shù)據(jù)庫(kù)中實(shí)現(xiàn)查看,即當(dāng)前普通用戶只能查看自己的課表信息,不能查看其他教師信息,課表查看里面有一個(gè)報(bào)錯(cuò)按鈕,點(diǎn)擊就可以把某一天的課表標(biāo)記為有誤,這樣,管理員就會(huì)在他的相應(yīng)模塊查看到這條記錄,就可以對(duì)這條數(shù)據(jù)進(jìn)行修改和刪除的操作。請(qǐng)假申請(qǐng)和處理以及資格評(píng)定申請(qǐng)和處理在整體業(yè)務(wù)邏輯上都是相同的,所以放在一起說(shuō)明。(1)業(yè)務(wù)邏輯分析申請(qǐng)就是教師點(diǎn)擊進(jìn)入到相應(yīng)的頁(yè)面,進(jìn)行申請(qǐng)信息的填寫,然后點(diǎn)擊添加按鈕就會(huì)執(zhí)行相應(yīng)的操作,操作成功就會(huì)跳轉(zhuǎn)到查看申請(qǐng)頁(yè)面,當(dāng)前默認(rèn)狀態(tài)為審核中。當(dāng)教師成功完成申請(qǐng)操作之后,審核人就會(huì)在相應(yīng)模塊查看到申請(qǐng)的信息,并對(duì)其完成同意申請(qǐng)、駁回申請(qǐng)的操作。完成之后,申請(qǐng)人那里就會(huì)顯示當(dāng)前申請(qǐng)的申請(qǐng)信息,有已審批、駁回。(2)代碼實(shí)現(xiàn)請(qǐng)假申請(qǐng)controller,在servic層返回的一個(gè)Boolean的數(shù)據(jù)類型回來(lái),判斷當(dāng)前操作是否成功,成功就跳轉(zhuǎn)到查看界面,失敗會(huì)跳回申請(qǐng)界面重新申請(qǐng): @RequestMapping("/addLeaveTime") publicModelAndViewaddLeaveTime(LeaveTimeleavetime,HttpSessionsession){ UserInfouser=(UserInfo)session.getAttribute("userinfo"); leavetime.setUserid(user.getUserid()); Booleanflag=loginService.addLeaveTime(leavetime); ModelAndViewmav1=newModelAndView("redirect:/Login/showLeaveTimeJsp"); ModelAndViewmav2=newModelAndView("redirect:/Login/goLeaveTimeJsp"); if(flag=true){ //成功跳轉(zhuǎn)查看界面 returnmav1; }else{ returnmav2; } }請(qǐng)假申請(qǐng)sql[9],在mybatis里面自己寫的sql語(yǔ)句,更加靈活的進(jìn)行操作:<insertid="addLeaveTime"parameterType="com.zhl.pojo.LeaveTime">insertintoleavetime(leaveType,beginTime,endTime,duration,createTime,remarks,approver,flag,userid)values(#{leaveType},#{beginTime},#{endTime},#{duration},now(),#{remarks},#{approver},${1},#{userid});</insert>4.4管理員功能模塊(1)業(yè)務(wù)邏輯分析管理員具有教師管理、職位管理、學(xué)院管理、修改課表等操作權(quán)限及功能,教師管理、職位管理、學(xué)院管理、修改課表整體業(yè)務(wù)邏輯相近,說(shuō)以放在一塊說(shuō)明。教師管理就是簡(jiǎn)單的sql的insert語(yǔ)句,但是做了一個(gè)檢驗(yàn),如果數(shù)據(jù)庫(kù)存在相同名字教師,添加不能執(zhí)行,刪除教師做的是一個(gè)假刪除,并不是真正的刪除,就是數(shù)據(jù)庫(kù)中仍然會(huì)有該教師的信息,只是在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)加了一個(gè)userstatus來(lái)判斷教師狀態(tài)是在職還是離職,職位管理、學(xué)院管理基本和教師管理相同,所以不做過(guò)多贅述。修改課表就是接收到的教師操作的報(bào)錯(cuò)課表信息,可以對(duì)改課表進(jìn)行修改、刪除操作。(2)代碼實(shí)現(xiàn)添加教師sql,密碼默認(rèn)為“123456”,教師可以自己修改,狀態(tài)默認(rèn)為在職:<insertid="adduserinfo"parameterType="com.zhl.pojo.UserInfo">insertintouserinfo(username,password,departid,email,gender,roleid,userstate,flag)values(#{username},${123456},#{departid},#{email},#{gender},#{roleid},${1},#{flag});</insert>刪除教師sql,刪除是一個(gè)假刪除,并不會(huì)真的去刪除教師信息,而是修改數(shù)據(jù)庫(kù)中的userstate為1,表示該教師離職,以便于教師可能出現(xiàn)的復(fù)職情況:刪除教師:<updateid="adminChangeUserState"parameterType="int">updateuserinfosetUserState=${2}whereuserid=#{userid}</update> 復(fù)職教師:<updateid="adminChangeUserState2"parameterType="int">updateuserinfosetUserState=${1}whereuserid=#{userid}</update> 4.5公告管理(1)業(yè)務(wù)邏輯分析公告管理為管理員專屬操作,管理員進(jìn)行公告的添加,成功返回公告顯示頁(yè)面,顯示頁(yè)面可以點(diǎn)擊公告標(biāo)題進(jìn)入到公告詳情頁(yè)面,還可以對(duì)公告進(jìn)行刪除操作。(2)代碼實(shí)現(xiàn)公告管理sql,第一個(gè)sql語(yǔ)句“getCount9”是查詢出公告的總數(shù),為第二個(gè)分頁(yè)sql“adminShowNotice2”做準(zhǔn)備,而“adminDeleteNotice”sql語(yǔ)句也是一個(gè)假刪除語(yǔ)句,用于刪除公告,“showDetailNotice”sql語(yǔ)句是用于顯示公告詳情頁(yè)面的sql查詢語(yǔ)句:<selectid="getCount9"resultType="int">SELECTCOUNT(id)FROMnoticewhereflag=${1}</select> <selectid="adminShowNotice2"parameterType="com.zhl.pojo.vo.QueryVo"resultMap="notice">SELECT*FROMnoticewhereflag=${1}LIMIT#{beginPage},#{pageSize}</select><updateid="adminDeleteNotice"parameterType="int">updatenoticesetflag=${2}whereid=#{id}</update><selectid="showDetailNotice"parameterType="int"resultType="com.zhl.pojo.Notice">SELECT*FROMnoticewhereid=#{id}</select>5師資管理系統(tǒng)的測(cè)試與運(yùn)行本章節(jié)的主要作用就是對(duì)系統(tǒng)進(jìn)行整體測(cè)試,通過(guò)用例測(cè)試核實(shí)系統(tǒng)是否能正常運(yùn)行、有無(wú)重大缺陷,并選取主要功能進(jìn)行圖文展示說(shuō)明。5.1測(cè)試環(huán)境(1)硬件環(huán)境intel(R)core(TM)i5-3230MCPU@2.60GHz+4G內(nèi)存+500G硬盤(2)軟件環(huán)境Eclipse[6]+Tomcat8+MySql+Jdk1.85.2系統(tǒng)功能集合用例測(cè)試本節(jié)采用用例測(cè)試方式對(duì)該系統(tǒng)的登錄功能,普通教師的個(gè)人信息管理模塊、課表管理模塊、院系查看模塊、請(qǐng)假模塊、科研申請(qǐng)模塊、審批管理模塊、查看公告模塊和管理員的教師管理模塊、課表管理模塊、學(xué)院管理模塊等進(jìn)行集合用例功能測(cè)試。表5.1為功能集合用例測(cè)試表。表5.1師資管理系統(tǒng)功能集合測(cè)試用例測(cè)試模塊測(cè)試功能項(xiàng)測(cè)試數(shù)據(jù)輸入預(yù)期輸出顯示結(jié)果是否符合預(yù)期目標(biāo)用戶登錄進(jìn)行登錄用戶驗(yàn)證輸入用戶名“qwerty”顯示用戶名不存在“用戶名不存在”符合教師個(gè)人信息管理模塊修改教師詳細(xì)信息修改“周哈哈”的用戶名為“654321”跳轉(zhuǎn)到個(gè)人信息頁(yè)面?zhèn)€人信息符合教師個(gè)人信息管理模塊修改密碼修改“周哈哈”的密碼為“123456”顯示修改成功“修改成功”符合教師課表管理模塊查看課表和報(bào)錯(cuò)處理無(wú)輸入教師課表教師課表符合教師院系查看模塊查看院系無(wú)輸入院系信息院系信息符合教師請(qǐng)假申請(qǐng)模塊請(qǐng)假申請(qǐng)和查看選擇審批人,輸入請(qǐng)假人假條信息假條信息符合教師科研申請(qǐng)模塊科研申請(qǐng)和查看選擇審批人,輸入申請(qǐng)信息審批進(jìn)度審批進(jìn)度符合教師審批管理模塊請(qǐng)假和科研審批教師申請(qǐng)的數(shù)據(jù)信息待審批信息待審批符合管理員教師管理模塊添加教師輸入“測(cè)試教師”信息跳轉(zhuǎn)到管理教師頁(yè)面跳轉(zhuǎn)成功符合管理員課表管理模塊添加課表選擇教師“周哈哈”,輸入課表顯示修改成功“添加成功”符合管理員課表管理模塊進(jìn)行報(bào)錯(cuò)課表操作無(wú)輸入跳轉(zhuǎn)回查看報(bào)錯(cuò)課表界面跳轉(zhuǎn)成功符合管理員學(xué)員管理模塊添加學(xué)院添加“測(cè)試學(xué)院”,選擇聯(lián)系人跳轉(zhuǎn)到學(xué)院查看頁(yè)面跳轉(zhuǎn)成功符合管理員職位管理模塊添加職位添加“測(cè)試職位”信息跳轉(zhuǎn)到職位查看頁(yè)面跳轉(zhuǎn)成功符合管理員公告管理模塊添加公告添加“測(cè)試公告”信息跳轉(zhuǎn)到公告查看頁(yè)面跳轉(zhuǎn)成功符合5.3系統(tǒng)運(yùn)行效果測(cè)試對(duì)系統(tǒng)各功能逐項(xiàng)測(cè)試并驗(yàn)證,測(cè)驗(yàn)系統(tǒng)是否達(dá)到用戶的過(guò)程稱之為功能測(cè)試,由于篇幅受限,本文只顯示主要模塊功能的測(cè)試圖。(1)教師請(qǐng)假模塊測(cè)試數(shù)據(jù)和結(jié)果為當(dāng)前登陸教師添加一個(gè)請(qǐng)假申請(qǐng),選擇審批人、請(qǐng)假類型,輸入其他請(qǐng)假信息。因?yàn)殚_(kāi)始時(shí)間和結(jié)束時(shí)間我是使用的jQuery的插件寫的,所以可以直接點(diǎn)擊選擇,如圖5-2為教師請(qǐng)假申請(qǐng)信息添加頁(yè)面:圖5-2請(qǐng)假申請(qǐng)頁(yè)面確定輸入的信息后,點(diǎn)擊下方添加按鈕,保存成功后跳轉(zhuǎn)到假條查看頁(yè)面,如下圖5-3所示:圖5-3查看假條頁(yè)面(2)教師請(qǐng)假審批測(cè)試數(shù)據(jù)和結(jié)果退出請(qǐng)假教師登錄,登錄請(qǐng)假申請(qǐng)的審核人教師賬號(hào),點(diǎn)擊審批管理里

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論