• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于SpringBoot的研究生學術(shù)檔案管理系統(tǒng)開發(fā)

    2023-08-04 05:52:04李琴崔名揚錢奕文劉晶晶
    電腦知識與技術(shù) 2023年18期
    關(guān)鍵詞:申請表插件學術(shù)

    李琴,崔名揚,錢奕文,劉晶晶

    (鄭州航空工業(yè)管理學院,河南鄭州 450046)

    0 引言

    近年來,研究生招生規(guī)模逐步增加,導(dǎo)致高校研究生管理工作也愈加復(fù)雜,研究生在校期間所取得的學術(shù)成果總量也有著跨越式增長。雖然高校也建設(shè)有研究生信息管理系統(tǒng),但其功能覆蓋范圍廣泛,未有效針對學術(shù)檔案管理的特點進行開發(fā),從而導(dǎo)致學術(shù)檔案管理功能缺失或不適應(yīng)當前研究生管理工作[1]。本文針對上述問題,使用Java 和前端語言開發(fā)一套研究生學術(shù)檔案管理系統(tǒng),以便對研究生在校期間的學術(shù)檔案進行全流程管理。

    1 業(yè)務(wù)分析

    根據(jù)學術(shù)檔案管理系統(tǒng)的基本功能需求,系統(tǒng)可以把角色分為管理員和學生兩個角色,基本功能有:填寫學術(shù)檔案、上傳文件、查看審核狀態(tài)、添加學生、審批申請、查閱檔案等。

    系統(tǒng)業(yè)務(wù)如圖1所示。

    圖1 研究生學術(shù)檔案管理系統(tǒng)功能框架

    1.1 學生業(yè)務(wù)分析

    學生的賬號信息會提前通過管理員頁面添加進數(shù)據(jù)庫。在學生第一次登錄時會有彈窗提示及時修改密碼。登錄成功后學生只能查詢或修改自己的檔案信息。在上傳或者查詢學術(shù)檔案時,學生可以在管理系統(tǒng)的不同的模塊下進行查詢或者上傳[2]。上傳完學術(shù)檔案后該條數(shù)據(jù)會顯示提交時間和審核狀態(tài)等,方便學生及時查看審核進度或者及時進行修正,學生還可以通過該記錄的預(yù)覽圖標查看該文件,防止出現(xiàn)上傳時文件受損等情況。在學術(shù)檔案提交并未進行審核時,學生可以對申請進行修改和刪除,當學術(shù)檔案申請不通過時,學生可在審核信息里查看駁回原因。

    1.2 管理員業(yè)務(wù)分析

    管理員擁有系統(tǒng)的全部權(quán)限,其賬號信息在管理員數(shù)據(jù)庫中預(yù)設(shè),在學生管理界面可以對學生賬號進行增加、刪除、修改、查詢。在學術(shù)檔案的不同模塊下顯示所有學生的檔案信息,可以通過審核狀態(tài)進行分類,然后對其進行審核。

    2 系統(tǒng)架構(gòu)

    SpringBoot 是基于Spring 開發(fā)的一種全新的輕量級框架,繼承了原有的優(yōu)秀特點,其中核心內(nèi)容是Spring MVC,作為Web 的請求模塊來為SpringBoot 提供數(shù)據(jù)的請求和響應(yīng),而且還通過各種配置來簡化整個系統(tǒng)的搭建和開發(fā)過程。根據(jù)SpringBoot框架的特性結(jié)合此研究生檔案管理系統(tǒng),可以將系統(tǒng)的架構(gòu)分為三層:基本功能層、業(yè)務(wù)邏輯層、數(shù)據(jù)交換層[3]。

    2.1 基本功能層

    此層是整個系統(tǒng)的表現(xiàn)層,集成系統(tǒng)的各個功能模塊,這些模塊包括:用戶登錄模塊、用戶管理模塊、檔案查詢模塊、文件上傳模塊等[4]。這些模塊中產(chǎn)生的數(shù)據(jù)會通過SpringBoot框架的表現(xiàn)層進行請求的接收和轉(zhuǎn)發(fā),將請求進一步傳遞給下一層架構(gòu)并進行返回數(shù)據(jù)的接收,實現(xiàn)基本功能的正常運行,保證用戶的體驗。

    2.2 業(yè)務(wù)邏輯層

    業(yè)務(wù)邏輯層是檔案管理系統(tǒng)的核心部分,負責整體系統(tǒng)的業(yè)務(wù)邏輯,通過面向?qū)ο蟮姆绞絹矸庋b業(yè)務(wù)組件。此層是接受基本功能的請求并作進一步的處理,首先進行請求的校驗,查看是否已經(jīng)超出權(quán)限范圍,是否讓其進入下一步處理;其次請求通過攜帶的請求頭找到對應(yīng)的Controller接口,進入Spring框架的Controller層中進行數(shù)據(jù)邏輯的處理,在數(shù)據(jù)邏輯的處理時需要對數(shù)據(jù)的數(shù)據(jù)原型進行驗證防止出現(xiàn)數(shù)據(jù)沖突,接著就進入了核心業(yè)務(wù)區(qū),與數(shù)據(jù)交換層進行數(shù)據(jù)的交換。數(shù)據(jù)進入到底層邏輯架構(gòu)時,具體的業(yè)務(wù)非常清晰,其中包括,查詢:用戶可以通過調(diào)用service接口查詢到需要的信息、刪除:對已經(jīng)完成的各種操作進行刪除處理、增加:用戶可以將需要的數(shù)據(jù)存入到數(shù)據(jù)庫中、修改:當用戶的數(shù)據(jù)出錯時通過基本邏輯層進行更改傳入到此處,再調(diào)用數(shù)據(jù)庫的接口進行數(shù)據(jù)的修改。

    2.3 數(shù)據(jù)交換層

    數(shù)據(jù)交換層是本系統(tǒng)的底層,負責與數(shù)據(jù)庫進行交互。與數(shù)據(jù)庫交互是通過SQL代碼來實現(xiàn),但是原生的SQL 代碼過于復(fù)雜,進行編寫時較為固定,修改時非常復(fù)雜,不利于后期的維護和修改。本系統(tǒng)采用MyBatis-plus 插件來簡化工作量,當業(yè)務(wù)邏輯層將要增刪改查的請求發(fā)送到這里時,直接可以使用已經(jīng)封裝好的updateService、saveService、deleteService等來進行數(shù)據(jù)與數(shù)據(jù)庫信息的交換,保證數(shù)據(jù)的完整性,和快速數(shù)據(jù)交換。

    3 數(shù)據(jù)庫的設(shè)計

    3.1 數(shù)據(jù)庫設(shè)計思路

    通過研究該學術(shù)檔案管理系統(tǒng)的應(yīng)用環(huán)境,來構(gòu)造一個最優(yōu)的數(shù)據(jù)模型,使其能夠有效地存儲和滿足對管理檔案數(shù)據(jù)的需求。進行數(shù)據(jù)庫的設(shè)計時采用了一對一設(shè)計原則,獨特命名原則,能夠盡可能地減少維護時問題的出現(xiàn),保證數(shù)據(jù)維護工作順利開展的同時降低了維護工作的難度,能夠產(chǎn)生實體間的必然聯(lián)系,提高應(yīng)用程序的可靠性、科學性,以及自身的性能,減少數(shù)據(jù)的冗雜,維護數(shù)據(jù)的一致性,保持各關(guān)鍵詞之間存在的必然相對應(yīng)聯(lián)系[5]。

    3.2 設(shè)計數(shù)據(jù)庫重要性

    1)數(shù)據(jù)一致性

    在設(shè)計數(shù)據(jù)庫時,需要定義數(shù)據(jù)表之間的關(guān)系、屬性以及數(shù)據(jù)類型等細節(jié)確保數(shù)據(jù)的一致性。在不同的表中存儲相同的數(shù)據(jù)時保持同步,避免重復(fù)數(shù)據(jù)和錯誤數(shù)據(jù)。如果不能保證數(shù)據(jù)的一致性和連續(xù)性,將會對系統(tǒng)造成不可預(yù)知的后果。

    2)數(shù)據(jù)安全性

    數(shù)據(jù)庫里的數(shù)據(jù)非常重要,涵蓋了每個學生的學術(shù)檔案信息,這些檔案中不乏存在一些敏感性信息,一旦泄露將會對學生的日常生活產(chǎn)生不良影響,所以數(shù)據(jù)庫必須經(jīng)過高度安全化設(shè)計和保護,以確保它們不會被非法請求竊取或者篡改。

    3)數(shù)據(jù)操作的效率性

    良好的數(shù)據(jù)庫設(shè)計可以高效地支持數(shù)據(jù)操作,包括數(shù)據(jù)的增加、查詢、更新、刪除等操作。通過優(yōu)化數(shù)據(jù)操作流程和檢索方式,可以為系統(tǒng)大大節(jié)省時間和資源,提高系統(tǒng)的性能。

    4)數(shù)據(jù)的可擴展性

    在設(shè)計數(shù)據(jù)庫時,應(yīng)該預(yù)測到未來的數(shù)據(jù)庫擴展需求。不斷增加的數(shù)據(jù)需要有良好的設(shè)計來支持,如果數(shù)據(jù)庫沒有經(jīng)過良好的設(shè)計來處理擴展需求的話,維護和管理這些數(shù)據(jù)庫將成為系統(tǒng)的一個巨大挑戰(zhàn)。

    在學生檔案管理系統(tǒng)設(shè)計時把握好數(shù)據(jù)庫設(shè)計的重要性,盡量設(shè)計出一個優(yōu)良的數(shù)據(jù)模型,使系統(tǒng)減少資源的浪費、保證數(shù)據(jù)的完整性、提高查詢效率、加快計算速度、減少資源的占用、加快后期的編碼速度。

    3.3 系統(tǒng)數(shù)據(jù)庫模型

    為了便于用戶對系統(tǒng)進行操作,對檔案管理系統(tǒng)進行數(shù)據(jù)分析時,需要設(shè)計賬號表和檔案申請表。其中賬戶表根據(jù)姓名、賬號、密碼等字段進行設(shè)計并劃分為兩種,學生表和管理員表,為他們的登錄修改密碼等提供信息檢索、修改和刪除服務(wù);檔案申請表根據(jù)名稱、時間、申請人、狀態(tài)等字段進行劃分為七個不同類型的數(shù)據(jù)表,學科競賽申請表、學術(shù)交流申請表、科研獎勵申請表、學術(shù)論文申請表、科研項目申請表、知識產(chǎn)權(quán)申請表、學術(shù)著作申請表。為學生的申請和管理員的審核提供檢索、修改和刪除服務(wù)[6]。

    4 系統(tǒng)功能的實現(xiàn)

    4.1 登錄功能的實現(xiàn)

    用戶登錄功能界面上提供了兩種不同的方式來實現(xiàn)用戶登錄:管理員登錄和用戶登錄,都是通過其登錄界面輸入賬號和密碼進入系統(tǒng)。

    在登錄賬號信息數(shù)據(jù)采集時,登錄頁面采用的是Element-UI的表單組件收集數(shù)據(jù),然后進行數(shù)據(jù)的綁定,并且會對輸入的數(shù)據(jù)進行校驗,如果校驗不通過,用戶將無法點擊登錄按鈕,保證數(shù)據(jù)的完整性和安全性,反之用戶點擊登錄時將符合條件的數(shù)據(jù)通過登錄api 接口把數(shù)據(jù)傳輸?shù)胶蠖?,進行下一步的數(shù)據(jù)校驗和查詢并且等待返回結(jié)果。

    當?shù)卿浶畔⒔?jīng)過前端接口傳輸?shù)胶蠖藭r,首先會對數(shù)據(jù)中的密碼進行md5加密,防止密碼明文造成嚴重的后果,其次獲取到賬號在數(shù)據(jù)庫進行查詢,如果沒有該賬號信息,后端會直接返回false 發(fā)送給前端,前端檢測到錯誤信息后,就會彈出登錄失敗的信息提示;如果查詢到該用戶名則會獲取到該用戶名下的密碼,與提前加密的密碼進行比對,如果匹配失敗則返回false,匹配成功則返回true,前端接收到成功信息后,將進行頁面的跳轉(zhuǎn),進入到管理主頁。

    4.2 權(quán)限分配

    對于學生的檔案管理系統(tǒng),權(quán)限的分配顯得尤為重要。如果不進行權(quán)限的分配,就會造成查詢、修改、刪除的功能紊亂,用戶可以隨時查看和修改別人的檔案信息,甚至可能刪除數(shù)據(jù)庫里全部的檔案信息,這將對數(shù)據(jù)庫信息造成不可逆的影響。另一方面,為了防止某些用戶的惡意請求,系統(tǒng)的后端添加了一個攔截插件,將對系統(tǒng)內(nèi)的所有請求進行攔截,查看其是否登錄系統(tǒng),如果未登錄系統(tǒng)將自動跳轉(zhuǎn)到登錄界面;反之不對此請求進行攔截。在用戶登錄進系統(tǒng)后,系統(tǒng)的權(quán)限分配是通過用戶的線程id 來進行判斷:

    1)如果檢測到是管理員,根據(jù)api請求的不同,調(diào)用不同的數(shù)據(jù)庫表,獲取到該數(shù)據(jù)庫表內(nèi)的全部信息,通過json數(shù)組返回給前端呈現(xiàn)數(shù)據(jù)。

    2)如果是學生,根據(jù)api的請求的不同,調(diào)用不同的數(shù)據(jù)庫表,并且將學生的賬號作為限制條件,檢索到該學生的數(shù)據(jù)信息,反饋到前端呈現(xiàn)數(shù)據(jù)。

    4.3 申請功能的實現(xiàn)

    該功能分為七個模塊,分別是:學科競賽申請,學術(shù)交流申請,科研獎勵申請,學術(shù)論文申請,科研項目申請,知識產(chǎn)權(quán)申請,學術(shù)著作申請。通過分析系統(tǒng)需求和申請需要填寫的內(nèi)容,對表單勾選和填充的內(nèi)容進行限制,申請表單由Vue框架和Element-UI 組件庫進行編寫,進行數(shù)據(jù)綁定,通過調(diào)用不同的api接口將數(shù)據(jù)傳輸?shù)胶蠖耍缓笤儆珊蠖说牟煌涌诮邮?,通過獲取線程id得到提交的賬號信息,和提交的數(shù)據(jù)合并儲存到對應(yīng)的數(shù)據(jù)庫表里。

    4.4 數(shù)據(jù)檢索功能

    1)傳統(tǒng)的MyBatis

    當數(shù)據(jù)庫中的數(shù)據(jù)表字段和關(guān)聯(lián)的表較多時,進行SQL 語句的編寫時消耗的時間精力較大。SQL 的語句的編寫太過于依賴數(shù)據(jù)庫,這就導(dǎo)致了數(shù)據(jù)庫變得不可移植,不能夠隨隨便便地更換數(shù)據(jù)庫。拼接復(fù)雜的SQL 語句時較為復(fù)雜,不夠靈活,不能夠使用變通的方式來應(yīng)對復(fù)雜的語句編寫。

    2)新型插件MyBatis-Plus

    系統(tǒng)采用新型的無侵入插件MyBatis-plus來簡化代碼,在原來的基礎(chǔ)上只做出了增強但沒有做出改變,不會對整體的架構(gòu)產(chǎn)生任何的影響。此插件的損耗極小,直接面向?qū)ο筮M行操作,性能基本沒有損耗,還支持代碼的生成,可以迅速地生成Mapper、Service、Controller 層代碼,能夠避免開發(fā)重復(fù)的代碼,不但內(nèi)置了全局攔截插件,為系統(tǒng)提供delete、update 等操縱的智能攔截,防止對于數(shù)據(jù)表的誤操作,而且還有內(nèi)置分頁的插件,可以輸出SQL 語句和執(zhí)行時間,能夠有效地解決查詢較慢的問題等[7]。

    3)系統(tǒng)采用的功能

    此系統(tǒng)通過使用該插件中的條件構(gòu)造器和分頁插件對數(shù)據(jù)進行檢索和分頁等,如:在大量的學生中通過限制學號和姓名查找某個學生,在大量的檔案中通過限制檔案名去查找某個申請記錄。當數(shù)據(jù)較多時在單一界面就會造成堆積,審閱數(shù)據(jù)就會變得更加困難,而且非常不美觀。

    5 文件上傳下載功能的實現(xiàn)

    5.1 功能分析及搭建

    在學生申請學術(shù)檔案時,通常需要證明自己檔案記錄的真實性,此時就需要通過附件去上傳證明材料,對于七個申請模塊來說可以將文件的上傳和下載功能統(tǒng)一接口和對于文件的校驗,前端文件上傳頁面引用了Element-UI組件庫中的上傳組件,并且進行修改使其更加貼合系統(tǒng)。

    5.2 功能的實現(xiàn)

    學生上傳文件時,首先進行文件的校驗,對文件的類型和大小進行判斷,如果不符合預(yù)先設(shè)置的規(guī)則時返回錯誤信息,提醒用戶上傳正確的格式,反之則通過統(tǒng)一的api接口將文件傳送到后端。當文件傳輸?shù)胶蠖藭r,首先獲取到文件名使用UUID 重新生成文件名,防止文件名稱重復(fù)造成文件覆蓋,再將文件轉(zhuǎn)存到預(yù)設(shè)好的資源位置,最后返回正確信息和新生成的文件名,以便于學生提交正確的表單信息時,將文件名存入數(shù)據(jù)庫,便于在主界面預(yù)覽和下載。

    6 系統(tǒng)測試

    為了保證系統(tǒng)高質(zhì)量的運行,發(fā)現(xiàn)系統(tǒng)中的缺陷,找出解決方法,以減少用戶的損失,就需要對系統(tǒng)整體進行測試。由于通過啟動網(wǎng)站在每個頁面提交數(shù)據(jù)來查看系統(tǒng)的各個功能的運行情況,這種測試方式效率低下,需要消耗大量的時間和精力,那么就需要找到系統(tǒng)存在的共性,進行統(tǒng)一批次的測試。此系統(tǒng)都是采用api 接口接收和傳遞數(shù)據(jù),此時就需要采用專業(yè)的接口請求軟件postman 針對此系統(tǒng)的所有api接口發(fā)送請求,查看返回值情況,來判斷系統(tǒng)各個功能是否正常運行。

    7 結(jié)束語

    此系統(tǒng)可對研究生的不同學術(shù)檔案進行收集,解決了人工收集時出現(xiàn)各種問題和其他平臺收集時數(shù)據(jù)不適配等問題,實現(xiàn)了大數(shù)據(jù)背景下學生檔案數(shù)據(jù)的在線收集,平臺的后續(xù)還將進行系統(tǒng)功能的添加,使其能夠可視化展示數(shù)據(jù),便于此系統(tǒng)檔案管理人員能夠分析出學術(shù)檔案的數(shù)量、類型、趨勢等情況,為管理檔案提供便利。

    猜你喜歡
    申請表插件學術(shù)
    《中國交通信息化》雜志贈閱申請表
    自編插件完善App Inventor與樂高機器人通信
    電子制作(2019年22期)2020-01-14 03:16:34
    如何理解“Curator”:一個由翻譯引發(fā)的學術(shù)思考
    中國博物館(2019年2期)2019-12-07 05:40:44
    《中國交通信息化》雜志贈閱申請表
    《中國交通信息化》雜志贈閱申請表
    《中國交通信息化》雜志贈閱申請表
    對學術(shù)造假重拳出擊
    商周刊(2019年2期)2019-02-20 01:14:22
    MapWindowGIS插件機制及應(yīng)用
    基于Revit MEP的插件制作探討
    學術(shù)
    化隆| 黄大仙区| 永州市| 乃东县| 城市| 大田县| 霍山县| 黄冈市| 奉贤区| 阳江市| 禄丰县| 永丰县| 邓州市| 庆元县| 宜宾市| 左权县| 永嘉县| 三明市| 莫力| 福海县| 明星| 广灵县| 沁阳市| 咸宁市| 南充市| 巩义市| 宁安市| 临高县| 揭西县| 读书| 仁怀市| 绥棱县| 搜索| 沧源| 团风县| 平陆县| 临武县| 洮南市| 奉新县| 百色市| 资溪县|