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

題目要求:

1.連接

2.改進現有代碼

  • 分析網絡14部分現有程序代碼

  • 我的博客地址4:http://www.cnblogs.com/shizhuangde ,源代碼:https://coding.net/u/lhl1212/p/work2/gitgit

  • 從源代碼的運行中,能夠發現,運行時,一旦作錯了,顯示的作錯的題目會一直顯示,沒有被刷新掉,致使題目一直在累加,很亂。並且沒有正確率的顯示,不可以本身選擇題目的數量,每次都只能固定作5道題目。而其餘功能,像是計時器、加減乘除這些功能仍是比較完善的,運算方面不單單能夠作整數的運算,也能夠作分數的運算。咱們須要的就是將源代碼中不是很完善的地方進行完善代碼,去除重複的代碼。編程

  • 需求分析網絡

  1. 源代碼中已有的3種不一樣的語言選擇
  2. 能夠進行+、-、×、÷四種運算
  3. 能夠進行多項式運算
  4. 能夠隨機生成不一樣的式子
  • 設計分析

  • 上傳碼雲

  • 類圖

  • Junit單元測試

  • 代碼覆蓋率

  • 效能分析

3.功能改進與擴展

  • 源代碼的改進

  • 能夠自由選擇題數
  • 主要代碼:

  • 運行截圖:

  • 能夠刷新錯題顯示,顯示正確率和答對題數
  • 主要代碼:

  • 運行截圖

  • 增長新操做符

  • 增長一個運算符,程序應該有怎樣的改變?不得不扔掉所有重寫麼,仍是能夠只改部分模塊?基於模塊化設計的思想,考慮在現有程序中作什麼樣的修改,才能讓程序更好地實現新的需求
  • 減小重複題目
    程序一次運行生成的題目不能重複,即任何兩道題目不能經過有限次交換+和×左右的算術表達式變換爲同一道題目。例如,23 + 45 = 和45 + 23 = 是重複的題目,6 × 8 = 和8 × 6 = 也是重複的題目。3+(2+1)和1+2+3這兩個題目是重複的,因爲+是左結合的,1+2+3等價於(1+2)+3,也就是3+(1+2),也就是3+(2+1)。可是1+2+3和3+2+1是不重複的兩道題,由於1+2+3等價於(1+2)+3,而3+2+1等價於(3+2)+1,它們之間不能經過有限次交換變成同一個題目。模塊化

  • 主要代碼:函數

  • 運行截圖:

  • 其餘功能運行截圖:

3.在兩人合做的過程

  • 編程規範

  • 使用tab鍵進行換行
  • 每一個符號和代碼間用一個空格隔開
  • { 與if和for在同一行,操做符的兩邊各留一個空格,逗號和分號也各留一個空格。
  • 變量名、函數名使用駝峯風格進行命名單元測試

  • 結對編程圖片

  • 心得體會

    在此次結對編程的過程當中,經過此次的結對編程,讓咱們兩人都對於結對編程有了更加深入的映象和了解。在結對編程的過程,咱們在編程前期就根據實際狀況,將每一個人所須要進行的編程操做進行了明確的分工,這樣明顯提升了編程的效率。在編程的過程當中確實可以感覺到1+1>2的效果,兩我的之間的合做確實比一我的本身進行編程更有效率,而且,本身一我的思考問題時,總會有着侷限性你,可是兩我的的話,恰好能夠彌補這樣的缺點。在此次編程中咱們還使用一些軟件分析之類的軟件來幫助咱們更加透徹地瞭解程序,可是對於一些軟件,像是Jprofilter就不是很熟悉了,不知道給怎麼使用它了。測試

  • PSP

PSP2.1 我的開發流程 估計耗時 實際耗時
. Planning 計劃 20 20
· Estimate 明確需求和其餘相關因素,估計每一個階段的時間成本 5 8
. Development 開發 220 350
· Analysis 需求分析 30 45
· Design Spec 生成設計文檔 15 15
· Design Review 設計複審 25 45
· Coding Standard 代碼規範 10 8
· Design 具體設計 60 75
· Coding 具體編碼 75 95
· Coding Reivew 代碼複審 25 25
· Test 測試(自我測試、修改代碼、提交修改) 15 25
. Reporting 報告 25 30
· 測試報告 5 8
· 計算工做量 5 8
· 並提出過程改進計劃 8 12
相關文章
相關標籤/搜索