201671010430 司昕劼+《英文文本統計分析》結對項目報告

項目 內容
軟件工程 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的計劃時間大於實際時間,說明準備很充分。可是部分功能尚未徹底的實現,整體很是不錯,值得學習和借鑑。

源碼地址https://github.com/1615087343/zuoye3/tree/master/Demo

結對項目實施過程

  • 需求分析
    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

小結感覺:根據PSP表能夠發現,咱們在開發的時候是很耗時的,並且還會頻繁出錯,而後再去從新寫。因此作好需求分析準備工做是必要的。在合做過程當中,咱們商量作的任務,且兩我的都互相完善所學知識,感受做業一次比一次難度增大,壓力也很大。努力改進。

相關文章
相關標籤/搜索