999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MVC架構(gòu)的小學(xué)社團(tuán)申請(qǐng)系統(tǒng)設(shè)計(jì)

2020-01-03 10:09:02袁源
現(xiàn)代信息科技 2020年14期

摘? 要:目前很多中小學(xué)校開(kāi)設(shè)了豐富多彩的社團(tuán)課程,但由于缺乏有效的信息化管理手段,學(xué)校社團(tuán)的管理任務(wù)非常的繁重。針對(duì)中小學(xué)社團(tuán)管理的現(xiàn)狀,利用LNMP、MVC等軟件開(kāi)發(fā)技術(shù),設(shè)計(jì)了一款社團(tuán)申請(qǐng)系統(tǒng),系統(tǒng)采用B/S架構(gòu)。系統(tǒng)的用戶端實(shí)現(xiàn)了社團(tuán)列表的查看、申請(qǐng)和審核結(jié)果的查詢;服務(wù)端實(shí)現(xiàn)了社團(tuán)上線和更新,社團(tuán)教師的配置等。系統(tǒng)經(jīng)過(guò)不斷的迭代開(kāi)發(fā),目前已成功上線。

關(guān)鍵詞:社團(tuán)選課;PHP;LNMP;MVC

Abstract:At present,many primary and secondary schools have opened a variety of interest courses,but due to the lack of effective information management means,the courses management task is very heavy. In view of the current situation of management in primary and secondary schools,a courses application system is designed by using software development technologies such as LNMP and MVC. The system client adopts B/S mode. The client side of the system realizes the inquiry of viewing,applying and reviewing the list of associations. The service side realizes the community on-line and the renewal,the community teacher configuration and so on. After continuous iterative development,the system has been successfully launched at present.

Keywords:community course selection;PHP;LNMP;MVC

0? 引? 言

學(xué)生社團(tuán)是指學(xué)生在自愿基礎(chǔ)上形成的各種群眾性文化、藝術(shù)、學(xué)術(shù)團(tuán)體。不分年級(jí)、系科甚至學(xué)校的界限,由興趣愛(ài)好相近的同學(xué)組成[1]。傳統(tǒng)的應(yīng)試教育在學(xué)生的知識(shí)技能發(fā)展上出現(xiàn)了嚴(yán)重的片面化傾向——唯分?jǐn)?shù)論,這些并不利于學(xué)生的全面發(fā)展。為彌補(bǔ)傳統(tǒng)教育的不足,很多中小學(xué)開(kāi)設(shè)了社團(tuán)課程,近些年學(xué)校的社團(tuán)課程呈現(xiàn)井噴式發(fā)展,棋類(lèi)、樂(lè)器、程序設(shè)計(jì)、3D打印、繪畫(huà)、戲曲、語(yǔ)言藝術(shù)等等。繁多的社團(tuán)課程豐富學(xué)生生活的同時(shí),社團(tuán)的管理工作也給學(xué)校教務(wù)管理人員和社團(tuán)教師帶來(lái)不小的壓力。

我校有80個(gè)教學(xué)班,目前有53個(gè)校級(jí)社團(tuán)和多個(gè)年級(jí)社團(tuán)。每學(xué)年開(kāi)學(xué)伊始,社團(tuán)招生納新活動(dòng),時(shí)間短、任務(wù)重、社團(tuán)教師的壓力非常大。學(xué)校傳統(tǒng)的做法是社團(tuán)教師進(jìn)每個(gè)班級(jí)宣講,宣講完后登記下報(bào)名學(xué)生。隨著學(xué)校社團(tuán)的不斷發(fā)展,社團(tuán)數(shù)量會(huì)越來(lái)越多,這種傳統(tǒng)的選課方式,越來(lái)越難滿足我校的需求。

