201673020127 郁文曦 《英文文本统计分析》结对项目报告

作业点评

201671030104 邓海祥-词频统计软件项目 相信自己

结对项目 英文文本统计分析

需求分析

从给定文本中得出单词频数的统计数据,对之前的设计进行优化。

软件设计

以之前的设计为原型。为使设计更加用户友好,设计了图形用户界面。柱状图改为使用绘图的方式呈现。为使得统计结果更具有针对性的信息价值,对统计过程进行了修改。初时收集了冠词、代词与介词以过滤统计结果,调试后感觉效果不理想,改为直接使用English Stop Words (CSV)。二词词组的统计依赖于对输入文本单词的顺序检查,把连续两个符合保留条件的单词拼接成“P S”一个字符串放入映射统计下来,其中P与S为前后的两个单词。

类图

1616091-20190402155556850-758053021.png

核心代码

读入文本进行统计


while ((temp = br.readLine()) != null)
{
    String t[] = temp.split(" ");
    String p = "";
    for (String s : t)
    {
        while (true)
        {
            if (s.length() == 0)
            {
                break;
            }
            else
            {
                if (s.charAt(0) < 'A' || (s.charAt(0) > 'Z' && s.charAt(0) < 'a') || s.charAt(0) > 'z')
                {
                    s = s.substring(1);
                }
                else
                {
                    break;
                }
            }
        }
        if (s.length() > 0 && !DS.SW.contains(s.toLowerCase()))
        {
            tSP.cN += s.length();
            if (DS.wm.containsKey(s))
            {
                DS.wm.put(s, DS.wm.get(s) + 1);
            }
            else
            {
                DS.wm.put(s, 1);
            }
            if (p.length() > 0 && !DS.SW.contains(p.toLowerCase()))
            {
                String ts = p + " " + s;
                if (DS.pm.containsKey(ts))
                {
                    DS.pm.put(ts, DS.pm.get(ts) + 1);
                }
                else
                {
                    DS.pm.put(ts, 1);
                }
            }
        }
        p = s;
    }
    tSP.rN++;
}

程序运行

以《老人与海》为例。
1616091-20190402155625658-151495611.png
1616091-20190402155636802-493035743.png
1616091-20190402155644532-1840056198.png
1616091-20190402155654639-240734825.png
1616091-20190402155701943-787044391.png
1616091-20190402155711948-998221739.png
1616091-20190402155757140-1556493962.png
1616091-20190402155804680-593889628.png

结对过程

1616091-20190402160649022-928434878.jpg

PSP

PSP各个阶段计划时间(min)实际时间(min)
计划1010
开发365355
需求分析1010
生成设计文档00
设计复审55
代码规范55
具体设计1015
具体编码270270
代码复审55
测试6045
报告1010
测试报告00
计算工作量55
事后总结,并提出改进计划55
总共花费的时间385375

感想

团队的合理规划与分工可以更好地完成具有一定规模的软件设计。本次设计基本可以满足要求,但也有许多可以改进的细节。

GitHub

转载于:https://www.cnblogs.com/YUWX/p/10643271.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值