201671010450姚玉婷-實驗四結對項目

項目 內容
所屬科目 軟件工程http://www.cnblogs.com/nwnu-daizh
做業要求 http://www.javashuo.com/article/p-bjcswxqf-ma.html
課程目標           1)體驗軟件項目開發中的兩人合做,練習結對編程(Pair programming)。
2)熟練掌握Github上增量發佈軟件操做方法,參考文章(點擊此連接)
3)掌握人機交互界面的實現(如GUI界面實現,WEB頁面,APP頁面等)

任務一:博客互評

  • 點擊博客連接:http://www.javashuo.com/article/p-bjcswxqf-ma.html
  • 點評github連接地址:https://github.com/MLS123456/WordCount
  • 點評內容:首先,提交到Github上的項目必須包含src文件夾,你的沒有符合要求。還有,功能也暫時未實現全,好比柱狀圖的實現。還有若是在博客內容上添加用到的類,函數,以及每一個函數實現的功能,就更好了。截圖欠缺了你result.txt的截圖,看到你的此功能已經實現,能夠加一下此張截圖。代碼部分還有待提升,努力。可是,從博文的總體效果來看,仍是比較好的,詞頻的統計,字典排序,輸出到Result.txt這些功能都已經實現,可是你的類只有一個,你能夠分幾個類,分別實現對應功能,而後一個測試類或者主函數類。這樣代碼結構就比較清晰完美。程序是在控制檯輸出運行結果,但願在下次結對做業中,可以實現人機交互。加油!
  • 評價心得:看到她的博客,一樣,我也出現了跟他一樣的問題,提交到Github上的項目必須包含src文件夾,沒有把每一個實現功能的截圖都放入博客,個人柱狀圖也爲實現,嘗試着寫代碼去實現此功能,可是程序出錯,未能修改爲功。但願在此次結對做業中可以盡本身最大的努力去作好這次實驗。

任務二:《英文詞頻統計》結對項目

1、需求分析

  • 實驗2要求的功能;
  • 單詞頻數可視化柱狀圖要求是如下樣式:
  • 統計該文本行數及字符數;
  • 各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);
  • 人機交互界面要求GUI界面(WEB頁面、APP頁面均可);

附加功能:html

1)統計文本中除冠詞、代詞、介詞以外的高頻詞;
2)統計前10個兩個單詞組成的詞組頻率。前端

2、軟件設計:使用類圖


1)在本次項目中所用到的類git

  • ByValueComparator:該類實現次品的比較。
  • FileProccessing:用於文件的處理,如文件的上傳,顯示等。
  • WordFrequencyCount:此類實現字頻數的統計。

2)在本次項目中所用到的Jsp界面github

  • FileUpload.jsp:這是這次項目的主界面,用於柱狀圖的顯示,文件的選擇,時間的顯示等
  • FileDownload.jsp:文件上傳成功界面,用於顯示詞頻統計的結果。

3、開發工具

操做系統 Widnows 7
開發工具 Eclipse
JDK版本 1.8
web服務器 Tomcat 8.0
Web網頁設計 HBulider PS sublime
流程圖設計 迅捷流程圖製做軟件

4、核心代碼展現

1)詞頻統計顯示在web界面web

<% String juge = (String)request.getAttribute("message");
    if(!juge.startsWith("Error")) {%>
    統計結果:<br />
    <%FileReader filePrint = new FileReader("D:\\Project\\workspace\\CountWeb\\Result.txt");
    BufferedReader br = new BufferedReader(filePrint);
    for(int i = 0;i<14;i++){%>
        <%=br.readLine()%><br />
    <% }
    br.close();
    filePrint.close();
    %>
    <br>
    <a href="D:\Project\workspace\CountWeb\Result.txt">查看Result文件</a>
    <%} %>

2)詞頻比較(高頻單詞顯示)編程

public class ByValueComparator implements Comparator<Entry<String,Integer>> {
    Map<String, Integer> hashmap;
    public ByValueComparator(Map<String, Integer> hm) {
        this.hashmap = hm;
    }

    @Override
    public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
        // TODO Auto-generated method stub

        if (o1.getValue().compareTo(o2.getValue()) == -1) {
            return 1;
        } else if (o1.getValue().compareTo(o2.getValue()) == 0) {
            return o1.getKey().compareTo(o2.getKey());
        } else {
            return -1;
        }

3)上傳數據及保存文件服務器

protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 檢測是否爲多媒體上傳
        if (!ServletFileUpload.isMultipartContent(request)) {
            // 若是不是則中止
            PrintWriter writer = response.getWriter();
            writer.println("文件類型有誤: 表單必須包含 enctype=multipart/form-data");
            writer.flush();
            return;
        }

5、運行截圖

  1.主界面
jsp

  2.文件上傳成功ide

  3.計時上傳
函數

  4.顯示統計結果

  5.柱狀圖顯示

  6.result.txt文件

  7.統計行數顯示

6、兩人合做

結對對方姓名 馬麗莎
對方博客連接地址 地址:http://www.javashuo.com/article/p-yitvtbkg-mq.html
對方github連接地址 地址:https://github.com/MLS123456/CountWeb

結對項目過程:
 1)項目開發過程照片

 2)項目開發過程
在此次結對項目中,兩我的作了需求分析,而後使用web編程的方式來實現英文詞頻的統計。個人結對人馬麗莎主要負責前端的設計(jsp)界面的設計,而我負責後臺代碼的編寫,在這次實驗中,花費的時間要比上次實驗要多。可是此次是結對項目,相對而言,要比我的項目省時省力。

7、psp

PSP2.1 任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
Planning 計劃 10 8
Estimate 估計這個任務須要的時間,並規劃大體工做步驟 10 15
Development 開發 180 280
Analysis 需求分析(包括學習新技術) 6 5
Design Spec 生成設計文檔 30 35
Design Review 設計複審 15 20
Coding Standard 代碼規範(爲目前的開發製做合適的規範) 3 5
Design 具體設計 10 15
Coding 具體編碼 300 320
Code Review 代碼複審 5 6
Test 測試(自我測試、修改代碼,提交修改) 8 9
Reporting 報告 9 10
Test Report 測試報告 30 35
Size Measurement 過後總結,並提出過程改進計劃 5 5

8、總結

  這次結對項目是在實驗二的基礎上增長一些新的功能要求,以及使用人機交互界面的形式展示出來。因爲我兩對GUI編程都不熟悉,因此,最後使用了web界面的形式來展示。在此次結對項目中,使用了前臺跟後臺的交互,以及Tomcat的使用。總之,花費了許多時間來完成這次項目的實現。相對於上次我的項目的開發,這次結對項目就相對而言比較省時省力。但與此同時,也取決於兩人的合做跟默契程度。

9、GitHub倉庫地址

該項目倉庫地址

相關文章
相關標籤/搜索