基于目前社團(tuán)招生的現(xiàn)狀,學(xué)校迫切需要開(kāi)發(fā)一個(gè)社團(tuán)在線申請(qǐng)系統(tǒng)。系統(tǒng)開(kāi)放時(shí)間給學(xué)生選課,社團(tuán)教師審核通過(guò)申請(qǐng)數(shù)據(jù),以解決學(xué)生們選課難的問(wèn)題,并減輕教務(wù)人員以及社團(tuán)教師的壓力。

1? 技術(shù)選型

本系統(tǒng)采用B/S架構(gòu),學(xué)生和教師使用瀏覽器直接訪問(wèn)系統(tǒng),無(wú)須安裝額外軟件。后端主要采用LNMP(Linux+ Nginx+MySQL+PHP)技術(shù)。Linux、Nginx、MySQL、PHP都是免費(fèi)開(kāi)源項(xiàng)目,不涉及任何版權(quán)糾紛,是目前Web開(kāi)發(fā)過(guò)程中,應(yīng)用最為廣泛的Web開(kāi)發(fā)技術(shù)之一。

Linux是一類(lèi)Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱,是目前最流行的免費(fèi)操作系統(tǒng)。在互聯(lián)網(wǎng)已知數(shù)據(jù)的網(wǎng)站中,有超過(guò)半數(shù)的流量基于LAMP或者LNMP架構(gòu);包括百度、騰訊、新浪等多家全球著名的網(wǎng)站。代表版本有:Ubuntu、CentOS、Debian等。其中,CentOS在服務(wù)器里,以安全穩(wěn)定著稱,這里我們選擇CentOS作為我們的服務(wù)器系統(tǒng)。Nginx也是一款非常優(yōu)秀的反向代理服務(wù)器,可以非常方便地實(shí)現(xiàn)服務(wù)器集群和負(fù)載均衡。這里我們使用Nginx作為Web服務(wù)器,以后可以非常方便地實(shí)現(xiàn)服務(wù)器的擴(kuò)展。MySQL是免費(fèi)開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)服務(wù)器,廣泛運(yùn)用于Web系統(tǒng)、大數(shù)據(jù)架構(gòu)、數(shù)據(jù)庫(kù)集群系統(tǒng)中。這里我們采用MySQL作為系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器。PHP是最常用的網(wǎng)站編程語(yǔ)言,廣泛運(yùn)用于網(wǎng)站系統(tǒng)中。和傳統(tǒng)的強(qiáng)類(lèi)型編程語(yǔ)言不同,PHP是一門(mén)解釋型語(yǔ)言,系統(tǒng)解釋運(yùn)行,無(wú)須先編譯后運(yùn)行。PHP具有數(shù)據(jù)支持的優(yōu)勢(shì),PHP支持多種主流與非主流的數(shù)據(jù)庫(kù),比如PHP與MySQL是絕佳的組合,可以實(shí)現(xiàn)跨平臺(tái)運(yùn)行[2]。特別是在PHP 7新版本發(fā)布后,PHP語(yǔ)言的性能也有了很大的飛躍,我們采用這門(mén)語(yǔ)言作為系統(tǒng)開(kāi)發(fā)語(yǔ)言,能夠快速地實(shí)現(xiàn)系統(tǒng)的架構(gòu)。

模型-視圖-控制器(Model-View-Controller,MVC)是當(dāng)前非常成熟程序架構(gòu),它實(shí)現(xiàn)了數(shù)據(jù)、視圖和業(yè)務(wù)邏輯的分層。其中模型層主要和數(shù)據(jù)庫(kù)交互,主要是對(duì)數(shù)據(jù)庫(kù)表的抽象,負(fù)責(zé)數(shù)據(jù)的存取。視圖層負(fù)責(zé)顯示數(shù)據(jù)和接收用戶提交的數(shù)據(jù)。控制層負(fù)責(zé)從視圖層讀取數(shù)據(jù),控制用戶請(qǐng)求的轉(zhuǎn)發(fā),向模型層提取或提交數(shù)據(jù)。使用MVC設(shè)計(jì)的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),方便系統(tǒng)的模塊開(kāi)發(fā)和團(tuán)隊(duì)開(kāi)發(fā),簡(jiǎn)化軟件后期維護(hù)和擴(kuò)展,并且有利于程序代碼重復(fù)利用[3]。利用MVC分層方式構(gòu)建B/S模式的系統(tǒng)時(shí),MVC三層擔(dān)任不同的角色,互不干擾,互相之間充分解耦的同時(shí)又能緊密協(xié)同完成任務(wù)。

