胡世港,田櫻


摘要:國內高職院校科研處多年以來一直采用傳統的人工方式進行科研信息登記和科研績效核算工作,科研信息仍然以紙質化方式保存,不便于長期存儲和快速查詢,也不便于科研數據的統計分析工作;科研績效核算規則異常復雜,人工計算不僅容易出錯,而且非常耗時耗力。因此,為了實現科研信息的數字化存儲和查詢,提高科研工作的信息化管理水平,筆者旨在為湖北職業技術學院開發一套科研信息管理軟件,建立科研大數據平臺,收集歷年學校、各單位、教職工各級、各類科研數據,方便科研數據的查詢和統計,支持科研數據采集、分析工作,促進科研信息公開,增強科研績效信息透明度,推進學校科研工作的精細化管理,大幅提高科研工作效率。
關鍵詞:科研信息管理平臺;科研績效;數字化;Spring Boot
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)33-0031-03
1 引言
雖然國家一直在大力推行高職院校信息化建設工作,但是由于建設經費不足等問題,導致各高職院校信息化建設工作推進較為緩慢;另外,高職院校缺少既懂軟件開發又懂需求分析的專業教師,導致采購的軟件項目上線后,并不能滿足用戶需求,又得不到及時的維護與升級,成為爛尾工程。另外,科學研究工作在高職院校越來越受到重視,高職院校建設科研管理信息系統,實現學校科研管理工作的信息化成為當前高職院發展的內在需求[1]。
目前湖北省內大部分高職院校還沒有開發科研信息管理平臺,仍然采用紙質方式歸檔和保存科研信息,科研信息的數字化管理水平亟待提升,必須搭建一個科研信息大數據平臺,才能更好地完成科研信息的統計與分析工作。同時,現有的科研信息化管理仍舊停留在數據收集階段,數據積累多,而對大數據的利用率極其低下,統計分析功能也比較簡單[2]。
2 科研信息管理平臺的需求調研
通過前期的需求調研,筆者擬研究和開發的科研信息管理平臺,能夠滿足不同用戶的需求,例如:教職工用戶登錄系統后,可以提交每年度的科研成果,快速查詢自己的科研信息,同時可以查看自己的科研賬戶積分;一級審核員可以查看并初步審核本部門教職工提交的科研成果,審核不合格的,則通知教職工重新提交,審核合格的,相關科研成果會推送給二級審核員;二級審核員作為科研處的工作人員,可以最終審核各部門教職工提交的經過一級審核合格的科研成果,審核不合格,則通知教職工重新提交,審核合格后,系統會根據相應的計分規則核算科研績效,并給予對應的科研積分。
研究工作從分析高職院校科研管理工作中的難點和痛點入手,深入一線了解科研工作人員以及教職工對軟件系統的需求和期望;根據需求分析的具體內容,研究如何使用領域驅動建模技術,建立軟件模型,做好軟件設計工作,為下一步的軟件開發及編碼工作打好基礎;基于良好的軟件設計,開發團隊將研究相應的手段和策略,去解決各個功能模塊在開發過程中遇到的技術問題。
研究目標是構建強大而靈活的高職院校科研信息管理平臺,采集歷年各級各類已發表的科研成果,方便科研數據的查詢、統計和分析,促進科研信息公開化,增強科研績效透明度,使科研項目管理工作數字化、流程化、信息化,提高流程化管理質量[3],推進高職院校科研工作的精細化管理。項目開發的重點在于,科研信息管理平臺要能夠支持12種類型的科研成果的錄入工作,并且導入近十年整個學校所有的歷史科研成果,從而建立起一個完整的科研大數據平臺,依托這個平臺,可以根據關鍵字查詢、統計和分析相關科研數據。項目開發的難點在于,科研績效核算算法的設計與實現。不同類型的科研成果,積分計算方法不同,而且同一種科研成果下還要細分若干種類別,不同類別對應的分值大小不一樣。另外,教師科研賬戶上的積分,每年要重新核算,每一年度的科研績效積分只能往后使用兩年,第三年需要清零。
3 科研信息管理平臺的軟件設計
3.1 系統架構設計
筆者采用Spring Boot+MyBatis框架改進Web體系結構的執行效率。 傳統的使用Spring框架開發的Java EE項目中,存在大量的 XML 配置文件,導致Java EE項目變得越來越笨重,開發和部署效率因為煩瑣的配置而降低。Spring Boot框架通過集成大量的幾乎可以是零配置、開箱即用的第三方庫,大大減少了配置代碼的編寫工作,因此可以讓開發者更加專注于軟件項目的業務邏輯,從而提高開發效率。
3.2 數據庫設計
根據《湖北職業技術學院科研工作考核和科研成果獎勵辦法》對科研成果的類型劃分,結合需求分析,筆者在進行數據庫設計時,定義了如下表結構:sr_project科研項目表,sr_writing著作表,sr_paper論文表,sr_literature文藝創作表,sr_patent專利表,sr_software軟件著作權表,sr_prize獲獎成果表, sr_subject課題表,sr_ transform成果轉化表,sr_exchange學術交流表,sr_report調研報告表,sr_case案例表。其中,sr_project科研項目表是存放所有科研成果信息,便于計算科研積分,sr_prize獲獎成果表可以保存教科研成果獎和學會獎信息。
3.3 系統功能設計
整個系統功能分為五大模塊,分別是系統管理、基礎設置、科研管理、審核管理和科研統計。系統管理模塊包括用戶管理、角色管理、部門管理和崗位管理。基礎設置模塊包括教師管理、職稱管理、職位管理和學位管理;科研管理可以錄入12種科研成果,分別是著作、論文、文藝創作、專利、軟件著作權、教科研成果獎、學會獎、教科研項目、成果轉化、學術交流、調研報告和案例;審核管理模塊包括審核操作;科研統計模塊包括科研成果和科研業績。
在對外接口設計方面,系統應該能夠在校園網內提供接口,將科研處的業務數據庫與人事處、財務處等職能部門的數據庫相銜接,從而實現數據的共享[4]。
3.4 UI設計
用戶角色分為教職工、一級審核員、二級審核員和管理員四種,不同角色登錄后看到的操作界面是不同的,其中教職工用戶登錄成功后即可進行科研成果的錄入操作,科研成果錄入界面(如圖2所示);部門科研管理員和科研處審核員登錄后,點擊“審核管理”菜單中的“審核操作”子菜單,即可進入科研成果審核界面(如圖3所示),分別進行一級和二級審核;管理員登錄后,可進行系統管理和基礎設置,查看科研統計信息。
4 科研信息管理平臺的開發部署
筆者帶領的軟件開發團隊在科研信息管理平臺的開發過程中,使用軟件工程中的瀑布模型來管理軟件開發流程,基于需求分析,根據軟件設計,按照模塊化的編程思路,使用Java作為編程語言,采用Spring Boot+MyBatis框架,通過git工具完成團隊協同開發工作。
對于項目開發的難點內容——科研績效核算算法,開發團隊做了精心的設計和優雅的實現。科研處審核員在對科研成果進行二級審核時,如果審核通過,則執行科研績效核算算法。算法具體流程為,首先獲取參與當前科研成果的所有教師;其次利用循環依次計算每位教師的科研績效分數,計算科研績效分數時要考慮當前科研成果中的學校排名和教師排名,以及不同科研成果類型對應的獎勵分數;最后將此分數累加到教師當前年度總積分中。限于篇幅,下面僅展示部分核心代碼:
public int auditProject(Project project) {
//判斷二級審核是否通過,審核通過則開始核算科研績效
TeacherProject tp = new TeacherProject();
p.setProjectId(project1.getProjectId());
/*獲取參與當前科研成果的所有教師*/
List<TeacherProject> teacherProjects = teacherProjectMapper.selectTeacherProjectById(project1.getProjectId());
for (TeacherProject teacherProject : teacherProjects) {
Teacher teacher = teacherMapper.selectTeacherById(teacherProject.getTeacherId());
/*教師排序*/
int rank = Integer.parseInt(teacherProject.getRank() + "");
/*學校單位排序*/
int schoolrank = Integer.parseInt(teacherProject.getSchoolRank() + "");
/*根據不同的科研項目類型對象獲取人數*/
Long peopleCount = 0L;
switch (Integer.parseInt(projectTypeId + "")) {
case 1:? ?/*編著*/
List<Writing> writings = writingService.selectWritingList(writing); break;
peopleCount = writings.get(0).getTotalpeople();
case 3:? /*文藝創作*/
List<Literature> literatures = literatureService.selectLiteratureList(literature);
peopleCount = Long.parseLong(literatures.get(0).getAuthorNumber());? break;
case 4:? /*專利獲取人數*/
Patent patent = patentService.selectPatentByProjectId(project1.getProjectId());
peopleCount = patent.getTotalPeople(); break;
case 5:? /*軟件著作權*/
List<Software> softwares = softwareServices.selectSoftwareList(software);
peopleCount = softwares.get(0).getTotalPeople(); break;
case 36:
case 37:? ?/*教科研成果獎、學會獎*/
Prize prize = prizeService.selectPrizeByProjectId(project1.getProjectId());
peopleCount = Long.parseLong(prize.getTotalPeople() + ""); break;
case 79:? ?/*成果轉換*/
peopleCount = transformService.selectTransformList(transform).get(0).getTotalPeople(); break;
case 83:? /*學術交流不考慮人數*/
peopleCount = 1L; break;
case 98:? /*案例*/
srCase = srCaseService.selectSrCaseByProjectId(project1.getProjectId());
peopleCount = srCase.getPersonnelNumber();? break;
case 94:? ?/*調研報告*/
report = reportService.selectReportByProjectId(project1.getProjectId());
peopleCount = report.getPersonnelNumber();? break;
}
/*根據學校排序、教師排序獲取科研績效分*/
double realscore = SrmsUtil.computeBySchoolRank(schoolrank, rank, score, teacherProjects, peopleCount);
DecimalFormat formater = new DecimalFormat();
teacherProject.setScore(Double.parseDouble(formater.format(realscore)));
teacherProject.setScoreDetails(teacherProjectService.getMathScoreDetails(project.getProjectId(), peopleCount, isUseSchool, parameter, edition, teacherProject));
teacherProjectMapper.updateTeacherProject(teacherProject);
achievementService.insertAndUpdateAchievement(teacher, project1.getProjectYear(), realscore, projectTypeId, false);
}
}
return projectMapper.updateProject(project);
}
在經過嚴格的軟件測試后,開發團隊將該軟件部署到Linux服務器上,通過nohup命令以jar包方式運行,用戶即可通過瀏覽器訪問并使用科研信息管理平臺。
5 結束語與展望
在試用期穩定運行的科研信息管理平臺,較好地滿足了用戶的需求,精確地實現了軟件設計的目標,解決了兩個關鍵問題,一是該平臺可以很好地支持12種類型的科研成果的錄入工作,并且導入了近十年學校教職工的歷史科研成果,建立了一個方便進行關鍵字查詢、統計和分析的科研大數據平臺;二是開發出了科研績效核算的高效算法,可以準確計算出不同類型的科研成果對應的積分,同時支持對教職工科研賬戶上的積分進行年度核算,規定當前年度的科研績效積分有效期為兩年,第三年清零該積分。
下一步,筆者將在科研信息管理平臺的智能化方向做進一步的研究,利用Python可視化技術繪制圖表,更人性化地展示科研數據[5],讓管理員可以直觀地掌握科研信息的實時動向,為學校領導在科研工作的決策上提供有價值的參考信息。另外,通過交互技術,以消息推送的方式,讓教職工可以及時了解自己的科研賬戶積分,以便提前做好科研工作計劃,隨時掌控自己的科研績效信息。
參考文獻:
[1] 王松濤,沈寶國,謝中敏.基于工作流的高職院校科研管理信息系統設計[J].現代職業教育,2021(52):136-137.
[2] 董紅娟,謝志昆,左薇,等.基于大數據環境的高校科研信息化探索[J].中國管理信息化,2019,22(13):180-183.
[3] 吳長付,付廣青,杜平,等.科研項目全流程信息化管理系統的設計與實現[J].江蘇農業科學,2019,47(12):338-342.
[4] 廖帥,呂卉,徐旭,等.基于SRM系統高校科研管理協同平臺設計[J].電子技術與軟件工程,2018(3):178-179.
[5] 賈玥,徐奕卓,李磊.大數據時代下高校科研管理工作的探索[J].赤峰學院學報(自然科學版),2018,34(3):69-70.
【通聯編輯:謝媛媛】