??作者簡介:擁有多年開發(fā)工作經驗,分享技術代碼幫助學生學習,獨立完成自己的項目或者畢業(yè)設計。
- 代碼可以私聊博主獲取。??
- 贈送計算機畢業(yè)設計600個選題excel文件,幫助大學選題。
- 贈送開題報告模板,幫助書寫開題報告。
作者完整代碼目錄供你選擇:
- 《Springboot網站項目》400套
- 《ssm網站項目》800套
- 《小程序項目》300套
- 《App項目》500套
- 《python網站項目》600套
?感興趣大家可以點點關注收藏,后續(xù)更新更多項目資料。?
項目演示
摘要
網絡技術的快速發(fā)展給各行各業(yè)帶來了很大的突破,也給各行各業(yè)提供了一種新的管理技術,對于微信小程序的英語學習激勵系統(tǒng)將又是一個傳統(tǒng)管理到智能化信息管理的典型案例,對于傳統(tǒng)的英語學習激勵管理,所包括的信息內容比較多,用戶想要對這些數據進行管理維護需要花費很大的時間,而且數據的存儲比較麻煩,想要查找某一相關的數據信息比較繁瑣,隨著互聯網大潮的到來,決定開發(fā)一套智能化、信息化的微信小程序的英語學習激勵系統(tǒng),主要對首頁,個人中心,用戶管理,單詞分類管理,單詞本管理,學習清單管理,試卷管理,試題管理,系統(tǒng)管理,考試管理等功能模塊的研發(fā)。
本文研究以java為語言的微信小程序的英語學習激勵系統(tǒng)設計與實現,它在使用時數據庫和程序不會被造成太大的影響,用起來也很得心應手。它也算是當時比較流行的安全性相對也很高的框架之一了,java開發(fā)語言。和mysql數據庫,最終完成微信小程序的英語學習激勵系統(tǒng)。
關鍵詞:微信小程序的英語學習激勵系統(tǒng);mysql數據庫;java
1緒論
1.1 課題研究的背景與意義
傳統(tǒng)的英語學習激勵管理方式都在使用手工記錄的方式進行數據的登記,這種方式耗時,而且對于數據量比較大的情況想要快速查找某一數據非常慢,對于數據的統(tǒng)計獲取比較繁瑣,隨著網絡技術的發(fā)展,采用電腦管理相關數據信息管理與數據查詢等諸多環(huán)節(jié)已成為必然趨勢;數據情況的透明化,提高了信息管理的透明度,提高管理效率。
傳統(tǒng)的英語學習激勵需要對各類信息及時的進行記錄、規(guī)整、更新、收藏,這是對數據信息統(tǒng)計管理的極大消耗,在其進行過程中,還會出現因信息的重復傳遞,出現本可以避免的出錯問題,例如:前后數據不一致、種類紕漏以及備注不詳細等等一系列問題。在信息告訴更替的時代,信息的準確性,經濟可行性也無疑是眾人關注的焦點。那么我們系統(tǒng)的目的性也就很明確。
1.2 國內外研究現狀和發(fā)展趨勢
截至2018年12月,我國網民規(guī)模為8.29億,全年新增網民5653萬,互聯網普及率達59.6%,網絡的普及給人們的工作和生活都帶來了很大的改變。
隨著近幾年來智慧網絡的快速發(fā)展,不管是哪個國家或者哪個地區(qū),網絡發(fā)展的速度都是飛快的,而且對于國外而言,起步是比較早的,但是對于我國當下的網絡發(fā)展也是在逐步提升,并且根據系統(tǒng)的發(fā)展進行不同方向的滿足用戶的需求,而且當下我國的網民的普及率達到70.4%,相比2020年3月提升9.7個百分點,由此可以得出借助網絡發(fā)展的重要性。
微信小程序的英語學習激勵系統(tǒng)的出現是由于在線英語學習激勵信息的使用頻率及使用次數的增加,如果我們仍然通過傳統(tǒng)的紙質記錄選擇方式來選擇查看論文信息,就會浪費大量的人力和物力,浪費時間。同時,在人工統(tǒng)計過程中容易出現錯誤,解決在線英語學習激勵信息的記錄數據,讓用戶通過網上相應的管理系統(tǒng)進行改變傳統(tǒng)的手工操作,也方便管理者可以對大量相應數據進行檢驗和統(tǒng)計,減輕管理者的工作強度,提高工作效率,提高管理效率,從而使得在線英語學習激勵信息管理現代化更上一個臺階。
微信小程序的英語學習激勵系統(tǒng)主要是以打造理想在線英語學習激勵管理為核心理念,結合國內外相關管理經驗,確立科學化、智能化、標準化的服務,對于微信小程序的英語學習激勵系統(tǒng)前期,做好設計規(guī)劃,在設計階段,做好智能化建設,以智能化管理系統(tǒng)代替部分的人工工作,更方便快捷的達到微信小程序的英語學習激勵系統(tǒng)需求。
1.3 課題研究的內容
對于微信小程序的英語學習激勵系統(tǒng),充分運用現代化的信息技術手段,對于英語學習激勵信息管理發(fā)展的趨勢就是信息化,信息化時代下的信息管理,需要深化信息管理體制與手段的改革,充分運用信息化手段來全方位的進行微信小程序的英語學習激勵工作,構建微信小程序的英語學習激勵系統(tǒng),實現英語學習激勵信息化,充分運用先進的微信小程序的英語學習激勵系統(tǒng)進行英語學習激勵的信息管理、個人信息等信息的管理,加強英語學習激勵的完善性,通過網絡資源和信息共享,運用計算機手段,逐步實現英語學習激勵的系統(tǒng)化和網絡化,對于英語學習激勵信息管理,只有使用這種網絡趨勢,才能在時代的車輪中走的更遠,發(fā)展的更好。
2 關鍵技術介紹
2.1 SSM框架
開發(fā)信息管理系統(tǒng)的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web層使用Spring MVC框架,使傳輸前后端數據變得簡單;對于業(yè)務層使用Spring作為輕量級控制反轉和面向切面的容器框架;對于相關SQL操作,采用Mybatis作為持久層框架,對JDBC進行封裝,使得數據庫的底層面向開發(fā)者操作處于一種透明狀態(tài)。
2.2 Java技術及架構介紹
Java以Linux為基礎并且使用Java語言進行開發(fā)的操作平臺。Java的開放性讓他允許所有人對系統(tǒng)進行修改和完善,這一點也讓他在近些年成為便攜設備上主要的操作系統(tǒng)。Java同時還內置了內置豐富的應用程序,比如電話、攝像頭、播放器。這些都為在系統(tǒng)上開發(fā)程序提供了便利。該系統(tǒng)運用小程序完成前臺的開發(fā),包括登錄注冊、個性化特征的收集、基于個性化特征進行學習信息的推薦和對學習清單管理等。
用戶使用我們這個微信小程序的英語學習激勵系統(tǒng)只需一個Java手機就可以使用了,而且所有操作都是我們熟悉的操作手法。所有的操作通過手機就可以完成,用戶不需培訓,只要稍微提示一下即可。所以開發(fā)微信小程序的英語學習激勵系統(tǒng)使用小程序技術不僅方便了開發(fā)者而且用戶使用起來也非常方便,可以說是相對來說比較完美的開發(fā)平臺了。
2.3 MYSQL數據庫
MySQL數據庫管理系統(tǒng),是目前最流行的關系型數據庫管理系統(tǒng)之一。它相對與SQLServer來說小了很多,電腦內存比較小的人用這個會比較方便而且MySQL安裝起來非常方便,不需要有很多插件的安裝,基本上只需要點擊下一步執(zhí)行,只有在最后的時候選一下數據集選項。MySQL查詢起來也非常方便,連接數據庫之后直接打開就可看到,對于我這種懶人來說真的非常實用。MYSQL能夠以極高的效率完成各種數據庫查詢,并能方便的使用存儲過程,同時我們一般在使用MySQL是基本上都是使用簡單的可視化工具查看,界面簡單清晰,以圖形的形式表達用戶界面易查看的,又能夠使數據庫管理和系統(tǒng)管理更加簡單、直觀。由于MySQL對Web端的支持,用戶能輕易的在瀏覽器里面運行界面獲取數據關系,所以這次課題選用MySQL數據庫。
2.4微信小程序框架
微信小程序的開發(fā)框架是微信所獨有的一套框架,分為View視圖層和App Service邏輯層兩部分??蚣芴峁┝艘环N類似于Web中html語言的wxml語言,作為視圖層的標簽語言,用于構造頁面的布局。另外提供了一種類似Web中css語言的WXSS語言,作為視圖層的標簽樣式語言,用于表述頁面的顯示。而在邏輯層的框架,則同樣使用了JS語言。微信小程序為了使開發(fā)者專注在代碼的邏輯層面和數據處理上,還專門提供了兩種解決方案,一種是事件,一種是數據的傳輸。這兩種方案都位于小程序框架的視圖層和邏輯層之間。用戶在視圖層進行交互之后,傳遞到邏輯層對數據進行處理,并返回數據到視圖層向用戶反饋。對于微信小程序視圖層的開發(fā)設計,小程序官方提供了一系列的組件,這些基本組件可以極大的幫助開發(fā)者完成視圖層的開發(fā)。同時,對于邏輯層的開發(fā),小程序官方提供了一系列API來方便開發(fā)者請求一些額外功能。
2.5 B/S架構
隨著軟件系統(tǒng)的不斷改進和升級,B/S結構產品更為方便的特征體現得十分明顯。對于一個中等偏大的公司來說,如果系統(tǒng)管理員每天要在很多臺電腦之間來回查看,不斷奔走,那么效率和工作量就會變得很低,但是如果使用了B/S結構,那么管理員只要對服務器進行管理就夠了。
B/S結構最大的優(yōu)點它不需要安裝任何的軟件,它所有的客戶端就只是瀏覽器,所以只要有一臺電腦并且可以上網就可以解決所有問題,客戶端可以完全地不用管理員維護。無論使用系統(tǒng)的使用者是什么樣的規(guī)模,也不管分支有多么的龐大,都不會對維護和升級的工作量造成影響,所有的維護和升級只需要操作服務器。隨著B/S結構的不斷發(fā)展,使用的人也不斷增加,從而帶動了AJAX技術的發(fā)展,和B/S結構一樣,它也能在客戶端上處理程序,這便緩解了服務器的負擔,提高了交互性,而且實現了局部實時刷新。
3 需求分析與可行性分析
主要介紹微信小程序的英語學習激勵系統(tǒng)的需求分析,通常都是功能需求和非功能需求。及其本次課題英語學習激勵的可行性分析。
3.1功能需求分析
系統(tǒng)功能需求分析是通過軟件開發(fā)者在參與市場調研,與英語學習激勵管理者及用戶交流后經過詳細縝密的思考,再討論研究后得出的初步系統(tǒng)開發(fā)所需實現功能。這是開發(fā)系統(tǒng)的開始,也是相當關鍵的一步,如果不在這個階段制定系統(tǒng)所需模塊,日后會帶來不必要的麻煩。因此,必須嚴肅認真,全身心投入去做好這個步驟。
本系統(tǒng)采用從上往下的步驟開發(fā),基本功能如下:
本課題要求實現一套微信小程序的英語學習激勵系統(tǒng),系統(tǒng)主要包括管理員和用戶兩大模塊
(a) 管理員;管理員進入系統(tǒng)主要功能包括首頁,個人中心,用戶管理,單詞分類管理,單詞本管理,學習清單管理,試卷管理,試題管理,系統(tǒng)管理,考試管理等功能并進行操作。
(b) 用戶;用戶進入系統(tǒng)主要功能包括單詞本,學習清單,錯題本,試卷列表,考試記錄,反饋中心等功能并進行操作。
3.2 性能需求分析
對系統(tǒng)的性能,從(功能、運行、界面、安全)等方面進行,下面我們逐一進行分析:
1. 系統(tǒng)的功能是否完整進行分析:系統(tǒng)的功能,能對應設計出原始代碼和算法,以表格同文字的形式進行詳細介紹個人信息保證功能完整;
2. 系統(tǒng)的運行是否通暢進行分析:系統(tǒng)的每個功能都有編寫數據的關系和應對的代碼,通過需求分析和可行性分析進行分析和顯示系統(tǒng)的物理數據,保證其進行通暢;
3. 系統(tǒng)的界面設計進行分析:對系統(tǒng)中的軟件進行處理與分析的方式是由不同代碼來進行的;從而使界面容易操作:
4. 系統(tǒng)的安全性進行分析:這樣才可以每個角色的不同對應的信息也就不同,在登錄系統(tǒng)務必使用自己的賬號,密碼登錄,賬號與密碼錯誤自然就登錄失敗了。登錄成功可以對自己的信息進行操作,不能對別人的賬號的信息進行查看等操作,這樣自然保證系統(tǒng)的安全性。
3.3系統(tǒng)設計規(guī)則與運行環(huán)境
軟件系統(tǒng)的優(yōu)劣很大程度上是由系統(tǒng)設計的完善與否決定的。世間萬物都必須遵循生老病死的法則,這是大自然的規(guī)則不能違反,軟件設計也一樣需要遵循系統(tǒng)設計規(guī)則。因此,在設計過程中必須遵循系統(tǒng)設計規(guī)則。規(guī)則如下:
簡單性:為了擴大系統(tǒng)使用者的受眾面,系統(tǒng)設計應該本著操作越簡單越好的原則,這樣不僅能提高系統(tǒng)的使用率更能夠擴大系統(tǒng)使用面。
針對性:一個系統(tǒng)針對性越強,所能提供的功能必然越完善,用戶體驗肯定更好,所以應該明確指定系統(tǒng)針對性。
實用性:實用永遠是檢驗一個系統(tǒng)是否成功的唯一標準,使用的語言再高端,使用的結構再新穎但不能滿足管理員和用戶的要求那就是失敗。
運行環(huán)境:
本系統(tǒng)是利用B/S結構來開發(fā)的,數據庫在服務器上進行部署Mysql即可,其他包括My Eclipse等常規(guī)開發(fā)程序。
3.4系統(tǒng)流程分析
系統(tǒng)流程,用戶需要登錄進入系統(tǒng),未注冊過的用戶需要在輸入必填的信息之后注冊成功然后登錄系統(tǒng),管理員在后臺登錄進入可以對用戶進行修改管理。使用一些較為穩(wěn)定的技術總結成一個系統(tǒng)的開發(fā)設計過程,是設計與實現各個功能模塊的基本技術,這些是每個功能模塊能夠順利進行的重要保證。
圖3-1系統(tǒng)流程圖
3.5 可行性分析
通常一個項目的啟動或者投入市場運營都需要一個評估報告,要從需求上分析這個項目是否能在這種環(huán)境下實現整體目標,是否有這個市場回報率即我們通常所說的是否能夠獲得利潤或者開發(fā)出來是否具有實用性,不能說系統(tǒng)開發(fā)出來后根本沒有用。所以其目的就是以最小的付出來得到更大的效率。本次課題我們就從技術可行性,操作可行性上來分析。
(1)技術可行性
Java由操作系統(tǒng),中間件和應用軟件三大部分組成。它是與谷歌公司和開放手機聯盟共同開發(fā)的移動終端平臺;該開發(fā)平臺包括性能評價,出錯工具,模擬器和存儲器等功能;具有完善的開發(fā)環(huán)境。
(2)操作可行性
本系統(tǒng)用戶只要有一臺Java手機,就可以使用了,系統(tǒng)是使用的操作都是用戶熟悉的選擇框或者按鈕等等。所有的操作通過手機就可以完成,用戶不需培訓,只要稍微提示一下即可。因此,在操作使用上,本系統(tǒng)簡單、方便,易于使用戶接受,因而是十分可行的。
4 系統(tǒng)設計
4.1軟件功能模塊設計
小程序總體功能如下圖所示:
圖 4-1 小程序總體功能模塊圖
4.2登錄注冊模塊
用戶要通過填寫自己的賬號和密碼進入系統(tǒng),如果用戶沒有登錄的賬號需要先進行注冊用戶在注冊頁面輸入賬號和密碼,點擊注冊,按要求輸入注冊表所要的信息,登錄密碼和確認密碼,點擊注冊后,系統(tǒng)先判斷用戶輸入的“密碼”和“確認密碼”是否一致,如果不一致,用戶需重新輸入;如果一致則注冊成功,然后輸入剛才注冊的個人賬號和密碼點擊“登錄”按鈕,顯示“登錄中請稍后”,如果登錄信息正確則系統(tǒng)跳轉進英語學習激勵列表界面;如果登錄信息錯誤則顯示 “登錄失敗”登錄注冊算法流程圖如圖4-2登錄注冊流程圖所示。
圖4-2登錄注冊流程圖
Web后臺端管理員登入正確可以查看用戶修改用戶信息,查看英語學習激勵信息等操作;如果輸入錯誤,則無反饋重新登錄。如圖4-3后臺管理流程圖所示
圖4-3后臺管理流程圖
4.3數據庫設計
前面系統(tǒng)分析結束后現在進入設計階段,在這個過程中我們要抽象地分析數據,將數據中的關系理解清楚,然后對概念結構和邏輯結構進行設計。由于MYSQL能夠以極高的效率完成各種數據庫查詢,并能是存儲過程更加方便。同時能夠使數據庫管理和系統(tǒng)管理更加清晰便捷。另外,系統(tǒng)以Web技術支持,使用戶能夠輕易地發(fā)布數據到Web頁面上。所以本系統(tǒng)采用了MYSQL進行數據庫的存儲管理與維護。
表4-1:試卷表
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
name |
varchar |
200 |
試卷名稱 |
||
time |
int |
考試時長(分鐘) |
|||
status |
int |
試卷狀態(tài) |
0 |
表4-2:單詞本評論表
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
refid |
bigint |
關聯表id |
|||
userid |
bigint |
用戶id |
|||
nickname |
varchar |
200 |
用戶名 |
||
content |
longtext |
4294967295 |
評論內容 |
||
reply |
longtext |
4294967295 |
回復內容 |
表4-3:單詞分類
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
dancifenlei |
varchar |
200 |
單詞分類 |
表4-4:學習清單
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
bianhao |
varchar |
200 |
編號 |
||
dancimingcheng |
varchar |
200 |
單詞名稱 |
||
dancifenlei |
varchar |
200 |
單詞分類 |
||
yiwen |
varchar |
200 |
譯文 |
||
dancitupian |
varchar |
200 |
單詞圖片 |
||
dancijiexi |
varchar |
200 |
單詞解析 |
||
yingyongchangjing |
varchar |
200 |
應用場景 |
||
tianjiashijian |
date |
添加時間 |
|||
beizhu |
longtext |
4294967295 |
備注 |
||
zhanghao |
varchar |
200 |
賬號 |
||
xingming |
varchar |
200 |
姓名 |
表4-5:單詞本
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
dancimingcheng |
varchar |
200 |
單詞名稱 |
||
dancifenlei |
varchar |
200 |
單詞分類 |
||
yiwen |
varchar |
200 |
譯文 |
||
dancitupian |
varchar |
200 |
單詞圖片 |
||
yuyinbobao |
varchar |
200 |
語音播報 |
||
dancijiexi |
longtext |
4294967295 |
單詞解析 |
||
yingyongchangjing |
varchar |
200 |
應用場景 |
表4-6:用戶
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
zhanghao |
varchar |
200 |
賬號 |
||
mima |
varchar |
200 |
密碼 |
||
xingming |
varchar |
200 |
姓名 |
||
xingbie |
varchar |
200 |
性別 |
||
lianxifangshi |
varchar |
200 |
聯系方式 |
||
touxiang |
varchar |
200 |
頭像 |
表4-7:用戶表
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
username |
varchar |
100 |
用戶名 |
||
password |
varchar |
100 |
密碼 |
||
role |
varchar |
100 |
角色 |
管理員 |
|
addtime |
timestamp |
新增時間 |
CURRENT_TIMESTAMP |
表4-8:配置文件
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
name |
varchar |
100 |
配置參數名稱 |
||
value |
varchar |
100 |
配置參數值 |
表4-9:token表
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
userid |
bigint |
用戶id |
|||
username |
varchar |
100 |
用戶名 |
||
tablename |
varchar |
100 |
表名 |
||
role |
varchar |
100 |
角色 |
||
token |
varchar |
200 |
密碼 |
||
addtime |
timestamp |
新增時間 |
CURRENT_TIMESTAMP |
||
expiratedtime |
timestamp |
過期時間 |
CURRENT_TIMESTAMP |
表4-10:反饋中心
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
userid |
bigint |
用戶id |
|||
adminid |
bigint |
管理員id |
|||
ask |
longtext |
4294967295 |
提問 |
||
reply |
longtext |
4294967295 |
回復 |
||
isreply |
int |
是否回復 |
表4-11:收藏表
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
userid |
bigint |
用戶id |
|||
refid |
bigint |
收藏id |
|||
tablename |
varchar |
200 |
表名 |
||
name |
varchar |
200 |
收藏名稱 |
||
picture |
varchar |
200 |
收藏圖片 |
||
type |
varchar |
200 |
類型(1:收藏,21:贊,22:踩) |
1 |
|
inteltype |
varchar |
200 |
推薦類型 |
表4-12:公告資訊
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
title |
varchar |
200 |
標題 |
||
introduction |
longtext |
4294967295 |
簡介 |
||
picture |
varchar |
200 |
圖片 |
||
content |
longtext |
4294967295 |
內容 |
表4-13:獎勵機制
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
jianglibianhao |
varchar |
200 |
獎勵編號 |
||
jianglibiaoti |
varchar |
200 |
獎勵標題 |
||
fengmian |
varchar |
200 |
封面 |
||
fabushijian |
datetime |
發(fā)布時間 |
|||
jianglijizhi |
longtext |
4294967295 |
獎勵機制 |
表4-14:考試記錄表
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
userid |
bigint |
用戶id |
|||
username |
varchar |
200 |
用戶名 |
||
paperid |
bigint |
試卷id(外鍵) |
|||
papername |
varchar |
200 |
試卷名稱 |
||
questionid |
bigint |
試題id(外鍵) |
|||
questionname |
varchar |
200 |
試題名稱 |
||
options |
longtext |
4294967295 |
選項,json字符串 |
||
score |
bigint |
分值 |
0 |
||
answer |
varchar |
200 |
正確答案 |
||
analysis |
longtext |
4294967295 |
答案解析 |
||
myscore |
bigint |
試題得分 |
0 |
||
myanswer |
varchar |
200 |
考生答案 |
表4-15:試題表
字段名稱 |
類型 |
長度 |
字段說明 |
主鍵 |
默認值 |
id |
bigint |
主鍵 |
主鍵 |
||
addtime |
timestamp |
創(chuàng)建時間 |
CURRENT_TIMESTAMP |
||
paperid |
bigint |
所屬試卷id(外鍵) |
|||
papername |
varchar |
200 |
試卷名稱 |
||
questionname |
varchar |
200 |
試題名稱 |
||
options |
longtext |
4294967295 |
選項,json字符串 |
||
score |
bigint |
分值 |
0 |
||
answer |
varchar |
200 |
正確答案 |
||
analysis |
longtext |
4294967295 |
答案解析 |
||
type |
bigint |
試題類型,0:單選題 1:多選題 2:判斷題 3:填空題(暫不考慮多項填空) |
0 |
||
sequence |
bigint |
試題排序,值越大排越前面 |
100 |
5系統(tǒng)實現
微信小程序的英語學習激勵系統(tǒng)由前臺和后臺交互構成。前臺是用戶對于本系統(tǒng)的使用,用戶可以通過手機端登錄注冊,管理單詞本,學習清單,錯題本,試卷列表,考試記錄,反饋中心等詳細信息。
后臺主要是管理員模塊,可對該小程序的用戶進行系統(tǒng)管理,登錄進后可對用戶進行管理等操作。
5.1微信小程序端
本章主要介紹微信小程序的英語學習激勵系統(tǒng)實現,根據系統(tǒng)的需求分析,系統(tǒng)設計,系統(tǒng)前臺功能區(qū)和系統(tǒng)后臺功能區(qū)的實現。通過以下系統(tǒng)運行界面和核心代碼展示。
用戶登錄,本系統(tǒng)和大部分系統(tǒng)一樣都需要登錄才能進入系統(tǒng)進行后續(xù)操作,用戶輸入登錄名和密碼,具體的實現效果如圖5-1所示:
圖5-1 登錄界面圖
用戶注冊,在使用本軟件前需要新進行登錄操作,如果用戶還沒有賬號可先注冊然后再登錄。具體的實現效果如圖5-2所示:
圖5-2 注冊界面圖
用戶登陸小程序端,可以對首頁,公告資訊,我的等功能進行詳細操作,如圖5-3所示。
圖5-3小程序端首頁界面圖
單詞本,在單詞本頁面可以查看單詞名稱,單詞分類,譯文,應用場景,單詞解析等信息,并進行加入操作;如圖5-4所示。
圖5-4單詞本界面圖
試卷列表,在試卷列表頁面可以查看試卷名稱,考試時長等信息,并進行點擊考試操作;如圖5-5所示。
圖5-5試卷列表界面圖
用戶,在我的頁面可以對單詞本,學習清單,錯題本,試卷列表,考試記錄,反饋中心等詳細信息進行操作,如圖5-6所示。
圖5-6用戶功能界面圖
5.2管理員功能模塊
系統(tǒng)后臺登錄,管理員通過輸入賬號、密碼,選擇角色并點擊登錄進行系統(tǒng)登錄操作,如圖5-7所示。
圖5-7管理員登錄界面圖
管理員登錄系統(tǒng)后,可以對首頁,個人中心,用戶管理,單詞分類管理,單詞本管理,學習清單管理,試卷管理,試題管理,系統(tǒng)管理,考試管理等功能進行相應操作,如圖5-8所示。
圖5-8管理員功能界面圖
用戶管理,在用戶管理頁面可以對索引、賬號、姓名、性別、聯系方式、頭像等內容進行詳情、修改或刪除等操作,如圖5-9所示。
圖5-9用戶管理界面圖
單詞分類管理,在單詞分類頁面可以對索引、單詞分類等內容進行修改或刪除等操作,如圖5-10所示。
圖5-10單詞分類界面圖
單詞本管理,在單詞本管理頁面可以對索引、單詞名稱、單詞分類、譯文、單詞圖片、語音播報、應用場景等內容進行詳情,修改,查看評論或刪除等操作,如圖5-11所示。
圖5-11單詞本管理界面圖
學習清單管理,在學習清單管理頁面可以對索引、編號、單詞名稱、單詞分類、譯文、單詞圖片、單詞解析、應用場景、添加時間、賬號、姓名等內容進行詳情,修改或刪除等操作,如圖5-12所示。
圖5-12學習清單管理界面圖
試卷管理,在試卷管理頁面可以對索引、試卷名稱、考試時長、試卷狀態(tài)等內容進行詳情,修改或刪除等操作,如圖5-13所示。
圖5-13試卷管理界面圖
試題管理,在試題管理頁面可以對試卷、試題名稱、分值、答案、類型等內容進行修改或刪除等操作,如圖5-14所示。
圖5-14試題管理界面圖
考試管理,在考試記錄頁面可以對姓名、試卷、考試得分等內容進行查看詳情操作,還可以對錯題本進行詳細操作;如圖5-15所示。
圖5-15考試管理界面圖
系統(tǒng)管理,在公告資訊頁面可以對索引、標題、圖片等內容進行詳情,修改或刪除等操作,還可以對輪播圖管理,反饋中心進行詳細操作;如圖5-16所示。
圖5-16系統(tǒng)管理界面圖
?6 系統(tǒng)測試
6.1 測試目標
進行軟件的測試是為了知道在開發(fā)過程中的錯誤,并不是去看程序中有什么問題。進行軟件測試的重要意義是提醒人們發(fā)現錯誤,并且對其中的錯誤進行修改,并不是為了顯示程序有多正確。在測試過程中發(fā)現了錯誤,可以對其軟件的問題進行分析研究,找到解決問題的辦法。此文主要是為了增強管理員的針對性工作,增強其檢測效率,找到減少錯誤的方法,這才是完成產品檢測的真實目的。
6.2 測試步驟
在進行程序的測試時,需要我,我們分段進行,一步一步實施。從程序來看,程序是不斷發(fā)展完善的。通常在一個較大的程序中,我們會將其分為幾個小部分,由幾個模塊組成。所以在進行相對較大的程序測試過程中,基本上包含以下幾個步驟:
(1)找到程序中詳細的錯誤部位;
(2)發(fā)現程序運行中出現的設計錯誤;
(3)對錯誤發(fā)現方案進行規(guī)范化。
經過上述測試,這個微信小程序的英語學習激勵系統(tǒng)在各項操作中可按照預期的設計運行,能夠實現英語學習激勵的開發(fā)目標與要求。重要的是,這個系統(tǒng)就是根據用戶的需求切身開發(fā),根據對用戶需求分析,用最合適的結構保證系統(tǒng)的穩(wěn)定確保用戶在使用該系統(tǒng)的不會崩潰能夠穩(wěn)定的加載出界面,而且為了能讓更多年齡層的人都能夠使用這個系統(tǒng)讓用戶很輕易的找到他們所需要的操作。運能夠真正的做到以用戶為中心進行設計。對于我們這個小程序來說,對系統(tǒng)的質量管控還是比較嚴格的,如果一個界面出現問題,緊接著頁面就會根據錯誤給出提示追蹤到每一行甚至那個單詞,從而保證運行的質量。我們這個系統(tǒng)的測試主要就是保證他在運行時的穩(wěn)定質量。所以經過上述測試結果可以看出,本系統(tǒng)操作流暢。
7總結及展望
7.1 總結
這次的課題設計是我們畢業(yè)的最后一個關卡,通過指導老師的幫助然后上網還有書籍查閱相關資料終于將這個系統(tǒng)完成。當然也缺不了同學的幫助。剛和老師商量課題的時候還非常高興是一個之前自己接觸過的題材,要求的內容也比較顯而易見。但是在和指導老師確定任務書時還是比較吃驚因為要用到微信小程序端比較麻煩,需要將一些前臺的功能在手機端實現對我來說還是比較吃力的。但通過慢慢的知道開始寫任務書,對我要做的項目功能有了更加深刻的理解。前臺是用戶對于本系統(tǒng)的使用,可以通過手機端登錄注冊,管理個人信息,單詞本,學習清單,錯題本,試卷列表,考試記錄,反饋中心等。
后臺主要是管理員模塊,可對該小程序的用戶進行管理,管理員登錄進后可對所有模塊進行管理,主要包括首頁,個人中心,用戶管理,單詞分類管理,單詞本管理,學習清單管理,試卷管理,試題管理,系統(tǒng)管理,考試管理等操作。
這次的課題設計真的算是一個大融合,它基本上運用到了我們所學習的關鍵技術,我們可能之前學過的知識早已忘記但是這次的畢設課題是一次非常好的機會讓我們重溫之前的專業(yè)知識,相當于自己又重新學習了一遍,感覺自己的自我學習能力得到了很大的提升。同時又鍛煉了自己的實際動手能力。通過對本系統(tǒng)的開發(fā)和探索,我對軟件的開發(fā)過程有了更加深刻的了解,特別是通過對Java平臺的大學在線英語學習激勵系統(tǒng)的開發(fā),使我對面向對象技術有了較為深入了解和認知。
這次的課題設計讓我對獨自做一個系統(tǒng)開發(fā)有了一個非常深刻的認知,真的是很難,從我自己的角度來講,首先搭建平臺的構造就花費了很長時間,在安裝這些運行軟件的過程中,總會有各種各樣的插件問題出現,這個很考驗人的耐心,因為在之后的運用過程中我就受此困擾很久。然后之后的開題報告,中期檢查中也是有各種描述不明確出現。核心代碼部分經常會出現jar包的錯誤跳轉的失敗,都需要花很多時間去調試。在這個過程中,出來只是的升高最多的還有自己耐心越來越好了。所以此刻認識還不算太晚,今后一定要努力提高自己的知識水平,同時還是要不斷學習,盡可能多的閱覽一些專業(yè)書籍,從而豐富自己的知識層面。答辯時間迫在眉睫,時間真的有限,這個報告所解決問題的方法還沒有很好,希望接下來還有機會將這個報告加工完善。
7.2 展望
目前為止系統(tǒng)只能在我們自己電腦手機上運行,只能像單機操作環(huán)境一樣自己寫的自己可看,如果想讓其他人也能使用就需要加入局域網等更加高級的操作。但也有可能本系統(tǒng)還達不到商業(yè)的水平,因為我們這個課題設計時間有限,而且我自身的專業(yè)知識也不夠多,也只能勉勉強強的把系統(tǒng)搭建出來,不過我還是在這個過程中一直在努力獲取心得知識與自己的課題匹配。我相信只要給我時間我還可以把這次的項目完善的更好,效率可以更高的。這次畢業(yè)設計的時間雖然不算太長,但是我對很多東西有了更深刻的認識。自己總結了幾點讓大家共同勉勵:認真查閱資料和閱讀相關文獻非常重要;虛心向老師和同學請教;自己實際操作非常重要,以前我總是覺得只要理論上理解了應該問題不大,然后有很多基本命令代碼沒有自己去親自感受一下,所以在這次的調試環(huán)節(jié)經常出問題,所以大家要記?。⒋a是調出來的"的道理。對于以后要成為程序員的朋友,真的要比平常人有更多的耐心和毅力,這是一個反復調試反復查看的過程。而且現在網絡很發(fā)達,隨便上網查查就能夠得到許多解決方法。
真的大學幾年轉瞬即逝,本科生涯就要畫上句號了。這次畢業(yè)設計過程中,我更深刻地認識到了實踐動手能力在大學課程中的重要性。雖然校園的學習生涯即將結束,但是我們人生道路的學習才剛剛開始,我們還有接下來這么多年的時間來彌補之前沒有好好學習的遺憾。對于我來說之后的工作崗位離學習這些知識還沒有特別遠,以后還能夠多多學習。畢竟越優(yōu)秀越好。
參考文獻
[1]楊選輝.信息系統(tǒng)分析與設計[J].北京:清華大學出版社.2017
[2]錢雪忠.數據庫原理及應用[M].北京:北京郵電大學出版社.2017.08
[3]吳建.張旭東.java網絡開發(fā)入門與實踐[J].人民郵電出版社.2016
[4]賀松平.基于MVC的B/S的架構的研究及應用[D].武漢:華中科技大學.2016
[5]畢國鋒.java技術的Web應用程序三層設計模型研究[J].黑龍江科技信息.2017.03
[6]青龍老賊,趙黎,方雨,劉琪.微信終極秘籍:精通小程序商業(yè)運營[M].北京:電子工業(yè)出版社,2019.
[7]戴晟暉.微信公眾平臺搭建、開發(fā)與實踐指南[M].北京:中國鐵道出版社,2016.
[8]微網.微商城細節(jié)知多少?微信小程序在未來幾年的發(fā)展方向[EB/OL].2019.
[9]李剛.瘋狂Ajax講義:jQuery/ExtJS/Proto.義:jQuery/ExtJS/Prototype/DWR企業(yè)應用前端開發(fā)實戰(zhàn)[M].3版.北京:電子工業(yè)出版社,2018.
[10]PaulDeck,林儀明,崔毅.SpringMVC學習指南[M].北京:民郵電出版社,2017
[11]王珊.數據庫系統(tǒng)原理教程[M].北京:清華大學出版社,2018,56.
[12]求是科技.java數據庫開發(fā)技術與工程實踐[M].北京:人民郵電出版社,2016,131.
[13]王群,李馥娟.java數據庫系統(tǒng)開發(fā)完全手冊[M].北京:人民郵電出版社,2016.3.39-44
[14]李嚴,于亞芳,王國輝.java數據庫開發(fā)實例解析[M].北京:電子工業(yè)出版社,2019.12.78-93
[15]王國輝、牛強、李南南java工程應用與項目實踐[M].北京:電子工業(yè)出版社,2015.4.162-171.
致謝
經過這么一大段時間的努力,我的畢業(yè)設計項目和論文終于快要結束啦,這對我們來說相當于大學生涯即將結束。在這大學幾年中,我的思想行為,專業(yè)知識都得到了很大的提升,這些是和大學里面所有教過我的老師,陪伴我成長的同學的鼓勵和支持分不開的。在這個過程中我對所學的知識進行了全面的復習,也有很多的技術是我所沒有接觸過,通過查詢資料,向老師同學請教,我攻克了一個個的難關,讓我明白了書本上的知識是有限的,我們需要不斷的去學習,去充實自己,完善自己。這些都對我日后的學習和工作有莫大的幫助。
我對指導老師在我學習的最后階段給我的指導表示衷心的感謝。從剛開始選題到開題報告,再到中期項目檢查,寫作提綱,及每種問題都對我們一一知道,對我們非常有耐心。有時候把報告發(fā)給老師之后,老師經常在他的課余時間甚至半夜回消息來幫助我們解決問題。對項目的追蹤嚴格把關,循循善誘,幫助我們指導和幫助。為了輔導我的完成畢業(yè)設計,犧牲了很多寶貴的時間,在此我向我的指導老師表示誠摯的謝意和崇高的敬意。同時,感謝我的任課老師和同學無私的幫助,是他們教會了我知識,更教會了我如何做一個積極向上的人。
還有非常要感謝的就是我的同學們,在這個畢設過程中真的給了我們非常大的幫助。真的從一開始就獲得幫助,幫助我們運行環(huán)境的調試,文檔里面注意內容的提醒。甚至有時候來不及看的班級群消息都會來通知我,幾年的時光即將過去,唯一不變的是我們的情誼。大學里面學到了很多知識,同時最珍貴的就是幾年同窗的感情。
書到用時方恨少,在這篇論文的寫作過程中,我深感自己的水平還非常的欠缺。還好我們一直在學習,生命不息,學習不止,人生就是一個不斷學習和完善的過程。文章來源:http://www.zghlxwxcb.cn/news/detail-854095.html
感謝各位老師的指導。文章來源地址http://www.zghlxwxcb.cn/news/detail-854095.html
核心代碼展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查詢
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查詢公告通知成功").put("data", newsView);
}
/**
* 后端詳情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端詳情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 刪除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
到了這里,關于【網站項目】英語學習激勵系統(tǒng)小程序的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!