2? 系統(tǒng)設(shè)計(jì)

2.1? 系統(tǒng)整體設(shè)計(jì)

系統(tǒng)設(shè)計(jì)大體上分兩部分:管理端和用戶端。管理端主要涉及社團(tuán)教師的增刪改、社團(tuán)課程的增刪改、社團(tuán)招收人數(shù)、社團(tuán)招生開(kāi)放與結(jié)束時(shí)間的配置等。用戶端涉及社團(tuán)課程的瀏覽、報(bào)名、審核結(jié)果的查詢。

2.2? 管理端設(shè)計(jì)

管理端分兩種權(quán)限,一種是超級(jí)管理員,超級(jí)管理員可以管理社團(tuán)教師、社團(tuán)課程、設(shè)置社團(tuán)申請(qǐng)截止時(shí)間。超級(jí)管理員需要將所有的教師、社團(tuán)錄入到數(shù)據(jù)庫(kù),這也是一項(xiàng)非常煩瑣的工作,因此本系統(tǒng)設(shè)計(jì)了社團(tuán)數(shù)據(jù)和教師數(shù)據(jù)一鍵導(dǎo)入的功能,管理員將社團(tuán)和教師信息做成一份Excel,Excel包含以下字段:課程名、課程簡(jiǎn)介、招收年級(jí)、教師姓名、教師賬號(hào)、教師密碼、預(yù)報(bào)名人數(shù)、招收人數(shù),Excel格式如圖1所示。

其中一個(gè)社團(tuán)可以面向多個(gè)年級(jí)招生,對(duì)于Excel中的年級(jí)字段,每個(gè)年級(jí)之間以空格間隔。系統(tǒng)設(shè)計(jì)預(yù)報(bào)名人數(shù)和招收人數(shù),預(yù)報(bào)名人數(shù)應(yīng)大于或等于招收人數(shù),社團(tuán)教師選擇預(yù)報(bào)名人數(shù)中選擇接受的學(xué)生;每個(gè)學(xué)生可以同時(shí)報(bào)三個(gè)社團(tuán),但只有一個(gè)社團(tuán)會(huì)錄取。這樣對(duì)于教師和學(xué)生都有一定的選擇空間,實(shí)現(xiàn)社團(tuán)教師和學(xué)生的雙向選擇。系統(tǒng)中,實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出是一個(gè)相對(duì)復(fù)雜的操作,這里我借助了GitHub中的PHPOffice/PhpSpreadsheet項(xiàng)目。PhpSpreadsheet是一個(gè)純PHP編寫(xiě)的程序庫(kù),提供了xls和xlsx格式文件的讀取、寫(xiě)入和格式修改的操作。采用PhpSpreadsheet,我們不僅可以方便地實(shí)現(xiàn)Excel文件的導(dǎo)入與導(dǎo)出,而且避免了“重復(fù)造輪子”,提高了程序設(shè)計(jì)的效率。

