李慧卿 盧昕 徐新愛








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