周杰
(1.湖南大學(xué) 湖南省長沙市 410082 2.廣東省核工業(yè)華南高級技工學(xué)校 廣東省韶關(guān)市 512026)
本系統(tǒng)充分考慮學(xué)校內(nèi)的工作需求,在符合學(xué)校教務(wù)信息化管理發(fā)展的基礎(chǔ)上,對學(xué)校內(nèi)的教務(wù)進(jìn)行信息化的統(tǒng)一管理,該教務(wù)管理系統(tǒng)主要采用 J2EE 開發(fā)構(gòu)架中的Spring MVC 框架結(jié)構(gòu)模型。
J2EE作為新型的Java平臺最開始是SUN公司為了迎合大企業(yè)主機(jī)級別計算類型的需求。J2EE功能非常豐富多樣,它創(chuàng)新性地建立了可重用的模塊組件,并以此為基礎(chǔ),創(chuàng)造了新型的等級結(jié)構(gòu)來解決編程中各個方面的問題。因此,基于J2EE的程序重用更加靈活方便。它可以通過JDBC應(yīng)用程序接口完成數(shù)據(jù)訪問并保護(hù)Internet應(yīng)用程序中的數(shù)據(jù)[1]。
J2EE極大地減少了降低程序系統(tǒng)開發(fā)的繁復(fù)程度。首先,平臺的統(tǒng)一使得開發(fā)應(yīng)用程序的成本得到控制;其次,對現(xiàn)有的程序的優(yōu)秀集成能力使得其具有應(yīng)用程序的部署能力和向?qū)Т虬芰?;最后,J2EE可以通過使用終端集成框架降低開發(fā)成本,從而縮短產(chǎn)品的研發(fā)時間,更加的靈便穩(wěn)定。
Spring框架根據(jù)不同的功能要素分為各個不同的模塊,spring MVC就是其中之一。Spring MVC使用了MVC架構(gòu)模式的思想,將web層進(jìn)行職責(zé)解耦。由于Spring MVC卓越延展性靈活性,易上手等特點(diǎn),Spring MV正逐漸成為最優(yōu)秀的MVC框架之一。
Spring MVC分工非常明確,它將工作時角色借助于注解進(jìn)行了劃分。其中,前端控制器由用于接收請求,響應(yīng)結(jié)果;處理器映射器作用是基于請求的url尋找Handler;處理器適配器會按照特定規(guī)則去執(zhí)行Handler;處理器則是用于處理不同用戶的請求[2-4];視圖解析器對視圖進(jìn)行解析和渲染;視圖View將視圖展示給用戶。Spring MVC 的基本理念是 即用的 MVC,為了實(shí)現(xiàn)即用的MVC理念,Spring MVC 添置了許多與此相關(guān)的功能,如大量注解的添置,使之完全注解驅(qū)動、無縫集成格式化等。
表1:學(xué)生信息數(shù)據(jù)庫表
圖1:系統(tǒng)的整體功能圖
圖2:系統(tǒng)E-R圖
圖3:系統(tǒng)登錄界面流程圖
系統(tǒng)需求分析是現(xiàn)代軟件系統(tǒng)開發(fā)之前必須完成的一項重要任務(wù)。其主要任務(wù)是確認(rèn)系統(tǒng)未來使用的基本要求。分析系統(tǒng)需求有很多方法,對于分析教務(wù)管理系統(tǒng)的需求,選取了結(jié)構(gòu)化分析方法即(SA方法),它非常適用于數(shù)據(jù)處理軟件系統(tǒng)的需求分析。
教務(wù)管理系統(tǒng)是基于現(xiàn)代的信息技術(shù)和科學(xué)手段,應(yīng)對學(xué)校內(nèi)的不同用戶,滿足不同用戶對信息化教務(wù)管理的需求。因此,系統(tǒng)的需求根據(jù)用戶的不同分為三個模塊。
2.1.1 學(xué)生模塊
學(xué)生管理模塊是針對學(xué)校內(nèi)廣大學(xué)生用戶的統(tǒng)一管理,包含學(xué)生個人信息管理、網(wǎng)上選課、教師評審、信息查詢等。學(xué)生可以通過教務(wù)管理系統(tǒng)查看更改自己需要填寫的個人信息如姓名、聯(lián)系方式等;也可以通過其進(jìn)行選課教師的評審;還可以對自己的成績以及課程表等信息進(jìn)行查詢[5]。
2.1.2 教師模塊
教師管理模塊是針對教師用戶的統(tǒng)一管理,包括教師個人信息管理,所授課程班級不同成績的計算輸入和教師所授課程的管理等。學(xué)校教師可以通過教務(wù)管理系統(tǒng)維護(hù)其個人的基本信息,所教授的課程信息和職稱信息等。同時,教師管理的子系統(tǒng)還可以幫助教師進(jìn)行學(xué)生課程成績的錄入,對教學(xué)的各種信息進(jìn)行統(tǒng)計分析,包括開課統(tǒng)計,工作量計算等。
2.1.3 管理員模塊
管理員模塊是學(xué)校的信息技術(shù)人員所使用的模塊,其權(quán)限最高,包括學(xué)生以及教師的信息維護(hù)和修改,培養(yǎng)方案的維護(hù),教學(xué)信息的發(fā)布。管理員可以通過系統(tǒng)對學(xué)生教師所錄入的信息進(jìn)行核實(shí)并改錯[6]。管理員用戶具有維護(hù)和管理各個學(xué)生的具體培養(yǎng)計劃的權(quán)限,包括所需研修的專業(yè)課程、課程教師和學(xué)分實(shí)踐要求等。 管理員用戶還可以將學(xué)校所傳達(dá)的各種信息通過系統(tǒng)來進(jìn)行發(fā)布。
教務(wù)系統(tǒng)功能模塊的設(shè)計要充分考慮到不同用戶角色所操作完成的業(yè)務(wù)功能項。因此系統(tǒng)功能模塊的設(shè)計也是圍繞著用戶角色所完成的,根據(jù)需求分析,將學(xué)生,教師和管理者三種類型的用戶的需求進(jìn)行匯總整理。系統(tǒng)的整體功能要求如圖1所示。
基于需求分析、教務(wù)系統(tǒng)的相關(guān)研究以及相關(guān)數(shù)據(jù)的收集,確定系統(tǒng)三種不同ID 的功能為:學(xué)生和教師可以在教務(wù)系統(tǒng)中管理自己的個人信息,學(xué)生和教師還可以分別在系統(tǒng)上進(jìn)行成績的管理,具體表現(xiàn)為學(xué)生借助教務(wù)管理系統(tǒng)可以網(wǎng)上自助地選課操作、相關(guān)成績的查詢以及教師借助教務(wù)管理系統(tǒng)進(jìn)行所授課程各種成績的錄入[7-8]。對于管理員來說,管理員需要協(xié)助管理學(xué)生教師的個人信息,管理員還應(yīng)根據(jù)學(xué)校的需要發(fā)布向?qū)W校傳達(dá)的信息,此外,管理員還負(fù)責(zé)管理系統(tǒng)中的培養(yǎng)方案。根據(jù)教務(wù)管理系統(tǒng)的功能以及邏輯關(guān)系,得出其基本實(shí)體聯(lián)系圖。 系統(tǒng)的 E-R 圖如圖 2所示。
在考慮系統(tǒng)數(shù)據(jù)庫設(shè)計時,為了確保系統(tǒng)的查詢速度,對各種數(shù)據(jù)庫進(jìn)行比對后選擇了無關(guān)聯(lián)數(shù)據(jù)庫。它在一定程度上設(shè)計數(shù)據(jù)的冗余可以利用空余的空間來確保速度。但是,無關(guān)聯(lián)數(shù)據(jù)庫的數(shù)據(jù)庫表在實(shí)現(xiàn)過程中,實(shí)體中的任何一個屬性都要與其相關(guān)的數(shù)據(jù)庫表的字段一一對應(yīng),如學(xué)生信息需要姓名、性別、電話、班級等,如表1所示。
本教務(wù)管理系統(tǒng)基于 Spring MVC 框架設(shè)計,功能的實(shí)現(xiàn)主要是依托Spring MVC 結(jié)構(gòu)進(jìn)行增、刪、查、改數(shù)據(jù)庫表的內(nèi)容來完成。由于Spring MVC的配置具有較高的靈活性且分層明確清晰,因此非常適合新手操作,開發(fā)人員在將業(yè)務(wù)邏輯實(shí)現(xiàn)后,開發(fā)人員可以根據(jù)系統(tǒng)需要定義系統(tǒng)返回的頁面。Spring MVC 的數(shù)據(jù)處理順序?yàn)椋?/p>
(1)客戶端發(fā)來請求,Spring對客戶端輸送來的請求進(jìn)行接收分析;
(2)Sping會按照上一步的分析數(shù)據(jù),對請求進(jìn)行控制器的匹配,并將請求發(fā)送過去;
(3)控制器接收到請求后,對數(shù)據(jù)進(jìn)行增、刪、查、改等處理;
(4)控制器將處理完成后的數(shù)據(jù)打包成包含模型視圖的集合并返還;
(5)將集合內(nèi)數(shù)據(jù)進(jìn)行解析并將處理后的數(shù)據(jù)顯示在頁面中。
本系統(tǒng)根據(jù)權(quán)限以及教務(wù)管理需求將角色分為:學(xué)生,教師和管理員三種。由于springMVC框架是分層但結(jié)合使用的工作模式,所以系統(tǒng)將jsp技術(shù)與springMVC中的視圖層結(jié)合起來,在不同的文件夾中分別儲存系統(tǒng)不同用戶的界面。將index和登錄界面以及操作成功失敗界面直接放在主目錄;控制器層為servlet類,用來處理視圖層發(fā)送的每個請求,存放在以域名翻轉(zhuǎn)命名的包內(nèi):net.fuzui.servlet;模型層用來存放javabean類,分為實(shí)體bean和業(yè)務(wù)bean中,分別放在以域名翻轉(zhuǎn)命名包net.fuzui.beans、net.fuzui.dao中,實(shí)體bean存放實(shí)體類,業(yè)務(wù)bean中存放數(shù)據(jù)庫連接以及對數(shù)據(jù)庫的操作,由servlet調(diào)用。系統(tǒng)登錄界面流程圖如圖3。
學(xué)生用戶使用該教務(wù)管理系統(tǒng)時,主要可以在學(xué)生管理界面進(jìn)行三種操作:個人信息的管理,網(wǎng)上選課和成績信息的查詢[9]。
3.1.1 個人信息管理
此模塊為學(xué)生自主管理系統(tǒng)內(nèi)個人信息所設(shè)置,一方面,學(xué)生根據(jù)自身需求,可以查詢查看自己的個人信息;另一方面,當(dāng)學(xué)校有要求或者自身個人信息有誤時,可以自主地修正部分個人信息。學(xué)生個人信息系統(tǒng)數(shù)據(jù)流程圖4。
當(dāng)學(xué)生想要查詢自己的個人信息時,系統(tǒng)會借助超鏈接,應(yīng)用selectAll方法,在方法中查出學(xué)生的所有個人信息再利用鍵值對的方法把信息轉(zhuǎn)到系統(tǒng)的一個頁面上,在顯示頁面,系統(tǒng)會把學(xué)生的個人信息匯總到設(shè)定好的表格里面。
圖4:學(xué)生個人信息管理流程圖
圖5:學(xué)生網(wǎng)上選課流程圖
圖6:系統(tǒng)成績查詢流程圖
當(dāng)學(xué)生想要更改自己的個人信息時,學(xué)生用戶可以點(diǎn)擊系統(tǒng)學(xué)生管理界面的相關(guān)超鏈接,系統(tǒng)會自動將學(xué)生ID 傳送至后臺,后臺根據(jù)學(xué)生ID 會將所有的此ID 相關(guān)信息回顯至系統(tǒng)頁面之后,再使用@ModelAttribute注解,將該ID所查詢到的信息和輸入的信息進(jìn)行比對,如果有修改,那么系統(tǒng)更改為修改后的信息。當(dāng)然,有些信息是不允許學(xué)生個人進(jìn)行修改的,在系統(tǒng)功能實(shí)現(xiàn)的時候可以通過添加隱藏域來限制學(xué)生用戶的權(quán)限。
3.1.2 網(wǎng)上選課
教務(wù)管理系統(tǒng)的學(xué)生用戶界面包括網(wǎng)上選課的功能,目的是節(jié)省學(xué)生選課的時間,更便捷地幫助學(xué)校管理課程,根據(jù)系統(tǒng)可以根據(jù)課程人數(shù)以及選課相關(guān)要求來幫助學(xué)生選擇課程。其具體流程如圖5。
圖7:教師個人信息管理流程圖
圖8:成績錄入流程圖
圖9:課程管理流程圖
在學(xué)生界面查詢選課結(jié)果時,利用了數(shù)據(jù)庫表與表之間級聯(lián),通過選課表、課程表、課程安排表、教師表四表級聯(lián)的sql語句,查詢出課程的名稱、授課的班級、上課的時間、教室、學(xué)分等信息,并將此信息存放在一個實(shí)體類中,方便調(diào)用。
在視圖層的樣式設(shè)計中,通過css設(shè)置背景色透明度漸變和背景圖片透明度來實(shí)現(xiàn)整體視覺效果,在該系統(tǒng)中,表比較多,所以將表的樣式也煥然一新??偨缑娣譃樽髠?cè)欄和顯示欄,運(yùn)用js,左側(cè)欄通過點(diǎn)擊相應(yīng)圖標(biāo)可收縮隱藏。
3.1.3 成績信息查詢
成績信息查詢功能的主要功能是幫助學(xué)生更快捷地查詢自己各科目成績,以免耽擱學(xué)生選課重修的時間,學(xué)生也可以使用此模塊查詢以往學(xué)年的各科成績,以便于學(xué)生對自己學(xué)習(xí)進(jìn)行統(tǒng)籌管理。系統(tǒng)流程圖如圖 6。
學(xué)生成績的查詢與學(xué)生個人信息的查詢相類似,系統(tǒng)會借助超鏈接,應(yīng)用selectAll方法,在方法中查出學(xué)生的成績再利用鍵值對的方法把信息轉(zhuǎn)到系統(tǒng)的一個頁面上,在顯示頁面,系統(tǒng)會把學(xué)生的個人信息匯總到設(shè)定好的表格里面。
3.2.1 個人信息管理
該模塊主要教師的自我管理頁面,教師不僅可以查看自己的信息,而且也可以修改自己的部分信息[10]。當(dāng)教師的個人信息修改時,系統(tǒng)會從前臺教師的輸入獲取到教師輸入其個人信息的各個字段,后臺通過跟原有信息的比對來進(jìn)行修改并更新數(shù)據(jù)庫中的信息,其工作流程與學(xué)生管理個人信息的流程方法基本一致。其流程如圖7。
3.2.2 成績錄入
系統(tǒng)教師模塊的成績錄入功能主要用于,期中期末時,教師維護(hù)學(xué)生的成績情況,其具體工作原理類似于個人信息修改,但是,成績錄入可以借調(diào)相關(guān)的函數(shù)功能,能為教師實(shí)現(xiàn)計算班級平均分以及根據(jù)考試成績跟平時成績計算總成績等簡便功能。其具體流程如圖8。
3.2.3 課程管理
依據(jù)教師的需求在系統(tǒng)教師管理頁面設(shè)置課程管理模塊,其主要功能是為了實(shí)現(xiàn)教師對所授課程的信息化管理,此模塊不僅可以查詢教師的課程信息,詳細(xì)的顯示所授課程的班級專業(yè),教師安排等,還可以幫助教師實(shí)現(xiàn)網(wǎng)上課程信息的修改等。其具體系統(tǒng)數(shù)據(jù)流程圖如圖9。
3.3.1 學(xué)生與教師管理
管理員有權(quán)限管理學(xué)生以及教師的個人信息進(jìn)行,具體表現(xiàn)在,增加刪減學(xué)生教師的信息等,其具體流程如圖10。
管理員可以刪除離校學(xué)生以及離職教師在系統(tǒng)內(nèi)的信息,其具體操作為,在系統(tǒng)管理員截面點(diǎn)擊學(xué)生或者教師的信息刪除(超鏈接),系統(tǒng)轉(zhuǎn)到delete方法中,當(dāng)刪除用戶信息時攜帶用戶id,這樣才能按id刪除用戶。然后,系統(tǒng)把參數(shù)id放到路徑中,在刪除時要將POST請求轉(zhuǎn)換為delete請求,通過一個表單設(shè)置一個隱藏域來設(shè)置delete,然后進(jìn)行提交;這里刪除超鏈接是在循環(huán)中的,可以通過用一個class類用jQuery進(jìn)行提交。
管理員可以新增部分特殊學(xué)生以及新入職教師在系統(tǒng)內(nèi)的信息。管理增加學(xué)生信息具體流程為,點(diǎn)擊系統(tǒng)內(nèi)設(shè)置的超鏈接,系統(tǒng)轉(zhuǎn)進(jìn)insert方法,然后系統(tǒng)會在方法中查找出需要用戶選擇,通過下拉菜單選擇,然后執(zhí)行完方法,轉(zhuǎn)到insert.jsp頁面進(jìn)入insert.jsp頁面,使用Spring標(biāo)簽,這樣可以信息回顯,保存信息后,然后返回顯示列表。換言之,管理員通過在系統(tǒng)的新增頁面中輸入新增信息,系統(tǒng)后臺獲取這些數(shù)據(jù)后,將獲取到的信息進(jìn)行封裝,再調(diào)用數(shù)據(jù)庫持久化的方法,系統(tǒng)就能實(shí)現(xiàn)數(shù)據(jù)庫的添加的信息記錄操作。
圖10:管理員管理學(xué)生教師流程
圖11:方案管理流程圖
圖12:信息發(fā)布管理流程圖
3.3.2 培養(yǎng)方案管理
此模塊的主要功能是管理員在系統(tǒng)上對學(xué)生的培養(yǎng)方案進(jìn)行信息化管理 ,系統(tǒng)內(nèi)管理員界面的培養(yǎng)方案模塊可以實(shí)現(xiàn)學(xué)生培養(yǎng)方案的查詢、刪除、修改等操作,其工作原理與教師界面中的課程信息管理模塊類似,其具體流程圖如圖 11。
3.3.3 信息發(fā)布管理
信息發(fā)布模塊便于管理員進(jìn)行教務(wù)信息發(fā)布。當(dāng)管理員要發(fā)布新的信息內(nèi)容時,首先,登錄系統(tǒng)管理員界面,點(diǎn)擊管理此模塊的超鏈接后輸入編輯好的信息內(nèi)容;其次是對象的封存,由于是公告的發(fā)布,系統(tǒng)后臺會將其封存為公告對象;最后,再調(diào)用數(shù)據(jù)庫持久化的方法,就實(shí)現(xiàn)了新的公告在系統(tǒng)上的發(fā)布。其流程圖如圖12。
如今,信息化高速發(fā)展,時代對學(xué)校的信息化管理提出了更高的要求?;赟pring MVC的教務(wù)管理系統(tǒng)充分迎合了學(xué)校信息化建設(shè)的需求。改變高校教學(xué)管理人員和師生教學(xué)活動的現(xiàn)狀,提出了一種新的高校教務(wù)管理模式。新的教務(wù)管理模式在網(wǎng)絡(luò)平臺的支持下,更有效地實(shí)現(xiàn)了教務(wù)的信息化管理和更簡便的學(xué)習(xí)信息、課程信息管理等,確保了學(xué)校教學(xué)質(zhì)量。綜上所述,信息化的教務(wù)管理系統(tǒng)正在不斷發(fā)揮作用,但要在教學(xué)管理中發(fā)揮更大的作用,仍需要不斷探索和實(shí)踐。