psp是卡耐基梅隆大學(cmu)的專家們針對軟體工程師所提出的一套模型:personal software process (psp, 個人開發流程,或稱個體軟體過程)。
psp2.1
personal software process stages
預估耗時(分鐘)
實際耗時(分鐘)
planning
計畫20
30· estimate
· 估計這個任務需要多少時間
20 30
development
開發290
330
· analysis
· 需求分析 (包括學習新技術)
20 20
· design spec
· 生成設計文件
15 20
· design review
· 設計複審 (和同事審核設計文件)
15 20
· coding standard
· **規範 (為目前的開發制定合適的規範)
20 20
· design
· 具體設計
30 30
· coding
· 具體編碼
150
170
· code review
· **複審
20 20
· test
· 測試(自我測試,修改**,提交修改)
20 20
reporting
報告60
50 · test report
· 測試報告
15 20
· size measurement
· 計算工作量
15 10
· postmortem & process improvement plan
· 事後總結, 並提出過程改進計畫
20 20
合計370
400專案分析:
(1)首先我們需要設計乙個能統計出文字的字元總數的函式;
(2)實現對行數的提取;
(3)進行單詞數的相關操作;
(4)在原型程式的基礎上實現進一步的功能拓展。
(5)對專案進行單元測試和效能分析。
程式有三個類,分別是行數,字元數,以及單詞統計wordcount,依據需求,按模組細分,關鍵程式如下:
1.兩個基本功能的結對程式設計1實現
因為基本功能的簡單,我們默契地進行結對程式設計,有效率地在短時間內完成了行數的統計以及文字字元數的統計。
對於文字檔案進行行數的統計。在這裡,我們宣告了乙個類來實現這個功能。
通過乙個隊行數的簡單while迴圈來實現。
在這裡,我們宣告乙個int類,來實現對檔案的字元數的提取。
通過將字元儲存到陣列中,並得到陣列長度來輸出關鍵的文字字元數。
2.新功能的開發以及結對程式設計中分歧點的克服
最關鍵的一步是對單詞的統計處理,一開始我們對於如何進行單詞的提取產生了一些分歧。但在經過討論,我們選擇通過while迴圈的連續判斷來識別出單詞,並進行輸出。但由於我們對ascii碼的不夠了解,使我們在whlie迴圈語句的判定問題上出現了連續的錯誤,得不到想要的結果,耗費了大量的時間。在這一步我們產生了一些分歧。
最後經過討論,我們決定放棄原來的思路,重新程式設計,通過對已經實現了的功能——字元數的提取的利用,我們在乙個for語句下進行巢狀,最後成功實現了單詞提取的功能。
3.設計
以下是我們關於程式設計的設計圖的簡單表示
1.測試
利用c#單元測試功能,通過介面來實現預期功能的檢驗。我們使用的文字是《pre-parade》的歌詞,預計有1811個字元,41行以及189個單詞。我們分別進行了測試,均與預期相符。
以下是功能的實現截圖:
2.效能分析
vs自帶強力的效能分析,這裡是vs2013版本。我們可以快捷地得到各函式的執行時間以及其他效能的測試。
以下是一次關於函式執行時間的效能分析截圖:
3.總結與未來期望
實際上我們這次結對程式設計所實現的功能還是很有限的,關於單詞的提取與操作還有更多功能可以實現,但重要的是,我們通過這次作業體會了結對程式設計的優勢,當處理雙方都很擅長的任務時,可以快速地處理並實現。但一旦處理到了較有挑戰的問題時,一旦雙方的實力都不是很強,那麼就容易發生分歧,走上彎路,憑空耗費時間。這是我理解到,結對程式設計是對雙方程式設計能力的共同考研,一旦雙方都同時缺乏某一問題的處理能力就容易陷入困境。
通過這次結對程式設計的體驗,我了解到不斷學習,提公升個人能力,以及和小隊成員的默契互補都很重要。
(以上為我們結對討論的場景。)
第三次作業
2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...
第三次作業
1 有600mb 兆位元組 的資料,需要從南京傳送到北京 一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料,試比較這兩種方法的優劣。若資訊傳送的速率為33.6kb s,其結果又如何?解 假定連續傳送且不出錯。若...
第三次作業
p67 2 12 有600mb的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率是2.4kbps 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kbps,其結果又如何?解 1 t 600 1024...