摘要:大數(shù)據(jù)時(shí)代,需要進(jìn)一步優(yōu)化傳統(tǒng)教務(wù)管理模式,充分發(fā)揮互聯(lián)網(wǎng)和計(jì)算機(jī)技術(shù),構(gòu)建學(xué)生選課系統(tǒng),減輕教務(wù)管理人員工作任務(wù)。該文對(duì)遠(yuǎn)程教學(xué)系統(tǒng)需求進(jìn)行了分析,給出了系統(tǒng)的詳細(xì)設(shè)計(jì),最后采用Spring+SpringMVC+Mybatis框架實(shí)現(xiàn)。
關(guān)鍵詞:選課系統(tǒng);SSM;系統(tǒng)設(shè)計(jì);Java
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)08-0056-03
1 背景
隨著高校教學(xué)改革,不少高校已開(kāi)始實(shí)行學(xué)分制。學(xué)生根據(jù)專業(yè)培養(yǎng)方案,自主選擇課程完成規(guī)定學(xué)分。統(tǒng)計(jì)學(xué)生選課信息是一項(xiàng)龐大的工程,人工基本無(wú)法完成。計(jì)算機(jī)可以存儲(chǔ)大量數(shù)據(jù),方便管理,數(shù)據(jù)保存時(shí)間長(zhǎng)[1|。因此,應(yīng)開(kāi)發(fā)一套軟件系統(tǒng)對(duì)學(xué)生選課進(jìn)行管理,提高高校教務(wù)管理人員工作效益。系統(tǒng)采用Spring+SpringMVC+Mybatis框架(SSM)實(shí)現(xiàn)。
2 需求分析
2.1 功能需求
用戶首先需要成功登陸才能訪問(wèn)系統(tǒng),不同角色的用戶系統(tǒng)主界面不同。學(xué)生可以選課、查看個(gè)人成績(jī)。教師可以查看選課情況、管理學(xué)生選課,按照班級(jí)錄入成績(jī)。管理員可以對(duì)學(xué)生、老師、課程的信息進(jìn)行增加、修改、批量刪除等操作,還可以發(fā)出即時(shí)公告。
2.2 業(yè)務(wù)流程分析
根據(jù)功能需求,系統(tǒng)具體業(yè)務(wù)流程如圖1所示:
2.3 數(shù)據(jù)庫(kù)需求分析
根據(jù)功能需求,數(shù)據(jù)庫(kù)中實(shí)體如下,采用E-R圖表示。用戶實(shí)體用于區(qū)分角色,包括教師、學(xué)生、管理員賬號(hào)信息,實(shí)體屬性如圖2所示。
學(xué)生選完課程后,課程修完后教師可以錄入成績(jī),學(xué)生可以查詢課程成績(jī)。成績(jī)實(shí)體及其屬性如圖6所示。
學(xué)生選課時(shí),一個(gè)學(xué)生可以選擇多門課程,一門課程可以被多個(gè)學(xué)生選擇,一個(gè)教師可以教多門課程,一門課程可以被多個(gè)教師教授。因此,上述實(shí)體間關(guān)系如圖7所示。
3 系統(tǒng)設(shè)計(jì)
該系統(tǒng)主要應(yīng)用于互聯(lián)網(wǎng),面向廣大師生。這些群體分布范圍較廣,并且客戶平臺(tái)不統(tǒng)一,需要能方便、靈活的使用,本系統(tǒng)采用B/S結(jié)構(gòu),即瀏覽器/服務(wù)器(Browser/Server)。
3.1 系統(tǒng)功能模塊
系統(tǒng)采用Spring+SpringMVC+Mybatis框架(SSM)搭建,采用互聯(lián)網(wǎng)應(yīng)用最流行的前后端分離模式。系統(tǒng)從登錄頁(yè)面分別進(jìn)入管理員、教師、學(xué)生模塊。管理員模塊可以對(duì)學(xué)生、教師、課程進(jìn)行添加,修改,刪除等功能。學(xué)生模塊主要有選課和查看成績(jī)。教師模塊可批量錄入成績(jī),取消選課。系統(tǒng)總體功能模塊如圖8所示。
3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)數(shù)據(jù)庫(kù)分析,設(shè)計(jì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)。
1)用戶表。記錄教師、學(xué)生、管理員的賬號(hào)密碼,并且通過(guò)外鍵關(guān)聯(lián)角色表,使得各用戶在登錄使能進(jìn)入對(duì)應(yīng)的模塊,結(jié)構(gòu)如表1所示。
5)成績(jī)表。記錄學(xué)生選課信息、成績(jī),外鍵連接課程表、學(xué)生表和教師表,結(jié)構(gòu)如表5所示。
4 開(kāi)發(fā)技術(shù)
系統(tǒng)采用了Java+SSM作為開(kāi)發(fā)工具,以Mysql為后臺(tái)數(shù)據(jù)庫(kù),Web服務(wù)器選用Tomcat。
4.1 Java和SSM
Java是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,綜合了其他高級(jí)程序語(yǔ)言的特點(diǎn),同時(shí)也摒棄了其他語(yǔ)言中的一些不足,如多繼承、指針等。Java具有簡(jiǎn)單、健壯、安全、跨平臺(tái)、多線程等特點(diǎn),可以應(yīng)用于開(kāi)發(fā)桌面程序、Web程序、分布式系統(tǒng)、嵌入式系統(tǒng)等[2]。
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MvBatis兩個(gè)開(kāi)源框架整合而成,常作為數(shù)據(jù)源較簡(jiǎn)單的web項(xiàng)目的框架。Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,核心思想是IoC(控制反轉(zhuǎn)),不需要顯示的定義對(duì)象,由Spring框架自定完成。IoC技術(shù)促進(jìn)了松耦合[3]。
SpringMVC在項(xiàng)目中攔截用戶請(qǐng)求,核心是Servlet即Dis-patcherServlet,承擔(dān)中介或前臺(tái)職責(zé),將用戶請(qǐng)求通過(guò)Handler-Mapping去匹配Controller。Controller就是具體對(duì)應(yīng)請(qǐng)求所執(zhí)行的操作,SpringMVC相當(dāng)于SSH框架中strrits[4][5]。
MvBatis框架對(duì)jdbc進(jìn)行了封裝,對(duì)數(shù)據(jù)庫(kù)操作就變得透明了。MyBatis的操作都是圍繞一個(gè)sqlSessionFactory實(shí)例展開(kāi)的,通過(guò)配置文件關(guān)聯(lián)到各實(shí)體類的Mapper文件。Mapper文件中配置了每個(gè)類對(duì)數(shù)據(jù)庫(kù)所需進(jìn)行的sql語(yǔ)句映射。在每次與數(shù)據(jù)庫(kù)交互時(shí),通過(guò)sqISessionFactory得到一個(gè)sqlSession,再執(zhí)行sql命令。
4.2 Eclipse、Tomcat和MySQL簡(jiǎn)介
Eclipse是一款基于Java的開(kāi)源開(kāi)發(fā)工具,作為Java集成開(kāi)發(fā)環(huán)境,通過(guò)插件來(lái)擴(kuò)展其功能。安裝不同的插件,Eclipse可以支持多種計(jì)算機(jī)語(yǔ)言,使用靈活。Tonucat是Apache的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,是一款免費(fèi)開(kāi)源的輕量級(jí)Web應(yīng)用服務(wù)器,是基于Java Web開(kāi)發(fā)的首選服務(wù)器。MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),使用soL作為數(shù)據(jù)庫(kù)操作語(yǔ)言,為Oracle旗下產(chǎn)品。MySQL數(shù)據(jù)庫(kù)開(kāi)源、跨平臺(tái),與PHP、Java在Web開(kāi)發(fā)上可以實(shí)現(xiàn)完美結(jié)合,常用作中小型企業(yè)的Web數(shù)據(jù)庫(kù)。
5 系統(tǒng)主要界面
5.1 管理員主界面
管理員成功登錄系統(tǒng)后進(jìn)入管理后臺(tái),主界面如圖9所示。
5.2 學(xué)生主界面
學(xué)生成功登錄系統(tǒng)后進(jìn)入學(xué)生主界面,界面如圖10所示。
5.3 教師主界面
教師成功登錄系統(tǒng)后進(jìn)入教師主界面,界面如圖11所示。
6 結(jié)束語(yǔ)
選課系統(tǒng)可以高效輔助高校教務(wù)管理人員進(jìn)行日常教務(wù)管理。文中從系統(tǒng)需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)技術(shù)、系統(tǒng)實(shí)現(xiàn)效果詳細(xì)介紹了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),系統(tǒng)采用Spring+Spring-MVC+MVBatis框架實(shí)現(xiàn)。
參考文獻(xiàn):
[1]王小春.選課系統(tǒng)管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].太原師范學(xué)院學(xué)報(bào):自然科學(xué)版,2019,18(2):81-83.
[2]魯珂.基于Java語(yǔ)言的網(wǎng)絡(luò)操作系統(tǒng)[J].電子技術(shù)與軟件工程,2017(10):247.
[3]陳喜林.電信前臺(tái)業(yè)務(wù)統(tǒng)一支撐平臺(tái)的研究與設(shè)計(jì)[D].南昌:南昌大學(xué),2019.
[4]葛莉.普通高校二級(jí)學(xué)院教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:西華大學(xué),2018.
[5]葛萌,黃素萍,歐陽(yáng)宏基.基于Spring MVC框架的Java Web應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2018(8):97-101.
【通聯(lián)編輯:謝媛媛】
收稿日期:2020-01-25
基金項(xiàng)目:安徽省教育廳科學(xué)研究項(xiàng)目資助(項(xiàng)目編號(hào):KJ2017A852);教育部《高等職業(yè)教育創(chuàng)新發(fā)展行動(dòng)計(jì)劃(2015-2018年)》項(xiàng)目 (項(xiàng)目編號(hào):2016cxxdxm-4);安徽省高等學(xué)校質(zhì)量工程項(xiàng)目(項(xiàng)目編號(hào):2018ylzy160)
作者簡(jiǎn)介:石鳳貴(1982-),男,安徽宿松人,講師,碩士,研究方向?yàn)樽詣?dòng)問(wèn)答、人工智能應(yīng)用。