Excel批量導(dǎo)入時(shí),Excel文件中的社團(tuán)或者教師可能已經(jīng)存在與系統(tǒng)中,此時(shí)就會(huì)存在重復(fù)導(dǎo)入的問(wèn)題。起初考慮每一條數(shù)據(jù)寫(xiě)庫(kù)前先查詢一下是否存在,存在時(shí)更新數(shù)據(jù),不存在再批量寫(xiě)入數(shù)據(jù)庫(kù)。實(shí)踐下來(lái)發(fā)現(xiàn),數(shù)據(jù)庫(kù)I/O時(shí)間過(guò)長(zhǎng),設(shè)想有100個(gè)社團(tuán)和100個(gè)社團(tuán)教師,查詢社團(tuán)和社團(tuán)教師就會(huì)訪問(wèn)200次數(shù)據(jù)庫(kù),加上更新和寫(xiě)庫(kù)的操作,經(jīng)常會(huì)出現(xiàn)數(shù)據(jù)庫(kù)操作時(shí)間超時(shí)。因此,插入數(shù)據(jù)庫(kù)時(shí)使用MySQL的ON DUPLICATE KEY UPDATE操作,如果數(shù)據(jù)不存在,MySQL會(huì)直接寫(xiě)庫(kù),該數(shù)據(jù)若已存在(插入數(shù)據(jù)時(shí),唯一索引上出現(xiàn)重復(fù)值),MySQL會(huì)自動(dòng)執(zhí)行更新操作,無(wú)須先查詢。

2.3? 用戶端設(shè)計(jì)

用戶端,學(xué)生在系統(tǒng)首頁(yè)可以看到分年級(jí)排列的社團(tuán)列表、每個(gè)社團(tuán)招收人數(shù)、目前報(bào)名及已審核的人數(shù),并且提供入口搜索自己是否已審核通過(guò)。

考慮到學(xué)生選課時(shí)類(lèi)似于商品的搶購(gòu),容易出現(xiàn)課程超報(bào)的現(xiàn)象,比如小提琴社團(tuán)只剩一個(gè)名額了(n=1),但一瞬間有多個(gè)人同時(shí)搶報(bào),由于學(xué)生搶報(bào)的時(shí)間間隔非常短,A學(xué)生在報(bào)名時(shí),系統(tǒng)查詢到有一個(gè)名額,于是報(bào)名成功,此時(shí)名額需要減1(n=n-1);但減1操作還沒(méi)有完成,B學(xué)生也進(jìn)入了系統(tǒng),此時(shí)查詢到名額還是1,B學(xué)生報(bào)名也成功。B學(xué)生報(bào)名成功后,A學(xué)生的程序執(zhí)行減1的操作完成,剩余名額為0,B學(xué)生的程序執(zhí)行減1程序,導(dǎo)致剩余名額變成了-1。系統(tǒng)中我們采用Redis緩存服務(wù)器解決類(lèi)似于搶購(gòu)的課程超報(bào)現(xiàn)象。我們將課程名額寫(xiě)入緩存服務(wù)器,利用Redis的原子性操作,每進(jìn)入一個(gè)學(xué)生報(bào)名時(shí),鎖定一個(gè)名額,這個(gè)名額被該學(xué)生獨(dú)占,避免了多個(gè)學(xué)生搶一個(gè)名額的現(xiàn)象,如圖2所示。Redis數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)都存儲(chǔ)在內(nèi)存中。內(nèi)存的讀寫(xiě)速度要比硬盤(pán)快得多,因而,相對(duì)于其他基于硬盤(pán)存儲(chǔ)的數(shù)據(jù)庫(kù),Redis在性能上有明顯的優(yōu)勢(shì)[4]。Redis的I/O性能遠(yuǎn)高于MySQL服務(wù)器,因此我們?cè)赗edis中執(zhí)行完搶課操作后,再將數(shù)據(jù)用定時(shí)的CLI命令持久化到數(shù)據(jù)庫(kù)中,這樣不僅解決了課程超報(bào)的現(xiàn)象,還提高了系統(tǒng)的吞吐率。

2.4? 界面UI設(shè)計(jì)

Web前端,我采用的是Bootstrap框架,該框架起源于Twitter,基于HTML、CSS、JavaScript,是目前最受歡迎,應(yīng)用最廣的前端框架之一。采用Bootstrap框架,我們可以快速地構(gòu)建我們的前端頁(yè)面,下面介紹下系統(tǒng)中主要的幾個(gè)頁(yè)面。

