201671010402 词频统计软件项目报告

需求分析

  • 可以使用Java编程语言,独立完成一个英文文本词频统计的软件开发。
  • 程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
  • 程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。

测试环境

  • 此次项目的测试机为Windows环境。
  • 使用的JDK版本为 jdk8u161。
  • 使用的JRE版本为jre8u161。

基本功能需求

  • 用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数。
  • 统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
  • 本次项目必须包含src文件夹,在src文件夹中必须包含名为Main.java文件,且Main.java中包含 public static void main(String[] args) 方法。
  • 生成的文件使用的是相对路径,生成的 result.txt 文件在项目的根目录下。

设计实现

    在整个项目设计中,Map类是以按键/数值对的形式存储数据,即单词所出现的次数;BufferedReader类的作用是在读取文件时,让单词从文件中读入字符数据并置入缓冲区;SortMap函数用于实现数组的排序,文件的输出,搜索单词的录入,搜索结果的打印等。

测试运行

测试结果如图所示

  • 单词词频数


  • 将结果返回到result.txt 文件中

代码展示

  • 读取一个英文文本,并过滤出只含有字母的文本,且去除长度为0的行

  • 单词的词数统计并按值进行排序

  • 将统计的结果返回到result.txt文件中

总结

   本人以前没有接触过Java项目的设计与实现,所以这次通过做这个Java项目,我才真正进行了实践,在这个期间,我也通过自主查询资料及上网查询视频教程对Java这个编程语言及它的编程环境有了一些初步的认识及了解。在整个项目实现的过程中,代码这一块是最耗时的,也是通过请教身边的学长学姐和一些朋友才将这个项目完成,对我来说也算是比较困难,归集原因还是因为编程功底太薄弱了,通过这次实验,我想我应该好好学习编程语言,虚心向他人请教,争取越来越好。

展示PSP

任务内容 计划共完成需要的时间(min) 实际完成所需要的时间(min)
计划 15 10
估计这个任务需要多少时间,并规划大致工作步骤 20 10
开发 300 600
需求分析(包括学习新技术) 120 240
生成设计文档 40 60
设计复审(审核设计文档) 20 30
代码规范(为目前的开发制定合适的规范) 10 15
具体设计 30 50
具体编码 200 600
代码复审 20 40
测试(自我测试,修改代码,提交修改) 40 70
报告 40 50
测试报告 20 30
计算工作量 10 15
事后总结,并提出过程改进计划 30 50

源代码链接地址为:https://github.com/chenjingjinglove/Chenjing

posted @ 2019-03-19 23:40  陈靖1  阅读(200)  评论(3编辑  收藏  举报