201671030104 邓海祥-词频统计软件项目 相信本身html
从给定文本中得出单词频数的统计数据,对以前的设计进行优化。git
以以前的设计为原型。为使设计更加用户友好,设计了图形用户界面。柱状图改成使用绘图的方式呈现。为使得统计结果更具备针对性的信息价值,对统计过程进行了修改。初时收集了冠词、代词与介词以过滤统计结果,调试后感受效果不理想,改成直接使用English Stop Words (CSV)。二词词组的统计依赖于对输入文本单词的顺序检查,把连续两个符合保留条件的单词拼接成“P S”一个字符串放入映射统计下来,其中P与S为先后的两个单词。github
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++; }
以《老人与海》为例。
测试
PSP各个阶段 | 计划时间(min) | 实际时间(min) |
---|---|---|
计划 | 10 | 10 |
开发 | 365 | 355 |
需求分析 | 10 | 10 |
生成设计文档 | 0 | 0 |
设计复审 | 5 | 5 |
代码规范 | 5 | 5 |
具体设计 | 10 | 15 |
具体编码 | 270 | 270 |
代码复审 | 5 | 5 |
测试 | 60 | 45 |
报告 | 10 | 10 |
测试报告 | 0 | 0 |
计算工做量 | 5 | 5 |
过后总结,并提出改进计划 | 5 | 5 |
总共花费的时间 | 385 | 375 |
团队的合理规划与分工能够更好地完成具备必定规模的软件设计。本次设计基本能够知足要求,但也有许多能够改进的细节。优化