教師端登錄之后跳轉(zhuǎn)課程設(shè)置界面,如圖3所示。對(duì)于系統(tǒng)管理員,黑色導(dǎo)航顯示課程、教師、申請(qǐng)、退出四個(gè)按鈕,對(duì)課程、教師、學(xué)生申請(qǐng)都有處理權(quán)限。在課程界面中可以上傳如圖1所示的Excel表格,一次性的導(dǎo)入教師和課程數(shù)據(jù)。對(duì)于社團(tuán)教師,系統(tǒng)設(shè)計(jì)了報(bào)名數(shù)據(jù)導(dǎo)出功能,按照已審核、未審核、已拒絕三個(gè)工作表導(dǎo)出Excel,報(bào)名數(shù)據(jù)一目了然,為后續(xù)社團(tuán)點(diǎn)名提供了便利,導(dǎo)出格式如圖4所示。

對(duì)于學(xué)生端,導(dǎo)航欄有兩個(gè)功能:社團(tuán)、審核查詢。社團(tuán)功能將所有社團(tuán)按年級(jí)展示,如圖5所示,點(diǎn)擊年級(jí)選項(xiàng)卡可以切換年級(jí)社團(tuán)。在審核查詢中,學(xué)生可以查詢到自己的申請(qǐng)是否審核通過(guò)。

3? 結(jié)? 論

社團(tuán)實(shí)踐活動(dòng)是落實(shí)“立德樹(shù)人”的重要載體,對(duì)小學(xué)生的成長(zhǎng)起著非常重要的作用。因此,實(shí)現(xiàn)社團(tuán)課程的信息化管理非常重要。本系統(tǒng)是根據(jù)學(xué)校社團(tuán)招新業(yè)務(wù)量身定制的一款教務(wù)軟件,實(shí)現(xiàn)了中小學(xué)社團(tuán)招新的電子化流程,很大程度上減輕了社團(tuán)教師的工作量。在未使用本系統(tǒng)前,學(xué)校社團(tuán)招生一般耗時(shí)兩到三周,并且社團(tuán)教師去班級(jí)招生時(shí),還容易遺漏一些偏僻角落的班級(jí)。系統(tǒng)應(yīng)用之后,只需等待學(xué)生報(bào)名,報(bào)名結(jié)束即可直接導(dǎo)出報(bào)名數(shù)據(jù),并且該表格數(shù)據(jù)可以直接用于后期課上點(diǎn)名,非常的方便。

并且基于LNMP的軟件系統(tǒng),較傳統(tǒng)的Windows服務(wù)器架構(gòu)在系統(tǒng)的安全系、穩(wěn)定性上也有質(zhì)的飛躍。在系統(tǒng)運(yùn)行階段,我會(huì)不斷地收集用戶體驗(yàn)數(shù)據(jù),不斷地迭代完善系統(tǒng)。后期,當(dāng)系統(tǒng)運(yùn)行到非常穩(wěn)定的階段,預(yù)計(jì)會(huì)再加上課程展示模塊和作業(yè)成績(jī)模塊,屆時(shí),系統(tǒng)會(huì)收集到報(bào)名數(shù)據(jù)、學(xué)生平時(shí)的作業(yè)數(shù)據(jù)和社團(tuán)最后的結(jié)業(yè)成績(jī)數(shù)據(jù),最后我們對(duì)這些數(shù)據(jù)運(yùn)用大數(shù)據(jù)技術(shù)進(jìn)行綜合分析,可以為學(xué)校的社團(tuán)建設(shè)和學(xué)生的社團(tuán)申請(qǐng)?zhí)峁┮恍┯袃r(jià)值的建議。

參考文獻(xiàn):

