項目 | 內容 |
軟件工程 | http://www.cnblogs.com/nwnu-daizh/ |
做業要求 | http://www.javashuo.com/article/p-bjcswxqf-ma.html |
課程學習目標 | 熟悉軟件開發總體流程,提高自身能力 |
點評的博客地址 | http://www.javashuo.com/article/p-vvchtaag-ex.html |
github連接地址 | https://github.com/healer-devil/yuandaima/blob/master/src/danci.java |
評論與心得 | 你好,在閱讀完你的博客以後。從博文結構上來說,博文很完設善。可是在博文內容上來說,在設計實現的時候,你並無說明設計中有哪些類,且類負責說明功能。也沒有說你主要有什麼方法,是怎樣實現的。在設計實現這塊很模糊。在測試運行階段,只是給出了統計k個高頻詞的截圖,且沒有體現GUI功能界面,也沒有輸出到result.txt文件的截圖。PSP中有些地方不合理,在開發階段我以爲至少比10分鐘多。博文結構大致是跟着PSP的流程走的。PSP的計劃時間大於實際時間,說明準備很充分。可是部分功能尚未徹底的實現,整體很是不錯,值得學習和借鑑。 |
需求分析
1.可處理用戶任意輸入的英文文本
2.統計該文本的行數及字符數功能
3.指定單詞詞頻統計功能
4.前k個高頻詞的輸出
5.統計該文本的單詞數,而後輸出到result.txt文件。
6.統計功能耗時
7.GUI人機交互界面
8.統計文本除冠詞、代詞、介詞以外的高頻詞html
setLayout(null); setBackground(Color.cyan); setSize(600, 300); setVisible(true); btn1 = new Button("打開"); btn2 = new Button("保存"); btn3 = new Button("關閉"); tarea = new TextArea(""); add(btn1); add(btn2); add(btn3); add(tarea); tarea.setBounds(30, 50, 460, 220); btn1.setBounds(520, 60, 50, 30); btn2.setBounds(520, 120, 50, 30); btn3.setBounds(520, 180, 50, 30); op = new FileDialog(this, "打開", FileDialog.LOAD); sv = new FileDialog(this, "保存", FileDialog.SAVE); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { setVisible(false); System.exit(0); } }); //統計該文本行數及字符數 public int[] allCount(String fileName) throws IOException { long a =System.currentTimeMillis();//初始化開始時間 String line = fileName; File file = new File(line); InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8"); BufferedReader br = new BufferedReader(isr); int charNum = 0;// 字符數 int wordsNum = 0;// 數字數 int lineNum = 0;// 行數 // 以流的形式讀入文件 while (br.read() != -1) { String s = br.readLine(); charNum += s.length(); wordsNum += s.split(" ").length; lineNum++; } isr.close();// 關閉 int[] linenum = { charNum, wordsNum, lineNum, }; for (int i = 0; i < linenum.length; i++) { System.out.println(linenum[i]); } System.out.println("字符數:"+charNum+"\n單詞數:"+wordsNum+"\n行數:"+lineNum); System.out.println("\r執行耗時:"+(System.currentTimeMillis()-a+"ms"));//輸出耗時時間 return linenum; }
程序運行
java
柱狀圖
顯示程序耗時
讀入文件及人機交互
git
因我的能力問題,沒有作出來附加功能。github
-結對照片
學習
PSP2.1 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
---|---|---|---|
Planning | 計劃 | 55 | 60 |
· Esitimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 350 | 400 |
· Development | 開發 | 500 | 600 |
· Analysis | 需求分析(包括學習新技術) | 60 | 50 |
· Design Spec | 生成設計文檔 | 20 | 15 |
· Design Review | 設計複審(和同事審覈設計文檔) | 30 | 30 |
· Coing Standard | 代碼規範(爲目前開發制定合適的規範) | 20 | 20 |
· Design | 具體設計 | 40 | 35 |
· Coding | 具體編碼 | 500 | 600 |
· Code Review | 代碼複審 | 7 | 9 |
· Test | 測試(自我測試,修改代碼,提交修改) | 17 | 25 |
· Reporting | 報告 | 10 | 15 |
· Test Report | 測試報告 | 15 | 22 |
· Size Measurement | 計算工做量 | 5 | 5 |
· Postmortem&Process Improvement Plan | 過後總結,並提出過程改進計劃 | 10 | 10 |