實驗四 軟件工程結隊項目

項目 內容
該做業所屬課程 任課教師博主主頁連接
做業要求 實驗四 軟件工程結隊項目
課程學習目標 熟悉軟件開發總體流程,提高自身能力
本次做業在哪一個具體方面幫助咱們實現目標 第一次體驗一個完整的工程
項目源碼 https://github.com/Z-zt/shiyan4

任務一

  • 點評博客地址和點評內容:
    • [點評博客地址](http://www.javashuo.com/article/p-tffqdhum-eg.html)[GitHub連接地址](https://github.com/XL1105/xlproject/blob/master/CiPin.zip
      點評內容:首先你的博文結構有條有理,項目要實現什麼,該怎麼實現每個步驟你都表達得很清晰,能看出你在前期也作足了相關的準備,可是我我的有點小小的建議就是你能夠把你的標題字號稍微放小一點就看上去更美觀和諧一點。還有一點就是你在博文內容上面應該簡單闡述一下你的模塊化設計是怎麼實現的就更好了,我簡單分析了一下你的PSP表,我發現你在開發和具體編碼兩個環節中,計劃完成時間和實際完成時間一共相差了80分鐘,我想應該是編程能力影響了你的進展速度,我也是因爲編程基礎薄弱,才致使個人實際完成時間和計劃時間有很大的落差,因此咱們一塊兒學習,慢慢進步,我相信總會有收穫的。最後經過運行你的程序,我發現你的詞頻統計以柱狀圖的形式顯示出來的這一功能是很值得我去學習的,下來咱們能夠一塊兒交流一下,互相學習,共同進步!
  • 點評心得
    • 經過互相的博客點評,PSP的互相對比,我發現我還有不少不足的地方,其中最大的問題就是因爲個人編程基礎太薄弱,因此直接影響到個人項目進展。在本次的博客點評過程當中,我也發現了對方的不少優勢值得我去學習,好比在博文結構上對方的顯然結構更爲清晰,條理明確,在項目的功能上她的也更爲完善,因爲個人編程能力有限,因此我並無實現該功能,經過在個人機子上運行對方的源碼,我發現她在這以功能上作的很好,因此在下來以後我也認真向對方請教了一番。對於互相的博客點評,我以爲頗有必要,我認爲這樣可使咱們互相取長補短,發現對方的閃光點,而且向對方去學習,彌補本身的不足。

任務二

需求分析

  • 實驗2要求的功能;
  • 實現單詞頻數可視化柱狀圖;
  • 統計該文本行數及字符數;
  • 各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);
  • 可處理任意用戶導入的任意英文文本;
  • 人機交互界面要求GUI界面(WEB頁面、APP頁面均可);
  • 附加功能:統計文本中除冠詞、代詞、介詞以外的高頻詞;
  • 附加功能:統計前10個兩個單詞組成的詞組頻率。

軟件設計

核心功能代碼展現

  • 顯示程序所消耗時間
for(Map.Entry<String, Integer> map : list) {
                if(num <= sb.length()) {
                    bw.write("出現次數第" + num + "的單詞爲:" + map.getKey() + ",出現頻率爲" + map.getValue() + "次");
                    bw.newLine();
                    System.out.println(map.getKey() + ":" + map.getValue());
                    num++;
                }
                else break;
            }
            bw.write("耗時:" + (System.currentTimeMillis() - t1) + "ms");
            br.close();
            bw.close();
            System.out.println("耗時:" + (System.currentTimeMillis() - t1) + "ms");
        } catch (FileNotFoundException e) {
            System.out.println("找不到指定文件!");
        } catch (IOException e) {                                    
            System.out.println("文件讀取錯誤!");
        }
  • 統計文本行數及字符數
public static void main(String[] args) {
        BufferedReader br = null;
        int line = 0;
        String str = "";
        StringBuffer sb  = new StringBuffer();
        try {
            br = new BufferedReader(new FileReader("src/file.txt"));
            while ((str = br.readLine()) != null) {
              sb.append(str);
                ++line;
            }
            System.out.println("\n文件行數: " + line);
            TreeMap<Character, Integer> tm = Pross(sb.toString());
            System.out.println("\n字符統計結果爲:" + tm);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

程序運行結果

  • 初始化界面
  • 程序運行消耗時間結果顯示圖
  • 文件行數顯示

結對過程

PSP

任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
計劃 15 20
估計這個任務須要多少時間,並規劃大體工做步驟 20 15
開發 300 350
需求分析 (包括學習新技術) 200 220
生成設計文檔 10 15
設計複審 (和同事審覈設計文檔) 10 10
代碼規範 (爲目前的開發制定合適的規範) 10 10
具體設計 40 35
具體設編碼 200 300
代碼複審 15 20
測試(自我測試,修改代碼,提交修改) 40 35
報告 20 30
測試報告 8 8
具體設計 40 35
計算工做量 15 20
過後總結 ,並提出過程改進計劃 10 15

小節感覺:兩人合做真的可以帶來1+1>2的效果嗎?經過此次結隊合做,談談感覺與體會。

  • 經過本次實驗,我得出的結論是在兩我的配合默契的前提下,能達到1+1>2的效果,在結隊的初期,咱們配合的還算能夠,實驗進展的速度也還行,可是在中後期,因爲兩我的的能力有限,咱們被卡在一個地方和長時間,因此這也是的爲何咱們在開發和具體實施的環節耗費了那麼多的時間。結隊編程的優勢就是兩我的在合做的過程當中能夠互相學習,取長補短,兩我的在合做時也能避免走許多彎路,都能起到監督的做用,發現問題也得以及時解決。可是我認爲結隊也有他的缺點,那就是兩我的不夠熟悉,在合做的過程當中會有一個磨合的過程,但這個過程也下降告終隊的進展速度。在本次實驗後咱們也認識到兩我的最致命的缺點,那就是編程能力薄弱,因此整個實驗設計的結果也不是很滿意,因此當下的一個問題就是課後進行學習,努力提升編程能力。
相關文章
相關標籤/搜索