軟件工程網絡15結對編程做業

小組成員html

姓名 學號 我的博客連接
姚佳希 201521123042 http://www.cnblogs.com/ballonbaby/
吳慧婷 201521123094 http://www.cnblogs.com/whting/p/8569603.html

1.分析現有代碼

咱們選擇的網絡14現有的代碼:
我的博客地址:http://www.cnblogs.com/NianQiFeng ,源代碼:https://git.coding.net/qwx_hh/java-szys.gitjava

(1)clone 所選項目,並在博客中給出結對項目碼雲連接git

(2)檢查所選項目的類之間的關係,畫出類圖
算法

(3)瀏覽全部代碼考慮代碼質量和測試覆蓋率編程

  • 單元測試[感受沒有掌握該項目測試的方法,將進行修改(有空)]

  • 覆蓋率測試

(4)找出原項目中的邏輯泥球小程序

  • 「複習」功能不夠完善(後面不知道爲何都出不來複習界面了)
  • 計時功能不夠完善(雖然咱們沒有改進)

2.功能改進與擴展

(1)需求分析網絡

隨着課餘娛樂項目的增長,如今的小孩子在學習上變得愈來愈不自覺,須要老師、家長在背後催着纔會作做業,所以須要實現一個計時功能,以時間的流逝來給孩子一些緊迫感。另外,在通過長期的運算訓練以後,如何才知道學生的運算水平是否有顯著提升呢?將作題過程進行計時能夠解決這個問題,從花費時間的長短就能夠看出是否取得進步。同時,老師、家長也能夠利用計時功能設立獎勵機制。例如,規定在二十秒內完成十道題目的學生能夠獲得一個大大的獎勵,激勵學生一次又一次地挑戰這個時間。
爲了讓這個四則運算自動生成器的使用人羣跨越國界,就須要咱們實現語言切換功能。不只讓中國大陸的小孩能夠簡單上手這個小程序,同時還能讓中國臺灣以及外國的小孩一樣可使用。實現這樣一個小小的功能,就可讓咱們這個自動生成器的受衆面遍及世界各地,不受語言的障礙,何樂而不爲呢?
大多數的時候咱們都不能要求這些小孩子在一個時間段內持續不斷地作計算題,而是讓他們分次來完成。舉個例子,當老師佈置小孩子一週以內要完成200道的四則運算,並記錄作對多少題,作錯多少題時,絕大部分學生確定會選擇一天作幾回,一次作幾題,極少同窗會選擇一次性把這200道題作完。這樣子就存在一個問題,若是分次作的話那每一次作對多少題作錯多少題都要登記下來嗎?這也太麻煩了。所以就須要咱們可以記錄用戶作題的總數,即便在用戶退出又再次啓動時,能夠作到把之前的對錯數量保存並在此基礎上進行增量計算。工具

                                          ——引用於原項目做者的博客(連接單元測試

  咱們在這個需求分析的基礎上進一步完善四則運算的功能,具體功能見設計分析,功能展現見截圖。學習

(2)設計分析

  • 增長括號操做符
  • 增長乘方運算符
  • 增長「從新開始」功能

(3)展現每一個功能的核心代碼
運算功能:

  ① 整數簡單運算

  ② 分數簡單運算

  ③ 整數混合運算(有括號)

「從新開始」功能:

優化語言切換功能:

優化複習功能:

(4)程序運行及每一個功能的使用截圖
  初始界面

  簡體中文

  繁體中文

  English

  運算功能

(5)思惟導圖

(6)類圖

(7)覆蓋率

  覆蓋率分析:界面的覆蓋率下降,運算的覆蓋率升高,整體覆蓋率相對升高。

(8)給出效能分析工具的分析結果
(待續——軟件安裝有問題)

3.其它

(1)博客開頭給出兩人的學號(見博客開頭)

(2)結對編程的感覺和體會

  • 首先,兩我的合做確實能完成的快一些(1+1>2),可是總會遇到價值觀相左或者意見不一樣的時候,但都能很愉快的解決,由於咱們的目標就是完成項目需求。 ^。^
  • 最大的體會就是改別人的項目比本身寫項目可貴多,你要理解他們作這個項目時的想法(竟然忘了問學長),理解他們爲何要用這樣的算法,從他們的角度看待這個項目,並在這個基礎上作出擴展;本身寫項目的時候,就能夠根據本身的想法逐步進行,比較好理解。
  • 而後很是感謝隊友的體諒(畢竟我作的工做很少),咱們能夠一塊兒分析項目,向他人請教,並作出本身的改變,仍是值得開心滴。
  • 對於項目,咱們想過不少修改的方法,可是改起來又以爲有問題,討論用的時間仍是蠻多的。
  • 咱們又一次的合做比以前更加融合。

(3)兩人在討論、細化和編程時的結對照片
(不在一個宿舍,老是相約圖書館的咱們)

(4)完成PSP表格

PSP2.1 我的開發流程 預估耗費時間(分鐘) 實際耗費時間(分鐘)
· Planning 計劃 15 40
· Estimate 明確需求和其餘相關因素,估計每一個階段的時間成本 15 20
· Development 開發 60 80
· Analysis 需求分析 (包括學習新技術) 10 20
· Design Spec 生成設計文檔 20 20
· Design Review 設計複審 10 10
· Coding Standard 代碼規範 10 10
· Design 具體設計 30 30
· Coding 具體編碼 60 120
· Code Review 代碼複審 10 20
· Test 測試(自我測試,修改代碼,提交修改) 15 30
· Reporting 報告 30 40
· 測試報告 10 10
· 計算工做量 10 5
· 並提出過程改進計劃 10 15

(5)碼雲上的代碼記錄

(6)碼雲上的編碼規範文檔 (由於沒有大量修改就使用了原項目的編碼規範)

相關文章
相關標籤/搜索