林菲菲 吳榮珍
摘要:目前系務管理借用多個系統進行,導致效率低、交互性不強,數據處理帶來了不少的困難,為系部管理人員、教師、學生提供一個方便、實時的交流和溝通的平臺成為不可忽略的問題,鑒于此,設計系務管理系統。系統前臺使用多線程可移植的Java進行開發,后臺采用高效開源的MySQL進行設計,主要設計了教師信息、教學計劃、課程安排、 教材管理、成績管理、畢業管理、學生信息變更、班級調整、學籍變更、獎懲信息管理等功能模塊。結果表明,保證數據一致性,減少冗余,提高系務處理效率和管理水平。
關鍵詞:系務管理;Java;構件;MySQL數據庫;信息系統
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2024)07-0053-04
開放科學(資源服務)標識碼(OSID)
0 引言
系作為學校二級管理機構,其基本事務的管理是系部管理工作中的重要組成部分,使用計算機對各種資源進行管理,能夠極大地提高工作效率,也是使各系管理工作趨向科學化、正規化的重要前提和手段。目前學校系基本事務管理仍是借用學生管理系統和教務管理系統進行,這種管理方式效率低、操作復雜、交互性不強[1],給查找信息、修改和保存數據都帶來了不少的困難。開發一套基于系綜合事務管理的信息系統,為系務管理信息化提供輔助手段,為教學/學生管理人員、教師/輔導員、學生提供一個交流和溝通的平臺。
1 系統需求分析
系統采用具有分布式與面向對象、多線程與動態性[2]、安全性及可移植等特點的Java作為前臺開發工具[3],后臺使用速度快、體積小且開源免費的MySQL 數據庫管理系統進行開發[4]。包括教師基本信息管理、教學計劃、課程教材、成績、畢業管理、學生基本信息管理、學籍變更管理、獎懲信息管理、班級管理等。實現數據庫功能如增、刪、改、查、排序、打印及大量原始數據自動檢索,提取有用信息進行更高層次的操作功能,減少因復雜的信息和繁多的項目帶來管理不便,以提高辦公效率。
1.1 功能需求分析
系統的主要功能有:對基本信息進行增、刪、改、查等操作;制定教學計劃,生成新的課表并刪除舊課表,并對各門課程所使用的教材的管理;對學生成績、畢業信息、學籍變更情況以及學生獎懲信息等的操作管理;進行用戶管理,使用密碼登錄,進行數據庫備份與還原,保證系統的安全。各模塊需求如下:
教師基本信息:對教師信息操作。
教學計劃:對教學計劃制定的基本操作。
課程教材:對教師選擇的教材信息進行管理。
課程安排:舊課表的刪除和新課表的生成。
成績管理:包括成績錄入、修改、查詢和學分統計等操作。
畢業管理:對學生畢業信息的基本操作。
學生基本信息管理:對學生信息的基本操作。
學籍變動管理:對學生學籍變動信息的管理。
學生獎懲信息管理:包括獎勵信息和懲罰信息的操作。
系統管理:包括系統設置和用戶管理以及數據庫維護。
1.2 數據需求
系務管理信息系統是一個綜合管理信息系統,所涉及高校管理的兩個最基本的也是最重要的內容即學生和教學,數據量大,為了減少冗余,由學院統一管理的信息就不再涉及,系統需要管理的數據僅僅涉及日常管理的一些信息。派生或一些小類信息并未列入其中,主要包括基本信息類、教學類、學生管理類等。系統總體數據類如表1所示。
各類數據需求分析:
基本數據:在校生和本系教職員工的基本信息,不涉及詳細的信息,避免數據冗余。
教學管理數據:系內教師、外聘教師、兼職教師等的授課信息、課程信息匯總、調停課、考試安排等。
學生信息管理數據:學生獎懲、學籍變更、班級管理、學業預警等數據。
1.3 系統業務流程圖
系統主要是對教學和學生信息進行管理,系務管理信息系統業務流程圖,見圖1所示。
教研室主任:根據制定教學計劃進行排課,供教師選教材,并把排課和選擇教材匯總數據反饋給教務秘書,教務秘書將選教材結果上報校教務處統一征訂教材,并排課,課程結束后經過考核,錄入成績。
教務秘書:輸入教師信息,并管理學生成績,根據學生成績確定學生學分是否夠,是否準許畢業。
學生管理人員:輸入學生信息、班級信息,及時更新學生由于退學、轉專業、休學等情況發生的學籍變更,并告知有關教師及班主任和學生管理人員。錄入學生及班級獎懲信息,以確定學生是否準許畢業,教師根據學生考勤情況,決定是否給予期末考試。
學生:可以查詢自己在校,獎懲信息、畢業信息及個人基本信息。系統業務流程圖如圖1所示。
1.4 系統用例
1) 教學計劃用例。教學計劃管理主要完成教學計劃的制定、修改、刪除以及根據教學計劃對教師進行排課并選擇相應的課程教材。教學計劃用例圖如圖2所示。
2) 成績管理用例。成績管理主要提供成績單的錄入、修改、學分統計等,并能根據查詢條件進行成績查詢、打印等功能。
3) 教材管理用例。教材管理主要完成教材選擇和統計功能。
4) 畢業管理用例。畢業管理用例完成對學生畢業信息的錄入、查詢、修改、統計等操作。畢業管理用例圖如圖3所示。
5) 獎懲管理用例。獎懲管理用例主要是對在校學生獎懲信息的錄入、查詢、修改等操作。
2 系統設計
2.1 功能模塊設計
本系統分大模塊,12個功能小模塊,分別是:教師信息管理、教學計劃、課程安排、 教材管理、成績管理、畢業管理、學生基本信息、班級管理、學籍變更信息、獎懲信息等功能模塊。系統功能模塊圖如圖4所示。
2.2 數據庫設計
根據系統需求分析和系統設計,選擇一些合適信息單位作為本系統使用基本實體,如學生、班級、教師、畢業等,本系統中主要的實體聯系有教材、成績、變更說明等,系統概念結構設計(ER圖)如圖5所示。
通過E-R圖向關系模型轉換的方法得到如下數據模型。
教師信息:(教工號、姓名、性別、職稱、出生日期、民族、政治面貌、畢業院校、所學專業、學歷、聯系電話、E-mail、備注)
教學計劃:(課程代號、課程名稱、課程類別、理論教學時數、實訓教學時數、總學時、學分、學期周時數)
課表:(課程代號、班級編號、課程名稱、總學時、教學起止周、周學時、課程類別、任課教師、星期一、星期二、星期三、星期四、星期五)
教材:(課程代號、教工號、教材名稱、出版社、單價、作者、書號、課程簡介、是否高職高專教材、備注)
成績:(學號、課程代號、課程名稱、平時成績、期末成績、總評成績、補考成績、重修成績、備注)
畢業信息:(畢業證編號、姓名、班級名稱、畢業時間、備注)
學生信息:(學號、姓名、性別、出生日期、民族、班級、家庭住址、生源地、聯系電話、電子郵件、備注)
班級:(班級編號、班級名稱、所屬系年級、專業、學制、輔導員/班主任)
學籍變更:(記錄號、記錄對象、變更情況、記錄時間、班級名稱、詳細描述)
獎懲信息:(記錄號、級別、處分對象、記錄時間、詳細描述、是否生效)
變更說明:(學號、記錄號、變更原因)
獎懲發布:(學號、記錄號、班號、獎懲原因)
畢業證領取:(畢業證號、學號、領取時間、簽名、備注)
登錄日志:(用戶名、用戶權限、登錄時間)
系統賬號:(登錄用戶名、用戶口令、用戶權限)
權限:(用戶名、登錄用戶名、權限類型)
根據本系統的特點,在后臺數據庫中建立以下的索引和視圖:
1) 在學生基本信息表上,建立屬性“姓名”和“年齡”的組合索引。
2) 在成績表中,建立屬性“成績”索引。
3) 教師基本情況表中,建立“職稱”“年齡”兩個索引。
由于在輸出學生情況和教師教學情況時會同時,涉及多個表,因此,有必要創建視圖,以簡化數據的操作。
1) 教師教學情況視圖,該視圖所包括的字段有工號、姓名、授課名稱、授課班級、授課學期、課程性質等。所涉及的表有教師基本信息表、教學計劃表、班級信息表等。
2) 學生在校情況視圖,該視圖包括的字段有學號、姓名、總學分、獎懲名稱、畢業證書編號等。所涉及的表有學生基本信息表、成績表、獎懲信息表及畢業信息表等。
4 系統實現主要技術
4.1 翻頁查詢小構件設計
主要功能是對系務管理信息系統較大的表進行全表掃描[5],將每一頁查詢的數據控制在一定數量范圍內,降低對數據庫壓力[6],實現數據查詢完整性。實現方法是把翻頁部分抽象成公共腳本,單獨定義各個具體業務邏輯。通過定義select函數、轉化函數及處理函數,以及調用數據持有的容器[7],同時調用的翻頁查詢構件[8],該構件具有支持定義翻頁數量、處理總數與起始編號、翻頁睡眠時間等功能。
1) 實現的SQL語句代碼如下:
select Items.id= FirstPage - ResulType=com. Items
select from items where Deleted-0
if tests=beginId<>null then
tests= isFirst is true and items.id
order by items.id limit 0;
查詢構件主要思路是,首先查詢起始的id,首次可為空,從第二次開始取最后1個記錄的id,并設置每次查詢的個數,將查詢結果轉化為數據處理函數的參數、處理結果保存在數據持有容器中。
function
funct ion
Funct ion
Map< Integer, Record> dataContainMap = new HashMap<>();//數據持有容器
2) 進行數據查詢:
quryParm=(T) new QueryParm( firstPgeId, pagSize, isFirst) ;
quryResu=quryFuntion. apply( quryParm) ;
if (quryResult== null|| ! queyResul. isHasNext())
Then logger . info( logPref ix+" ResulIs NULL OR Empty");
3) 將查詢結果轉化為數據處理函數的參數:
dealPram=tranformFunction . apply( quryResu);
dealPram . setResulContain( resuContain);
IntcurSize=quryResult. getSize() count+=curSize;
4) 對數據進行處理:
logger . info( logPrefix+" End, spend:{ }”,System. currentTimeMillis()-start);
4.2 事務提醒功能的設計
事務提醒功能是指系務日常事務工作的提醒。包含補考重修考試安排、學業預警通知、休學復學到期通知等的提醒。以保證工作能得到及時的處理。在系統中設計TRIGGER(inout),同時結合Java的分布式及多線程技術特點,業務提醒作了并行處理并使用Reminder Thread類開啟提醒線程,設計一個信息提示二維表,監視各事務到點辦理通知,觸發一個timer控件不間斷地從消息表里提取數據,到達設置時限即觸發事務提醒功能。主要代碼如下:
SimpleDateFormat x=newSimpleDateFormat("hh: mm:ss" ); // 從系統獲取時間
Remind r1=new? Remind(time, null, remindMessage); // 創建提醒線程對話框
Thread qThread=new Thread (r1) ;
qThread. start () ;
1) 獲取系統當前的日期時間:
FROMSysDateTime y1=FromnewSysdatetime( YY-MM-DD HH:MM:SS) ;
2) 事務提醒線程的可視化提示框的創建:
TransaThread X1=new TransaThread(Datetime, NotNull, TransaMessage);
3) 事務開始:
KTransaThread. start () ;
5 結論
根據二級學院系務管理實際問題,進行系統詳細設計并給出實現技術。通過使用該系統,可以實現系務管理信息化,解決了效率低、操作復雜、交互性不強、數據源獲取困難等問題,減少錯誤率,促進二級學院各項工作有序開展,提高工作效率。但是,隨著信息化校園的推進,數據變得越來越龐大且雜亂無序[6],數據的安全性和完整性以及私有庫的設計等方面還須進一步完善。
參考文獻:
[1] 莊帥,呂波.基于Java設計實現職工信息管理系統[J].信息系統工程,2022(7):149-152.
[2] 聶旭.B/S架構網絡系統數據庫訪問性能提升技術及其應用研究[D].武漢:華中科技大學,2017.
[3] 王梓屹.基于Java的在線家庭體育作業系統的設計與實現研究[D].長春:吉林大學,2022.
[4] 唐倩文,陳良育.基于復雜網絡理論的Java開源系統演化分析[J].計算機科學,2018,45(8):166-173.
[5] 劉杰,孫浩,郭東旭,等.基于Spring MVC及MyBatis框架的在線教育平臺的設計與實現[J].沈陽師范大學學報(自然科學版),2019,37(3):268-273.
[6] 王爍宇,張宸豪,肖志仁,等.基于Java的可加密校園即時通信系統設計與實現[J].電腦編程技巧與維護,2023(8):170-173.
[7] 張軍.基于Java的企業人力資源管理系統的設計與實現[J].中國信息化,2022(3):42-44.
[8] 李月萍.職業院校教務管理系統的優化與創新[J].現代信息科技,2019(12):119-120,123.
【通聯編輯:唐一東】