項目 | 內容 |
這個做業屬於哪一個課程? | 2016級計算機科學與工程學院(西北師範大學) |
這個做業的要求在哪裏? | 實驗二 軟件工程我的項目 |
我在這個課程的目標是? | 按時完成老師給的任務,複習JAVA相關知識,掌握軟件項目我的開發流程,掌握Githup上發佈軟件項目的操做方法 |
Github相關代碼 | 連接 |
/*從指定文件中讀入單詞,處理文件中的單詞,對於數字,符號等非字母過濾 */ public class WordCount { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new FileReader("F:/count/wordcount.txt")); List<String> lists = new ArrayList<String>(); //存儲過濾後單詞的列表 String readLine = null; while((readLine = br.readLine()) != null){ String[] wordsArr1 = readLine.split("[^a-zA-Z]"); //過濾出只含有字母的 for (String word : wordsArr1) { if(word.length() != 0){ //去除長度爲0的行 lists.add(word); } } } - ###代碼片斷二:
/*單詞的詞頻統計*/ for (String li : lists) { if(wordsCount.get(li) != null){ wordsCount.put(li,wordsCount.get(li) + 1); }else{ wordsCount.put(li,1); } }
/按value的大小進行排序/
ArrayList<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(oldmap.entrySet());html
Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){ @Override public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { return o2.getValue() - o1.getValue(); //降序 } });
本次項目預計要實現的功能比較全面,可是因爲編程能力不足,有些功能還沒有實現。在本次項目中,雖然實現了部分功能,但在同時也複習了JAVA的相關知識,基本掌握了軟件項目我的開發 流程,也學習了Githup上發佈軟件項目的操做方法。慢慢理解,理論加實踐的學習方法,在從此的學習中,去克服編程方面的弱點,提升編程能力。git
PSP是卡耐基梅隆大學(CMU)的專家們針對軟件工程師所提出的一套模型:Personal Software Process (PSP, 我的開發流程,或稱個體軟件過程)。github
PSP2.1 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
Planning | 計劃 | 10 | 18 |
Estimate | 估計這個任務須要多少時間 | 8 | |
Development | 開發 | 100 | 120 |
Analysis | 需求分析(包括學習新技術) | 10 | 10 |
Design Spec | 生成設計文檔 | 5 | 8 |
Design Review | 設計複審(和同事審覈設計文檔) | 4 | 6 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 10 | 18 |
Design | 具體設計 | 10 | 12 |
Coding | 具體編碼 | 180 | 200 |
Code Review | 代碼複審 | 7 | 9 |
Test | 測試(自我測試,修改代碼,提交修改) | 20 | 40 |
Reporting | 報告 | 20 | 20 |
Test Report | 測試報告 | 10 | 5 |
Size Measurement | 計算工做量 | 5 | 3 |
Postmortem & Process Improvement Plan | 過後總結,並提出過程改進計劃 | 3 | 3 |