需求分析
- 可以使用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函数用于实现数组的排序,文件的输出,搜索单词的录入,搜索结果的打印等。
测试运行
测试结果如图所示



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



总结
本人以前没有接触过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
相关文章:
-
2021-07-13
-
2021-12-10
-
2021-09-24
-
2021-12-05
-
2022-01-20
-
2021-06-17
-
2021-10-10
-
2021-10-12