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

七.小结感觉:两人合做真的可以带来1+1>2的效果吗?经过此次结对合做,请谈谈你的感觉和体会。.

在结对过程当中,经过两人的讨论配合,能够更高效的肯定方案,尤为是在肯定程序处理算法的过程当中两人能够共同收集可用的算法并讨论肯定最终算法,结对的过程很大的提高了这一过程完成的效率。两人在结对过程当中能够学习并养成更好地代码规范,来确保本身的搭档能够顺畅的阅读并理解对方的代码。两人能够从对方能够互补缺点,从对方身上学到本身所不具有的技能。能够算是达到了1+1>2的效果,可是仍然存在缺点,结对过程当中咱们对某一问题出现争议的时候,会下降效率。

相关文章
相关标签/搜索