朱 萍,孫新華
(河北北方學院 信息科學與工程學院,河北 張家口 075000)
高校師生科研團隊信息管理平臺的設計與實現
朱 萍,孫新華
(河北北方學院 信息科學與工程學院,河北 張家口 075000)
通過運用經典的MVC分層架構設計模式開發出適合高校師生科研團隊的信息管理系統。該系統基于Android平臺,能夠完成科研信息的一些統計工作,實現項目申報、費用報銷等模塊的功能,能隨時隨地準確查詢、反饋各類科研成果,有效提高學院科研工作效率。
信息管理平臺;Android;科研管理系統;MVC
在互聯網快速發展的今天,各高校順應時代潮流紛紛引入科研信息管理系統,以進一步提高科研管理水平。而隨著科研管理工作的實際需要和現代科技的進步,高校科研管理平臺需要不斷完善、升級,運行環境也應得到相應的改善和優化,這樣才能使科研管理的過程操作更便捷、更有時效性。基于Android客戶端的科研管理系統能隨時隨地地準確查詢、反饋各類科研成果,有效提高高校科研管理工作效率。
本文在程序設計過程中以科研引導調動師生科研團隊的積極性為重點,結合已有系統,根據筆者所在學院的科研工作實際情況,從科研管理系統需求分析、功能分析等方面入手,設計開發出一款實用性更強的科研管理信息系統。這樣對進一步提高科研管理工作效率具有重大意義。雖然科研信息管理系統的出現給科研管理工作帶來了實質性的變化,但是需要不斷的升級改造,才能更好地滿足科研工作的需要。
科研管理系統平臺是一款基于Android的科研管理軟件,它的應用方便管理者管理科研信息,使科研管理工作更加系統化、規模化。
科研管理系統平臺是面向筆者所在單位師生科研統計的Android應用程序,其應用的主要價值在于教師、學生可以通過平臺填報科研信息,管理者可以通過平臺對提交的數據進行管理反饋。系統需要滿足用戶以下需求:
(1)教師或學生通過系統提交科研信息,其中包括承擔項目情況、科研獲獎情況及學生參賽信息情況等;
(2)用戶通過客戶端提交項目審批數據,管理員負責管理項目信息;
(3)對于教師承擔項目的費用或學生參賽所需費用,通過客戶端提交申請,管理員端根據實際情況對報銷費用進行審批,并將審批結果及時反饋給用戶。
通過分析并結合筆者所在學院科研統計信息管理情況,本平臺主要實現以下功能模塊。(1)個人信息模塊。查看修改個人基本信息。(2)注冊登錄模塊。用戶(教師、學生等人員)通過Android端注冊登錄軟件。
(3)科研統計模塊。通過客戶端提交教師承擔項目統計表、科研獲獎統計表、學生競賽統計表等數據,服務器獲取數據并反饋信息給用戶。
(4)項目申報模塊。用戶提交項目申報數據,管理員通過服務器接收數據并對數據進行處理,反饋給用戶。
(5)報銷信息模塊。用戶登錄客戶端填寫報銷單,提交到服務器進行審核,通過后將數據返回到客戶端。
通過對用戶需求及其功能需求分析,系統功能如圖1所示。

圖1 系統功能
系統開發前通過科學的方法分析論證,提出了方案,進而驗證系統是否可以正常使用以及系統開發的可行性等問題。下面從兩個方面進行可行性分析。
(1)經濟可行性。本軟件的開發是通過網上閱讀相關資料,參考其他管理系統設計開發的,只需要百度搜索就可以找到想要的信息,成本低,開發軟件所需要的平臺也是免費的。
(2)技術可行性。本軟件對硬件要求較為簡單,只需要一臺電腦,一個手機就可以了。該APP的開發主要針對信息的有效處理和應用的實用性,采用主流移動開發的Android系統。在Win7電腦安裝JDK開發包,配置并調試Java環境變量,從互聯網上下載最新的Android sudio安裝包及軟件開發工具包SDK等。這樣軟硬件環境配置都非常便利,再加上開發人員的技術較成熟,故該系統設計能夠按期完成。
綜上所述,該項目的開發是完全可靠的。
該科研管理系統主要由客戶端和服務器端來實現科研信息的管理。客戶端主要負責提交數據,在本地瀏覽查看已經提交的數據,以及接受服務器端的反饋結果。服務器負責接收客戶端請求、處理中間業務邏輯和訪問數據庫。數據庫服務負責訪問數據庫和可備份等操作。系統功能結構框架如圖2所示。
根據需求分析,可以將客戶端分為下述幾個模塊。

