結對程式設計專案總結:李成龍&郭韌
一、設計實現
通過分析結對專案的需求文件,經過兩人討論,決定將專案的功能拆分為UI介面和後臺兩個方面實現。這裡我負責UI介面的設計,2、3、4功能,隊友則負責實現後臺出題,5、6、7功能。
由於一開始我們使用的都是c++作為個人專案的程式語言,但是最終結對專案決定使用Python來實現,將個人專案的程式碼改寫為了python。
二、UI的具體實現過程
Python 提供了多個圖形開發介面的庫,諸如Tkinter、wxPython、Jython等等。這裡選擇使用Tkinter。Tkinter 可以在大多數的 Unix 平臺下使用,同樣可以應用在 Windows 和 Macintosh 系統裡。同時Tkinter 是 Python 的標準 GUI 庫,內建在了python的安裝包裡,可以直接使用,簡單的圖形介面都能應對自如。
1、首先設計一個login的登入主頁面,設定使用者名稱密碼等標籤輸入框,進行簡單的文字、圖片裝飾。設計了登入、退出、註冊等button
2、這裡各個介面的互動採用button中的command呼叫回撥函式來實現。設計一個登入,註冊,退出的函式
1)登入函式,首先獲取登入介面輸入框的資訊。然後建立一個pickle檔案來儲存使用者名稱密碼,開啟檔案以字串形式獲取出來。如果使用者名稱存在則登入
2)登入後建立一個新介面,來實現修改密碼和學歷、出題數目的選擇。同樣採用標籤輸入框和按鈕來實現,呼叫不同的出題函式。
3)點選修改密碼按鈕,呼叫修改函式。與登入同理,獲取輸入框資訊,密碼存在pickle中則可以修改。這裡還需要判斷一下密碼的規範性
4)註冊功能在登入介面實現,寫一個註冊函式。這裡分成兩塊實現,輸入手機號,如果手機號未註冊則傳送註冊碼。而後使用註冊碼,完成其他資訊的規範輸入,即可註冊成功,寫入pickle檔案。使用者名稱不能重複,密碼規範,註冊碼匹配,密碼前後一致,不為空等等。
三、成果展示
四、不足和心得體會
不足之處:
1、題目答案與選項不能匹配,可能是因為題目和答案都隨機了,匹配不上了。但是正確答案和錯誤答案都計算了。
2、答題時主介面會跳到答題介面上
3、頁面設計較為簡單,只進行了簡單的圖形裝飾和藝術字體
心得:
通過這次結對專案,我們切身體會到了結對程式設計的利弊。兩個人之間互相促進,並且可以有很多想法上的碰撞。在整合的時候,遇到bug的時候能夠共同研究討論,使得完成專案的效率大大加快。同時,當意見產生分歧的時候,兩個人之間會進行商量,取得一個最好的方案來實現。在整個專案中,溝通顯得十分重要,我們學會了在專案的實現中要有效的溝通,合理的分工,以及如何聽取他人的想法,使得專案的實現更加順利和完善。這次的結對程式設計是一個相互磨合的過程。總的來說,結對程式設計有著很多益處,我們能從對方身上學到很多東西,也有了合作完成專案的意識和經驗,這是一次很好的經歷。