第一次個人程式設計作業

2022-04-06 21:29:40 字數 2667 閱讀 6080

richer

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫60

100· estimate

· 估計這個任務需要多少時間

2030

development

開發600

550· analysis

· 需求分析 (包括學習新技術)

150120

· design spec

· 生成設計文件

3030

· design review

· 設計複審

2015

· coding standard

· **規範 (為目前的開發制定合適的規範)

3025

· design

· 具體設計

10090

· coding

· 具體編碼

300350

· code review

· **複審

2030

· test

· 測試(自我測試,修改**,提交修改)

60100

reporting

報告60

120· test repor

· 測試報告

3040

· size measurement

· 計算工作量

1010

· postmortem & process improvement plan

· 事後總結, 並提出過程改進計畫

2030

· 合計

1510

1640

設計實現

附上查詢縣和路的部分**,其他級別的檢索同理:

town town = new town();

town.setname("");

//市和省級位址都缺失的情況

if(("").equals(city.getname())&&("").equals(province.getname()))

}}else if (("").equals(city.getname())&&!("").equals(province.getname()))

for(town t: townlist)

}}else}}

效能的改進主要是對於位址缺失的情況的處理,一開始我處理缺失的方法是直接從全部資料中檢索。後來進行了改進,遇到位址缺失的情況,並不盲目的檢索全部位址,而是從低階往高階,找到不缺失的最低的位址級,從此級別開始檢索,這樣就大大增加了效率。

效能分析圖:

程式中消耗最大的函式是檢索位址的函式,有很多的for迴圈語句。

單元測試部分**

@test

public void splitdata() throws ioexception {

//測試資料檔案的路徑

string inputpath = "c:\\users\\richer\\desktop\\test.txt";

//標準答案檔案的路徑

string answerpath = "c:\\users\\richer\\desktop\\answer.txt";

bufferedreader inputreader = new bufferedreader(new inputstreamreader(new

fileinputstream(inputpath), "utf-8"));

bufferedreader answerreader = new bufferedreader(new inputstreamreader(new

fileinputstream(answerpath), "utf-8"));

string in;

string answer;

input input = new input();

while ((in = inputreader.readline())!=null&&(answer = answerreader.readline())!=null)

{string out = input.splitdata(in);

//標準答案中的各項用「,」隔開

string aset = answer.split(",");

for(int i=0;isplitdata函式的主要用途就是把各條輸入中的題目型別,姓名,手機號碼,位址分割開來。

列印結果:

單元測試覆蓋率:

異常處理主要是ioexception的處理

例如讀取檔案的時候檔案路徑錯誤,導致無法找到對應的檔案等。

位址簿的設計還存在很多不足,**也不夠規範,希望後面可以找機會再完善一點(前提是有時間...)。

that's all.

第一次個人程式設計作業

psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫120 estimate 估計這個任務需要多少時間 120development 開發360 analysis 需求分析 包括學習新技術 60 design spec...

第一次個人程式設計作業

github倉庫位址 psp2.1 personal softwareprocess stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫50 60estimate 估計這個任務需要多少時間 3020 development 開發960 1080 analysis 需求分析 包括學習...

第一次個人程式設計作業

倉庫 psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫 estimate 估計這個任務需要多少時間100 development 開發 8802000 analysis 需求分析 包括學習新技術 240420 de...