李慧卿 盧昕 徐新愛
摘要:數(shù)據(jù)結(jié)構(gòu)課程學習網(wǎng)站能有助于學生利用課外時間進行課程內(nèi)容的查漏補缺。文章基于學生課堂學習情況以及主流的網(wǎng)站建設(shè)技術(shù),設(shè)計并實現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程學習網(wǎng)站。采用目前Web程序設(shè)計中最常用的C/S架構(gòu)模式,以Eclipse、Sublime為開發(fā)工具,使用Java語言進行網(wǎng)站的設(shè)計與開發(fā),服務(wù)器端采用阿里云服務(wù)器,使用Navicat for MySQL數(shù)據(jù)庫管理和開發(fā)工具來操縱數(shù)據(jù)庫并連接MySQL保存數(shù)據(jù)。網(wǎng)站實現(xiàn)了用戶注冊登錄、教學資源管理、基礎(chǔ)知識學習、在線編程等多個功能模塊。
關(guān)鍵詞:網(wǎng)站設(shè)計;Java;數(shù)據(jù)結(jié)構(gòu)
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)09-0030-03
1 研究背景與意義
數(shù)據(jù)結(jié)構(gòu)課程在整個計算機專業(yè)課程體系中起著不可忽視的作用,然而,由于實際教學課時少、教學任務(wù)重,加之數(shù)據(jù)結(jié)構(gòu)課程知識點眾多且抽象,因此,學生想要只在有限的課堂教學中扎實掌握數(shù)據(jù)結(jié)構(gòu)教學內(nèi)容是存在較大難度的。本研究旨在設(shè)計并開發(fā)一個數(shù)據(jù)結(jié)構(gòu)課程學習網(wǎng)站,協(xié)助學生進行更有效的課外學習。
站在學生的角度,課外學習是對課堂中專業(yè)課內(nèi)容進行復(fù)習鞏固以及查漏補缺的重要途徑。課外學習不僅能鞏固上課所學,更能開拓視野,形成良好的專業(yè)素養(yǎng);學生通過本數(shù)據(jù)結(jié)構(gòu)學習網(wǎng)站,可以隨時查閱本課程“基礎(chǔ)知識資料”,也可以通過大量習題“在線編程”進行自我測試,并能及時與其他學習者交流想法并及時解決遇到的問題。
站在老師的角度,教師可以將課程相關(guān)的資料與學科競賽相關(guān)的信息——“教學資源”統(tǒng)一發(fā)布于此網(wǎng)站上,該網(wǎng)站也可作為教師布置學習任務(wù)的平臺,方便了學生與教師之間信息的相互傳遞,通過網(wǎng)站記錄的學生學習數(shù)據(jù)可以更加清晰的了解每位學生的在線學習情況,在一定程度上方便了教師的教學。
2 研究現(xiàn)狀
目前國內(nèi)有關(guān)專門學習數(shù)據(jù)結(jié)構(gòu)課程的學習網(wǎng)站屈指可數(shù),比較值得信賴以及應(yīng)用最廣的有中國大學慕課、國家精品課程在線學習平臺—學堂在線等。
然而,大部分學習平臺都存在一些不足之處:
1)教學視頻和課件的內(nèi)容理論性偏強、填鴨式教學,教學中與實際生活的問題和實際項目開發(fā)聯(lián)系較少。
2)教學資源缺乏針對性,未針對不同學習者,給出適當?shù)耐扑]學習視頻以及針對性的階段測試。
3 功能需求分析
3.1 系統(tǒng)總需求
數(shù)據(jù)結(jié)構(gòu)課程學習網(wǎng)站系統(tǒng)旨在方便學生學習數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,同時提供一個學生共同學習、共同交流心得的數(shù)據(jù)結(jié)構(gòu)課程專用學習平臺。用戶主要是學生和本課程教師,因此系統(tǒng)要有較強的針對性和交互性,從而方便教師對本門課程資源的分享以及對學生學習動態(tài)的掌握。
3.2 客戶端功能需求
客戶端是專門為用戶的需求而設(shè)計的,因此客戶端應(yīng)設(shè)計得簡潔大方,功能結(jié)構(gòu)清晰,最大程度上減少客戶學習使用此網(wǎng)站的時間??蛻舳斯δ荏w系結(jié)構(gòu)如圖1所示。
客戶端主要提供以下功能:
1)注冊與登錄功能,收集用戶提交的信息并驗證用戶提交的信息是否合法。
2)在線測試功能,用戶可以通過此功能在線測試與編程,從而了解自身掌握知識點的熟練程度。
3)基礎(chǔ)知識學習功能,用戶可以選擇指定章節(jié)學習對應(yīng)課程的基礎(chǔ)知識。
4)社區(qū)交流功能,用戶可以在此功能模塊下與其他學習者交流學習。
5)信息公告功能,用戶可以在此功能模塊下瀏覽網(wǎng)站發(fā)布的通知等信息。
6)下載文件功能,用戶可以在此功能模塊下下載所需的文件。
3.3 服務(wù)器端功能需求
服務(wù)器端需要存儲用戶數(shù)據(jù)以及網(wǎng)站數(shù)據(jù),一方面需要完成與客戶端之間的交互,另一方面需要處理用戶提交的注冊與登錄數(shù)據(jù)、用戶修改個人信息請求、用戶下載資源請求并對網(wǎng)站資源進行管理。服務(wù)器端功能體系結(jié)構(gòu)如圖2所示。
4功能模塊設(shè)計與實現(xiàn)
4.1 實體類與數(shù)據(jù)接口設(shè)計
根據(jù)系統(tǒng)需求分析,定義的實體類包括:用戶類(User)、社區(qū)交流類(CommunityExchange)和信息公告類(announcement);定義數(shù)據(jù)接口有添加用戶addUser(User)、通過激活碼查找用戶findUserByActiveCode(String)、通過ID查找用戶findUserById(String)、通過用戶名查找用戶findUserByUserName(String)、更新激活狀態(tài)updateState(String)、更新用戶信息updateUser(User)。
除此之外,還定義了以下功能函數(shù):
1)用戶注冊:public User Register(User user),用于使用該網(wǎng)站的用戶進行注冊。
2)用戶登錄:public User Login(String username,String password),用于使用該網(wǎng)站的注冊用戶進行登錄。
3)用戶激活:public activeUser(String activeCode),用于使用該網(wǎng)站的用戶注冊后進行激活。
4)通過ID查找用戶:public User findUserById(String id),用于判斷用戶是否是注冊用戶。
5)用戶信息修改:public void modifyUserInfo(User user),用于使用該網(wǎng)站的注冊用戶進行個人信息的維護。
4.2 用戶注冊功能模塊
用戶注冊功能模塊主要用于實現(xiàn)新用戶注冊。進入網(wǎng)站首頁后,如圖3所示,未注冊的新用戶可以點擊“用戶注冊”按鈕跳轉(zhuǎn)到注冊界面。在該界面中,用戶要求在表單中填寫對應(yīng)的個人信息,信息包括郵箱、用戶名、密碼;同時使用校驗碼機制,防止惡意注冊。
4.3 用戶登錄功能模塊
當用戶注冊完畢后,會自動跳轉(zhuǎn)到首頁,繼續(xù)進行登錄,只有合法用戶登錄后才能使用網(wǎng)站的下載功能和在線測試功能。
用戶登錄時輸入對應(yīng)的用戶名及密碼,點擊登錄按鈕后信息將傳入服務(wù)器,服務(wù)器將接收的信息與數(shù)據(jù)庫中該用戶的注冊信息進行比對,若一致,則允許用戶登錄;若不同,則顯示登錄失敗,并導(dǎo)出相對應(yīng)的錯誤信息:“用戶名或密碼錯誤”。如圖5所示。
4.4課程資源模塊
課程資源模塊允許學生下載教師發(fā)布的課程資源,同時教師可以刪除已經(jīng)發(fā)布的課程資源。學生下載課程資源如圖6所示,教師刪除課程資源如圖7所示。
4.5在線編程模塊
在線編程模塊允許用戶通過此模塊進行在線編程訓練,及時查看結(jié)果,還能參加各種編程比賽;界面如圖8所示。
5 結(jié)束語
本系統(tǒng)使用Java編程語言,利用Eclipse、Sublime、Navicat for MySQL等開發(fā)工具進行網(wǎng)站開發(fā)與數(shù)據(jù)庫設(shè)計。后續(xù)將融合大數(shù)據(jù)分析技術(shù),實時統(tǒng)計并分析用戶的在線學習行為,對用戶的行為及時反饋、評定等級,或者根據(jù)用戶的個人情況推薦更多用戶需要的教學資源和教學測試內(nèi)容。
參考文獻:
[1] 明日科技.C語言項目開發(fā)實戰(zhàn)入門[M].長春:吉林大學出版社,2017.
[2] 黃文毅.Spring MVC+MyBatis快速開發(fā)與項目實戰(zhàn)[M].北京:清華大學出版社,2019.
[3] 耿祥義.JSP基礎(chǔ)教程[M].北京:清華大學出版社,2004.
【通聯(lián)編輯:王力】