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