圖2 系統功能框架
(1)登錄。教師或學生通過客戶端登錄系統,管理員通過服務器登錄系統。
(2)科研統計。普通用戶(教師、學生)提交承擔項目、科研獲獎、學生參賽等信息,管理員查看、修改這些信息。
(3)項目申報/審批。用戶提交數據到服務器,服務器反饋審批數據給各個用戶。
(4)報銷費用。用戶提交報銷申請,管理員接收到報銷申請數據,把結果返饋給用戶。
(5)更改資料。更改完自己的信息,通過后臺上傳到服務器保存。
(6)退出登錄。從服務器退出科研管理系統。
該科研管理平臺后臺服務器采用SSH框架搭建,只進行后臺數據處理,不具備界面瀏覽功能,使用Tomact本地服務器發布,通過客戶端進行聯網訪問。SSH框架的系統分為表示層、業務邏輯層、數據持久層和域模塊層四個層面。這四個層面,具有結構清晰、可復制性好和維護方便的優勢,有助于開發人員快速建立一個Web應用程序。
使用Struts2作為整體基礎框架,其職責是負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理Struts和Hibernate。具體做法是用對象的分析方法根據需求提出一些模型,將這些模型用基本的Java對象來封裝,然后編寫基本的 DAO(Data Access Objects)接口,并給出Hibernate的DAO實現方法,采用Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問,最后由Spring做管理,管理Struts2和Hibernate。
系統數據庫采用Hibernate進行管理,采用MySql進行數據儲存。Hibernate是針對數據庫管理的開源框架,本質也是對象關系映射框架。其原理是對HDBC進行對象封裝,這樣一來,開發人員可以根據自己的需求針對對象進行數據庫操作。不僅如此,Hibernate可以應用在任何使用JDBC的場合,同時Hibernate更強大的地方在于它可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
Hibernate的核心和類接口包括Session、SessionFactory、Query、Criteria、ransaction、Configuration,而且這6個核心和類接口在任何開發中都會使用到,通過這些接口,開發人員不但能夠對事物進行控制,還可以存儲不變的對象數據。
通過config.properties實現Hibernate和MySql的連接,主要代碼為:
hibernate.dialect=org.hibernate.dialect.MySQLDialect
driverClassName=com.mysql.jdbc.Driver
validationQuery=SELECT 1
jdbc_url=jdbc:mysql://localhost:3306/sshe?use-Unicode=true&characterEncoding=UTF8&zeroDate-TimeBehavior=convertToNull
jdbc_username=root
jdbc_password=920417
服務端處理數據以防止客戶端解析不兼容,同樣采用Gson將數據封裝成Json格式,同時,打印該Json語句。服務端數據處理流程如圖3所示。
數據庫返回數據封裝代碼為:
Json j=new Json();
if(s!=null) {j.setSuccess(true);
j.setMsg("success");
j.setObj(s);
HttpSession session = Servle
tActionContext.getRequest()
.getSession();
session.setAttribute("User",s);
}else{
j.setMsg("fail");

圖3 服務端數據處理流程
}
Json數據的返回代碼為:
public void writeJson(Object object) {
try{
Gsongson=new Gson();
String json=gson.toJson(object);ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getWriter().write(json);
ServletActionContext.getResponse().getWriter().flush();
ServletActionContext.getResponse().getWriter().close();
}catch(IOException e) {
e.printStackTrace();
}
}
客戶端對數據的處理采用Gson解析,將Json直接解析成Model方便存儲,由于服務端返回數據比較多變,所以客戶端應采用泛型的形式,直接解析數據,關鍵方法為:
public〈T>List〈T>getList(String json,Class〈T> class1) {
List〈T> list=new ArrayList〈T>();
try {JSONObjectjo=new JSONObject(json);
booble b=jo.getJSONObject("success");
JSONArray array=priseTemp1.getJSONArray("obj");
Gsongson=new Gson();
for(int i=0;i 〈array.length();++i) {
String s=array.get(i).toString();
Object object=new Object();
object=gson.fromJson(s,class1);
list.add((T) object);
}
return list;
}catch(JSONException e){
return list;
}
}
此段代碼主要是利用泛型解析,首先解析success字段,之后解析obj得JSONArray,通過泛型得到list列表,再根據list列表可以將這些數據展示到用戶界面。
科研管理系統平臺開發的目的是協助管理人員管理科研信息。結合高校自身科研管理的實際情況,開發出一款適合本校科研管理平臺使用的軟件,不僅可以很方便地統計科研信息,還可以對一些科研工作進行規劃整理,進而提高科研管理者的工作效率,也有利于實現校園數字化辦公。同時,能夠有效地對學生進行科研引導,提高師生開展科學研究的積極性。
[1]龍濤.基于SSH框架的民辦高校科研管理系統設計與實現[J].信息化建設,2015(8).
[2]李剛.瘋狂Java講義精粹[M].北京:電子工業出版社,2014:103-120.
[3]Reto Meier.Android 4高級編程(第三版)[M].北京:清華大學出版社,2013:41-63.
[4]陳德.Android優化技術詳解[M].北京:清華大學出版社,2014:85-200.
[5]陳曄.大話移動APP測試[M].北京:清華大學出版社,2014:34-123.
Design and Implementation of Information Management Platform for University
Teachers and Students Scientific Research Team
ZHU Ping,SUN Xing-hua
(College of Information Science and Engineering,Hebei North University,Hebei Zhangjiakou 075000,China)
Through analyzing and using the classic MVC layered architecture design model,the information management system suitable for university teachers and students scientific research team is pre-opened.The system based on Android platform can realize some module functions such as statistical work of scientific research information,project declaration,and expense reimbursement.It can inquire and feedback all kinds of scientific research results at any time and place.It effectively improved the work efficiency of colleges.
Information management platform;Android;Research management system;MVC
TP311
A
1673-2022(2017)04-0005-04
2017-08-03
朱萍(1980-),女,河北張家口人,講師,碩士,研究方向為信息管理;孫新華(1977-),男,河北張家口人,副教授,碩士,研究方向為信息管理。