[1] 趙學(xué)敏.以社團(tuán)活動(dòng)為平臺(tái),促進(jìn)學(xué)校藝術(shù)教育 [J].高考,2020(32):127.

[2] 劉曉知.PHP在動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)中的優(yōu)勢(shì) [J].電子制作,2020(8):64-65.

[3] 蔣亞輝.基于LNMP搭建教學(xué)資源分享網(wǎng)盤(pán)FileRun [J].中國(guó)信息技術(shù)教育,2020(2):95-98.

[4] 徐茂紅,王飛,張明.基于大數(shù)據(jù)量的Redis技術(shù)應(yīng)用與研究 [J].信息技術(shù)與信息化,2019(11):228-230.

[5] 史正鶴.淺析如何在社團(tuán)實(shí)踐活動(dòng)中培養(yǎng)學(xué)生的品德 [J].天天愛(ài)科學(xué)(教育前沿),2020(7):138.

作者簡(jiǎn)介:袁源(1990.11—),男,漢族,江蘇揚(yáng)州人,信息技術(shù)教師,研究生,研究方向:遠(yuǎn)程教育平臺(tái)設(shè)計(jì)及開(kāi)發(fā)。

主站蜘蛛池模板: 精品超清无码视频在线观看| 激情网址在线观看| 真人免费一级毛片一区二区| 91蜜芽尤物福利在线观看| 97人人模人人爽人人喊小说| 91久久性奴调教国产免费| 亚洲AV无码久久精品色欲| 成色7777精品在线| 国产精品永久免费嫩草研究院 | 九色视频一区| a免费毛片在线播放| 这里只有精品在线| 国产成人亚洲综合A∨在线播放| 国产美女精品一区二区| 久久这里只精品国产99热8| 国产精品亚欧美一区二区三区| a天堂视频在线| 国产日韩欧美成人| 亚洲综合中文字幕国产精品欧美| 99免费在线观看视频| 亚洲最新地址| 在线一级毛片| 四虎在线观看视频高清无码| 国产成人久视频免费| 亚洲成网777777国产精品| 国产精品林美惠子在线播放| 国内精品小视频在线| 多人乱p欧美在线观看| 三上悠亚在线精品二区| 久久夜色精品国产嚕嚕亚洲av| 在线观看国产精品一区| 一级毛片中文字幕| 国产成人综合日韩精品无码不卡| 中国精品自拍| 亚洲精品动漫| 免费人成又黄又爽的视频网站| 色婷婷狠狠干| 欧美日韩中文字幕二区三区| 无码人妻热线精品视频| 综合天天色| 亚洲日本在线免费观看| 97在线国产视频| 国产乱子伦视频在线播放| 亚洲精品无码AⅤ片青青在线观看| 浮力影院国产第一页| 久久久久人妻精品一区三寸蜜桃| 国产aaaaa一级毛片| 在线免费不卡视频| 狠狠色狠狠色综合久久第一次| 四虎国产精品永久在线网址| 国产高清在线观看91精品| 国产亚洲视频免费播放| 久久精品国产在热久久2019| 亚洲男人天堂久久| 午夜人性色福利无码视频在线观看| 国产成人91精品| 另类专区亚洲| 国产手机在线小视频免费观看| 久久毛片基地| 亚洲国产无码有码| av在线5g无码天天| 六月婷婷精品视频在线观看| 国产精品自拍合集| 日韩人妻无码制服丝袜视频| 91视频免费观看网站| 大香网伊人久久综合网2020| 91九色国产在线| 亚洲精品第五页| 亚洲大尺码专区影院| 综合色天天| 欧美日韩亚洲国产主播第一区| 欧美日在线观看| 91国内在线观看| 日本三级精品| 国产成人精品日本亚洲| 精品国产中文一级毛片在线看| 一级香蕉人体视频| 青青草一区二区免费精品| 中文国产成人精品久久| 1769国产精品免费视频| 亚洲国产成人精品无码区性色| 国产成人永久免费视频|