201673020127 郁文曦 《英文文本統計分析》結對項目報告


作業點評

201671030104 鄧海祥-詞頻統計軟件項目 相信自己

結對項目 英文文本統計分析

需求分析

從給定文本中得出單詞頻數的統計數據,對之前的設計進行優化。

軟件設計

以之前的設計為原型。為使設計更加用戶友好,設計了圖形用戶界面。柱狀圖改為使用繪圖的方式呈現。為使得統計結果更具有針對性的信息價值,對統計過程進行了修改。初時收集了冠詞、代詞與介詞以過濾統計結果,調試后感覺效果不理想,改為直接使用English Stop Words (CSV)。二詞詞組的統計依賴於對輸入文本單詞的順序檢查,把連續兩個符合保留條件的單詞拼接成“P S”一個字符串放入映射統計下來,其中P與S為前后的兩個單詞。

類圖

核心代碼

讀入文本進行統計


while ((temp = br.readLine()) != null)
{
    String t[] = temp.split(" ");
    String p = "";
    for (String s : t)
    {
        while (true)
        {
            if (s.length() == 0)
            {
                break;
            }
            else
            {
                if (s.charAt(0) < 'A' || (s.charAt(0) > 'Z' && s.charAt(0) < 'a') || s.charAt(0) > 'z')
                {
                    s = s.substring(1);
                }
                else
                {
                    break;
                }
            }
        }
        if (s.length() > 0 && !DS.SW.contains(s.toLowerCase()))
        {
            tSP.cN += s.length();
            if (DS.wm.containsKey(s))
            {
                DS.wm.put(s, DS.wm.get(s) + 1);
            }
            else
            {
                DS.wm.put(s, 1);
            }
            if (p.length() > 0 && !DS.SW.contains(p.toLowerCase()))
            {
                String ts = p + " " + s;
                if (DS.pm.containsKey(ts))
                {
                    DS.pm.put(ts, DS.pm.get(ts) + 1);
                }
                else
                {
                    DS.pm.put(ts, 1);
                }
            }
        }
        p = s;
    }
    tSP.rN++;
}

程序運行

以《老人與海》為例。







結對過程

PSP

PSP各個階段 計划時間(min) 實際時間(min)
計划 10 10
開發 365 355
需求分析 10 10
生成設計文檔 0 0
設計復審 5 5
代碼規范 5 5
具體設計 10 15
具體編碼 270 270
代碼復審 5 5
測試 60 45
報告 10 10
測試報告 0 0
計算工作量 5 5
事后總結,並提出改進計划 5 5
總共花費的時間 385 375

感想

團隊的合理規划與分工可以更好地完成具有一定規模的軟件設計。本次設計基本可以滿足要求,但也有許多可以改進的細節。

GitHub


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com