周寧
(北京青年政治學院學生處,北京 100102)
本文以高校學生綜合管理系統(tǒng)為研究對象,通過對北京青年政治學院的學生管理現(xiàn)狀進行分析,利用軟件工程中面向對象的研究方法,解決高校學生管理中存在問題。本章主要介紹該課題的研究背景、目的及意義、國內外研究現(xiàn)狀以及本文的主要結構。
北京青年政治學院是北京市屬市管普通高等學校,現(xiàn)有教職員工330余人,在校學生4000余人。位居北京市朝陽區(qū)的望京地區(qū),占地面積40多畝。另有東校區(qū)80畝,一年級學生就讀。北京青年政治學院下設11個教學系部(分院),現(xiàn)有專業(yè)(方向)20余個。學生處負責全院的學生管理、招生以及就業(yè)等工作。
隨著學院規(guī)模的不斷擴大,學生人數(shù)急劇增長,需要管理的各種信息也成倍增長,由于計算機和網絡的普及,若建立一個B/S結構的學生信息管理系統(tǒng),學生便可以通過網絡查詢自己的有關信息,使得學生信息管理工作系統(tǒng)化,規(guī)范化,自動化,大大提高了學院管理學生的效率。
學院學生處下設招生辦公室、就業(yè)指導中心、學生管理科、心理健康教育中心等多個科室,目前各科室都有各自獨立的管理信息系統(tǒng),現(xiàn)存問題是,信息不能共享、系統(tǒng)不完善。為解決現(xiàn)存問題對于學生工作進行重新梳理、整合、建立一個統(tǒng)一的、完善的學生工作管理信息系統(tǒng)是當前的迫切需求。
項目的建設將有力改善北京青年政治學院的學生管理環(huán)境,從整體上提高學生工作管理部門、工作人員和全校學生通過網絡發(fā)送和接收有關信息的能力,開展在線的業(yè)務處理,支持按權限管理的各種申請、查詢和統(tǒng)計報表的輸出打印功能。
項目建設的主要內容包括:面向學生處全體師生,包括系統(tǒng)維護、思想教育管理、評獎評優(yōu)管理、共青團工作管理、學生資助管理、勤工助學管理、對外交流管理、心理健康管理、違紀處分管理、招生管理、就業(yè)管理、日常事務管理、學生工作隊伍管理、班級管理、其他數(shù)據(jù)管理等子系統(tǒng)。
項目的近期目標是將北京青年政治學院在數(shù)字化校園統(tǒng)一數(shù)據(jù)平臺的基礎上與其他系統(tǒng)實現(xiàn)數(shù)據(jù)充分共享,為其他系統(tǒng)的接入開放數(shù)據(jù)接口。尤其是實現(xiàn)學生工作管理系統(tǒng)與一卡通系統(tǒng)之間的數(shù)據(jù)交換和業(yè)務互動。與教務管理系統(tǒng)、財務系統(tǒng)等相關系統(tǒng)聯(lián)動,實現(xiàn)入學前、入學、在校期間、畢業(yè)期間和畢業(yè)以后一條龍管理。
本項目將從教育信息數(shù)字化的角度探索學生工作開展的新途徑,支持學生工作管理部門、工作人員和全校學生通過網絡發(fā)送和接收有關信息,開展在線的業(yè)務處理,支持按權限管理的各種申請、查詢和統(tǒng)計報表的輸出打印功能。此項目的必要性和可行性如下:
(1)目前學生相關數(shù)據(jù)無法利用或利用不充分
信息化水平參差不齊,信息系統(tǒng)構造各異,導致學校的信息共享不暢、數(shù)據(jù)不標準、不統(tǒng)一,學生相關數(shù)據(jù)無法利用,工作環(huán)節(jié)銜接存在明顯的弊端。
(2)以管理為驅動,主要為管理者服務,而面向學生的主動式自助服務較少
傳統(tǒng)業(yè)務系統(tǒng)出發(fā)點是為管理者服務,提高管理者的工作效率,而為師生提供的服務是完成管理者收集和整理數(shù)據(jù)的環(huán)節(jié),并未真正從學生的角度理解業(yè)務。
(3)原來與學生相關跨部門業(yè)務難以實現(xiàn)
當學生的相關業(yè)務辦理需要其他職能部門舊系統(tǒng)配合時,工作難度較大,因為跨職能部門的業(yè)務流程較復雜,流程中的數(shù)據(jù)轉換、業(yè)務辦理耗時較大,工作效率未得到有效提高,本項目將來與學院數(shù)字化平臺對接,實現(xiàn)資源共享。
(4)只記錄了學生課堂成績,無法展現(xiàn)學生綜合素質和能力
目前與學生學習相關的教務系統(tǒng),只能記錄學生的課堂成績;無法在系統(tǒng)中體現(xiàn)學生的綜合素質情況。怎樣解決這些問題已經引起越來越多同行的關注。
近些年來,在國家教育政策的支持下,各個高校的教育規(guī)模不斷的擴大,在此條件下目前手工管理的模式和單機管理的模式已經嚴重落后于目前的教育發(fā)展。在此條件下,隨著信息化技術的發(fā)展以及教育水平的整體提高,學生相關的信息管理系統(tǒng)軟件也成為了高等學校教學管理過程中的重要組成部分[1]。作為用戶信息查詢的主要手段,將會在高校學生相關管理政策制定中提供科學的數(shù)據(jù)依據(jù)。通過計算機對于學生日常信息的管理,與傳統(tǒng)的人工操作管理相比較,在檢索效率方面、存儲量方面、成本低廉等方面都具有不可比擬的優(yōu)勢。所以,開發(fā)一個能夠適應新形勢下需要的高校學生信息管理系統(tǒng)是很有必要的[2]。
雖然,從整體上來看,我國高校已經基本上完成了信息化平臺的建設,但是仍然存在“重建設、輕應用”的現(xiàn)象。高校學生管理平臺的應用價值并沒有得到充分的體現(xiàn)。缺乏完善的教育管理軟件規(guī)范的指導,缺乏高質量信息管理軟件的支持,雖然各個院校都利用校園網絡完成了一部分的工作,但是從效率、質量以及規(guī)范化的程度上來看,都需要進一步提高。在學生管理領域,學生獎懲管理以及學生注冊等服務大多沿習傳統(tǒng)的管理模式,并沒有通過信息管理系統(tǒng)來提高學生管理的工作效率[3]。
其次,信息管理系統(tǒng)軟件設計的不規(guī)范,導致兼容性較差,也是高校信息化建設過程中所遇到的重點問題。目前,高校學生管理系統(tǒng)大多是從軟件公司購買,或者委托科研單位和公司進行研制,存在較多設計不規(guī)范問題,重復開發(fā)現(xiàn)象較為嚴重。因此,一個完整軟件規(guī)范的設計勢在必行。
作者作為該項目的主要參與人員,全程參與項目需求分析,系統(tǒng)設計與實現(xiàn)及測試上線的過程。本課題以高校學生管理為切入點,深入討論在高校學生管理系統(tǒng)軟件架構的搭建與實現(xiàn)。根據(jù)項目的不同階段,作者圍繞本科題進行以下內容的研究與實踐[4,5]:
1.首先需要對于當前高校學生管理系統(tǒng)的發(fā)展趨勢和研究現(xiàn)狀進行深入的調查研究,掌握在不同的情況下學生管理的實際需求和學生管理工作的特點,以軟件對于學生日常輔助管理的作用為出發(fā)點,進而分析系統(tǒng)設計的可行性。
2.從用戶的角度出發(fā),通過問卷或者調查等方式,分析實際應用的需求,通過對于用戶需求分析確定系統(tǒng)的總體設計要求,并對于前期的總體設計方案進行必要的補充和更正,力求總體設計更加科學和合理。
3.基于對總體的設計要求和用戶的需求分析,對于系統(tǒng)進行整體的數(shù)據(jù)設計,以信息單元或者用戶的操作事件作為設計參考,建立數(shù)據(jù)模型,設計數(shù)據(jù)管理,確立整體的數(shù)據(jù)設計體系。
4.在整體的設計基礎上,根據(jù)設計內容,確定系統(tǒng)的各個功能模塊,并對于各個功能模塊進行深入的功能分析,建立相對清晰和完善的導航系統(tǒng),并對于各個功能逐步的完善,實現(xiàn)系統(tǒng)的基本功能開發(fā);并在此基礎上進一步整合,完善系統(tǒng)的開發(fā)工作。
5.在完成總體的設計的基礎上,對于工作成果進行分析,提出項目設計的不足之處,并不斷完善項目設計,使項目整體符合實際工作的需要。
6.完善詳細設計,對評獎評優(yōu)管理、學生資助管理、心理健康管理、招生管理、迎新管理、離校管理、系統(tǒng)維護、用戶管理等模塊進行詳細設計,以用例圖或流程圖的形式詳細闡述了以上各模塊的功能及流程。
7.跟蹤開發(fā)進度,負責項目相關各部門的溝通與協(xié)調。
8.從業(yè)務角度,對系統(tǒng)測試用例進行分析與審核,保證系統(tǒng)全面滿足業(yè)務需求。
9.制定完整的上線實施流程,保證項目順利上線。
本論文通過對系統(tǒng)整體的分析,對系統(tǒng)的各個功能模塊和開發(fā)思想進行了詳細的描述,主要講述了六大章節(jié)的內容。
第1章:引言,結合項目實際,論述項目背景、建設目標和作者在項目開發(fā)中的主要工作。
第2章:基礎技術介紹,圍繞本項目,站在技術應用的角度,對相關技術進行基礎性簡介,為系統(tǒng)設計和實現(xiàn)奠定技術基礎。
第3章:系統(tǒng)需求,圍繞系統(tǒng)需求的提出,對業(yè)務進行描述,通過UML中的用例圖完成對需求的建模。
第4章:系統(tǒng)設計與實現(xiàn),對本項目的運行環(huán)境以及各模塊功能進行描述,具體闡述學生管理系統(tǒng)的主要研究內容。描述系統(tǒng)架構的具體設計原則與思想,對功能模塊通過流程圖的形式具體講解各管理模塊的實現(xiàn)內容,詳細說明數(shù)據(jù)庫邏輯設計結構與物理設計結構。系統(tǒng)實現(xiàn),應用St ruts 2,Spring和Hibernate技術完成對項目核心技術的實現(xiàn)。
第5章:系統(tǒng)測試,從功能測試和性能測試兩個方面進行論述,通過完整測試用例驗證系統(tǒng)的正確性,健壯性,保證系統(tǒng)的可維護性。
第6章:結論,本項目的成功實施,可以作為高校信息化領域的示范項目。
本章立足于系統(tǒng)基礎技術介紹,圍繞本項目,站在技術應用的角度,對相關技術進行基礎性簡介,為系統(tǒng)設計和實現(xiàn)奠定技術基礎。
從理論上講,Web 應用程序非常簡單。瀏覽器(“客戶端-服務器”模式中的客戶端)顯示表單并向用戶請求數(shù)據(jù)。服務器由一個軟件程序表示,在一個 Web 應用服務器上執(zhí)行。用戶提交表單后,服務器程序會接收并處理信息,然后根據(jù)結果返回一個響應。這種交互如圖 2-1 所示[6]。
圖2 -1 Web 應用交互圖Fig.2-1 Web application interaction diagram
在現(xiàn)實過程中,根據(jù)應用程序所執(zhí)行的任務,Web表單必須識別服務器的統(tǒng)一資源定位符 (URL),這樣,在用戶提交表單以進行處理的時候,就可以讓瀏覽器知道應該往哪兒發(fā)送表單數(shù)據(jù)。當然,用戶并不知道發(fā)生了重定向,因此他們感覺到交易非常順利。更常見的情況是,重定向會指向同一個域,即使是重定向到不同的服務器[7],如圖2-2所示。
圖2 -2改進版Web 應用交互圖Fig.2-2 Improved version of the Web appl ication interaction diagram
大量的軟件工程實踐,使人們總結出一套針對大型項目開發(fā)的方法論——設計模式。經過賽迪網對設計模式的使用情況調查:在與Web相關的項目中,MVC模式使用率超過50%。MVC來源于Model-View-Control ler的縮寫,即模型(Model)-視圖(View)-控制器(Cont rol ler),根據(jù)圖2-3所表示的類圖,可見它們分別擔當不同的職責[8]。
圖2 -3 MVC類圖Fig. 2-3 MVC class diagram
(1)模型類:數(shù)據(jù)和業(yè)務規(guī)則,封裝所需的數(shù)據(jù),提供完成問題處理的操作過程。
(2)視圖類:用戶交互界面,通過顯示的形式,把信息轉達給用戶。
(3)控制器類:接受用戶交互信息并調用模型和視圖去完成用戶的請求。
通過圖2-4顯示的MVC處理流程圖,用戶在視圖提供的界面上發(fā)出請求,視圖把請求轉發(fā)給控制器,控制器調用相應模型來處理用戶請求,模型進行相應的業(yè)務邏輯處理,并返回數(shù)據(jù)。最后控制器調用相應的視圖來顯示模型返回的數(shù)據(jù)。
圖2 -4 MVC 處理流程圖Fig. 2-4 MVC processing diagram
MVC模式是面向對象設計中“職責單一”原則的最佳實踐之一。它可以為一個模型在運行時同時建立和使用多個視圖,使用戶可以從不同角度看待數(shù)據(jù)展示結果;它幫助視圖層與控制層分離,支持二者的對象替換,并且可以根據(jù)需求有選擇的動態(tài)配置視圖與控制層的關系,因此,它具有良好的系統(tǒng)可移植性,可以平滑地保證模型或者視圖在其他平臺上的耦合工作[9]。
MVC模式有利必有弊,對于小型甚至中等規(guī)模的應用,不建議使用MVC模式。首先,如果執(zhí)行嚴格的MVC,就必須將應用分為三個部件,在增加設計難度的同時,意味著將要開發(fā)更多的文件,會延長開發(fā)周期。其次,視圖與控制器間耦合性看似很低,實際很高,視圖與控制器貌似相互分離,但確實聯(lián)系緊密的部件,視圖沒有控制器的存在,其應用是很有限的,從某種角度而言,將對它們的獨立重用構成障礙,最后,視圖與數(shù)據(jù)模型間的訪問是低效的,甚至是有限制的??赡苡捎谀P烷g數(shù)據(jù)關系和操作接口不匹配,視圖層必須要多次重復訪問控制層,才能獲得足夠的數(shù)據(jù),而這種數(shù)據(jù)間的頻繁訪問,極大地危害了系統(tǒng)性能。對于中小型項目,軟件工程的最佳實踐中,都不建議使用MVC模式。因為,如果按照MVC模式,就必須將應用分為三個部件,增加設計難度,還要編寫更多的開發(fā)文件,必將延長項目周期。本項目是個大型的信息系統(tǒng)項目,采用MVC模式的原因在于:
(1)業(yè)務模式相對固定,視圖、模型、控制分離相對明確。
(2)相對龐大,后續(xù)的維護升級是不可避免的,前期設計必須采用良好的設計模式。
(3)研發(fā)的人員較多,MVC可以使類的職責更加明確單一,提升開發(fā)效率,節(jié)約開發(fā)成本。
框架,即Framework,它把不同應用程序中有共性的一些東西抽取出來,做成一個半成品程序,提供了一組統(tǒng)一的接口和編程方式的可以重用組件,只需要集中精力擴充系統(tǒng)的業(yè)務邏輯設計。本節(jié)主要介紹在系統(tǒng)開發(fā)中采用的開源框架[10]。
1. St ruts 2
St ruts2 是一個web應用框架,是第二代基于Model-View-Control ler (MVC)模型的Web應用框架。Struts2框架大致上有3部分組成:核心控制器、業(yè)務控制器和用戶定義的業(yè)務邏輯組件,St ruts2的簡單處理流程如下:
(1)用戶通過瀏覽器向服務器發(fā)送請求。
(2)St ruts中心處理器接到請求,根據(jù)系統(tǒng)配置文件,查找對應的處理請求的Action類。
(3)作用在Action類的攔截器,自動執(zhí)行相關的通用功能,來滿足請求的一般性需求。
(4)如果系統(tǒng)配置文件中所配置相關方法參數(shù)有效,則通過方法參數(shù)調用到具體的Action類中的邏輯處理方法,否則通過默認的執(zhí)行方法來處理請求,完成跳轉。
(5)經過一系列方法調用處理后,通過映射好的URL,將結果反應給瀏覽器。
圖2-5展示了Struts2的整體部件與處理機制[11]。
圖2 -5 Struts 2框架圖Fig.2-5 St ruts 2 f ramework diagram
2.Spring
Spring是目前業(yè)界通用的輕量級Java EE企業(yè)平臺應用程序框架,如果說St ruts2專注于表現(xiàn)層和控制層,主要功能是負責表現(xiàn)層與控制層的解耦,保證數(shù)據(jù)傳遞的流暢,那么Spring就是對業(yè)務邏輯層綜合管理者,它負責將業(yè)務邏輯細化,應用自身框架中已經整合好的處理機制,在更深層次上降低程序的耦合程度。
Spring中基本的設計模式是工廠,核心就是用輕量級的容器,通過控制反轉(IoC,Inverse of Control) 和面向切面(A0P,Aspect-0riented Programming)來生成對象,在Spring框架下現(xiàn)實多個子框架的組合這些框架之間彼此可以獨立,也可以實用其他的框架方案進行代替。Spring整體組件參見圖2-6。
圖2 -6 Spring框架圖Fig.2-6 Spring f ramework diagram
從根本上而言,Spring具有以下優(yōu)點[12]:
(1)輕量級:無論從框架中擁有jar包的數(shù)量還是系統(tǒng)開銷上,Spring都是輕量級的,因為Spring中所生成的對象不依賴與Spring框架中的任何類。
(2)控制反轉:在Spring中,通過控制反轉,應用反射機制來創(chuàng)建對象,往往是通過調用請求來被動創(chuàng)建,而不是對象自己主動加載。
(3)面向切面:Spring提供豐富的面向切面通知機制,采用“織入”的方式,將相應消息和業(yè)務處理進行內聚性開服,幫助應用程序只實現(xiàn)它所關注的內容,而由系統(tǒng)控制日志或者事務等通用性功能。
(4)容器:Spring利用自身機制管理其中應用對象的配置信息和生命周期,將對象裝入自身的容器中。
(5)框架:Spring不但是一組包含各類控制邏輯的通用jar包組合,它也可以作為框架,完成各類復雜企業(yè)級應用的搭建。
3.Hibernate
Hibernate開源于著名的Java開源組織JB0SS名下,它提供了一整套面向對象關系映射的解決方案。它成功地實現(xiàn)Java對象向關系數(shù)據(jù)庫中數(shù)據(jù)的轉換,是一個0/R Mapping映射框架。它基本的設計理念是將軟件工程師從繁瑣的數(shù)據(jù)持久層分離出來[13],通過面向對象中基本單位——類來組織生成數(shù)據(jù)庫,縮短了手動處理SQL和JDBC的編程時間。Hibernate的整體組件參見圖2-7。
圖2 -7 Hibernate框架圖Fig.2-7 Hibernate f ramework diagram
在面向對象程序設計中,任何的程序都需要考慮對象的生命周期及各周期的關系,其實本質就是考慮對象從創(chuàng)建到消亡在內存中的狀態(tài),在Hibernate中,我們將持久化對象,分為以下幾種狀態(tài)[13]:
(1)暫態(tài):對象剛創(chuàng)建,與數(shù)據(jù)庫記錄沒有關聯(lián)。
(2)持久態(tài):對象與數(shù)據(jù)庫中記錄同步,使數(shù)據(jù)變更處于Session的管理下。
(3)游離態(tài):對象脫離Session的管理,無法與數(shù)據(jù)庫中的記錄保持同步。
(4)移除態(tài):對象已經被Session刪除,但操作還沒有提交給數(shù)據(jù)庫。
圖2-8是Hibernate中對象具體狀態(tài)遷移圖。
圖2 -8 對象狀態(tài)遷移圖Fig.2-8 0bject state t ransition diagram
數(shù)據(jù)庫是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫,目前主流數(shù)據(jù)庫以關系型數(shù)據(jù)庫為主,此類數(shù)據(jù)庫以行和列的形式對數(shù)據(jù)進行存儲,其基本的形式是二維表。用戶使用SQL語句對數(shù)據(jù)庫中的數(shù)據(jù)進行管理和查詢。現(xiàn)在市場上主流的關系型數(shù)據(jù)庫有0-racle公司的 Database10g、IBM公司的 DB2、微軟公司的SQL Server和Sun公司的MySQL。下面對這幾種技術做一個簡單的介紹和比較[14]。
1.0 racle
0racle數(shù)據(jù)庫系統(tǒng)由0racle公司開發(fā),是一個對象關系數(shù)據(jù)庫管理系統(tǒng)(0RDBMS,0bject-Relational Database Management System)。它既提供關系數(shù)據(jù)庫系統(tǒng)的功能,又提供面向對象數(shù)據(jù)庫系統(tǒng)的功能。目前,0racle系統(tǒng)在管理信息系統(tǒng)、企業(yè)數(shù)據(jù)處理、因特網及電子商務等領域使用非常廣泛,是世界上使用最廣泛的關系數(shù)據(jù)庫系統(tǒng)之一,幾乎可用在當今所有的操作系統(tǒng)平臺上,包括 Windows 平臺、UNIX平臺和Linux平臺。因其在數(shù)據(jù)安全完整性控制方面的優(yōu)越性能,以及跨操作系統(tǒng)、跨硬件平臺的數(shù)據(jù)互操作能力,使得越來越多有用戶將其作為應用數(shù)據(jù)的處理系統(tǒng),但是0racle維護成本高,開發(fā)復雜,對中、小型數(shù)據(jù)庫而言,并不是高效和經濟的選擇。
2.DB2
DB2是IBM公司研制的一種關系型數(shù)據(jù)庫系統(tǒng),提供了高層次的數(shù)據(jù)利用性、完整性、安全性、可恢復性,以及小規(guī)模到大規(guī)模應用程序的執(zhí)行能力,具有與平臺無關的基本功能和SQL命令。但其主要用在大型應用系統(tǒng)中,對中、小型數(shù)據(jù)庫而言,也不是有效率和經濟的選擇。
3.SQL Server 2008
SQL Server是一種關系型數(shù)據(jù)庫管理系統(tǒng) (DBMS,Database Management System),它使用SQL(結構化查詢語言,St ructured Query Language)將用戶查詢轉換為檢索時需要的代碼。SQL Server 2008是于2008年11月由Microsof t公司推出的一種新型數(shù)據(jù)庫管理系統(tǒng)。 SQL Server 2008提供了企業(yè)級的數(shù)據(jù)管理,具備更加安全可靠的存儲功能,堪稱全面的數(shù)據(jù)庫平臺。用戶利用SQL Server 2008構建和管理業(yè)務的數(shù)據(jù)應用程序具備更高的性能和更強的可用性。并且在數(shù)據(jù)管理、開發(fā)效率、節(jié)省成本、與Visual Studio 2008整合、管理等方面都有很大的提高,即可以實現(xiàn)對大型SQL Server配置的支持,又可支持中小企業(yè)的中小型系統(tǒng)的開發(fā)。SQL Server 2008 數(shù)據(jù)平臺為各種規(guī)模的組織提供了以下好處:
(1)數(shù)據(jù)資源得到充分利用。
除了為業(yè)務線和分析應用程序提供一個安全可靠的數(shù)據(jù)庫之外,SQL Server 2008 也使用戶能夠通過嵌入的功能從他們的數(shù)據(jù)中得到更多的價值。
(2)IT 復雜性減少。
SQL Server 2008 簡化了開發(fā)、部署和管理業(yè)務和分析應用程序的復雜度,它使程序開發(fā)人員的開發(fā)環(huán)境更加靈活,為數(shù)據(jù)庫管理人員提供了集成的自動管理工具。
(3)總體擁有成本降低。
SQL Server 2008 中集成的方法和對產品易用性和部署上的關注提供了行業(yè)上最低的規(guī)劃、實現(xiàn)和維護成本,使數(shù)據(jù)庫投資能快速得到回報。
(4)生產效率提高。
通過全面的 BI 功能及Microsof t 0ffice 系統(tǒng)之類的工具集成,SQL Server 2008為信息工作者提供及時的、關鍵的業(yè)務信息以滿足他們的特定需要,并且最終幫助組織內所有級別的用戶能夠做出更好的決策。
經綜合考慮,項目最終選擇SQL Server 2008作為本系統(tǒng)開發(fā)的數(shù)據(jù)庫平臺。
軟件需求分析是軟件產品成功的基礎,它需要相對準確地規(guī)劃出系統(tǒng)需要“做什么”,“做到什么程度”這個命題,因此必須對問題領域進行描述,對用戶的需求進行鑒別、綜合和建模,清除用戶需求的模糊性、歧義性和不一致性,分析系統(tǒng)的數(shù)據(jù)要求,力爭規(guī)避用戶的片面性或短期行為所導致的不合理要求,挖掘用戶尚未提出但具有真正價值的潛在需求
由于在實際的軟件開發(fā)的過程中并不是所有出現(xiàn)的問題都能有合理正確的解決辦法所以要進行軟件開發(fā)的可行性分析[15]。實際上在軟件開發(fā)的過程中有很多問題是不可能在預先就知道解決辦法的。如果在設計好的系統(tǒng)中出現(xiàn)問題,我們不能很快的找到解決問題的正確方法,出現(xiàn)這種情況后,就代表我們在這個項目中付出的一切都是沒意義的,這其中包括時間、人力和費用等等寶貴的資源。軟件開發(fā)前,做系統(tǒng)可行性分析的真實目的就是為了要付出最小的代價和時間確定系統(tǒng)在開發(fā)過程中出現(xiàn)問題后,能否很快的找到合理的解決方法[16]。
高校學生管理系統(tǒng)設計主要從以下三個方面進行了可行性的分析和研究:
1.操作方面的可行性
本系統(tǒng)界面設計簡潔友好,不需要深入的對其進行研究,讓人操作起來非常容易。系統(tǒng)的用戶只需登陸到系統(tǒng)中,根據(jù)自己的權限和高校管理的具體要求就可對系統(tǒng)進行一些相應信息的操作了,如果在系統(tǒng)操作過程中確實還存在某些不解的地方,可查找系統(tǒng)幫助信息進行有效的理解。
2.技術方面的可行性
技術方面就是指根據(jù)高校現(xiàn)有的技術條件來提出的要求能否達到,例如計算機速度、容量等等能否達到使用軟件的要求,軟件開發(fā)人員的編程水平是否能完成我們的設計要求。
本系統(tǒng)是為高校更好的管理學生信息而開發(fā)的高校學生管理系統(tǒng)。開發(fā)人員的經驗足以完成本次開發(fā)工作。
3.經濟方面的可行性
為了確定開發(fā)的軟件是否有開發(fā)的價值,需要對開發(fā)系統(tǒng)進行成本估算和成本效益等等情況來進行合理的分析,這就是經濟可行性的研究。
其中有形成本主要是系統(tǒng)開發(fā)的人工成本,以及購買硬件設備所需要的資金。本系統(tǒng)僅從功能來看,主要是對數(shù)據(jù)庫中的數(shù)據(jù)進行存取,實現(xiàn)相對簡單,開發(fā)費用較低。一旦系統(tǒng)投入使用,不僅可以節(jié)約大量的人工勞動,同時提高了學生管理效率。學生管理系統(tǒng)系統(tǒng)是一個前期投入較大,效益逐步顯現(xiàn)的工程。因此,從經濟上看,學生管理系統(tǒng)建設是可行的。
通過對以上幾個方面的認真研究和分析,得到的結論是,設計并實現(xiàn)此高校學生管理系統(tǒng)是可行的。
在教育水平不斷提高的背景下,高校學生數(shù)量不斷的擴大,這就要求在學生日常管理工作上盡快完善,提高高校的競爭力[18]。作為高校管理的重要手段,高校學生日常管理系統(tǒng)在高校管理體系中也發(fā)揮著越來越重要的作用。為了保障學校正常的教學秩序,必須要保證學生的學習態(tài)度,這就要求在學生日常管理方面通過一定的手段進行保障。
1.教師對于系統(tǒng)的需求
教師需要通過系統(tǒng)實現(xiàn)與學生日常管理的相關信息的管理操作。通過操作,主要完成以下的機部分功能:
(1)對于學生基本信息的查閱。
教師在教學活動開展的過程中,需要通過學生姓名、班級或專業(yè)等信息對于學生進行查詢,并查看學生的基本信息。
(2)對于學生日常教學過程中的請假操作的響應。
普通教師需要通過系統(tǒng)查看學生針對該教師所提交的請假事件信息以及學生管理者的響應狀態(tài),以確定學生的到課情況。
(3)日常教學過程中的違紀事件的信息錄入。
普通教師需要通過系統(tǒng),對于所授課程中學生的違紀情況進行相應的記錄操作,并將相應記錄反饋給相關的學生和學生管理者以方便信息的確認。
2.學生對于系統(tǒng)的需求
學生作為學生日常管理系統(tǒng)的主要的信息載體單元,系統(tǒng)需要對于學生進行復雜的相關信息操作。在學生相關信息的操作過程中,需要以學生信息單元作為信息處理的主要對象,并衍生必要的信息模塊,對于學生來說,需要系統(tǒng)實現(xiàn)以下的功能:
(1)基本信息的承載單元。
作為學生日常管理系統(tǒng)中最主要的信息模塊,系統(tǒng)需要對于學生的基本信息建立相應的數(shù)據(jù)模型并進行存儲,包括學生的學號、姓名、班級、專業(yè)等教學相關信息以及家庭電話、住址等信息檔案的建立和存儲。
同時通過基本信息承載單元的建立,實現(xiàn)考勤模塊、獎學金模塊和困難學生電子檔案模塊等數(shù)據(jù)交互部分的操作。
(2)網上請假的實現(xiàn)。
網上請假作為日??记诠ぷ髦械闹匾僮鬟^程,面向于學生提供基于網絡的請假事件的申請,同時相關的班主任或者輔導員對于學生所提交的請假申請做出響應操作,并將響應結果反饋給相關的教師。
(3)獎學金信息的申報。
根據(jù)獎學金評比的流程以及要求,面向于學生提供獎學金評比過程中的相關信息的申報,如加分事件申報、個人相關事件憑據(jù)的提交、個人獎學金相關信息管理等操作;同時,根據(jù)實際情況,在獎學金評比過程中設定班級某位同學作為獎學金評比的負責人,實現(xiàn)班級獎學金相關信息的收集、整理等過程,并通過系統(tǒng)實現(xiàn)獎學金的依據(jù)評比標準自動生成等操作。
3.學生管理者對于系統(tǒng)的需求
學生管理者主要包括輔導員和班主任,此類用戶是學生管理系統(tǒng)的主要需求主體,也是在日常系統(tǒng)的操作過程中使用最多的用戶類型。系統(tǒng)的設計主要的目的即是方便輔導員的日常管理工作,減輕在學生管理過程中的工作量。
(1)日常管理工作中的學生申請的響應。
作為學生與學生管理人員之間溝通與信息交互的平臺,學生管理人員需要通過平臺對于學生在日常學習和生活過程中的請假、申請等事件做出及時、準確的響應,并將響應信息反饋給響應的系統(tǒng)用戶。
(2)日常管理工作中的審核操作。
學生管理人員針對日常管理過程中,對于學生通過管理系統(tǒng)所提交的統(tǒng)計材料和申報材料,進行網絡審核,并將審核意見通過系統(tǒng)反饋給提交者。
(3)困難學生檔案的建立。
針對在日常管理過程中困難學生(包括生活困難、學習困難和管理困難等方面)的管理,在網絡上建立學生日常管理信息檔案,記錄困難學生的基本信息、相關事件、以及談話記錄等管理信息,方便學生管理人員對于困難學生的管理。
(4)學生日常管理事件的統(tǒng)計和查詢。
對于學生日常管理過程中的主要事件,包括學生基本信息,如姓名、學號、家庭基本信息等,同時系統(tǒng)還需要記錄學生在學習過程中的實踐信息,包括學生的曠課、違紀、獎學金等事件信息,學生管理者可以通過本系統(tǒng)設定條件進行查詢、統(tǒng)計,并以特定的文本格式輸出、打印等操作,實現(xiàn)學生日常管理的規(guī)范管理。
在整個系統(tǒng)中非功能性需求占有著非常重要的位置,滿足系統(tǒng)的非功能性需求是系統(tǒng)獲得系統(tǒng)開發(fā)成功的必備條件[17],下面就列出高校管理系統(tǒng)的非功能性的具體需求:
1.數(shù)據(jù)容量:數(shù)據(jù)訪問年最高總量5萬次,每天業(yè)務量達到1萬次,并且有逐年上漲的趨勢,系統(tǒng)至少能夠支持未來三年的使用需要。數(shù)據(jù)保留5年。
2.數(shù)據(jù)精確度:對數(shù)據(jù)精確度無特別要求,小數(shù)點后面保留三位小數(shù)。
3.時間特性:操作響應速度在3秒內。
4.適應性:系統(tǒng)上線后,支持原有審單業(yè)務模式的恢復。實現(xiàn)原有系統(tǒng)的功能。
5.吞吐量:Server端可承受最大并發(fā)數(shù)100。
6.可靠性:保障業(yè)務5×24小時運行,不間斷運行,每年故障時間不能超過24小時。
系統(tǒng)在安全性上,需要實現(xiàn)以下需求:
1.數(shù)據(jù)傳輸安全需要適當考慮,要求低成本,不能過多占用系統(tǒng)資源。
2.系統(tǒng)管理權限分派功能分級。
3.存儲層:數(shù)據(jù)要長期保存。歷史數(shù)據(jù)包括業(yè)務數(shù)據(jù)、操作數(shù)據(jù)、用戶登錄日志、通訊日志。在存儲時,需要對其進行數(shù)據(jù)簽名存儲,以達到如下驗證目的:數(shù)據(jù)在數(shù)據(jù)庫存儲期間未被篡改過;
4.通訊層:數(shù)據(jù)的傳送要保證送達,不能有任何數(shù)據(jù)的丟失。
5.應用層:不同的業(yè)務角色,在系統(tǒng)中具有不同的業(yè)務權限。不同的系統(tǒng)用戶擁有相應的操作和查詢統(tǒng)計的數(shù)據(jù)權限。
學生工作管理系統(tǒng)包括評獎評優(yōu)管理子系統(tǒng)、學生資助及勤工助學管理、心理健康咨詢管理、招生管理、就業(yè)管理、學生綜合查詢管理、迎新管理、離校管理、學生會及學生社團管理、團委工作管理等,以及學生工作日常管理功能、系統(tǒng)維護等功能模塊,如下圖3-1所示。
圖3 -1 系統(tǒng)主要功能模塊Fig.3-1 Main Model of System
1.評獎評優(yōu)管理
評獎評優(yōu)主要實現(xiàn)學生學年綜合測評成績、排名的確定;獎學金、榮譽稱號條件設定;獎學金、榮譽稱號的即時審核等,包括:條件設定、綜合測評、獎學金申請、獎學金發(fā)放、榮譽稱號申請、申請信息查詢、審批、統(tǒng)計分析等功能,如圖3-2所示。
圖3 -2 評獎評優(yōu)功能模塊Fig.3-2 Model of Appraises Comments Superior
2.學生資助管理
學生資助管理主要實現(xiàn)困難生資格、助學金獲得資格、貸款資格、學費緩交的申請;審核困難生、助學金、貸款、學費緩交;查詢分析困難生工作相關信息;逾期貸款人員管理;記錄受助信息。包括:條件設定、困難生資格申請、貸助申請、減免申請、學費緩交申請、申請信息查詢、逾期貸款管理、補助發(fā)放、補助審核、信息查詢、統(tǒng)計分析等功能,如圖3-3所示。
圖3 -3 學生資助管理功能模塊Fig.3-3 Model of Student Financial Assistance Management
3.心理健康管理
心理健康管理主要用于學生心理測試結果查看、特殊學生心理檔案管理、心理問題反饋。包括:心理測試、特殊學生管理、心理咨詢、心理檔案維護、信息查詢、統(tǒng)計分析等功能,如圖3-4所示。
圖3 -4 心理健康管理模塊Fig.3-4 Model of Mental Heal th Management
4. 招生管理
招生管理子系統(tǒng)涵蓋了招生管理的各個環(huán)節(jié),實現(xiàn)與國家招生系統(tǒng)實現(xiàn)無縫銜接,實現(xiàn)高校招生管理工作的網絡化、信息化、規(guī)范化,使查詢、統(tǒng)計數(shù)據(jù)更為方便,?提高各使用單位工作效率??紤]到體育、藝術、美術等特長生的管理需求,提供網上填報傳送審核和管理功能,如圖3-5所示。
圖3 -5 招生管理功能模塊Fig.3-5 Model of Enrol lment Management
5.迎新管理
迎新管理系統(tǒng)涉及新生入學管理的各個環(huán)節(jié),面向學校各院系、各管理部門以及全校新生,包括錄取學生信息采集、錄取學生預分班、新生換專業(yè)、新生入學報到/資格審查、老生返校報到/學期注冊、收學雜費等;本系統(tǒng)可為新生提供方便、高效、一體的入學報到環(huán)境,加強參加迎新的各個部門之間的信息流通和工作配合,新生信息能夠及時、準確更新,從而提高學校各相關部門工作效率,如圖3-6所示。
圖3 -6 迎新管理功能模塊Fig.3-6 Model of New Student Management
6. 離校管理
離校管理涉及學生離校管理各個環(huán)節(jié),面向學校各系、部門以及全體畢業(yè)學生提供綜合管理服務。在與畢業(yè)生離校相關的各部門之間實現(xiàn)數(shù)據(jù)的高度共享和流動,明確各部門的責任和業(yè)務管理范圍。離校管理將學生畢業(yè)數(shù)據(jù)轉換為校友數(shù)據(jù)加入校友數(shù)據(jù)庫,實現(xiàn)畢業(yè)生數(shù)據(jù)與校友庫數(shù)據(jù)的無縫連接。
電子離校管理主要用于實現(xiàn)網上辦理離校手續(xù),保證離校數(shù)據(jù)的準確性、一致性和有效流轉,并實現(xiàn)與數(shù)字化校園其它數(shù)據(jù)庫的無縫連接。電子離校管理包括:設置離校流程、辦理離校手續(xù)、離校數(shù)據(jù)處理、登記檔案轉出等,如圖3-7所示。
圖3 -7 離校管理功能模塊Fig.3-7 Model of Leave School Management
7. 系統(tǒng)維護
系統(tǒng)維護是整個系統(tǒng)的控制中心,關系到數(shù)據(jù)的安全。它涉及到組分配、用戶授權、系統(tǒng)初始化、基礎代碼維護、數(shù)據(jù)備份與恢復、操作日志維護、系統(tǒng)幫助等功能,如圖3-8所示。
圖3 -8 系統(tǒng)維護功能模塊Fig.3-8 Model of System Management
在項目的需求分析與設計中,采用國際通用統(tǒng)一建模語言(UML,Uni f ied Model ing Language)作為建模工具,選中用例圖(Use Case)和類圖來進行需求描述。用例圖是站在操作者角度,通過具體用例來描述系統(tǒng)功能點,完成對系統(tǒng)需求上建模。它的使用幫助用戶從業(yè)務角度更系統(tǒng)地看待系統(tǒng)功能,可以規(guī)避重復的功能和多余的類,使需求更加簡潔,更加符合面向對象的設計思路。
1.用戶管理
用戶管理模塊包括激活用戶、修改密碼、綁定郵箱、設置密碼保護問題、找回密碼等功能。具體用例參見圖3-9。
圖3 -9 用戶管理用例圖Fig.3-9 Use Case Diagram of User Management
(1)用戶登錄用例說明:
1)驗證碼的有效期為 15 分鐘;
2)系統(tǒng)的設計是按照分布式應用設計,因此不可以使用 Ht tpSession 來存儲用戶的會話,這里采用 cookie 和 Redis 的方式存儲用戶的會話信息;
3)用戶登錄中的可能出現(xiàn)的各類錯誤,需要有明確提示,如驗證碼輸入有誤、用戶名密碼錯誤、用戶狀態(tài)異常等。
(2)找回密碼用例說明:
1)找回密碼可以通過以下兩種方式:通過密碼保護問題找回密碼、通過郵箱找回密碼;
2)通過密碼保護問題找回密碼:用戶輸入正確的答案后,系統(tǒng)會打開重置密碼的頁面;通過郵箱找回密碼:系統(tǒng)發(fā)生找回密碼的郵件到用戶綁定的郵箱,用戶點擊郵件里的鏈接,系統(tǒng)會打開重置密碼的頁面;
3)重置密碼的頁面中通過 token 進行合法性認證;token 是有一定的有效期,通過密碼保護問題的 token 有效期為 15 分鐘;
4)通過郵件的 token 有效期為 2 天。
2.系統(tǒng)維護
后臺管理員的用戶管理模塊包括創(chuàng)建用戶(學生用戶和學校用戶)、刪除用戶、禁用用戶、啟用用戶、重置用戶密碼、激活糾錯處理等功能。具體用例參見圖3-10。
圖3 -10 系統(tǒng)維護用例圖Fig.3-10 Use Case Diagram of System Management
(1)創(chuàng)建學生用例說明:
1)后臺用戶除了通過 excel 導入學生信息外,還可以通過頁面創(chuàng)建學生用戶;
2)首次創(chuàng)建的學生用戶需要包含以下信息:姓名、國家或地區(qū)、身份證號碼、性別、出生日期、學校所在省、學校所在市、學校名稱、院系、班級、學號;系統(tǒng)除了新建學生用戶外,還需額外完成以下任務:
3)設置學生的歸屬關系、根據(jù)特定規(guī)則創(chuàng)建檔案編號、新建當前教育經歷、設置用戶權限;
4)學生的用戶名和密碼是系統(tǒng)按照特定的規(guī)則生成。
系統(tǒng)設計主要是對系統(tǒng)的硬件及軟件的實現(xiàn)進行設計,同時根據(jù)需求分析的結果對系統(tǒng)的各功能板模塊的功能進行設計,并保證各模塊間的數(shù)據(jù)流正確、整個系統(tǒng)運行無誤[17,18]。
本節(jié)內容從系統(tǒng)框架設計、系統(tǒng)功能設計、系統(tǒng)的數(shù)據(jù)庫設計三個方面對本系統(tǒng)的設計做了全面的闡述,以明確本系統(tǒng)軟件是“如何做”的。而在實現(xiàn)系統(tǒng)設計的過程中通常又會分為兩個階段:總體設計和細節(jié)設計。總體設計是對軟件系統(tǒng)進行大致的模塊劃分,明確每個模塊的層次結構,并設計好相應的數(shù)據(jù)庫;細節(jié)設計是把每個模塊的控制流程,其內部的具體結構進行詳盡的設計。
系統(tǒng)設計是根據(jù)我們在需求分析階段對系統(tǒng)邏輯功能的要求,從系統(tǒng)的總體的設計目標為起點來分析系統(tǒng)所要用到的經濟的開銷以及技術方法和系統(tǒng)的運行時的環(huán)境等等多角度的,來確定系統(tǒng)的總體設計方案,從而來保證系統(tǒng)的總體設計目標的完成。
本系統(tǒng)的結構圖采用的是數(shù)據(jù)流程圖映射方法,該方法結合數(shù)據(jù)流程圖以及其各級的細化圖,按照自頂向下的原則依次將數(shù)據(jù)流程圖中的那些邏輯處理映射到結構圖中去,從而成為一個個的模塊。此方法簡單、方便,它使數(shù)據(jù)流程圖與結構圖建立起了對應統(tǒng)一的關系,使設計達到一致的效果[19]。
高校學生管理系統(tǒng)分為多個模塊,在各個模塊之間不存在太多相互關聯(lián)的作用,每個模塊都可以單獨的完成一個系統(tǒng)的功能,從而實現(xiàn)模塊的獨立化。因為內聚和耦合這兩個相應的標準化條件是用來對比系統(tǒng)中各個模塊的獨立性的,所以如果想要做到模塊的獨立化就必須得盡可能的使系統(tǒng)中的各個模塊的劃分做到較高內聚和較低耦合[19]。
高校學生管理系統(tǒng)是屬于一種小型的數(shù)據(jù)庫管理系統(tǒng),它可以給高校帶來合理有效的管理。在人機交互方面,通過使用本系統(tǒng)可以達到如下目標:
(1)方便靈活的數(shù)據(jù)錄入,信息傳遞更加方便快捷。
(2)本系統(tǒng)的操作界面友好且美觀,設計上采用了人機交互式的對話方式,其方便和靈活的信息查詢功能,保證了系統(tǒng)重要數(shù)據(jù)存儲的安全可靠。
(3)強大的后臺監(jiān)控功能。
(4)系統(tǒng)需實現(xiàn)對信息的各種查詢方式,而且支持模糊查詢。
(5)幫助高校實現(xiàn)學生管理及其內部信息資源的數(shù)字化的管理。
(6)系統(tǒng)可以排除人為性錯誤的輸入,對用戶輸入的信息進行了合理有效的數(shù)據(jù)檢測。
(7)本系統(tǒng)實現(xiàn)了便于安裝、便于維護和便于操作的完美性能。
學生綜合管理平臺技術架構將在數(shù)字化校園整體架構基礎進行設計,并采用基于S0A的技術架構開發(fā)。遵循學校統(tǒng)一的技術標準,進行組件化和服務化。圖4-1是基于S0A的技術架構,以及學生綜合管理平臺在這種架構下的位置。
圖4 -1 系統(tǒng)框架圖Fig.4-1 Diagram of System Frame
本系統(tǒng)的開發(fā)與測試環(huán)境如下:
(1)操作系統(tǒng):Windows 7。
(2)編程語言:Java SE 1.7。
(3)編程工具:Ecl ipse。
(4)版本控制工具:SVN 1.6。
(5)數(shù)據(jù)庫 SQL Server 2008。
(6)測試服務器 Tomcat 7。
本系統(tǒng)的網絡拓撲環(huán)境參見圖4-2。
圖4 -2 系統(tǒng)拓撲圖Fig.4-2 Diagram of System Topology
系統(tǒng)采用St ruts 2作為MVC(Model-View-Control ler)框架,并在其中添加AJAX技術,通過JS0N實現(xiàn)頁面間的數(shù)據(jù)傳遞,Spring作為控制管理框架,完成頁面與數(shù)據(jù)庫間的事務調度管理,數(shù)據(jù)持久層采用Hibernate框架。系統(tǒng)整體邏輯結構參見圖4-3[20]。
圖4 -3 系統(tǒng)模型圖Fig.4-3 Diagram of System Layer Model
1.界面層
用戶界面部分,在系統(tǒng)中就是HTML、XML、St ruts 2 Tag等。此部分主要的職責是:
(1)St ruts 2 Tag負責從AJAX對象返回的信息中獲取指定的數(shù)據(jù)輸出至頁面
(2)按指定的風格、布局顯示頁面
(3)校驗用戶輸入操作的合法性與正確性
2.控制層
控制層負責網站的整個邏輯。它用于管理用戶與顯示層發(fā)生的交互,對顯示層如何與模型交互進行管理??刂茖拥穆氊熓?
(1)根據(jù)客戶端的邏輯業(yè)務請求構造相應的AJAX請求發(fā)送到服務器端
(2)接收從客戶端發(fā)來的AJAX請求或者其它請求中的參數(shù)
(3)調用相關業(yè)務邏輯并負責控制各個業(yè)務邏輯之間的跳轉
(4)根據(jù)不同的業(yè)務邏輯,將最后生成的結果通過AJAX的方式返回給頁面。
3.服務層
服務層是應用業(yè)務邏輯部分,通過對邏輯業(yè)務對象模型設計,可以方便的維護系統(tǒng)中的實際業(yè)務。業(yè)務層的職責是:
(1)從由控制層傳入的對象中取出相關的數(shù)據(jù)
(2)根據(jù)具體業(yè)務規(guī)則處理數(shù)據(jù);與數(shù)據(jù)庫的交互通過Hibernate數(shù)據(jù)持久層框架完成
(3)將業(yè)務處理結果添加或更新對象中
(4)返回結果碼(指示該業(yè)務邏輯執(zhí)行成功與否)
4.DA0層
DA0層是整個系統(tǒng)的底層組件,提供了與數(shù)據(jù)庫的連接、操作及消息服務的封裝和管理。通用平臺層其實是一個功能完善和提供了眾多底層服務的數(shù)據(jù)庫引擎(Database Engine),使用Hibernate框架實現(xiàn)。通用平臺層的職責是:
(1)封裝各種與業(yè)務無關的操作接口,如數(shù)據(jù)庫連接池,事務管理等。
(2)解析業(yè)務層傳遞來的對象關鍵字,根據(jù)邏輯業(yè)務映射關系構造相應的SQL語句,完成相應的數(shù)據(jù)庫操作。
(四)系統(tǒng)詳細設計
詳細設計是軟件工程中軟件開發(fā)的一個步驟,就是對概要設計的一個細化,就是詳細設計每個模塊實現(xiàn)算法,所需的局部結構。本節(jié)以系統(tǒng)中典型的模塊為例,介紹詳細設計的步驟。本文將以系統(tǒng)中的用戶管理模塊為例,應用流程圖實現(xiàn)系統(tǒng)的詳細設計。
1.用戶管理
用戶管理模塊包括激活用戶、修改密碼、綁定郵箱、設置密碼保護問題、找回密碼等功能。
(1)用戶登錄基本流程:
1)用戶點擊登錄按鈕,系統(tǒng)收到用戶登錄請求;
2)系統(tǒng)檢查用戶輸入的驗證碼是否正確;
3)用戶根據(jù)請求中的用戶名獲取用戶信息,若獲取不到,表述輸入的用戶名不存在;
4)系統(tǒng)檢查用戶的狀態(tài),若為待激活狀態(tài),則轉至激活頁面;
5)若用戶狀態(tài)正常,用戶登記客戶端Cookie 信息;
6)系統(tǒng)將用戶信息保存在 redis 的會話池中,并返回用戶首頁;
7)若上述任一步校驗錯誤,系統(tǒng)提示錯誤信息,返回登錄頁面。
具體流程參見圖4-4。
圖4 -4 用戶登錄流程圖Fig.4-4 Flow Char t of User Login
(2)找回密碼基本流程:
1)用戶輸入登錄名或身份證號碼,點擊下一步;
2)系統(tǒng)根據(jù)用戶選擇的身份標識獲取用戶信息;
3)若獲取不到用戶,系統(tǒng)返回錯誤提示;
4)用戶選擇找回密碼的方式:綁定郵箱或者密保問題;
5)通過郵箱找回密碼:系統(tǒng)將找回密碼郵件發(fā)送至用戶綁定的郵箱,用戶點擊郵件中的鏈接,返回修改密碼的頁面;
6)通過密保問題找回密碼:用戶回答密保問題,若校驗不通過,系統(tǒng)返回錯誤提示,若校驗通過,系統(tǒng)返回修改密碼的頁面;
7)用戶修改密碼然后提交,系統(tǒng)校驗鏈接中的 token 是否有效;
8)若通過,則修改用戶密碼,返回成功信息,若失敗,系統(tǒng)返回錯誤提示。
具體流程參見圖4-5。
圖4 -5 找回密碼流程圖Fig.4-5 Flow Char t of Password Management
2.系統(tǒng)維護
后臺管理員的用戶管理模塊包括創(chuàng)建用戶(學生用戶和學校用戶)、刪除用戶、禁用用戶、啟用用戶、重置用戶密碼、激活糾錯處理等功能。
(1)創(chuàng)建學生基本流程:
1)用戶輸入學生信息,點擊保存按鈕,系統(tǒng)接收到創(chuàng)建學生用戶的請求;
2)系統(tǒng)對表單數(shù)據(jù)進行校驗,若校驗失敗,則返回錯誤信息,流程結束;
3)系統(tǒng)根據(jù)表單數(shù)據(jù),創(chuàng)建學生用戶信息,其中用戶名和密碼按照上述規(guī)則自動創(chuàng)建;
4)系統(tǒng)根據(jù)特定規(guī)則生成檔案編號;
5)系統(tǒng)根據(jù)表單數(shù)據(jù),設置學生歸屬的學校和班級等信息;
6)系統(tǒng)根據(jù)學生學校信息,新建當前教育經歷信息,該信息狀態(tài)應為已認證;
7)系統(tǒng)為分派學生角色的權限,并返回成功頁面。
具體流程參見圖4-6。
圖4 -6 創(chuàng)建學生流程圖Fig.4-6 Flow char t of Create Student
根據(jù)用戶和系統(tǒng)功能的需求,Database Design(數(shù)據(jù)庫設計)是指在一個完整的數(shù)據(jù)庫管理系統(tǒng)的基礎上,完成數(shù)據(jù)庫的結構設計和數(shù)據(jù)庫的具體建立的過程。簡單的說數(shù)據(jù)庫的設計就是把數(shù)據(jù)庫中的數(shù)據(jù)對象結構化并規(guī)劃好數(shù)據(jù)庫對象之間的關系[20]。
1.數(shù)據(jù)庫設計步驟
按規(guī)范設計的方法將數(shù)據(jù)庫設計分為以下五個階段。
(1)需求分析階段
第1步:了解和分析用戶的應用需求(包括數(shù)據(jù)與處理),利用分析工具進行需求收集和分析。
第2步:對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體RDBMS的概念模型。
(2)邏輯結構設計階段
第3步:遵循轉換規(guī)則,將概念模型轉換成某數(shù)據(jù)庫系統(tǒng)支持的關系模型。
第4步:依據(jù)規(guī)范化理論,優(yōu)化上一步中得到的關系模型。若不滿意邏輯結構設計,則進行上一步。
(3)物理結構設計階段
第5步:為關系模型選擇一個最適合應用環(huán)境的包括存取方法和存儲結構在內的物理結構。
第6步:性能預測和設計評價。若對物理結構設計不滿意,則轉至第3步或第5步繼續(xù)操作。
(4)數(shù)據(jù)庫實施階段
第7步:運用數(shù)據(jù)庫系統(tǒng)提供的宿主語言及其數(shù)據(jù)語言,根據(jù)物理設計和邏輯設計的結果建立數(shù)據(jù)庫,編寫與調試應用程序,并將數(shù)據(jù)輸入數(shù)據(jù)庫。
第8步:試驗性運行系統(tǒng)。若對不滿意數(shù)據(jù)庫實施結果,轉第5步繼續(xù)操作。
(5)數(shù)據(jù)庫運行和維護階段
第9步:經過試運行后的數(shù)據(jù)庫系統(tǒng)就可以正式投入運行。在運行數(shù)據(jù)庫系統(tǒng)過程中肯定還要不斷地對其進行評價、修改和調整。
2.數(shù)據(jù)庫編碼規(guī)則
數(shù)據(jù)庫是高校學生管理系統(tǒng)的核心部分,良好的數(shù)據(jù)庫設計對于高性能的應用程序來說是很重要的,如果一旦數(shù)據(jù)庫的結構設計不合理的話,那么它就會給系統(tǒng)的運行和維護帶來很多不必要的麻煩,而且數(shù)據(jù)庫還會存儲一些沒有用的信息占用系統(tǒng)資源。
此高校學生管理系統(tǒng)選擇的是微軟的SQL Server 2008 數(shù)據(jù)庫作為后臺數(shù)據(jù)庫,在數(shù)據(jù)庫編程中只有遵循程序編碼規(guī)則開發(fā)的程序,才能做到代碼清晰、整潔、方便閱覽,并可以提高程序的可讀性。
系統(tǒng)的數(shù)據(jù)庫命名是以 db 開頭的,后面則是與系統(tǒng)相關含義的英文縮寫。如:db_STU_Mgr 即客戶關系管理系統(tǒng)的數(shù)據(jù)庫名稱。
系統(tǒng)的字段統(tǒng)一采用英文單詞和詞組命名。
3.數(shù)據(jù)庫概念設計
根據(jù)對系統(tǒng)各個模塊的分析,可以做出能夠滿足用戶需求的實體及它們的關系圖,即實體關系 E-R 模型。
(1)學生管理E-R模型
子系統(tǒng)的實體包括:系別、專業(yè)、學生等。其實體之間的關系如下:
1)一個系可以開設多個專業(yè),一個專業(yè)只能被一個系設置;
2)一個專業(yè)可以包含多個班級,一個班級只能屬于一個專業(yè);
3)一個班級有多名學生組成,一個學生只屬于一個班級;
4)一個學生可以獲得多項獎項;
5)一個學生可以受多項懲罰。
具體E-R圖參見圖4-7。
圖4 -7 學生管理E-R模型Fig.4-7 E-R Model of Student Management
(2)教師管理E-R模型
教師管理子系統(tǒng)的實體包括:系別、教研室、教師、論文和科研項目等。這些實體之間的關系如下:
1)一個系可以包含多個教研室,一個教研室只能被一個系設置;
2)一個教研室有多名教師組成,一名教師只屬于一個教研室;
3)一名教師可以撰寫多篇論文;
4)一名教師可以承擔多個科研項目;
5)一名教師可以獲得多項獎項;
6)一名教師可以受多項懲罰。
具體E-R圖參見圖4-8。
(3)教學計劃E-R模型
教學計劃管理子系統(tǒng)的實體包括:培養(yǎng)計劃、專業(yè)培養(yǎng)計劃課程、學期開設課程等。其實體間的關系如下:
l)一個培養(yǎng)計劃包含多個專業(yè)培養(yǎng)計劃課程,一個專業(yè)培養(yǎng)計劃課程只能從屬于一個培養(yǎng)計劃;
2)一個專業(yè)培養(yǎng)計劃課程會安排多項學期開設課程,一個學期開設課程從屬于一個專業(yè)培養(yǎng)計劃課程;
圖4 -8 教師管理E-R模型Fig.4-8 E-R Model of Teacher Management
3)一個專業(yè)對應一個專業(yè)培養(yǎng)計劃課程;
4)一個班級實施一個教學計劃實施。
具體E-R圖參見圖4-9。
圖4 -9 教學管理E-R模型Fig.4-9 E-R Model of Lesson Management
4.數(shù)據(jù)庫邏輯設計
將各類E-R圖形成各類實體關系表格,映射到數(shù)據(jù)庫中,形成符合邏輯需求的關系數(shù)據(jù)庫。一個合理的數(shù)據(jù)表結構,對于高校管理系統(tǒng)來說尤為重要,這能夠提高系統(tǒng)對各類信息的有效管理,表 4-1 至表 4-5 列舉本系統(tǒng)中的主要數(shù)據(jù)表的類型、描述和結構等信息。本系統(tǒng)的其它數(shù)據(jù)表在這里就不全部列舉。
(1)系部表(系部信息表)
用于保存系部的基本信息,數(shù)據(jù)表命名為“Apartment”,“系部編號”在信息表屬性組中具有唯一性,Apar tment_Id字段設置為主鍵,“專業(yè)分類”為外鍵對應專業(yè)分類表。系部表的設計,如表4-1所示。
表4 -1 系部表Table 4-1 Table of Depar tment
(2)學生表(學生基本信息)
用于保存學生的基本信息,數(shù)據(jù)表命名為“Stu”?!皩W號”在信息表屬性組中具有唯一性,Stu_No 字段設置為主鍵,用戶編號(User_Id)和班級編號(Class_Id)為外鍵,學生信息表的設計,如表 4-2 所示。
表4 -2 學生表Table 4-2 Table of Student
(3)角色表(用戶權限策略)
角色表用于存放系統(tǒng)的角色信息。角色信息主要包括角色編號、權限名稱、權限值等信息,數(shù)據(jù)表命名為“Power”,權限編號屬性組能唯一標識一條記錄,所以設置Power_Id字段為主鍵,角色表的設計,如表 4-3 所示。
表4 -3 角色表Table 4-3 Table of Role
(4)用戶表(用戶權限管理)
用戶表存放系統(tǒng)的用戶信息,用于存儲用戶編號和用戶密碼、權限的信息,用戶編號屬性組能唯一標識一條記錄,該屬性組 User_Id 字段為主鍵,對應于角色表。數(shù)據(jù)表命名為“User”。用戶表的設計,如表 4-4 所示。
表4 -4 用戶表Table 4-4 Table of User
(5)教師表(教師基本信息)
用于保存教師的基本信息,數(shù)據(jù)表命名為“Teacher”,“教師編號”在信息表屬性組中具有唯一性,Teacher_No 字段設置為主鍵,“自動編號”為外鍵對應用戶表。教師表的設計,如表4-5所示。
表4 -5 教師表Table 4-5 Table of Teacher
系統(tǒng)設計完成之后便進入系統(tǒng)實現(xiàn)階段,該階段的主要任務是根據(jù)系統(tǒng)設計方案,通過程序開發(fā)工具選擇程序語言編寫系統(tǒng)的應用程序,并搭建系統(tǒng)實施所需要軟件、硬件環(huán)境。系統(tǒng)實現(xiàn)是一個把設計方案變成一個具體可以運行的系統(tǒng)的過程,是系統(tǒng)開發(fā)過程一個非常重要的環(huán)節(jié)。該系統(tǒng)是采用 B/S 結構,通過瀏覽器方式來實現(xiàn)。按照項目的情況需求分析,該系統(tǒng)實現(xiàn)的核心功能很多,鑒于本文篇幅有限,僅提供框架級別的核心代碼。
1.編碼規(guī)范
本系統(tǒng)必須嚴格執(zhí)行本規(guī)范以確保源代碼的可讀性及可維護性。定義規(guī)范的目的是讓項目中所有的文檔增加可讀性,減少項目組中因為換人而帶來的損失。所有的程序文件都必須有注釋文字,并嚴格按照本規(guī)范中的注釋規(guī)范書寫。
(1)函數(shù)命名規(guī)范
1)函數(shù)名和方法名以動詞開始,首字母大寫,如 SaveFileLog。
2)在命名函數(shù)時包括返回值的說明,如GetFi leName。
(2)變量命名規(guī)范
1)所有變量都必須有前綴,前綴使用2—4個字母,全部小寫。
2)避免與數(shù)據(jù)字典中的數(shù)據(jù)元素名相同。
3)避免與函數(shù)名、方法名、類名和屬性名相同。
4)避免使變量名為另一個變量名的一部分。
5)布爾變量名應該包含 Is,如 blnFi le-IsFound。
(3)常量命名規(guī)范
1)常量所有字母都應該大寫,單詞之間用下劃線連接。
(4)類(Class)命名規(guī)范
1)名字應該能夠標識事物的特性。
2)名字盡量不使用縮寫,除非它是眾所周知的。
3)名字可以有兩個或三個單詞組成,但通常不應多于三個。
4)在名字中,所有單詞第一個字母大寫。
5)使用名詞或名詞短語命名類。
6)少用縮寫。
7)不要使用下劃線字符 ( _ )。
2.框架應用
本系統(tǒng)的開發(fā)框架選用三大主流框架:St ruts 2,Spring 2.5,Hibernate 3, 開 發(fā)IDE選用Eclipse的Java EE開發(fā)版和Tomcat服務器。歷經30人月完成,總代碼量在67,000行左右。
本系統(tǒng)采用S2SH框架,每個框架選取的核心開發(fā)包參見表4-6。
表4 -6 框架核心開發(fā)包Table 4-6 Framework core jar
代碼實現(xiàn)步驟如下:
(1)表示層框架采用Struts框架以及MVC設計模式,任何MVC框架和Web應用整合都需要借助于web.xml文件。在Tomcat服務器的web.xml中配置St ruts 2,如下文件4-1所示。
(2)在Tomcat服務器的web.xml中配置Spring,采用Spring的字符編碼過濾器,過濾不同編碼的HTTP請求,如下文件4-2所示。
文件4-2 配置Spring
Fi le. 4-2 Conf igure the Spring
(3)修改Struts 2的配置文件St ruts.xml,完成Struts2和 Spring整合,如下文件4-3所示。
文件4-3 St ruts2整合Spring
Fi le. 4-3 St ruts2 integration of Spring
(4)在Spring的appl icationContext.xml整合Hibernate,如下文件4-4所示。
文件4-4 Spring整合Hibernate
Fi le. 4-4 Spring integration of Hibernate
3.登錄實現(xiàn)
該模塊表現(xiàn)層的主要文件,文件中包含的主要Action類及其功能和與其它包的交互如圖4-10所示。
(1)login.jsp:系統(tǒng)登錄頁面,用戶輸入用戶名和密碼及驗證碼進行登錄。
(2)index2.jsp 系統(tǒng)主頁面,包括f ramework_compact.jsp 頁 面 、menu.jsp、shade2.jsp和but tom.jsp頁面。
(3)loginAction.do:負責執(zhí)行各頁面之間的跳轉并進行登入登出首頁數(shù)據(jù)讀取的邏輯處理。
該模塊表現(xiàn)層與控制層和數(shù)據(jù)層,相關聯(lián)的類關系,參見圖4-11。
圖4 -10 登錄模塊類與文件交互圖Fi g. 4-10 Log in modu l e c l as s and f i l e in t e r a c t ion d i ag r am
圖4 -11 登錄類圖Fig. 4-11 Login module class diagram
圖中各元素描述如下:
(1)LoginAction.class:通過/loginAction.do調用的前臺跳轉邏輯。
(2)Constant.class:提供系統(tǒng)常量
(3)SysLogService.class:寫入日志的Service接口,提供記錄日志的相關方法。
(4)SysLogServiceImpl.class:記錄日志的Service實現(xiàn)類,負責操作具體DA0。
(5)SysLogDA0.class:日志模塊的數(shù)據(jù)庫訪問接口,在本模塊中僅調用其記錄日志的方法。
(6)SysLogDA0Impl.class:日志數(shù)據(jù)庫操作實現(xiàn)類,記錄用戶登入登出的信息至用戶表并記錄新訪問系統(tǒng)的用戶名及證件號碼。
4.報表實現(xiàn)
該模塊表現(xiàn)層的主要文件,文件中包含的主要Action類及其功能和與其它包的交互如圖4-12所示。
圖4 -12 數(shù)據(jù)報表類與文件交互圖Fig. 4-12 Data Report class and f ile interaction diagram
(1)repor t.jsp:顯示統(tǒng)計報表菜單
(2)repor t_view.jsp:展現(xiàn)報表
(3)repor t_view_jd.jsp:顯示各類報表類型
(4)repor tAction.do :通過reportActiond.do控制前臺跳轉
該模塊表現(xiàn)層與控制層和數(shù)據(jù)層,相關聯(lián)的類關系,參見圖4-13。
圖4 -13 數(shù)據(jù)報表類圖Fig. 4-13 Data Repor t c lass diagram
圖中各元素描述如下:
(1)Repor tAction.class:統(tǒng)一查詢中央處理類。
(2)DispatchAction.class:詳細信息查詢類。
(3)DictionardyServcie.class:字典查詢業(yè)務
(4)DictionaryDA0.class:字典通用查詢
(5)DatabaseUti l.class:數(shù)據(jù)訪問接口類
(4)NetUti l.class:公共方法訪問
(七)系統(tǒng)界面
1.用戶登錄界面如圖4-14所示。
圖4 -14 用戶登錄界面Fig. 4-14 UI of User Login
2.首頁顯示區(qū)域分為通知公告、申請事項、學生基本信息、下載專區(qū)、聯(lián)系方式五個區(qū)域。如圖4-15所示。
圖4 -15 首頁界面Fig. 4-15 UI of Main Menu
3.學生基本信息界面,如圖4-16所示。
圖4 -16 學生基本信息Fig. 4-16 UI of Student Base Information
根據(jù)軟件工程理論,測試階段是保證系統(tǒng)質量和可靠性的關鍵步驟,它是系統(tǒng)生命周期的重要環(huán)節(jié)。系統(tǒng)軟件是否符合用戶的需求,需要通過軟件測試驗證。
軟件測試不是孤立的,它是建立在需求規(guī)格說明書、設計和實現(xiàn)方案、系統(tǒng)編碼之上的,是通過合理的用例對它們進行驗證,從而保證軟件質量。軟件測試是通過執(zhí)行程序而發(fā)現(xiàn)錯誤的過程,在過程中,全面評估軟件產品質量,為軟件產品發(fā)布、軟件系統(tǒng)部署、軟件產品鑒定提供有效信息[21]。
通過堅持持續(xù)地進行軟件測試,可以始終如一地堅持對軟件產品質量不間斷的,快速的反饋。
測試過程中,項目組制定的具體流程參見圖5-1。
圖5 -1 測試工作流程圖Fig. 5-1 Testing workf low diagram
在遵循測試流程的基礎上,系統(tǒng)測試還會在測試設計、研制和執(zhí)行中可能受到以下幾方面的影響[22-24]:
1.人員方面
測試工作對測試設計人員的專業(yè)素質要求很高,測試設計人員的素質直接關系到測試的質量。測試人員需要有較豐富的背景知識和專業(yè)知識,并應具有較強的分析問題解決問題的能力,而我們現(xiàn)在參加測試的人員都沒有很豐富的規(guī)范化測試的實際經驗,必將會影響到測試的效果。
解決方案:加強對測試人員的培訓,對他們進行系統(tǒng)的較完整的專業(yè)知識的培訓,使其在最短的時間內滿足測試的要求。
2.資源方面
系統(tǒng)的、比較完備的測試需要消耗大量的人力、物力和時間,必須要有相應的測試工具和測試設備,只有這樣才能保證測試工作的質量。我們現(xiàn)在缺乏測試工具和設備的使用經驗。
解決方案:本文選擇目前世界上較為流行的QC進行缺陷管理。
1.應用服務器
硬件配置:一臺Del l R710
操作系統(tǒng):Windows Server 2008
應用軟件:Tomcat 5.5
IP地址:10.110.46.54
Web服務端口號:80
2.數(shù)據(jù)庫服務器
硬件配置:一臺Del l R710
操作系統(tǒng):Windows Server 2008
應用軟件:SQL Server 2008
IP地址 :10.110.46.56
3.測試客戶端
操作系統(tǒng):Windows XP,Windows 7,Windows 8
瀏覽器:IE6,IE7,IE8
CPU:3.0G以上
內存::2G 以上
測試用例是為實現(xiàn)測試有效性而采取的一種最基本手段,良好的測試用例可以幫助測試人員盡快地發(fā)現(xiàn)缺陷,并將在測試過程不斷被重復使用[23,24]。因此測試用例的設計和編制是軟件測試活動中最重要的。測試用例是測試工作的指導,是軟件測試的必須遵守的準則,更是軟件測試質量穩(wěn)定的根本保障[25,26]。
本系統(tǒng)在開發(fā)過程中,針對每個功能點編寫了大量規(guī)范的測試用例。但由于篇幅有限,這里僅對幾個功能的測試用例進行說明。
如表5-1,表5-2所示。
表5 -1 用戶登錄用例Table 5-1 Test Case of User Login
表5 -2 考勤管理用例Table 5-2 Test Case of At tendance Management
系統(tǒng)測試是針對整個產品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測試發(fā)現(xiàn)問題之后要經過調試找出錯誤原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒類測試,應覆蓋系統(tǒng)所有聯(lián)合的部件[27-30]。系統(tǒng)測試是將經過集成測試的軟件,作為計算機系統(tǒng)的一個部分,與系統(tǒng)中其他部分結合起來,在實際運行環(huán)境下對計算機系統(tǒng)進行的一系列嚴格有效地測試,以發(fā)現(xiàn)軟件潛在的問題,保證系統(tǒng)的正常運行。
本系統(tǒng)經過嚴格的系統(tǒng)測試,系統(tǒng)測試結論參見表5-3。
表5 -3 系統(tǒng)測試結論Table 5-3 Resul t of System Test
本文立足Java EE企業(yè)開發(fā)框架,整合Web技術,根據(jù)高校管理系統(tǒng)的實際需求,開發(fā)完成基于 St ruts2,Spring,Hibernate開源框架的高校管理系統(tǒng),為高校的信息化建設提供一份良好的案例。具體結論如下:
1.本文技術介紹全面,既介紹相對基礎的框架知識,也有比較高端的海量數(shù)據(jù)處理技術和大量用戶登錄技術,整個介紹由淺入深,層次鮮明,為日后相關系統(tǒng)的研發(fā),提供技術參照。
2.本文嚴格按照軟件工程設計思想,完成高校學生管理系統(tǒng)的需求采集與分析,系統(tǒng)概要詳細設計,并展現(xiàn) Struts2,Spring,Hibernate整合開發(fā)的基礎框架,完成相關類的設計,在實施過程中體現(xiàn)了良好的編碼習慣和編程規(guī)范。
3.本文關于測試與發(fā)布的過程介紹相對完整,從一定程度上改變了一般設計實現(xiàn)類論文“重實現(xiàn)代碼,輕測試發(fā)布”的局面,力爭從整體上展現(xiàn)一個高校信息化管理系統(tǒng)的全貌,為日后學術研究提供參考。
鑒于本人理論水平和時間限制等多方面原因,本文在理論和實踐方面都有很多地方需要完善:
1.Web應用系統(tǒng)的設計開發(fā)是一個復雜多樣的系統(tǒng)工程,涉及到很多方面的問題,Web應用本身的性能、并發(fā)控制、程序優(yōu)化等一系列問題還需要在實踐中進一步的檢驗和分析。
2.在研發(fā)中除基礎框架外,希望能更好地借鑒其他更優(yōu)秀的開源技術,從根本上提升開發(fā)效率,保證開發(fā)質量。
[1]陸美玲,于俊樂.基于B/S模式的學生管理系統(tǒng)的設計[J].軟件 ,2013,(11):55-56.
[2]王小玲.基于B/S模式的中職院校學生管理系統(tǒng)[J].青年科學(教師版),2014,35(3):41.
[3]Juan Reza.Java supervenience [J].Computer languages,systems structures,2012,38(1):73-97.
[4]王立國.高職院校學生管理系統(tǒng)設計的方案研究[J].硅谷,2013,6(10):74-75.
[5]溫小寧.軟件工程理論在學生管理系統(tǒng)中的應用[J].廣東教育(職教版),2013,(2):28-29.
[6]Tan.JET:exception check in Java [J].ACM SIGPLAN Notices,2011,46(10):345-358.
[7]任小瑞.基于WEB的學生信息管理系統(tǒng)的設計與實現(xiàn)[D].鄭州大學,2010.
[8]劉佳.基于輕量級開源框架的學生網報系統(tǒng)設計與實現(xiàn)[D].濟南大學,2012.
[9]Johnson, R..J2EE development frameworks[J].Computer,2005,38(1):107-110.
[10]J.,Araujo,L..Updating broken web links:An automatic recommendation system [J].Information Processing Management,2012,48(2):183-203.
[11]Xinyan Liu Chapter 35 J2EE-Based General Document Transceiver System [C].//Informatics and management science IV.2013:289-296.
[12]Zhao Xiao.Development and Implementation of Enterprise Management System Based on J2EE [C].//Green communications and networks.part 1.2012:133-139.
[13]Fan,Rui.The research of Hibernate cache technique [C].//2011 IEEE 3rd International Conference on Communication Software and Networks. [v.1].2011:160-162.
[14]Tang,Hongxi.Struts+Spring+Hibernate Integrated Framework [C].//2010 International Conference on Multimedia Information Networking and Security.2010:936-939.
[15]Masaaki Tanaka等.W eb 系 統(tǒng)的 實現(xiàn),改善學生的學習態(tài)度[J].管理學家 ,2013,(17):592-593.
[16]梁福偉.W eb測試在學生綜合測評管理系統(tǒng)中的應用[J].農業(yè)網 絡信息 ,2009,(12):92-97.
[17]祝振磊.學生管理信息系統(tǒng)設計與開發(fā)[J].科技廣場,2011,(3):117-119.
[18]周斌.Java 平臺測試策略[J].中國集成電路,2013,22(7):37-41.
[19]馮麗華.Java架構和軟件系統(tǒng)的測試[J].電子制作 ,2013,(15):77-77.
[20]涂敏.基于Java的W eb服務器性能測試工具分析[J].信息通信 ,2013,(6):288-288.
[21]李爽.Java開發(fā)智能軟件在大型企業(yè)系統(tǒng)中的應用 [J]. 制造業(yè)自動化,2012,34(7):118-120.
[22]李曙光,朱偉.探究基于 Java的 W eb服務器性能測試工具 [J]. 西江月 ,2013,(24):363-363.
[23]高昂,慕德俊等.W eb集群負載均衡策略研究[J].電子與信息學報,2011,33(3):555-562.
[24]M ing-W ei Zhang,Bin Zhang,Ying Liu等.Web Service Composition Based on QoS Rules[J].計算機科學技術學報(英文版),2010,25(6):1143-1156.
[25]單錦輝,孫萍等.軟件測試研究進展[J]. 北京大學學報(自然科學版),2005,41(1):134-145.
[26]柳永坡.軟件測試知識管理的研究與應用 [J]. 計算機集成系統(tǒng),2008,14(9):1805-1809,1844
[27]Garousi, V.,Zhi, J..A survey of software testing practices in Canada(Review)[J].The Journal of Systems and Software,2013,86(5):1354-1376.
[28]Izzat M ahmoud.Using M utation to GUI Testing Coverage[J].IEEE Software,2013,30(1):67-73.
[29]Glass, Robert L..A Classification System for Testing, [J].IEEE Software,2009,26(1):104-104.
[30]Rood,Richard.Software Testing and Verification in Climate M odel Development[J].IEEE Software,2011,28(6):49-55.