201671010448 楊巧麗 《英文文本統計分析》結對項目報告

實驗四 軟件工程結對項目

博文簡要信息表:

項目 內容
這個做業屬於哪一個課程 (https://www.cnblogs.com/nwnu-daizh/)
這個做業的要求在哪裏 (http://www.javashuo.com/article/p-bjcswxqf-ma.html)
課程學習目標 熟悉軟件開發總體流程,提高自身能力
本次做業在哪一個具體方面幫助咱們實現目標 第一次體驗一個完整的工程

點評信息

點評博客:(http://www.javashuo.com/article/p-rshgprnp-hz.html)
Github連接地址:(https://github.com/1615087343/cipin/find/master
點評內容:博主你好,閱讀完你的博文後,博文結構很完善。博文內容方面較爲完善,基本上實現了實驗要求所達到的目標。對於詞頻統計方面沒有實現柱狀圖這一點,相信博主在以後的開發過程當中加以改進,最後實現。從PSH展現環節能夠看出,博主的計劃明確,時間分配合理,能夠順利地開發出軟件,從PSP「計劃共完成須要的時間」與「實際完成須要的時間」兩列數據的差別化能夠看出,實際所用時間老是超出計劃時間,對開發的不熟練和對程序語言的差別化致使實際時間老是超過計劃時間。在之後的學習中繼續努力共同進步。
點評心得:經過點評,我發現,我存在不少不足。互評這種方式,可讓咱們彼此之間相互學習,共同進步,也能夠發現對方的優勢本身的不足,取長補短,節省時間,最後開發以後的結對軟件。html

源碼地址:(https://github.com/healer-devil/ydm)

結對項目實施過程

需求分析

1.可處理用戶任意輸入的英文文本
2.統計該文本的行數及字符數功能
3.指定單詞詞頻統計功能
4.前k個高頻詞的輸出
5.統計該文本的單詞數,而後輸出到result.txt文件。
6.統計功能耗時
7.GUI人機交互界面
8.統計文本除冠詞、代詞、介詞以外的高頻詞
  • 核心功能代碼展現
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;
    }

程序運行



柱狀圖

顯示程序耗時

讀入文件及人機交互

附加功能無能爲力啊啊啊啊啊啊啊啊啊啊git

結對照片

PSP展現

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

小結感覺:需求分析方面,由於是老師所給要求,只是理解含義便可,在開發和代碼編寫上花費大量時間,錯誤頻繁出現,一直報錯,一直修改,很崩潰。修改完最後一處錯誤時很欣喜。在結對中咱們相互促進,共同尋找實現的方法,因爲技術方面的不足,附加功能沒有實現。PSP展現了咱們的開發過程,計劃趕不上變化,實際操做的時間遠遠大於計劃時間,程序語言方面存在很大問題,開發過程的經驗也很欠缺,還須要多多練習。嘻嘻,最後了感受做業難度真的好大,好難,下次是否是更難了?github

相關文章
相關標籤/搜索