結對專案總結-中小學數學卷子自動生成程式
阿新 • • 發佈:2021-10-10
一、 專案需求
-
GUI,桌面應用或網站。
-
註冊:
a) 傳送簡訊到指定手機;
b) 判斷輸入的驗證碼與手機號是否匹配,匹配則跳轉;
c) 提示設定密碼,按位讀取,滿足6-10位,必須含大小寫字母和數字的要求;設定完成後跳轉到相應介面;
d) 登入狀態下要有修改密碼的按鍵;跳轉到密碼修改介面,先輸入原密碼,再輸入兩次新密碼。
3.題目:
a) “小初高”三個按鍵,分別跳轉到相應的題目生成介面;
b) 對話方塊輸入題量,生成題目(一張試卷不重複),跳轉到做題介面;
c)做題介面顯示一道題的題乾和四個選項,要有“下一題”按鍵,按下後跳轉到下一題介面,最後一題變為“提交”按鍵;
d) 按下“提交”按鍵,跳轉到分數顯示介面(可以顯示錯誤分析,這需要記錄下所有的題目及選項,如果做了這一點,也可以做“上一題”按鍵);顯示“退出”或“繼續做題”按鍵;“退出”按鍵跳轉到“小初高”介面,“繼續做題”按鍵跳轉到輸入題量介面。
二、專案實現
我的搭檔是使用的c++完成的個人專案,但是考慮的c++圖形介面的實現難度與學習成本很高,我們選擇沿用我的程式碼,用java來完成這個專案。通過java swing實現圖形介面,然後複用我寫的生成及儲存題目以及查重的程式碼。我的搭檔負責實現圖形介面,包括登入驗證、事件監聽以及介面間跳轉;我負責生成題目的答案,以及實現簡訊驗證。最後將我的各種函式在對應事件監聽中呼叫,然後處理之後展示即可。
三、專案結構
- 該專案採用Java Swing模組實現簡單的GUI框架,基本上每個介面都封裝為了一個類;
- 切換介面時,摧毀當前介面,並呼叫其它介面類生成新的介面;
- 該專案中的驗證碼採用榛子云實現,僅供測試;
- 類TestMaker用於題目生成;
- 類Expression用於對只含有加減乘除及括號的題目生成答案;
- 類TestResult用於將題目化簡為只含有加減乘除及括號的題目;
- 類MessageSender用於傳送驗證碼;
- 類First為程式的入口;
- 其餘類為實現相關的介面及邏輯。
四、經驗教訓
1.需要兩個人對專案需求有著基本相同的理解,這樣才能方向一致,避免出現1+1<<2的情況。
2.與隊友之間的溝通十分重要,不然很容易在對接中出現問題,進入複雜的程式碼修改環節。
3.要合理規劃時間,根據要完成的程式碼量及難度確定好各模組的完成時間,以便於在截止時間之前圓滿實現專案。