1. 程式人生 > 其它 >結對程式設計--帶UI的學習軟體

結對程式設計--帶UI的學習軟體

一、專案要求:

1、所有功能通過圖形化介面操作,可以是桌面應用,可以是網站(程式語言和技術不限);

2、使用者註冊功能。使用者提供手機號碼,點選註冊將收到一個註冊碼,使用者可使用該註冊碼完成註冊;

3、使用者完成註冊後,介面提示設定密碼,使用者輸入兩次密碼匹配後設置密碼成功。密碼6-10位,必須含大小

寫字母和數字。使用者在登入狀態下可修改密碼,輸入正確的原密碼,再輸入兩次相同的新密碼後修改密碼成功;

4、密碼設定成功後,跳轉到選擇介面,介面顯示小學、初中和高中三個選項,使用者點選其中之一後,提示用

戶輸入需要生成的題目數量;

5、使用者輸入題目數量後,生成一張試卷(同一張卷子不能有相同題目,題目全部為選擇題),介面顯示

第一題的題乾和四個選項,使用者選擇四個選項中的一個後提交,介面顯示第二題,...,直至最後一題;

6、最後一題提交後,介面顯示分數,分數根據答對的百分比計算;

7、使用者在分數介面可選擇退出或繼續做題;

8、小初高數學題目要求見個人專案。

二、具體實現:

前端:css3+html5+javascript

後端:php

三、專案預覽:

四、專案結構:

五、具體流程圖如下:

六、程式碼複用:

由於我們倆個人專案都是使用的python編寫,而這次選擇了網頁,不能直接進行復用,但是邏輯是相通的,在產生題目

介面中還是可以套用邏輯,只是

語法結構變了,我倆臨時學習了js的相關語法,事件的處理方式,根據之前的python程式碼,

很快的仿寫出了出題的介面,令人感到慶幸的是,js裡面有現成的eval函式,方便了我們的判題,出題,判題部分我倆很

順利的做完了。

遇到的一些問題:

驗證碼傳送問題:驗證碼的傳送使用了榛子云服務系統,點開官網,按照php開發者文件一步步編寫,調式,最後實現

了簡訊的傳送。

form表單提交問題:前端輸入的資料均採用post方式傳送到php檔案中與資料庫進行互動,php操作資料

庫較為方便,很快完成了此項工作。

資料庫連線問題:期間嘗試用node.js連線資料庫,最後未能成功,反覆檢視資料發現php和html結合起來更為

方便,於是採用了php連線資料庫。

七、結對程式設計總結:

本次結對程式設計學會了很多,我倆都是html和js小白,從0開始學習了html常見標籤,css常用渲染,js基礎語法,php連線資料庫

....,在此過程中上網查資料,仿寫大佬程式碼,也遇到了很多阻礙,不過兩人最後還是堅持了下去,結對程式設計的過程中兩人有

不同的思路,每次修改都要大動干戈,有時候會浪費很多時間,但是如果在一開始就商量好各自的分工,各司其職,實際操作

起來會快很多。下次結對程式設計會採用git中的push,merge方式,這樣倆人在修改的過程中能清晰看到程式碼的變化,也方便雙人雙機

除錯,本次專案下來,我覺得我們得html互動部分做的還不是特別友好,以後還是得多注意一下前端的一些技巧,總而言之,這次

結對程式設計收穫很大,對前後端分離操作的模式有了更加深刻的理解!