其他分享
首页 > 其他分享> > 201671030125 曾佳+《英文文本统计分析》结对项目报告

201671030125 曾佳+《英文文本统计分析》结对项目报告

作者:互联网


项目 内容
这个作业属于哪个课程? 2016级计算机科学与工程学院软件工程(西北师范大学)
这个作业的要求在哪里? 实验四 软件工程结对项目
我在这个课程的目标是? 熟悉软件开发整体流程,提升自身能力
本次作业在哪个具体方面帮助我们实现目标 第一次体验一个完整的工程
本次项目代码 GitHub链接



任务一:两两自由结对,对结对方的《实验二 软件工程个人项目》的项目成果进行评价


点评博客链接
GitHub链接

点评内容
博文结构排版布局层次分明,排版合理,是我该学习的地方。博文内容按照老师的要求以需求分析、功能设计、设计实现、测试运行、关键代码、总结、PSP展示的步骤分别书写,让阅读的人可以方便快捷、清楚明了地找到自己想看的部分。在PSP表中“计划共完成需要的时间”与“实际完成需要的时间”两列数据差别较大的是开发和具体编码两个阶段,并且都是实际完成需要的时间相比更多,我也有这个问题,分析原因可能是对JAVA编程不熟练,或是在编码运行过程中遇到了困难和阻碍。
点评心得
通过这次点评,我认识到自己的不足,排版不够美观大方,需要向同学学习,


任务二:采用两人合作方式,设计开发一个英文文本统计分析软件


  1. 需求分析

    通过对项目要求的分析,本次结对项目的需求为:
    (1)实验2要求的功能;
    (2)绘制单词频数可视化柱状图;
    (3)统计该文本行数及字符数;
    (4)各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);
    (5)可处理任意用户导入的任意英文文本;
    (6)人机交互界面要求GUI界面(WEB页面、APP页面都可);
    (7)附加分功能:统计文本中除冠词、代词、介词之外的高频词。

  2. 软件设计:使用类图

  3. 核心功能代码展示:展示核心功能代码

    计算查询单词词频的时间

long time=System.currentTimeMillis() - start; 
JOptionPane.showConfirmDialog(null,print+"\n"+"所用时间为:"+(System.currentTimeMillis() - start)+"ms","结果",JOptionPane.DEFAULT_OPTION); 
      Histogram histogram=new Histogram(map1,input.length); 

统计文本行数、字符数、大小写字母、汉字、数字、字节数等功能

                    while ((str = in.readLine())!= null) {//readLine()方法, 用于读取一行,只要读取内容不为空就一直执行
                        i++;//每循环一次就进行一次自增,用于统计文本行数
                        c += str.length();//用于统计总字符数
                        byte[] bytes=str.getBytes();//求出该行的字节数组
                        d += bytes.length;//用于统计总字节数
                        for (int j = 0; j < str.length(); j++) {//for循环的条件,当j小于该行长度时就一直循环并自增
                            b = Character.toString(str.charAt(j));//返回一个字符串对象
                            if (b.matches("[\\u4e00-\\u9fa5]")) {//if语句的条件,判断是否为汉字
                                c1++;//若为汉字则c1自增
                            } else if(b.matches("[A-Z]")){//if语句的条件,判断是否为大写字母
                                c2++;//若为大写字母则c2自增
                            } else if(b.matches("[a-z]")){//if语句的条件,判断是否为小写字母
                                c3++;//若为小写字母则c3自增
                            } else if(b.matches("[0-9]")){//if语句的条件,判断是否为数字
                                c4++;//若为数字则c4自增
                            } else {//否则可判断为其他字符
                                c5++;//若为其他字符则c5自增
                            }
                        }

词频柱状图部分代码

    public void paint(Graphics g) 
    { 
        int Width = getWidth(); 
        int Height = getHeight(); 
        int leftMargin = 50;//柱形图左边界 
        int topMargin = 50;//柱形图上边界 
        Graphics2D g2 = (Graphics2D) g; 
        int ruler = Height-topMargin; 
        int rulerStep = ruler/20;//将当前的高度平分为20个单位 
        g2.setColor(Color.WHITE);//绘制白色背景 
        g2.fillRect(0, 0, Width, Height);//绘制矩形图 
        g2.setColor(Color.BLACK); 
        for(int i=0;i<rulerStep;i++){ 
        g2.drawString((30000-1500*i)+"个", 8, topMargin+rulerStep*i);//绘制Y轴上的数据 
        } 
        g2.setColor(Color.YELLOW); 
        int m=0; 
        for (Entry<String, Integer> entry : map.entrySet())  
            {  
            int value =entry.getValue(); 
            int step = (m+1)*40;//设置每隔柱形图的水平间隔为40 
            g2.fillRoundRect(leftMargin+step*2,Height-value/50-5, 40, value, 40, 10);//绘制每个柱状条 
            g2.drawString(entry.getKey(), leftMargin+step*2, Height-value/50-5);    //标识每个柱状条        
             m++; 
          }  
          
    }  
  1. 程序运行:程序运行时每个功能界面截图

主界面

输入要查询词频的单词,用“,”隔开。

点击输出词频和柱状图,显示单词及词频数,以及运行时间

点击确定后弹出柱状图界面

输入要查询的高频词个数

点击输出前N个高频词,弹出单词及词频个数,以及运行时间

点击词频导出到文件,弹出运行时间

点击确定后弹出“写入文件成功...”

点击各项统计,弹出统计的文本行数、字符数、大小写字母、汉字、数字、字节数及运行时间等

将单词及词频按字典顺序输出到文件中

  1. 结对的过程

    1.在实验二的基础上,分析了还需实现的功能。
    2.我们分开实现了文本行数和字符数和计时功能,我负责统计文本行数和字符数。
    3.最后的GUI界面由我们两人共同编写。

  2. 结对作业的PSP

PSP2.1 任务内容 计划完成时间(min) 实际完成时间(min)
Planning 计划 15 10
Estimate 规划工作步骤 8 10
Development 开发 130 150
Analysis 需求分析 18 20
Design Spec 生成文档 10 12
Design Review 设计复审 15 10
Coding Standard 代码规范 20 15
Design 具体设计 15 20
Coding 具体编码 250 280
Code Review 代码复审 20 20
Test 测试 25 30
Reporting 报告 20 20
Test Report 测试报告 10 15
Size Measurement 计算工作量 12 15
Postmortem & Process Improvement Plan 事后总结 20 20


标签:结对,20,int,曾佳,自增,201671030125,++,词频,文本
来源: https://www.cnblogs.com/zj-0408/p/10576338.html