201671010429苏生玲《英文文本统计分析》结对项目报告
博文简要信息表:
||
|:--|:--|
|项目|内容|
|这个作业属于哪个课程|软件工程|
|这个作业的要求在哪里|实验四 软件工程结对项目|
|我在这个课程的目标是?|熟悉软件开发整体流程,提升自身能力|
|本次作业在哪个具体方面帮助我们实现目标|第一次体验一个完整的工程|
任务一:给出所点评作业的博客、github链接地址,点评内容和点评心得
我的结对小伙伴的作业博客
TA的github地址
点评内容和点评心得:
-
点评内容
-
点评心得:通过互相阅读博客,发现自己的不足,有助于提高自己的能力。
任务二:
我们的源码
一.需求分析.
-
实验2要求的功能实验二功能;
-
单词频数可视化柱状图:
-
统计该文本行数及字符数;
-
各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);
-
可处理任意用户导入的任意英文文本;
-
人机交互界面要求GUI界面(WEB页面、APP页面都可);
-
附加分功能:统计文本中除冠词、代词、介词之外的高频词;
-
附加分功能:统计前10个两个单词组成的词组频率。
二.软件设计:使用类图.
三.核心功能代码展示:展示核心功能代码.
-
代码片段:
//高频词的统计 整数k
public ArrayList gaopin(TreeMap<String,Integer> tm,int k){
ArrayList<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(tm.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
return o2.getValue() - o1.getValue();
}
});
//输出前k个数
for(int i = 0; i<k; i++){
System.out.println(list.get(i).getKey()+ ": " +list.get(i).getValue());
}
return list;
}
//统计文本行数与字符
public List statistics(String fileName) throws IOException{
String line = fileName;
System.out.println(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();//关闭
List list=new ArrayList();
list.add(charNum);
list.add(wordsNum);
list.add(lineNum);
// System.out.println("字符数:"+charNum+"\n单词数:"+wordsNum+"\n行数:"+lineNum);
return list;
}}
四.程序运行:程序运行时每个功能界面截图.
1.JSP主页面
2.浏览文件
3.统计完成
4.柱状图显示
5.relust.txt中存放显示
五. 描述结对的过程,提供两人在讨论、细化和编程时的结对照片(非摆拍).
在结对过程中,我们两人本身并不熟悉彼此,从一开始对结对作业进行讨论,然后分配任务,由于我们两人并不属于同一宿舍,我们作业的完成尽量在有空的时候两人见面进行讨论。由于是第一次进行结对编程,缺乏经验,开始的效率并不是很高,我们也经常会出现进度不同步进度滞后的情况。在经历了坎坷和磨合的过程之后,我们两人的配合效率也得到了提高,双方互相反馈各自主要负责部分的问题,进行修改,最终也是顺利完成了结对项目。总体来说这次结对过程给了我很新鲜的体验,第一次与比较陌生的人配合一起完成一个项目,两人通过不断地磨合最终也算是磕磕绊绊地完成了这次作业,对我来说算是一次丰富的体验。
六. 提供此次结对作业的PSP.
PSP表格
||||
|:--|:--|:--|:--|
|PSP2.1|任务内容|计划共完成需要的时间(min)|实际完成需要的时间(min)|
|Planning|计划|15|18|
|Estimate| 估计这个任务需要多少时间|20|20|
|Development|开发|200|250|
|Analysis|需求分析(包括学习新技术)|10|10|
|Design Spec|生成设计文档|30|25|
|Design Review|设计复审(和同事审核设计文档)|8|10|
|Coding Standard|代码规范(为目前的开发制定合适的规范)|15|20|
|Design|具体设计|20|15|
|Coding|具体编码|180|200|
|Code Review|代码复审|20|15|
|Test|测试(自我测试,修改代码,提交修改)|10|15|
|Reporting|报告|30|25|
|Test Report|测试报告|30|25|
|Size Measurement|计算工作量|5|3|
|Postmortem & Process Improvement Plan|事后总结,并提出过程改进计划|10|8|