项目名称:词频统计软件

需求分析

- 使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发
- 软件基本功能要求如下:
1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。
4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt

功能设计

基本功能:
1.指定单词词频统计功能;
2.高频词统计功能;
3.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt
扩展功能:无

测试运行

  • 将单词及词频数按字典顺序输出到文件result.txt

  • result.txt:

  • 指定单词词频统计

  • .高频词统计功能

部分代码

循环Map使用set接受返回的值,后遍历查询与输入单词相同的单词,输出单词以及词频。

for(int i=0;i<n;i++)
{System.out.println("单词 "+(i+1));String word = in.next();Set<StringBuffer> ks1 = ts.keySet();for(StringBuffer s2:ks1) {if(word.equals(s2.toString())){System.out.println("单词:"+s2.toString()+"            出现次数:"+ts.get(s2));num++;if(num==n)break;}   }
}

将文本文件中的单词存于lists,遍历lists将单词存放在treeMap ts与hashMap之中。借助treeMap特性完成单词的排序和 词频的统计,而hashMap是关于最高词频的统计。

Map<String, Integer> hashMap = new HashMap<String, Integer>();for(String str: lists) {StringBuffer s2 = new StringBuffer( str);if (ts.containsKey(s2)) {count=Integer.parseInt(Integer.toString(count));;count++;ts.put(s2,Integer.toString(count));hashMap.put(str,count);}else {count=1;ts.put(s2, Integer.toString(count));hashMap.put(str,count);}    }

总结

此次软件项目个人开发项目让我对软件开发有了更深刻的理解,一个完整的软件开发过程中,任何一个步骤都是不可缺少的。在开始此次软件开发后,我先是进行了软件的需求分析,将老师的要求全部理解以后开始设计,完成设计后我才知道原来一个好的设计可以将一个软件所有的东西都呈现在我们的眼前。在之后开始了代码的编写,毕竟不是老练的的程序员,代码的编写还是没有流程中说的那么简单,在经过挺长时间的编程后,软件呈现了出来,经过测试,实现了大部分功能,还有柱状图功能因为编码能力差了点没有实现。经过这一个完整的个人开发流程,我发现虽然编码前花费了很多时间进行一些前期设计,但因为它们的存在,编程世没有花费时间去想功能、数量、数据结构以及算法,在所有的一切准备好之后开始写代码,真的会很舒心,这大概是我这一次设计最重要的收获了。

PSP:

PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 10 5
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 5 5
Development 开发 80 100
Analysis 需求分析(包括学习新技术) 6 8
Design Spec 生成设计文档 10 20
Design Review 设计复审 5 5
Coding Standard 代码规范(为目前的开发制定合适的规范) 5 5
Design 具体设计 10 20
Coding 具体编码 60 90
Code Review 代码复审 5 10
Test 测试(自我测试,修改代码,提交修改) 10 20
Reporting 报告 5 5
Test Report 测试报告 5 5
Size Measurement 计算工作量 15 10
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 5 5

源码

转载于:https://www.cnblogs.com/tanggq/p/10558080.html

201671030119 词频统计软件项目报告相关推荐

  1. 201671010411+巩定定+词频统计软件项目报告

    课程名 软件工程 实验二 词频统计软件项目报告 词频(TF) 是一个词语出现的次数除以该文件的总词语数. 实验目的 (1)掌握软件项目个人开发流程. (2)掌握Github上发布软件项目的操作方法. ...

  2. 201671010417 金振兴 词频统计软件项目报告

    1.需求分析 按照<构建之法>第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发. .程序可读入任意英文文本文件,该文件中英文词数大于等于1个. . ...

  3. 201671030128+词频统计软件项目报告

    一.需求分析 根据实验二 软件工程个人项目的要求本次软件项目的需求有以下几点: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个,程序需要很壮健,能读取容纳英文原版<哈利波特> ...

  4. 201671030125+词频统计软件项目报告

    项目 内容 这个作业属于哪个课程? 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里? 实验二 软件工程个人项目 我在这个课程的目标是? 按时完成老师给的任务,复习JAVA ...

  5. 201671030130+词频统计软件项目报告

    (一)需求分析 根据实验二 软件工程个人项目的要求该软件项目的基本功能要求如下: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原版<哈利波特 ...

  6. 201671010433 | 词频统计软件项目报告

    1.需求分析 使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发.软件基本功能要求如下: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原 ...

  7. 实验二 词频统计软件项目报告

    实验要求 实验二 软件工程个人项目 GitHib链接 https://github.com/Z-zt/Count 一.需求分析 通过分析实验二题目要求,得出的用户需求主要为: 程序可读入任意英文文本文 ...

  8. 201671010403 陈倩倩 词频统计软件项目报告

    一.需求分析 一个英文文本词频统计的软件开发,其基本需求有: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原版<哈利波特>10万词以上 ...

  9. 201671010423 词频统计软件项目报告

    需求分析 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原版<哈利波特>10万词以上的文章. 基本功能 1.指定单词词频统计功能:用户可 ...

  10. 201671010444 夏向明 词频统计软件项目报告

    该项目实施过程主要包括以下7部分. 一.需求分析 1.程序需要读入至少一个词,可读入任意英文文本. 2.至少可以统计10万词及以上的文本. 3.用户可以同时查询多个单词的统计,并显示出其个数和柱状图. ...

最新文章

  1. golang 绘图库_golang在图片上绘制中文不乱码的方法
  2. python的运行窗口-在 Python 窗口中执行工具
  3. 联想电脑怎么进入Android,联想电脑怎么连接手机
  4. 数据中心机房蓄电池培训
  5. linux统计使用最多的10个命令
  6. hdu 3671 Boonie and Clyde
  7. 丹鸟快递承诺达到不了怎么办_谈谈2019年快递行业的竞争
  8. 创建示例HTTPS服务器以获取乐趣和收益
  9. ggplot2箱式图两两比较_作图技巧024篇ggplot2在循环中的坑
  10. 最小生成树Kruskal算法+并查集检查连通
  11. Django - Xadmin (四) Filter
  12. python输入长和宽计算面_python案例1
  13. AOS V0.6 发布,JavaEE 应用基础平台
  14. python项目如何打包_python项目怎么打包运行?
  15. 计算机iq测试,超大多数人类 瑞典天才电脑智商测试得分150
  16. School Regional Team Contest, Saratov, 2011-F. Spiders-求树直径
  17. linux自定义以太网协议_如何压接自己的任意长度的自定义以太网电缆
  18. 【物理】半导体物理 西安电子科技大学 柴常春等主讲-[笔记P15-P18]
  19. The .NET Core SDK cannot be located.解决方法
  20. iOS开发 viewWillAppear:(BOOL)animated真机调试的时候不执行了怎么办

热门文章

  1. AGTF30 涡扇发动机说明
  2. java计算机毕业设计水果商城设计MyBatis+系统+LW文档+源码+调试部署
  3. centOS安装yasm
  4. 数独android程序,Android-数独世界自动完成标准数独的小脚本
  5. Excel小技巧之:如何在表格内插入水印
  6. Tomcat中的四大servlet容器及管道机制
  7. 弘辽科技:直通车测款的必备技巧
  8. mpa和pis_压力单位MPa/psi/bar之间的换算?
  9. c语言ctype函数,C语言函数--ctype.h库函数
  10. 企业微信网页应用开发 - 开发环境搭建