项目 | 内容 |
---|---|
所属科目 | 软件工程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的使用。总之,花费了许多时间来完成这次项目的实现。相对于上次我的项目的开发,这次结对项目就相对而言比较省时省力。但与此同时,也取决于两人的合做跟默契程度。 |