201671030101詞頻統計軟件項目報告

實驗二 軟件工程我的項目

做業要求

github

1.需求分析

  • 程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。html

  • 程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。java

  • 指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。git

  • 高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。github

  • 統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。編程

2. 功能設計

基本功能

讀取功能:能夠讀取並存儲任意英文文本。模塊化

單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。函數

高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。學習

輸出功能:統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。測試

擴展功能: 無編碼

3. 設計實現

程序包含兩個類,分別是主函數類MAIN類和存儲類SAVE類

MAIN類:

public static void main主函數、
public static void select菜單界面函數、
public static void out輸出函數、
public static void sort排序函數、
public static void highsta高頻詞輸出函數等等

4. 測試運行

界面以及高頻詞

指定高頻詞次數及柱狀圖

保存至result.txt文件

按字典保存的單詞

5.代碼展現

柱狀圖部分

public static void sc(String e,int max)
    {
        double num=0;
        int bz=0;
        if(e.length()!=0)
        {
            for(SAVE s : sum1)
            {
                if(s.getWord().equals(e))
                {
                    System.out.printf("%-12s-%,5d|",e,s.getNumber());
                    num=(double)(s.getNumber())/max*80;
                    for(int i=0;i<num;i++)
                        System.out.print("★");
                    System.out.println();
                    bz=1;
                }
            }
            if(bz==0)System.out.printf("%-12s-%,5d|數據未找到\n",e,0);
        }
    }

高頻詞輸出部分

public static void highsta()
    {
        System.out.println("請輸入要查看的單詞數");
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt();
        
        for(SAVE s : sum1)
        {
            System.out.println(s.getWord()+":"+s.getNumber());
            x--;
            if(x==0)break;
        }
    }

6.總結

首先在作完需求分析等部分的內容開始編程時就出現了不少困難,首先是java編程的不熟悉,在編程的過程當中花了不少時間至關於從新學習了java的簡單實現,其次是本次實驗模塊化的劃分,有一個主函數main函數統領全局,其下有菜單界面顯示的函數、對文本排序的函數、統計單詞次數的函數、輸出字典到文件result的函數等等。每一個函數在main函數下被調用。

7.psp部分

PSP 任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
Planning 計劃 15 20
Development 開發 180 200
Analysis 需求分析(包括學習新技術) 15 20
Design Spec 生成設計文檔 5 5
Design Review 設計複審 5 5
Coding Standard 代碼規範(爲目前的開發制定合適的規範) 20 10
Design 具體設計 30 45
Coding 具體編碼 120 150
Code Review 代碼複審 10 15
Test 測試(自我測試,修改代碼,提交修改) 5 5
Reporting 報告 5 5
Test Report 測試報告 5 5
Size Measurement 計算工做量 0 0
Postmortem & Process Improvement Plan 過後總結,並提出過程改進計劃 10 20
相關文章
相關標籤/搜索