項目 | 內容 |
---|---|
所屬科目 | 軟件工程http://www.cnblogs.com/nwnu-daizh |
做業要求 | http://www.javashuo.com/article/p-bjcswxqf-ma.html |
課程目標 | 1)體驗軟件項目開發中的兩人合做,練習結對編程(Pair programming)。 2)熟練掌握Github上增量發佈軟件操做方法,參考文章(點擊此連接) 3)掌握人機交互界面的實現(如GUI界面實現,WEB頁面,APP頁面等) |
附加功能:html
1)統計文本中除冠詞、代詞、介詞以外的高頻詞;
2)統計前10個兩個單詞組成的詞組頻率。前端
1)在本次項目中所用到的類git
2)在本次項目中所用到的Jsp界面github
操做系統 | Widnows 7 |
開發工具 | Eclipse |
JDK版本 | 1.8 |
web服務器 | Tomcat 8.0 |
Web網頁設計 | HBulider PS sublime |
流程圖設計 | 迅捷流程圖製做軟件 |
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; }
1.主界面
jsp
2.文件上傳成功ide
3.計時上傳
函數
4.顯示統計結果
5.柱狀圖顯示
6.result.txt文件
7.統計行數顯示
結對對方姓名 | 馬麗莎 |
對方博客連接地址 | 地址:http://www.javashuo.com/article/p-yitvtbkg-mq.html |
對方github連接地址 | 地址:https://github.com/MLS123456/CountWeb |
結對項目過程:
1)項目開發過程照片
2)項目開發過程
在此次結對項目中,兩我的作了需求分析,而後使用web編程的方式來實現英文詞頻的統計。個人結對人馬麗莎主要負責前端的設計(jsp)界面的設計,而我負責後臺代碼的編寫,在這次實驗中,花費的時間要比上次實驗要多。可是此次是結對項目,相對而言,要比我的項目省時省力。
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 |
這次結對項目是在實驗二的基礎上增長一些新的功能要求,以及使用人機交互界面的形式展示出來。因爲我兩對GUI編程都不熟悉,因此,最後使用了web界面的形式來展示。在此次結對項目中,使用了前臺跟後臺的交互,以及Tomcat的使用。總之,花費了許多時間來完成這次項目的實現。相對於上次我的項目的開發,這次結對項目就相對而言比較省時省力。但與此同時,也取決於兩人的合做跟默契程度。 |