201671010427 孫苗坤 實驗四 軟件工程結對項目

博文簡要信息表

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

任務1

所點評做業的博客:http://www.javashuo.com/article/p-ftubhoob-ho.html

github連接地址:https://github.com/ZhangQiong1/program1

點評內容:

博文結構比較規範,博文內容比較緊湊,博文結構與PSP中「任務內容」列的關係比較一致,經過PSP中「計劃共完成須要的時間」與「實際完成須要的時間」兩列數據的比較能夠看出在開發和編碼的過程當中所需的時間差別較大。代碼中軟件結構不是很嚴謹、代碼規範作的不是很好、柱狀圖和高頻詞功能沒有實現、人機交互功能不是很完善。但在總結中也看出了本身的不足,平時要多提升本身的編程能力。html

點評心得:

經過看張瓊同窗的博客,我發現她對博客的總體結構作的很清晰,同時也意識到編程能力的重要性,若編程能力不足,博文寫的再好也沒用,因此後期要努力提升本身的編程能力。前端

任務2

  • a.需求分析java

    (1)實驗2要求的功能;git

    (2)單詞頻數可視化柱狀圖github

    (3)統計該文本行數及字符數;web

    (4)各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);編程

    (5)可處理任意用戶導入的任意英文文本;jsp

    (6)人機交互界面要求GUI界面(WEB頁面、APP頁面均可);函數

    (7)附加分功能:統計文本中除冠詞、代詞、介詞以外的高頻詞;學習

    (8)附加分功能:統計前10個兩個單詞組成的詞組頻率。

  • b.軟件設計:

  • c.核心功能代碼展現:
//開始時間
            long startTime=System.currentTimeMillis();
            TreeMap<String,Integer> map1 = new TreeMap<String, Integer>(); 
            WordCount wordCount = new WordCount();
            map1= wordCount.bijiao(map, words);
            //結束時間
            long endTime=System.currentTimeMillis();
            float excTime=(float)((endTime-startTime)/1000)*1000;
            //向jsp頁面傳參數
            request.setAttribute("map1", map1);
            request.setAttribute("excTime", excTime);
            System.out.println("執行時間:"+excTime+"ms"); 
            request.getRequestDispatcher("index.jsp").forward(request, response);//重定向
        }else if(id.equals("2")){
            //高頻詞的統計
            //開始時間
            long startTime=System.currentTimeMillis();
            WordCount wordCount = new WordCount();
            int k=Integer.parseInt(wordnum);
            ArrayList gaopin=wordCount.gaopin(map, k);
            //結束時間
            long endTime=System.currentTimeMillis();
            float excTime2=(float)((endTime-startTime)/1000)*1000;
            request.setAttribute("gaopin", gaopin);
            request.setAttribute("excTime2", excTime2);
            request.getRequestDispatcher("html/WordCount.jsp").forward(request, response);
            
        }else if(id.equals("3")){
            //行數統計
            //開始時間
            long startTime=System.currentTimeMillis();
            WordCount wordCount = new WordCount();
            List list=wordCount.statistics(fileName);
            //結束時間
            long endTime=System.currentTimeMillis();
            float excTime3=(float)((endTime-startTime)/1000)*1000;
            request.setAttribute("excTime3", excTime3);
            request.setAttribute("list", list);
            request.getRequestDispatcher("html/index.jsp").forward(request, response);
        }
    }
/* 獲取文件名的函數 */
    function one() {
        var fileName = document.getElementById("file").value;

        location.href = "../WordCountServlet?fileName=" + fileName + "&id=0";
    }
    function two() {

        var word = document.getElementById("word").value;

        location.href = "../WordCountServlet?word=" + word + "&id=1";
    }
    function three() {
        var wordnum = document.getElementById("wordnum").value;

        location.href = "../WordCountServlet?wordnum=" + wordnum + "&id=2";

    }
    function four() {
        var wordlines = document.getElementById("wordlines").value;
        location.href = "../WordCountServlet?wordlines=" + wordlines + "&id=3";
        
    }
    function five() {
        var result = document.getElementById("result").value;
        location.href = "../WordCountServlet?result=" + result + "&id=4";
    }
  • d. 程序運行:

  • e. 結對的過程:
張瓊 對實驗二的java代碼進行適當的修改
孫苗坤 進行前端頁面設計
合做完成 一塊兒完成先後臺的交互

  • f. 這次結對做業的PSP
PSP2.1 任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
Planning 計劃 15 15
· Estimate · 估計這個任務須要多少時間,並規劃大體工做步驟 15 15
Development 開發 146 218
·· Analysis 需求分析 (包括學習新技術) 160 200
· Design Spec · 生成設計文檔 25 35
· Design Review · 設計複審 10 15
· Coding Standard 代碼規範 20 20
· Design 具體設計 30 50
· Coding 具體編碼 200 300
· Code Review · 代碼複審 15 20
· Test · 測試(自我測試,修改代碼,提交修改) 30 50
Reporting 報告 25 30
·· Test Report · 測試報告 30 40
· Size Measurement 計算工做量 10 10
· Postmortem & Process Improvement Plan · 過後總結 ,並提出過程改進計劃 30 35
  • g. 小結感覺:
    此次的結對項目咱們是合做完成的,過程雖然有些坎坷,但最終仍是有了必定的成果。首先是對於上一個實驗的互評,咱們取長補短,把能夠借鑑的技術總結出來,而後把不足也找出來。在本次實驗中加以利用和改進。剛開始的時候由於有了實驗二的基礎,因此很快的需求分析和軟件設計就出來了。由於咱們沒有具體學習過java,因此對一些相關的技術不是很熟悉,致使web頁面和後臺的交互不是很順利,經過查閱資料,詢問其餘小組的同窗,才實現了人機交互功能,基本完成了此次做業,而且花費了較長的時間在實現先後臺的交互上。在合做的過程當中,咱們不斷的討論,不斷的權衡利弊,也借鑑了一些參考資料,增強了咱們的學習能力和溝通能力。本次和夥伴合做很愉快,團隊的做品也更讓咱們有成就感。
  • GitHub連接地址:https://github.com/sunmiaokum/projest4
相關文章
相關標籤/搜索