軟工結對做業

1.本次做業項目github地址

項目地址git

2.PSP表格,預計開發時間

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 20
· Estimate · 估計這個任務須要多少時間 5
Development 開發 2170
· Analysis · 需求分析 (包括學習新技術) 500
· Design Spec · 生成設計文檔 150
· Design Review · 設計複審 (和同事審覈設計文檔) 100
· Coding Standard · 代碼規範 (爲目前的開發制定合適的規範) 80
· Design · 具體設計 200
· Coding · 具體編碼 700
· Code Review · 代碼複審 240
· Test · 測試(自我測試,修改代碼,提交修改) 200
Reporting 報告 400
· Test Report · 測試報告 300
· Size Measurement · 計算工做量 20
· Postmortem & Process Improvement Plan · 過後總結, 並提出過程改進計劃 80
合計 2590

3.看教科書和其它資料中關於Information Hiding, Interface Design, Loose Coupling的章節,說明大家在結對編程中是如何利用這些方法對接口進行設計的

Information Hiding

信息隱藏即經過採用定義良好的接口,對代碼模塊進行封裝,使得這些模塊的內部結構,對外部是不可見的。
應用:github

  • 類與類之間設置接口類,經過接口類相互訪問。
  • 類裏的數據儘可能採用private變量,全部訪問經過訪問函數實現。

Interface Design

UI設計原則(用戶界面設計原理)目的:
設計一個讓用戶感到舒心,使用方便的界面。
應用:算法

  • 設計簡單清晰的界面,用戶能快速地識別和長久地使用。
  • 設計促進交互的界面,是用戶和軟件之間高效地交互。

Loose Coupling

  • 鬆耦合的目的:實現最小化依賴,並處理可伸縮性、靈活性和容錯等需求。編程

  • 引入中間層,減少函數之間的依賴。數組

4.計算模塊接口的設計與實現過程。 設計包括代碼如何組織,好比會有幾個類,幾個函數,他們之間關係如何,關鍵函數是否須要畫出流程圖?說明你的算法的關鍵(沒必要列出源代碼),以及獨到之處

  • 首先判斷是否有環,若是有環,就用dfs算法,若是沒有環,建立一個26*26的二維數組,記錄26個字母之間每兩個字母之間的最長距離,初始時每兩個字母的距離即爲以該兩個字母爲首尾的最長的一個單詞,按照入度進行拓撲排序,再建立一個點鏈接全部入度爲0的點,一個點鏈接全部出度爲0的點,因此最長單詞鏈即爲這兩個點的最長路徑,根據拓撲排序的順序依次求初始點到該點的最長距離,保存到該二維數組中,在遍歷過程當中保存父節點便可記錄下路徑。

12.描述結對的過程,提供非擺拍的兩人在討論的結對照片

  • 一人負責當領航員,一人負責當駕駛員,當疲憊時就互換工做。當思路不一時,先討論,若是不能說服對方,就各自按照本身的想法先實踐,而後對比方案優劣。

13.說明優勢和缺點

結對編程:函數

  • 優勢:分析問題時,經過討論,可以迅速地找到新思路或者找到錯誤,此外一份代碼通過兩我的一塊兒編程,下降了bug的出現率,保證了代碼質量。
  • 缺點:當兩我的想法不一樣時,須要一些時間討論,有時會下降效率,此外有時會對對方的代碼產生誤解。
    個人優缺點:學習

  • 工做積極性高,樂於實踐,認真負責
  • 對新知識的理解不深,有時陷入困局測試

隊友的優缺點:編碼

  • 主動交流,認真務實,思惟嚴謹
  • 不樂於探索未知

14.PSP表格,實際開發時間

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 30 60
· Estimate · 估計這個任務須要多少時間 30 60
Development 開發 2220
· Analysis · 需求分析 (包括學習新技術) 420 420
· Design Spec · 生成設計文檔 120 120
· Design Review · 設計複審 (和同事審覈設計文檔) 120 120
· Coding Standard · 代碼規範 (爲目前的開發制定合適的規範) 60 60
· Design · 具體設計 240 240
· Coding · 具體編碼 720 720
· Code Review · 代碼複審 300 300
· Test · 測試(自我測試,修改代碼,提交修改) 240
Reporting 報告 360
· Test Report · 測試報告 240
· Size Measurement · 計算工做量 60
· Postmortem & Process Improvement Plan · 過後總結, 並提出過程改進計劃 60
合計 2610
相關文章
相關標籤/搜索