031302513 錢仁法 031302523 吳炜坤
1、功能分析
(1)将初始排課表導入系統資料庫。對此我們需要将排課表導入資料庫,并将App連接配接資料庫
(2)将系統資料庫的排課資料 顯示在 web或APP的界面裡。我們小組設計的是App,在這個功能上我們需要将資料庫裡的檔案導入到我們的App并提供顯示
2、實作思路
講到實作思路,按我們的想法來思量就是考慮如何實作上述的功能,即是我們在實作上面的功能時具體的過程、使用的方式。對于将初始排課表導入系統資料庫,由于時間有限、并且我與隊友的android基礎都是較為薄弱,是以在這次的實作過程我們就選擇使用android自帶的sqlite資料庫來實作上述功能。在後面的時間内我們将嘗試通過搭建服務端資料庫來實作對這些功能的支撐。
分工----
我負責:(1)系統界面的設計(2)将資料庫中的資料導出并顯示在系統界面上
我的隊友負責:(1)資料庫的設計 (2)将表格資料導入到系統資料庫中
3、資料庫設計
資料庫設計采用PowerDesigner,這一子產品是我們共同設計,然後由隊友來完成,根據與他的操作發現在設計表間關系的時候外鍵設定比較容易出現忽略性錯誤。按照我們原本的構想預計用服務端完成這次任務,一開始他還嘗試生成SQL Server資料庫,發現可以通過手動更改PowerDesigner 生成的sql語句來完成資料庫中表的生成,這對我們之後改進有一定奠基。 初始構想的資料庫間表的關系如下圖所示: 由于此次隻實作開課計劃表的導入與顯示,是以其它表可以不用生成,留待以後按需求再進行更改。
4、PSP表格
通過閱讀《構件之法》第二章我們粗淺地了解了一下PSP個人軟體過程的内容,暫且先簡單地按照書上的表格做出如下情況表
5、源碼的Github連結
https://github.com/AutooCS/CourseManagement
6、Github上的commit的日志
7、結對小結
通過這次的結對程式設計,我稍微了解到開發android的一個小過程,積累了一定的經驗,畢竟自己的水準現在還是算不入流的小菜鳥,是以很多方面都做到并不是很到位,或者可以說是還很不合格,不過也正是因為如此,我所體會到的更加深刻。在實踐的過程中同時也加深了對書本中理論知識的了解。在這次實踐的過程中,和隊友配置設定好各自的工作量,在遇到問題時能互相探讨,共同解決問題,這讓我明白了團隊協作在開發一個項目的過程中的重要性。在代碼實作方面,我們配置設定了各自所要完成的子產品後,各自去進行學習,在不同的時間段,輪流當主程式員,結對。實作過程中遇到的問題,一起努力解決,過程讓我既感覺緊湊緊張,又讓人有種身心投入的感覺。
當然實踐遇到了許許多多的問題,我負責界面設計,一開始我的界面是采用表格形式來展現,但随着逐漸深入,我在編寫資料庫資料導出以及顯示的時候發現這種形式的寫法有種讓人難有着手點的感覺。這主要應該是因為自己水準比較低吧,實踐過的項目太少,知識經驗儲備不足。因為要使得每個表格能不被堆擠,是以我采用relativeLayout中嵌套TableRow,這個方法我并不熟悉主要是借鑒網絡上的經驗,是以在後面想要給擷取表格資訊顯示我都無從下手。是以後來我有趕工簡陋地做了一個ListView界面,不得不說這用起來實在是友善多了,困擾我許久的難題也有了頭緒,雖然最終我還是未能完全實作,不過我相信隻需多餘一天便有把握能完成。
另一點讓我感覺很是糾結就是GItHub的代碼的push,不知道是我的本機問題還是什麼,這暫時我還沒有着手去解決。一次在pull下我隊友的代碼後要補充自己的代碼交上去,結果一直沒有成功,最後我手賤的用了強制覆寫的指令,結果把隊友的一次commit給覆寫掉了。中途由于各種原因沒有着手去解決這個問題,深入了解Git,最後的界面修改這些内容我還直接拷到隊友電腦讓隊友幫我git上去。看來必須得好好學習一下git,不然以後的代碼實作就會困難重重。