項目 | 內容 |
---|---|
課程名稱 | 2016級計算機科學與工程學院軟件工程(西北師範大學) |
做業要求 | 實驗三 軟件工程我的項目 |
做業目的 | 1.掌握軟件項目我的開發流程 2.掌握Github上發佈軟件項目的操做方法 |
(1)程序共有兩個類。html
(2)數據結構:用HashMap<String, Integer>存儲分詞後的單詞和對應的詞頻。
(3)整體流程圖
java
文件的讀入git
高頻詞統計
github
指定單詞詞頻統計
數據結構
輸入到result.txt
ide
一些錯誤處理
模塊化
try { FileInputStream fis = new FileInputStream(filename); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); String temp=""; String info=""; while((temp = br.readLine())!=null) { String[] str = temp.split("([^a-zA-Z])"); //過濾出只含有字母的 for(int i=0;i<str.length;i++) { String word = str[i].trim(); if(word.length()!=0) //去除長度爲0的行 staff.put(word, staff.getOrDefault(word, 0)+1); } } br.close(); rank();//按值排序 System.out.println("文件讀入成功!請繼續..."); }catch(Exception e) { System.out.println("文件不存在!!!請從新確認!"); }
Set<Entry<String,Integer>> mapEntries = staff.entrySet();//該方法將鍵和值的映射關係做爲對象存儲到了Set集合中 List<Entry<String,Integer>> aList1 = new ArrayList<Entry<String,Integer>>(mapEntries); //按字典序排序 Collections.sort(aList1, new Comparator<Entry<String,Integer>>() { @Override public int compare(Entry<String, Integer> ele1, Entry<String, Integer> ele2) { return ele1.getKey().compareTo(ele2.getKey()); } }); PrintWriter out = null; try { out = new PrintWriter("result.txt"); out.println("total: "+aList.size()); //輸出總詞數 for(Entry<String,Integer> entry: aList1) { out.println(entry.getKey()+"\t"+entry.getValue()); } } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } out.close(); System.out.println("已寫到result.txt 請繼續..."); }
PSP | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
---|---|---|---|
Planning | 計劃 | 8 | 5 |
Estimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 8 | 5 |
Development | 開發 | 170 | 220 |
Analysis | 需求分析(包括學習新技術) | 20 | 15 |
Design Spec | 生成設計文檔 | 10 | 12 |
Design Review | 設計複審 | 11 | 13 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 5 | 9 |
Design | 具體設計 | 10 | 12 |
Coding | 具體編碼 | 70 | 130 |
Code Review | 代碼複審 | 10 | 15 |
Test | 測試(自我測試,修改代碼,提交修改) | 30 | 60 |
Reporting | 報告 | 15 | 20 |
Test Report | 測試報告 | 6 | 9 |
Size Measurement | 計算工做量 | 5 | 3 |
Postmortem & Process Improvement Plan | 過後總結,並提出過程改進計劃 | 5 | 4 |